WP Encryption – One Click Free SSL Certificate & SSL / HTTPS Redirect to fix Insecure Content - Version 5.7.2

Version Description

  • Improved CSS
  • Improved explanations
  • Fix - don't show empty rows in advanced mixed content scanner
  • Added - How it works Faq
  • No more review requests for PRO users
Download this release

Release Info

Developer gowebsmarty
Plugin Icon wp plugin WP Encryption – One Click Free SSL Certificate & SSL / HTTPS Redirect to fix Insecure Content
Version 5.7.2
Comparing to
See all releases

Code changes from version 5.7.1 to 5.7.2

admin/assets/warning.png ADDED
Binary file
admin/css/le-admin.css CHANGED
@@ -335,8 +335,8 @@ a.wplecompare span {
335
  margin: 30px 0;
336
  text-align: center;
337
  border-radius: 10px;
338
- -webkit-box-shadow: 0px 0px 10px green;
339
- box-shadow: 0px 0px 10px green;
340
  }
341
 
342
  .wple-success-form h2 {
@@ -367,14 +367,17 @@ a.wplecompare span {
367
  background: #fff;
368
  margin: 40px 20px;
369
  border-radius: 10px;
370
- border: 2px dashed #098001;
371
  }
372
 
373
  .wple-warning-notice h2 {
374
- color: #0aa524;
375
- margin: 0;
376
  font-size: 26px !important;
377
- font-weight: 500;
 
 
 
 
378
  }
379
 
380
  /**
@@ -1549,7 +1552,12 @@ div#wple-completed {
1549
  }
1550
 
1551
  .wple-circle-expires strong b {
1552
- color: #ea0707;
 
 
 
 
 
1553
  }
1554
 
1555
  .wple-circle-expires p {
@@ -2352,7 +2360,6 @@ div#wple-ssl-health {
2352
 
2353
  .wple-ssl-settings label {
2354
  cursor: default;
2355
- float: left;
2356
  }
2357
 
2358
  .wple-ssl-settings .plan-toggler {
@@ -2480,6 +2487,43 @@ table#wple-advanced-scanner th {
2480
  font-weight: 600;
2481
  }
2482
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2483
  .progress--circle {
2484
  position: relative;
2485
  display: inline-block;
335
  margin: 30px 0;
336
  text-align: center;
337
  border-radius: 10px;
338
+ -webkit-box-shadow: 0px 0px 5px green;
339
+ box-shadow: 0px 0px 5px green;
340
  }
341
 
342
  .wple-success-form h2 {
367
  background: #fff;
368
  margin: 40px 20px;
369
  border-radius: 10px;
 
370
  }
371
 
372
  .wple-warning-notice h2 {
373
+ color: #e56d6d;
374
+ margin: 40px !important;
375
  font-size: 26px !important;
376
+ font-weight: 400;
377
+ background: url(../assets/warning.png) no-repeat center left;
378
+ text-align: left;
379
+ padding-left: 120px;
380
+ min-height: 90px;
381
  }
382
 
383
  /**
1552
  }
1553
 
1554
  .wple-circle-expires strong b {
1555
+ background: #ff4141;
1556
+ padding: 7px 10px;
1557
+ display: inline-block;
1558
+ color: #fff;
1559
+ border-radius: 5px;
1560
+ margin: 10px;
1561
  }
1562
 
1563
  .wple-circle-expires p {
2360
 
2361
  .wple-ssl-settings label {
2362
  cursor: default;
 
2363
  }
2364
 
2365
  .wple-ssl-settings .plan-toggler {
2487
  font-weight: 600;
2488
  }
2489
 
2490
+ div#ourotherplugin {
2491
+ text-align: right;
2492
+ width: 1500px;
2493
+ max-width: calc(100% - 60px);
2494
+ margin: 0 auto;
2495
+ }
2496
+
2497
+ div#ourotherplugin img {
2498
+ max-height: 25px;
2499
+ margin: 0 5px 8px;
2500
+ }
2501
+
2502
+ div#ourotherplugin a {
2503
+ display: -webkit-inline-box;
2504
+ display: -ms-inline-flexbox;
2505
+ display: inline-flex;
2506
+ text-decoration: none;
2507
+ -webkit-box-align: center;
2508
+ -ms-flex-align: center;
2509
+ align-items: center;
2510
+ font-weight: 700;
2511
+ color: #666;
2512
+ }
2513
+
2514
+ div#ourotherplugin a:hover {
2515
+ color: #0073aa;
2516
+ }
2517
+
2518
+ .mxnossl {
2519
+ text-align: center;
2520
+ margin: 20px auto;
2521
+ color: #e52525;
2522
+ font-size: 16px;
2523
+ line-height: 1.5em;
2524
+ max-width: 600px;
2525
+ }
2526
+
2527
  .progress--circle {
2528
  position: relative;
2529
  display: inline-block;
admin/css/le-admin.css.map CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "version": 3,
3
- "mappings": "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",
4
  "sources": [
5
  "../scss/le-admin.scss"
6
  ],
1
  {
2
  "version": 3,
3
+ "mappings": "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",
4
  "sources": [
5
  "../scss/le-admin.scss"
6
  ],
admin/css/le-admin.min.css CHANGED
@@ -1,2 +1,2 @@
1
- .le-genform button{background:#2585d3;color:#fff;border:none;padding:15px;cursor:pointer;-webkit-box-shadow:0px 0px 5px #aaa;box-shadow:0px 0px 5px #aaa;margin-top:40px;margin-bottom:40px;outline:none;border-radius:3px;letter-spacing:0.5px}.le-genform button:hover{background:#0063c7}div#le-wrap{clear:both;-webkit-box-shadow:none;box-shadow:none}a.gws-logo{float:right}.le-inner{display:inline-block;padding:0;width:100%}#le-wrap h2{font-size:26px;margin-top:0}.le-debugger{background:#f5f5f5;border:1px solid #aaa;padding:10px;color:#666;border-radius:5px;margin-bottom:30px;max-height:500px;overflow-y:scroll;text-align:left}form.le-genform{text-align:center;font-size:18px}form.le-genform input[type="email"],.le-genform input[type="text"],.le-genform input[type="password"]{font-size:20px;width:600px;line-height:50px;text-indent:10px;margin-bottom:20px;max-width:100%;border:1px solid #ddd}.le-powered{background:#f0f0f0;color:#666;padding:10px;border-radius:5px;margin-top:20px}a.le-highlight{background:#0073aa;color:#fff;padding:3px 6px;text-decoration:none}p.le-lineheight{line-height:30px}a.gws-logo img{max-width:150px}span.lecheck{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-bottom:15px;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.le-powered a{color:#444;font-weight:600}.le-debugger .error{color:red}.wple-force{padding:5px 20px 20px;border-radius:5px}.wple-force p,.wple-force label{font-size:15px}.wple-force button{margin:30px 0 0;background:#0073aa;color:#fff;border:none;padding:10px 20px;font-size:16px;cursor:pointer;line-height:20px;display:block}.le-buypro{background:rgba(0,115,170,0.08);border:2px dashed #0073aa;text-align:center;padding:20px 20px 30px;margin-bottom:20px}.le-buypro p{color:#00405f;font-size:18px;margin:0 0 20px}.le-buypro a,.newbie a{background:#0073aa;color:#fff;font-size:18px;text-decoration:none;padding:17px 20px;font-weight:500;cursor:pointer;display:inline-block}.newbie a{margin:20px auto !important;padding:15px 40px}.le-buypro a:hover{background:#06628e}p.le-offer{font-weight:600;font-style:italic}.wplerateus span{color:#ff8d00;font-size:24px;margin:0 2px}.wplerateus p{font-size:14px !important}.wplerateus a{font-weight:600;text-decoration:none}li.le-expirydate b{color:#f96868;font-weight:bold;letter-spacing:1px}.le-debugger.running{position:relative;padding-top:50px}.le-debugger.running h3{position:absolute;left:0;top:0;right:0;margin:0;background:#a4a4a4;color:#fff;padding:8px;font-size:15px}.le-debugger.running h3 a{color:#fff}.le-section{padding:20px;background:#f9f9f9;border:1px solid #ddd;display:none;border-radius:0}.le-section-title{padding:15px 30px;display:inline-block;background:#eee;border-radius:7px 30px 0 0;margin:0 5px 0 0;color:#666;font-weight:500;cursor:pointer}.le-section-title.active,.le-section-title:hover{background:#0073aa;color:#fff}.le-section.active{display:block}.le-section.download-certs ul{margin:0}.le-section h3{margin-top:0;line-height:1.4em}.le-section-title[data-section=go-viral]{background:#ccc;color:#444}.wple-dismiss{color:#bbb !important;float:right;cursor:pointer;font-size:21px !important}.wple-dismiss:hover{color:#999 !important}.le-debugger.running h2{margin:20px !important;display:block;line-height:1.3em;text-align:center;color:#006300}.hideheader h2{display:none !important}a.wplecompare{background:none !important;color:#075e88;padding:5px;text-transform:uppercase;border-bottom:1px dashed #075e88;font-weight:600;border-top:1px dashed #075e88}a.wplecompare span{font-size:23px}.running .wple-promo{font-size:15px;padding:8px;text-align:center;border:1px dashed #006b00}.running a{font-weight:bold;color:#006b00}.running b{font-weight:bold}.wple-success-form{background:#fff;padding:20px;margin:30px 0;text-align:center;border-radius:10px;-webkit-box-shadow:0px 0px 10px green;box-shadow:0px 0px 10px green}.wple-success-form h2{color:#0b9e0b;line-height:50px;font-weight:400;font-size:24px !important}.wple-success-form button{background:#149a14;border:none;color:#fff;font-size:24px;padding:10px 20px;border-radius:5px;cursor:pointer}.wple-success-form button:hover{background:darkgreen}.wple-warning-notice{padding:20px;line-height:40px;text-align:center;background:#fff;margin:40px 20px;border-radius:10px;border:2px dashed #098001}.wple-warning-notice h2{color:#0aa524;margin:0;font-size:26px !important;font-weight:500}.toplevel_page_wp_encryption #wpcontent,.admin_page_wp_encryption_faq #wpcontent,.admin_page_wp_encryption_howto_videos #wpcontent,.wp-encryption_page_wp_encryption_godaddy #wpcontent,.admin_page_wp_encryption_log #wpcontent,[class*="wp-encryption_page"] #wpcontent{background:#f5f5f5 url(../assets/bg.png) no-repeat top right;background-size:100% auto;min-height:600px}.wple-header{margin:30px 20px 30px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#wple-upgradepro,#wple-sslgenerator,#wple-sslgen{width:1500px;max-width:calc(100% - 60px);margin:0 auto 30px;background:#fff;border-radius:10px;padding:20px;min-height:400px;-webkit-box-shadow:0px 0px 30px #ddd;box-shadow:0px 0px 30px #ddd}.wple-compare-item{width:14.6%;margin:20px 1%;text-align:center}.wple-plan-compare{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:wrap;flex-flow:wrap;margin-bottom:20px}.wple-plans span{display:block;font-weight:600;font-size:14px;margin:0 5px 3px;letter-spacing:1px;color:#888}.wple-plans .pro{color:#2585d3}.wple-header .wple-version{color:#aaa;margin:0 10px;font-size:16px;line-height:70px}.wple-header img{float:left}.wple-compare-item h4{font-size:15px;margin-top:0;margin-bottom:10px;line-height:22px}.wple-compare-item span{display:block;font-size:14px;padding:1px;color:#2585d3;font-weight:400;letter-spacing:1px}.wple-compare-item .wple-free{color:#888}.wple-compare-item img{max-width:100%;width:130px}.wple-upgrade-pro a{background:#2585d3;font-size:20px;text-decoration:none;color:#fff;padding:17px 25px;display:inline-block;text-transform:uppercase;border-radius:5px;cursor:pointer;letter-spacing:1px;font-weight:600;margin:5px 8px;-webkit-box-shadow:none;box-shadow:none}.wple-upgrade-pro a:not(.wplecompare) .dashicons{color:#fff !important;margin-left:5px}.wple-upgrade-pro .wplecompare{-webkit-box-shadow:none;box-shadow:none;color:#6087b8;border-radius:0;padding:8px 5px;margin:0 10px;font-size:14px;line-height:24px;border-color:#ddd}.wple-upgrade-pro{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wp-encryption_page_wp_encryption-pricing #wpcontent{background:none !important}#wple-sslgenerator{min-height:auto;background:none !important;-webkit-box-shadow:none;box-shadow:none}#wple-sslgenerator .wple-success-form{margin:0}#wple-sslgenerator .wple-success-form h2{margin-top:0;display:inline-block;margin-bottom:0px}#wple-sslgenerator .wple-success-form h3{font-size:18px;line-height:1.5em;margin-bottom:40px;color:#027302}#wple-sslgenerator .wple-success-form button{background:none;border:2px solid green;color:green;font-weight:500;margin-top:20px;margin-bottom:20px}#wple-sslgenerator .wple-success-form ul:not(.wple-progress) li{font-size:18px;margin-bottom:10px;color:green}#wple-sslgenerator .wple-success-form span.dashicons{color:#039154;font-size:50px;width:43px;float:left}div#wple-sslgen,#le-wrap{-webkit-box-shadow:0px 0px 10px #ddd;box-shadow:0px 0px 10px #ddd}div#wple-sslgen h2{margin:20px 0 40px;font-size:28px;text-align:center;text-transform:uppercase;font-weight:bold;color:#555;line-height:1.5em}div#wple-sslgen{min-height:auto}span.dashicons.dashicons-editor-help.wple-tooltip{font-size:28px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#aaa;cursor:help}.toggle-debugger{text-align:right;margin-top:-10px;margin-bottom:10px;color:green;font-weight:500;cursor:pointer}.toggle-debugger .rotate{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.checkbox-label{display:block;position:relative;margin:auto;cursor:pointer;font-size:22px;line-height:24px;height:24px;width:24px;clear:both;margin-right:10px;margin-bottom:-2px}.checkbox-label input{position:absolute;opacity:0;cursor:pointer}.checkbox-label .checkbox-custom{position:absolute;top:0px;left:0px;height:24px;width:24px;background-color:#fff;border-radius:5px;transition:all 0.3s ease-out;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-ms-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;border:1px solid #dddddd}.checkbox-label input:checked ~ .checkbox-custom{background-color:#FFFFFF;border-radius:5px;-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:1px solid #dddddd}.checkbox-label .checkbox-custom::after{position:absolute;content:"";left:12px;top:12px;height:0px;width:0px;border-radius:5px;border:solid #009BFF;border-width:0 3px 3px 0;-webkit-transform:rotate(0deg) scale(0);transform:rotate(0deg) scale(0);opacity:1;transition:all 0.3s ease-out;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-ms-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out}.checkbox-label input:checked ~ .checkbox-custom::after{-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);opacity:1;left:8px;top:3px;width:6px;height:12px;border:solid #009BFF;border-width:0 2px 2px 0;background-color:transparent;border-radius:0}span.lecheck label{margin:3px 10px}span.lecheck b,span.lecheck a{margin:0 5px}#wple-sslgenerator.error{background:#fff !important;color:#f14242;font-size:15px;border-right:4px solid #e80404;border-left:4px solid #e80404}.wple-gdaddy p{max-width:800px;margin:0 auto 40px;text-align:center;font-size:16px}.wple-gdaddy label{margin-right:10px;font-weight:600}.wple-gdaddy{text-align:center}.le-other-plugins{padding:10px 0 0;text-align:center}.le-other-plugins a{display:inline-block;outline:none;-webkit-box-shadow:none;box-shadow:none}.le-other-plugins img{max-width:100%}ul.wple-progress{display:-webkit-box;display:-ms-flexbox;display:flex;margin:30px auto;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:90%;position:relative}ul.wple-progress li{list-style:none;font-size:18px;color:#aaa;font-weight:500;padding:10px 15px;background:#fff;position:relative}ul.wple-progress li.prog-1{color:#0b9e0b}ul.wple-progress li.prog-0{color:#da0404}ul.wple-progress:before{content:'';height:1px;width:100%;position:absolute;background:#ddd;top:46%}ul.wple-progress li span{border:2px solid;width:20px;border-radius:50%;display:inline-block;height:20px;text-align:center;padding:2px;font-size:14px;line-height:20px}.wple-multisite{text-align:center;font-size:20px;margin-bottom:40px;margin-top:-30px}input.wple-domain-input{text-transform:uppercase;color:#888;background:#dadada;letter-spacing:1px}.wple-review-box{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:10px}.wple-review-box p{font-size:16px;margin-top:0;padding:2px 0}.wple-review-box strong{font-size:17px;margin:7px 0 5px;display:block}.wple-review-box img{border-radius:50%}.wple-review-box img{float:left;width:60px;height:60px;margin-right:10px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wple-admin-review{padding:10px 15px 15px}a.wplerevbtn{background:#eee;text-decoration:none;padding:7px 13px;margin-right:7px;border-radius:3px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}a.wple-lets-review.wplerevbtn{background:#0073aa;color:#fff}a.wple-reset-button{background:#c70505;text-decoration:none;padding:10px 20px;margin:20px 0;display:inline-block;color:#fff;outline:none;-webkit-box-shadow:none;box-shadow:none}form#admin-verify-dns button{margin-top:10px;background:#068f63;border:none;color:#fff;padding:10px 20px;cursor:pointer}.buttonrotate .dashicons{-webkit-animation:infirotate 1s linear infinite forwards;animation:infirotate 1s linear infinite forwards;-webkit-transform-origin:center;transform-origin:center;margin-right:5px}form#admin-verify-dns button:disabled{background:#666;color:#ccc}.dns-notvalid{color:#f14242;display:none}.dns-notvalid.active{display:block}.wple-newdns{margin:20px 0;background:#f5f5f5;padding:0 20px 20px;border-left:2px solid}.wple-success-cols{display:-webkit-box;display:-ms-flexbox;display:flex;margin:20px 0}.wple-success-cols div{text-align:left;padding:20px;border-right:1px solid #eee;width:25%}.wple-success-cols h3{margin-bottom:10px !important;position:relative;padding-bottom:12px;color:#039103 !important}.wple-success-cols div:last-child{border:none}.wple-success-cols p{font-size:17px;color:#7d7d7d}.wple-success-cols h3:before{content:'';width:50px;height:2px;background:#eee;position:absolute;bottom:0}.wple-review-box.wple-reminder-notice{color:#e03838}.wple-review-box.wple-reminder-notice p strong{display:inline-block;margin:0}.subdir-challenges-block{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.manualchallenge{width:48%;margin:20px 1%;background:#fafafa;padding:20px;border:1px solid #ddd;border-radius:10px;font-size:15px}.manualchallenge h3{margin:-10px 0 10px -20px !important;font-size:16px !important;padding:3px 10px;background:#888;display:inline-block;color:#fff !important;border-radius:0 5px 5px 0}.subdir-http-challenge.manualchallenge a:not(.videolink){text-decoration:none;color:green;font-size:16px;display:block;background:#fff;padding:5px;line-height:30px}.wple-http-manual-verify a{padding:5px 5px 0 !important;font-weight:500}.subdir-http-challenge.manualchallenge span:not(.dashicons-video-alt){font-size:26px !important;width:30px !important;margin:4px 0 0 5px}.subdns-item{background:#fff;padding:7px 15px;margin-bottom:10px;line-height:1.5em}.manualchallenge button{border:none !important;padding:0px 13px !important;font-size:15px;background:#1e9654 !important;color:#fff !important;font-weight:normal !important;line-height:35px;outline:none;margin:10px 0 !important}.manualchallenge button span,.subdir-http-challenge.manualchallenge button span{color:#fff !important;font-size:24px !important;margin:5px 0 !important;width:auto !important;height:24px !important}.manualchallenge button:disabled{background:#aaa !important}.manualchallenge button span{-webkit-transform-origin:center !important;transform-origin:center !important}.http-notvalid{color:#f14242;display:none}.http-notvalid.active{display:block}#wple-error-popper{position:fixed;display:none;top:0;left:0;right:0;bottom:0;background:rgba(59,59,59,0.5)}.wple-flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}div#wple-error-popper .wple-error{display:inline-block;background:#fff;font-size:21px;color:#ff0909;padding:20px 40px;border-radius:5px;-webkit-box-shadow:0px 0px 10px #aaa;box-shadow:0px 0px 10px #aaa;text-transform:uppercase}.wple-flex img{margin-left:150px;display:none;-webkit-animation:infirotate 1s linear infinite forwards;animation:infirotate 1s linear infinite forwards}div#firewall-steps{margin:40px 60px;font-size:16px}div#firewall-steps h3{color:#444;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:22px;margin:22px 0;line-height:30px}div#firewall-steps h3 span{font-size:24px;margin-left:7px}div#firewall-steps .fa-check-circle{color:#07a007}div#firewall-steps .fa-times-circle{color:#d11313}div#firewall-steps .fa-circle-notch{color:#666}div#firewall-dns,#firewall-wpconfig,.rootssh-check{background:#fafafa;padding:20px;border:1px solid #ddd;border-radius:8px;font-size:18px;line-height:1.5em;display:none}div#firewall-dns p,#firewall-wpconfig p{margin-top:0;font-size:20px}div#firewall-wpconfig blockquote{font-size:17px;font-weight:500;margin:40px 10px 10px !important;background:#eee;padding:20px;border-radius:10px}div#firewall-wpconfig{margin-bottom:20px}div#firewall-dns ul li{list-style:disc;padding:5px 0}div#firewall-dns ul{margin:0 20px 20px 40px}div#firewall-dns ul li span{font-weight:bold}div#firewall-dns b{color:#222}div#firewall-steps button,.firewall-btn{background:#0282bf;color:#fff;font-size:16px;border:none;padding:5px 20px;border-radius:5px;line-height:35px;text-transform:uppercase;cursor:pointer;letter-spacing:0.5px;font-weight:400}p.spmode-status{display:inline-block;margin:10px;color:#777}button#start-firewall{font-size:18px !important;margin-top:10px;padding:8px 30px !important}.firewall-btn:hover{background:#0896da !important}div#firewall-steps button:disabled,.firewall-btn:disabled{background:#aaa !important;cursor:not-allowed}div#firewall-steps button .fa-circle-notch{color:#ddd}div#firewall-steps button span{display:none}div#firewall-steps button span.active{display:inline-block}div#firewall-steps button:focus{outline:none}.firewall-error{background:#fac2c2;padding:15px;border-radius:5px;margin-bottom:30px;color:#ca0000;display:none}.firewall-gen h4{text-align:center;font-size:16px;margin-top:0;color:#555;margin-bottom:40px !important}.firewall-gen h2{margin-bottom:10px !important}div#firewall-running{display:none;background:rgba(172,233,173,0.65);width:900px;margin:0 auto;color:#218b21;padding:20px;font-size:21px;line-height:1.5em;text-align:center;border:1px solid #3fe63f;border-radius:10px;max-width:100%}.wple-error{text-align:center;margin-bottom:30px}.wple-error span{background:#f2c4c4;padding:15px;border-radius:5px;font-size:18px;color:#cc1212}.wple-metrics-page{text-align:center}div#wple-firewall-metrics{font-size:21px}.wple-metrics-page canvas{min-height:400px;margin:20px 0}.wple-period{text-align:right;padding:0 20px}.wple-period select{font-size:18px;width:150px}div#wple-firewall-metrics svg,#wple-firewall-metrics i{font-size:30px}.wple-error-firewall{background:#fafafa;color:#222;padding:20px 15px;border:1px solid #ccc;border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left;width:96%;margin-left:1%}.wple-error-firewall img{max-width:80px;margin:5px 20px 0 10px}.wple-error-firewall h3{font-size:26px}.wple-error-firewall p{color:#555}.wple-error-firewall strong{color:#111}.wple-error-firewall a:not(.metrics){text-decoration:none;display:inline-block;background:#4f4f4f;color:#fff;padding:15px;font-size:16px;border-radius:3px}.wple-upgrade-features{width:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wple-upgrade-features span{padding:10px;font-size:16px;line-height:1.4em;color:#777}.wple-upgrade-features b{color:#333;font-size:17px;display:inline-block;margin-bottom:8px}.wple-error-firewall a:hover{background:#444}.wple-error-firewall>div{margin-right:20px}.wple-error-firewall h3{color:#444 !important;font-size:22px !important;margin:0 0 5px !important;line-height:1.3em !important}.wple-error-firewall p{margin:5px 0}.wple-error-firewall span.dashicons{float:none !important;font-size:19px !important;color:#fff !important;width:20px !important;line-height:17px;padding:0}.wple-http-accessible{background:#fff;padding:10px;margin-bottom:10px}.wple-http-accessible p{margin-top:0;margin-bottom:5px}.wple-http-accessible div{font-weight:500;padding-bottom:10px;font-size:13px;color:#666}.wple-http-accessible div a:focus{-webkit-box-shadow:none;box-shadow:none}.wple-http-accessible div a{line-height:26px !important;color:#777 !important}.wple-http-accessible div a span{float:none !important;margin:0 !important;color:#777 !important;max-width:20px !important;line-height:20px}.wple-http-accessible div a span:before{font-size:19px}.subdir-http-challenge.manualchallenge a:hover,.subdir-http-challenge.manualchallenge a:hover span{color:#555 !important}div#wple-upgradepro .wple-plans{right:15px;text-align:right;position:absolute;bottom:15px;opacity:0.8}div#wple-upgradepro{position:relative;min-height:auto}.quick-refund-policy{text-align:center;color:#666;font-size:18px;margin-top:40px}.quick-refund-policy p{font-size:15px;margin:20px;font-weight:400}.quick-refund-policy strong{color:#333;text-transform:uppercase}.quick-refund-policy strong{color:#555;background:#f1f1f1;padding:10px 20px;font-size:15px}.wple-single-dv-ssl{text-align:center}.wple-info-box{background:#f9f9f9;display:inline-block;width:560px;max-width:100%;margin:0 0 20px 0;padding:20px;border-radius:5px;border:1px solid #eee}.wple-info-box h3{margin-top:0;margin-bottom:20px}.wple-info-box h3 span{margin-left:5px}.wple-info-box strong{font-size:16px;color:#666;margin-bottom:5px;display:block}.wple-www{display:none}.wple-www.active{display:block}.hideit{display:none}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid{float:right;width:auto !important;margin:-5px 0 0 0 !important;font-size:21px !important}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid a{text-decoration:none !important;font-size:16px;color:#047b04;line-height:30px}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid span{font-size:23px;width:22px;color:#0c960c;line-height:30px;margin-right:5px}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid a:hover,#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid a:hover span{color:#444}#wple-sslgenerator .manualchallenge button span{font-size:21px !important;line-height:25px;width:22px !important}ul.wple-progress li a{text-decoration:none;color:inherit}ul.wple-progress li a:hover{color:#777}.wple-success-flex{display:-webkit-box;display:-ms-flexbox;display:flex;max-width:90%;margin:0 5%}.wple-success-flex-final{text-align:left;padding:15px 30px 0 30px !important}ul.download-ssl-certs li{line-height:1.5em;color:#666 !important}ul.download-ssl-certs ul li a{padding:3px 10px;font-size:14px;outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}ul.download-ssl-certs ul li{margin:10px 8px 0px 0px !important;border-radius:3px}.wple-success-flex{-ms-flex-pack:distribute;justify-content:space-around}.wple-success-flex-final{background:#f9f9f9;border:1px solid #eee;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:20px}.wple-success-cols a{font-weight:500;color:#039154;text-transform:uppercase;text-decoration:none;border-bottom:1px dotted}ul.download-ssl-certs ul{margin-left:2px}div#wple-completed{display:-webkit-box;display:-ms-flexbox;display:flex;padding:40px 60px 40px}.wple-completed-review{width:70%;background:url(../assets/banner-left.png) no-repeat center right}.wple-completed-remaining{width:30%;text-align:center}.wple-completed-review h2{margin-top:0 !important;text-align:left !important;font-size:32px !important;max-width:90%;color:#444 !important}.wple-completed-review p{font-size:25px;color:#777;max-width:90%;line-height:36px}.wple-completed-review p span{margin:0 5px;font-size:27px;line-height:38px;color:#ff8e00}.wple-completed-review a.letsrate{background:#007cb7;margin:40px 0 10px;display:inline-block;padding:13px 25px;color:#fff;text-decoration:none;font-size:21px;line-height:28px;border-radius:5px;margin-top:100px;letter-spacing:1px}.wple-completed-review a.letsrate span{font-size:28px;height:30px}.wple-completed-review small{display:block;font-size:14px;padding-left:37px;color:#aaa;text-transform:uppercase}.wple-completed-review .letsrenew{text-decoration:none;font-size:20px;margin-left:10px;text-transform:uppercase;font-weight:500;color:#ea0707}.wple-completed-review .letsrenew.disabled{color:#bbb}.download-certs li{margin:0 12px;text-transform:uppercase}.wple-circle-expires strong{font-size:17px;margin:10px 0;display:block}.wple-circle-expires strong b{color:#ea0707}.wple-circle-expires p{font-size:15px;color:#777}.firepro{font-size:17px;color:#218b21;margin-top:20px !important;background:#ecffec;padding:7px 10px !important;border-left:2px solid}.firepro a{color:#218b27;font-weight:600;text-decoration:none;border-bottom:1px dotted}.wple-error-firewall.wple-procdn{background:none;border:1px solid #eee;margin:0 0 20px 0;width:98%}.wple-success-cols.wple-three-cols div{width:calc(33.33% - 50px)}div#wple-scanner{text-align:center;font-size:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}div#wple-scanner input{border:1px solid #ccc;margin:0 5px;padding:10px;min-width:300px;font-size:16px}div#wple-scanner button{background:#0092c9;color:#fff;border:none;padding:12px 20px;border-radius:5px;cursor:pointer}div#wple-scanner button:disabled{background:#bbb !important}div#wple-scanner-iframe{height:0px;overflow:hidden;-webkit-transition:all 0.5s ease;transition:all 0.5s ease;margin:40px 0;position:relative}div#wple-scanner-iframe .wple-frameholder{width:500px;height:500px;border:1px solid #ddd;margin:0 auto;border-radius:5px}div#wple-scanner-iframe .wple-frameholder iframe{overflow:hidden}div#wple-scanner-iframe .wple-scanbar{width:510px;border:3px solid #ddd;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:15px;-webkit-animation:scanner 5s ease-in-out forwards alternate infinite;animation:scanner 5s ease-in-out forwards alternate infinite}.wple-frameholder:after{content:'';position:absolute;z-index:9999;top:0;bottom:0;left:0;right:0}.complete.wple-scanbar{background:#0073aa;text-align:center;padding:15px;color:#fff;font-size:16px;font-weight:600;border-width:1px !important}.complete.wple-scanbar.success{background:#00bc28}div#wple-scanresults table{margin:40px auto}div#wple-scanresults{text-align:center}div#wple-scanresults table{border-collapse:collapse}div#wple-scanresults table td,div#wple-scanresults table th{padding:10px;font-size:16px;text-align:left;border:1px solid #ddd}div#wple-scanresults small{font-size:14px}div#wple-upgradepro>strong{font-size:14px;font-weight:500}ul#wple-nav{text-align:right}ul#wple-nav li{display:inline-block;margin:15px 5px}ul#wple-nav li a{text-decoration:none;color:#fff;font-size:15px;font-weight:400;padding:8px 15px;background:#ffffff2e;border-radius:5px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}ul#wple-nav li a:hover{background:#ffffff59}ul#wple-nav li a span{margin-right:5px}ul#wple-nav li a:focus{-webkit-box-shadow:none;box-shadow:none}span.wple-pmode{color:#ddd;border:1px solid #ddd;padding:2px 4px;border-radius:5px;font-size:10px;letter-spacing:1px}.dashicons-update{font-size:26px;width:26px;height:26px;margin:5px -5px 0 0}.dashicons.keeprotating{-webkit-animation:infirotate 1s linear forwards infinite;animation:infirotate 1s linear forwards infinite}.wple-deact{padding:10px 20px;background:rgba(255,158,158,0.2);margin:-20px 20px 0}.hiddenplan{display:none !important}div#wple-upgradepro>strong{padding:11px 20px;background:#f5f5f5;display:inline-block !important;-webkit-transform:translateY(-21px);transform:translateY(-21px);border-radius:0 0 8px 8px;-webkit-box-shadow:0px 2px 10px #ddd;box-shadow:0px 2px 10px #ddd}div#wple-upgradepro{text-align:center}li.onprocess1{color:orange !important}ul.check-root-ssh li{display:inline-block;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa;font-size:21px;padding:15px 20px;margin:5px 10px;min-width:200px;color:#666;cursor:pointer;border-radius:5px}ul.check-root-ssh{text-align:center}ul.check-root-ssh li:hover{background:#f1f1f1}ul.check-root-ssh li.active{background:#aaa;color:#fff}.rootssh-check{text-align:center;margin:20px 0}.nocp-ssl-validation{text-align:center}.nocp-ssl-validation small{display:block;font-size:13px;color:#777}.wple-validate-nossl{color:red;font-size:16px;line-height:1.5em;display:none}.wple-firewallcomplete{width:70%}.wple-powerofcdn{width:25%;border-left:1px solid #ddd;margin-left:1%;padding:20px 2%;text-align:center;font-size:18px}div#wple-sslgen.firewall-complete{display:-webkit-box;display:-ms-flexbox;display:flex}.wple-powerofcdn p{font-size:16px;text-align:left}.wple-powerofcdn .dashicons{font-size:100px;width:100px;height:100px}.wple-powerofcdn button{background:#444;border:none}.wple-powerofcdn button a{text-decoration:none;color:#fff;padding:20px;display:inline-block;text-transform:uppercase;letter-spacing:0.5px;font-size:16px}.wple-powerofcdn button:hover{background:#555}.wple-powerofcdn button a:focus{outline:none !important;-webkit-box-shadow:none;box-shadow:none}.wple-powerofcdn small{color:#888;margin:30px 0;display:block;line-height:1.4em}li.spmode-dns-apply a{background:#dab13d;color:#fff;text-decoration:none;padding:5px 10px;border-radius:5px;font-weight:600;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}li.spmode-dns-apply{list-style:none !important}#firewall-dns button#firewall-dns-validate{margin-top:20px}li.spmode-dns-apply a:hover{background:#82da82}.wple-assets-count ul{text-align:left;width:90%;margin:0 5%}.wple-assets-count ul li{margin:5px 0;display:block;line-height:1.5em;color:#777;font-size:15px}.wple-assets-count ul li b{color:#e83434 !important}.wple-assets-count{background:#f5f5f5;padding:10px;border-radius:5px}h2 .dashicons-superhero{font-size:36px;width:34px;line-height:44px;height:44px}.wple-circle-expires strong{display:inline}span.wple-pmode span{position:absolute;margin-top:28px;margin-left:10px;color:#ddd !important}.spmode-dns-setup{background:#fff;border:1px solid #ddd;padding:20px;padding-bottom:0;border-radius:10px}.wple-hire-expert a{line-height:22px;text-decoration:none;display:inline-block;margin-top:12px;font-size:14px;color:#999;text-transform:uppercase;letter-spacing:1px;max-width:80%}.wple-hire-expert a:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}.wple-hire-expert a:hover{color:#0389bc}div#wple-upgradepro.wple-expert-block{padding:0;max-width:100% !important;width:1540px;border:1px solid #ddd}.wple-expert-block h2{font-size:18px !important;line-height:1.5em;font-weight:700;margin:0 !important;background:#f5f5f5;padding:30px 20px;border-radius:10px 0 0 10px;color:#757575}.wple-expert-block p{text-align:left;padding:0 20px;font-size:15px;margin:0}.wple-expert-actions .wple-expert-more{font-size:13px;padding:0;background:none !important;color:#888;-webkit-box-shadow:none;box-shadow:none;line-height:22px;font-weight:400}.wple-expert-actions .wple-expert-more span:before{color:#888}a.wple-expert-hire{background:none;color:#0389bc;font-weight:500;border:2px solid #0389bc;-webkit-box-shadow:none;box-shadow:none;font-size:15px;line-height:1.5em;padding:10px 25px;min-width:100px}a.wple-expert-hire:hover{color:#fff;background:#0389bc}.wple-firewallcomplete .wple-expert-block{margin:20px 0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.wple-firewallcomplete .wple-expert-block h2{font-size:16px !important;margin:0 !important}.wple-firewallcomplete .wple-expert-block p{font-size:15px}.wple-firewallcomplete .wple-expert-block .wple-expert-hire{font-size:14px;padding:10px 7px}.wple-firewallcomplete .wple-expert-block .wple-expert-actions{width:400px}.wple-deact{margin:-20px 0px 0;border-radius:5px}.firewall-complete #wple-completed{padding:30px 40px}.firewall-complete a.wple-expert-hire{margin:5px 0 !important;padding:10px 20px !important}span.wple-pmode.notproerror{border-color:red;color:red;font-weight:600;text-transform:capitalize}.wple-http-manual-verify{padding-bottom:0px !important}ul.step3-download .le-dwnld .dashicons{float:right !important}ul.step3-download .le-dwnld .dashicons:before{font-size:24px !important}ul.step3-download .le-dwnld a{text-decoration:none;padding:0 !important}ul.step3-download .le-dwnld{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#fefefe;padding:10px 10px 10px 15px;border:1px solid #f1f1f1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;border-radius:3px;font-weight:500;font-size:16px !important}span.copy-dwnld-icons{display:inline-block}ul.step3-download .le-dwnld .dashicons{font-size:24px !important;width:30px !important;cursor:pointer;color:#666 !important}ul.step3-download .le-dwnld .dashicons:hover{color:green !important}ul.step3-download{margin-bottom:20px}.crt-content textarea{width:100%;height:150px;background:none;border:1px solid #ddd;display:none}.copied-success{position:fixed;z-index:9999;top:50%;left:calc(50% - 80px);background:rgba(0,0,0,0.7);color:#fff;padding:15px 20px;border-radius:10px;display:none}.wple-no-certs{font-size:16px;background:#f5f5f5;padding:15px;border-left:5px solid #e81e1e}.wple-other-content{width:100%}.wple-other-plugins{display:none}div#wple-sslgen.wple-subpages{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wple-other-plugins img{max-width:100px;margin-right:20px}.wple-other-plugins div a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 10px 0;background:#f5f5f5;padding:15px 20px;width:calc(100% - 40px);text-decoration:none}.wple-other-plugins div a:hover{background:#f1f1f1}.wple-other-plugins h3{text-transform:uppercase;font-size:14px}ul#wple-debug-errors{text-align:left;margin:20px 15px 0 15px}ul#wple-debug-errors li{line-height:1.5em;font-size:15px !important;color:#a20101 !important;margin-bottom:15px !important;background:rgba(255,0,0,0.08);padding:15px;border-radius:3px}label.disabled{color:#999}.wple-ssl-score,.wple-ssl-settings{background:#fff;-webkit-box-shadow:0px 0px 10px #ddd;box-shadow:0px 0px 10px #ddd;padding:30px;border-radius:5px;margin:10px}.wple-ssl-score h2,.wple-ssl-settings h2{margin-top:0;font-size:24px;text-transform:uppercase}div#wple-ssl-health{margin:40px 0px;display:-webkit-box;display:-ms-flexbox;display:flex;width:99%}.wple-ssl-score{width:calc(59% - 40px)}.wple-ssl-settings{width:calc(40% - 40px)}.wple-ssl-score h2:after,.wple-ssl-settings h2:after{content:'';display:block;background:#eee;width:50px;height:5px;margin-top:20px}.wple-score{font-size:60px;line-height:1.3em;font-weight:600}.wple-scorebar{width:100%;height:20px;background:#eee;margin:10px 0 30px;border-radius:5px;position:relative;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.wple-scorebar span{position:absolute;top:0;display:block;left:0;bottom:0;border-radius:5px}.wple-ssl-score ul li span:not(.dashicons){margin-right:20px;background:#f34343;padding:4px 8px;display:inline-block;width:25px;text-align:center;text-transform:capitalize;border-radius:5px;font-weight:500;color:#fff}.wple-ssl-score ul li span.dashicons{padding:4px;display:inline-block;width:25px}.wple-ssl-score ul li{margin-bottom:14px}.wple-ssl-score ul li span.wple-yes{background:#5dc55d;color:#fff}.wple-ssl-settings label{cursor:default;float:left}.wple-ssl-settings .plan-toggler{margin:0 !important}.wple-ssl-settings .plan-toggler label{cursor:pointer !important}.wple-ssl-settings ul li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:100% !important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wple-ssl-settings .toggle-checkbox:checked+.toggle-switch{background:#5dc55d}.wple-ssl-settings ul li.wple-setting-error{background:#fda7a78c;padding:10px;text-align:center;margin:20px 0 20px -10px;color:#a71616;border-radius:5px;display:none}span.wple-share-success{margin:0 !important}span.wple-share-success a:hover{background:#ff8e00}span.wple-share-success a{width:28px;font-size:14px;text-decoration:none;line-height:28px;display:inline-block;text-align:center;background:#999;color:white;border-radius:50%;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-transition:all 0.5s ease;transition:all 0.5s ease}span.wple-share-success a:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}span.wple-share-success a.tw:hover{background:#1da1f2}span.wple-share-success a.fb:hover{background:#1877f2}span.wple-share-success a.rd:hover{background:#ff4500}span.wple-share-success a.pt:hover{background:#e60023}table#wple-advanced-scanner th{background:#f5f5f591;padding:10px}table#wple-advanced-scanner .wple-scan-head{background:#444;padding:10px;color:#fff}table#wple-advanced-scanner tr td{border:1px solid #ddd !important;padding:10px}table#wple-advanced-scanner{border-collapse:collapse}table#wple-advanced-scanner .issue_type{text-align:center;text-transform:capitalize;font-weight:500}table#wple-advanced-scanner th{border:1px solid #ddd}table#wple-advanced-scanner small{font-size:12px;font-weight:500}table#wple-advanced-scanner small strong{font-weight:700}table#wple-advanced-scanner th{font-size:16px;font-weight:600}.progress--circle{position:relative;display:inline-block;margin:1rem;width:300px;height:300px;border-radius:50%;background-color:#ddd}.progress--circle:before{content:'';position:absolute;top:10px;left:10px;width:280px;height:280px;border-radius:50%;background-color:white}.progress--circle:after{content:'';display:inline-block;width:100%;height:100%;border-radius:50%;background-color:#05b267}.progress__number{position:absolute;top:50%;width:100%;line-height:1;text-align:center;color:#777;font-size:2rem;margin-top:-1.75rem}.progress__number small{font-size:1.25rem}.progress--circle.progress--0:after{background-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #ddd), color-stop(50%, transparent), to(transparent)),-webkit-gradient(linear, left top, right top, color-stop(50%, #ea0707), color-stop(50%, #ddd), to(#ddd));background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(90deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--1:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(94deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--2:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(98deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--3:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(102deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--4:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(106deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--5:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(110deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--6:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(114deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--7:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(118deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--8:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(122deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--9:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(126deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--10:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(130deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--11:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(134deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--12:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(138deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--13:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(142deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--14:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(146deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--15:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(150deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--16:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(154deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--17:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(158deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--18:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(162deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--19:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(166deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--20:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(170deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--21:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(174deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--22:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(178deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--23:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(182deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--24:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(186deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--25:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(190deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--26:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(194deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--27:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(198deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--28:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(202deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--29:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(206deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--30:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(210deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--31:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(214deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--32:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(218deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--33:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(222deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--34:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(226deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--35:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(230deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--36:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(234deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--37:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(238deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--38:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(242deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--39:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(246deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--40:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(250deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--41:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(254deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--42:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(258deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--43:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(262deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--44:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(266deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--45:after{background-image:-webkit-gradient(linear, right top, left top, color-stop(50%, #05b267), color-stop(50%, transparent), to(transparent)),-webkit-gradient(linear, right top, left top, color-stop(50%, #05b267), color-stop(50%, #ddd), to(#ddd));background-image:linear-gradient(-90deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--46:after{background-image:linear-gradient(-86deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--47:after{background-image:linear-gradient(-82deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--48:after{background-image:linear-gradient(-78deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--49:after{background-image:linear-gradient(-74deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--50:after{background-image:linear-gradient(-70deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--51:after{background-image:linear-gradient(-66deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--52:after{background-image:linear-gradient(-62deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--53:after{background-image:linear-gradient(-58deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--54:after{background-image:linear-gradient(-54deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--55:after{background-image:linear-gradient(-50deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--56:after{background-image:linear-gradient(-46deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--57:after{background-image:linear-gradient(-42deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--58:after{background-image:linear-gradient(-38deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--59:after{background-image:linear-gradient(-34deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--60:after{background-image:linear-gradient(-30deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--61:after{background-image:linear-gradient(-26deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--62:after{background-image:linear-gradient(-22deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--63:after{background-image:linear-gradient(-18deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--64:after{background-image:linear-gradient(-14deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--65:after{background-image:linear-gradient(-10deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--66:after{background-image:linear-gradient(-6deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--67:after{background-image:linear-gradient(-2deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--68:after{background-image:linear-gradient(2deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--69:after{background-image:linear-gradient(6deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--70:after{background-image:linear-gradient(10deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--71:after{background-image:linear-gradient(14deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--72:after{background-image:linear-gradient(18deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--73:after{background-image:linear-gradient(22deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--74:after{background-image:linear-gradient(26deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--75:after{background-image:linear-gradient(30deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--76:after{background-image:linear-gradient(34deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--77:after{background-image:linear-gradient(38deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--78:after{background-image:linear-gradient(42deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--79:after{background-image:linear-gradient(46deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--80:after{background-image:linear-gradient(50deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--81:after{background-image:linear-gradient(54deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--82:after{background-image:linear-gradient(58deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--83:after{background-image:linear-gradient(62deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--84:after{background-image:linear-gradient(66deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--85:after{background-image:linear-gradient(70deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--86:after{background-image:linear-gradient(74deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--87:after{background-image:linear-gradient(78deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--88:after{background-image:linear-gradient(82deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--89:after{background-image:linear-gradient(86deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--90:after{background-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #05b267), color-stop(50%, transparent), to(transparent)),-webkit-gradient(linear, right top, left top, color-stop(50%, #05b267), color-stop(50%, #ddd), to(#ddd));background-image:linear-gradient(90deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}@-webkit-keyframes scanner{0%{top:0}100%{top:99%}}@keyframes scanner{0%{top:0}100%{top:99%}}@-webkit-keyframes infirotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes infirotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media (max-width: 1200px){ul.wple-progress{width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.wple-progress li{font-size:14px;font-weight:400}.wple-success-flex{-ms-flex-wrap:wrap;flex-wrap:wrap}.wple-success-flex-final{padding:15px 20px 0 20px;margin-left:0}.wple-success-flex-video{margin-bottom:20px}.wple-success-cols{-ms-flex-wrap:wrap;flex-wrap:wrap}.wple-success-cols div{width:44%;margin:10px 0}}@media (max-width: 1024px){.wple-plan-compare{-ms-flex-wrap:wrap;flex-wrap:wrap}.wple-compare-item{width:23%}.wple-upgrade-pro{-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width: 991px){#le-tabbed-sections{width:100%}div#le-tabs-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.le-other-plugins{padding:20px 0}div#wple-ssl-health{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div#wple-ssl-health>div{width:88%}}@media (max-width: 767px){.toplevel_page_wp_encryption #wpcontent{background-size:auto}.wple-compare-item{width:34%;margin:10px 8%}div#wple-upgradepro{min-height:auto}.wple-other-plugins{display:none}.wple-other-content{width:100%}}h4.pricing-intro-subhead .dashicons{height:25px}div#quick-pricing-table{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;margin:100px 20px 60px 20px}div#quick-pricing-table .wplepricingcol{width:330px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.pro-pricing-col.wplepricingcol{border:1px solid #ddd;-webkit-transform:scale(1.1);transform:scale(1.1);border-radius:5px;background:#fff}.wplepricingcol ul li{list-style:none;font-size:18px;line-height:20px;min-height:20px;padding:22px 10px;border-bottom:1px solid #ddd;margin:0}.free-pricing-col.wplepricingcol{margin-right:1%;border:1px solid #ddd;border-radius:5px 0 0}.quick-pricing-head h3{font-size:32px;margin:0;font-weight:300;min-height:50px}.quick-pricing-head large{font-size:40px}.quick-pricing-head{padding:40px 0px;background:#fafafa;min-height:80px;width:100%}div#quick-pricing-table ul{margin:0}div#quick-pricing-table .pricing-btn-block{height:40px;margin-top:30px;margin-bottom:10px}div#quick-pricing-table .pricing-btn-block a{background:#222;text-decoration:none;color:#fff;text-transform:uppercase;font-size:15px;padding:5px 18px 7px;border-radius:5px}.wplepricingcol ul li:last-child{border:none}.pro-pricing-col li{font-size:16px !important}.pro-pricing-col li a{color:#097fb7;text-decoration:none;border-bottom:1px dotted #0073aa}.wplepricingcol ul li{text-transform:capitalize}.pro-pricing-col li a:focus{outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}div#quick-pricing-table .pricing-btn-block a:hover{background:#333 !important}.pro-pricing-col.wplepricingcol .pricing-btn-block a{background:#1093d1 !important}.quick-price-row small{font-size:18px}.quick-price-row sup{font-size:20px;font-weight:500}h4.pricing-intro-subhead{font-size:18px;font-weight:400;margin-top:10px;text-align:center;color:#666;line-height:1.4em}h2.pricing-intro-head{margin-bottom:0px !important}.non-cpanel-plans .pro-pricing-col ul li{padding:17px 10px}.free-pricing-col{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.quick-pricing-head{border-radius:5px 5px 0 0}.quick-pricing-head.pro{min-height:100px}.wplepricingcol.firewallplan .quick-pricing-head{min-height:100px}.inro-pricing-refund{clear:both;display:block;text-align:right}.quick-pricing-head{position:relative;overflow:hidden}span.wple-trending{position:absolute;top:16px;right:-40px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:#0990d1;color:#fff;padding:5px 45px;-webkit-box-shadow:0px 0px 5px #8c9497;box-shadow:0px 0px 5px #8c9497}.subdir-http-challenge.manualchallenge{position:relative}.wple-no-http{position:absolute;background:rgba(255,255,255,0.9);top:0;left:0;bottom:0;right:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:30px;text-align:center;border-radius:10px;font-weight:500;font-size:21px;color:#777;line-height:1.5em}.wple-error-firewall.fire-pro .wple-upgrade-features span{width:23%}.wple-upgrade-features span strong{color:#555}.wple-upgrade-features span a:hover{background:none}.wple-upgrade-features span a{text-decoration:none;border-bottom:1px dotted}.wple-error-firewall.fire-pro .wple-upgrade-features{margin-top:-10px;margin-bottom:-10px;margin-right:0}.toggle{cursor:pointer;display:inline-block}.toggle-switch{display:inline-block;background:#ccc;border-radius:16px;width:58px;height:32px;position:relative;vertical-align:middle;-webkit-transition:background 0.25s;transition:background 0.25s}.toggle-switch:before,.toggle-switch:after{content:""}.toggle-switch:before{display:block;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));background:linear-gradient(to bottom, #fff 0%, #eee 100%);border-radius:50%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.25);box-shadow:0 0 0 1px rgba(0,0,0,0.25);width:24px;height:24px;position:absolute;top:4px;left:4px;-webkit-transition:left 0.25s;transition:left 0.25s}.toggle:hover .toggle-switch:before{background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));background:linear-gradient(to bottom, #fff 0%, #fff 100%);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.5);box-shadow:0 0 0 1px rgba(0,0,0,0.5)}.toggle-checkbox:checked+.toggle-switch{background:#0073aa}.toggle-checkbox:checked+.toggle-switch:before{left:30px}.toggle-checkbox{position:absolute;visibility:hidden}.toggle-label{margin-left:5px;position:relative;top:2px;font-size:17px;color:#666}.plan-toggler{text-align:center;margin:0 0 20px -40px}.plan-toggler>span{margin-right:10px;font-size:18px;color:#666}.wildcard-genform{display:none}.wple-wc{display:none}.wple-wc.active{display:block}.wple-restart-notice{margin:0 60px;font-size:18px;line-height:1.5em;background:#fffbc7;padding:20px;border-radius:7px;color:#555}.wple-restart-notice a{text-decoration:none}
2
  /*# sourceMappingURL=le-admin.min.css.map */
1
+ .le-genform button{background:#2585d3;color:#fff;border:none;padding:15px;cursor:pointer;-webkit-box-shadow:0px 0px 5px #aaa;box-shadow:0px 0px 5px #aaa;margin-top:40px;margin-bottom:40px;outline:none;border-radius:3px;letter-spacing:0.5px}.le-genform button:hover{background:#0063c7}div#le-wrap{clear:both;-webkit-box-shadow:none;box-shadow:none}a.gws-logo{float:right}.le-inner{display:inline-block;padding:0;width:100%}#le-wrap h2{font-size:26px;margin-top:0}.le-debugger{background:#f5f5f5;border:1px solid #aaa;padding:10px;color:#666;border-radius:5px;margin-bottom:30px;max-height:500px;overflow-y:scroll;text-align:left}form.le-genform{text-align:center;font-size:18px}form.le-genform input[type="email"],.le-genform input[type="text"],.le-genform input[type="password"]{font-size:20px;width:600px;line-height:50px;text-indent:10px;margin-bottom:20px;max-width:100%;border:1px solid #ddd}.le-powered{background:#f0f0f0;color:#666;padding:10px;border-radius:5px;margin-top:20px}a.le-highlight{background:#0073aa;color:#fff;padding:3px 6px;text-decoration:none}p.le-lineheight{line-height:30px}a.gws-logo img{max-width:150px}span.lecheck{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-bottom:15px;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.le-powered a{color:#444;font-weight:600}.le-debugger .error{color:red}.wple-force{padding:5px 20px 20px;border-radius:5px}.wple-force p,.wple-force label{font-size:15px}.wple-force button{margin:30px 0 0;background:#0073aa;color:#fff;border:none;padding:10px 20px;font-size:16px;cursor:pointer;line-height:20px;display:block}.le-buypro{background:rgba(0,115,170,0.08);border:2px dashed #0073aa;text-align:center;padding:20px 20px 30px;margin-bottom:20px}.le-buypro p{color:#00405f;font-size:18px;margin:0 0 20px}.le-buypro a,.newbie a{background:#0073aa;color:#fff;font-size:18px;text-decoration:none;padding:17px 20px;font-weight:500;cursor:pointer;display:inline-block}.newbie a{margin:20px auto !important;padding:15px 40px}.le-buypro a:hover{background:#06628e}p.le-offer{font-weight:600;font-style:italic}.wplerateus span{color:#ff8d00;font-size:24px;margin:0 2px}.wplerateus p{font-size:14px !important}.wplerateus a{font-weight:600;text-decoration:none}li.le-expirydate b{color:#f96868;font-weight:bold;letter-spacing:1px}.le-debugger.running{position:relative;padding-top:50px}.le-debugger.running h3{position:absolute;left:0;top:0;right:0;margin:0;background:#a4a4a4;color:#fff;padding:8px;font-size:15px}.le-debugger.running h3 a{color:#fff}.le-section{padding:20px;background:#f9f9f9;border:1px solid #ddd;display:none;border-radius:0}.le-section-title{padding:15px 30px;display:inline-block;background:#eee;border-radius:7px 30px 0 0;margin:0 5px 0 0;color:#666;font-weight:500;cursor:pointer}.le-section-title.active,.le-section-title:hover{background:#0073aa;color:#fff}.le-section.active{display:block}.le-section.download-certs ul{margin:0}.le-section h3{margin-top:0;line-height:1.4em}.le-section-title[data-section=go-viral]{background:#ccc;color:#444}.wple-dismiss{color:#bbb !important;float:right;cursor:pointer;font-size:21px !important}.wple-dismiss:hover{color:#999 !important}.le-debugger.running h2{margin:20px !important;display:block;line-height:1.3em;text-align:center;color:#006300}.hideheader h2{display:none !important}a.wplecompare{background:none !important;color:#075e88;padding:5px;text-transform:uppercase;border-bottom:1px dashed #075e88;font-weight:600;border-top:1px dashed #075e88}a.wplecompare span{font-size:23px}.running .wple-promo{font-size:15px;padding:8px;text-align:center;border:1px dashed #006b00}.running a{font-weight:bold;color:#006b00}.running b{font-weight:bold}.wple-success-form{background:#fff;padding:20px;margin:30px 0;text-align:center;border-radius:10px;-webkit-box-shadow:0px 0px 5px green;box-shadow:0px 0px 5px green}.wple-success-form h2{color:#0b9e0b;line-height:50px;font-weight:400;font-size:24px !important}.wple-success-form button{background:#149a14;border:none;color:#fff;font-size:24px;padding:10px 20px;border-radius:5px;cursor:pointer}.wple-success-form button:hover{background:darkgreen}.wple-warning-notice{padding:20px;line-height:40px;text-align:center;background:#fff;margin:40px 20px;border-radius:10px}.wple-warning-notice h2{color:#e56d6d;margin:40px !important;font-size:26px !important;font-weight:400;background:url(../assets/warning.png) no-repeat center left;text-align:left;padding-left:120px;min-height:90px}.toplevel_page_wp_encryption #wpcontent,.admin_page_wp_encryption_faq #wpcontent,.admin_page_wp_encryption_howto_videos #wpcontent,.wp-encryption_page_wp_encryption_godaddy #wpcontent,.admin_page_wp_encryption_log #wpcontent,[class*="wp-encryption_page"] #wpcontent{background:#f5f5f5 url(../assets/bg.png) no-repeat top right;background-size:100% auto;min-height:600px}.wple-header{margin:30px 20px 30px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#wple-upgradepro,#wple-sslgenerator,#wple-sslgen{width:1500px;max-width:calc(100% - 60px);margin:0 auto 30px;background:#fff;border-radius:10px;padding:20px;min-height:400px;-webkit-box-shadow:0px 0px 30px #ddd;box-shadow:0px 0px 30px #ddd}.wple-compare-item{width:14.6%;margin:20px 1%;text-align:center}.wple-plan-compare{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:wrap;flex-flow:wrap;margin-bottom:20px}.wple-plans span{display:block;font-weight:600;font-size:14px;margin:0 5px 3px;letter-spacing:1px;color:#888}.wple-plans .pro{color:#2585d3}.wple-header .wple-version{color:#aaa;margin:0 10px;font-size:16px;line-height:70px}.wple-header img{float:left}.wple-compare-item h4{font-size:15px;margin-top:0;margin-bottom:10px;line-height:22px}.wple-compare-item span{display:block;font-size:14px;padding:1px;color:#2585d3;font-weight:400;letter-spacing:1px}.wple-compare-item .wple-free{color:#888}.wple-compare-item img{max-width:100%;width:130px}.wple-upgrade-pro a{background:#2585d3;font-size:20px;text-decoration:none;color:#fff;padding:17px 25px;display:inline-block;text-transform:uppercase;border-radius:5px;cursor:pointer;letter-spacing:1px;font-weight:600;margin:5px 8px;-webkit-box-shadow:none;box-shadow:none}.wple-upgrade-pro a:not(.wplecompare) .dashicons{color:#fff !important;margin-left:5px}.wple-upgrade-pro .wplecompare{-webkit-box-shadow:none;box-shadow:none;color:#6087b8;border-radius:0;padding:8px 5px;margin:0 10px;font-size:14px;line-height:24px;border-color:#ddd}.wple-upgrade-pro{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wp-encryption_page_wp_encryption-pricing #wpcontent{background:none !important}#wple-sslgenerator{min-height:auto;background:none !important;-webkit-box-shadow:none;box-shadow:none}#wple-sslgenerator .wple-success-form{margin:0}#wple-sslgenerator .wple-success-form h2{margin-top:0;display:inline-block;margin-bottom:0px}#wple-sslgenerator .wple-success-form h3{font-size:18px;line-height:1.5em;margin-bottom:40px;color:#027302}#wple-sslgenerator .wple-success-form button{background:none;border:2px solid green;color:green;font-weight:500;margin-top:20px;margin-bottom:20px}#wple-sslgenerator .wple-success-form ul:not(.wple-progress) li{font-size:18px;margin-bottom:10px;color:green}#wple-sslgenerator .wple-success-form span.dashicons{color:#039154;font-size:50px;width:43px;float:left}div#wple-sslgen,#le-wrap{-webkit-box-shadow:0px 0px 10px #ddd;box-shadow:0px 0px 10px #ddd}div#wple-sslgen h2{margin:20px 0 40px;font-size:28px;text-align:center;text-transform:uppercase;font-weight:bold;color:#555;line-height:1.5em}div#wple-sslgen{min-height:auto}span.dashicons.dashicons-editor-help.wple-tooltip{font-size:28px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#aaa;cursor:help}.toggle-debugger{text-align:right;margin-top:-10px;margin-bottom:10px;color:green;font-weight:500;cursor:pointer}.toggle-debugger .rotate{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.checkbox-label{display:block;position:relative;margin:auto;cursor:pointer;font-size:22px;line-height:24px;height:24px;width:24px;clear:both;margin-right:10px;margin-bottom:-2px}.checkbox-label input{position:absolute;opacity:0;cursor:pointer}.checkbox-label .checkbox-custom{position:absolute;top:0px;left:0px;height:24px;width:24px;background-color:#fff;border-radius:5px;transition:all 0.3s ease-out;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-ms-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;border:1px solid #dddddd}.checkbox-label input:checked ~ .checkbox-custom{background-color:#FFFFFF;border-radius:5px;-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:1px solid #dddddd}.checkbox-label .checkbox-custom::after{position:absolute;content:"";left:12px;top:12px;height:0px;width:0px;border-radius:5px;border:solid #009BFF;border-width:0 3px 3px 0;-webkit-transform:rotate(0deg) scale(0);transform:rotate(0deg) scale(0);opacity:1;transition:all 0.3s ease-out;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-ms-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out}.checkbox-label input:checked ~ .checkbox-custom::after{-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);opacity:1;left:8px;top:3px;width:6px;height:12px;border:solid #009BFF;border-width:0 2px 2px 0;background-color:transparent;border-radius:0}span.lecheck label{margin:3px 10px}span.lecheck b,span.lecheck a{margin:0 5px}#wple-sslgenerator.error{background:#fff !important;color:#f14242;font-size:15px;border-right:4px solid #e80404;border-left:4px solid #e80404}.wple-gdaddy p{max-width:800px;margin:0 auto 40px;text-align:center;font-size:16px}.wple-gdaddy label{margin-right:10px;font-weight:600}.wple-gdaddy{text-align:center}.le-other-plugins{padding:10px 0 0;text-align:center}.le-other-plugins a{display:inline-block;outline:none;-webkit-box-shadow:none;box-shadow:none}.le-other-plugins img{max-width:100%}ul.wple-progress{display:-webkit-box;display:-ms-flexbox;display:flex;margin:30px auto;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:90%;position:relative}ul.wple-progress li{list-style:none;font-size:18px;color:#aaa;font-weight:500;padding:10px 15px;background:#fff;position:relative}ul.wple-progress li.prog-1{color:#0b9e0b}ul.wple-progress li.prog-0{color:#da0404}ul.wple-progress:before{content:'';height:1px;width:100%;position:absolute;background:#ddd;top:46%}ul.wple-progress li span{border:2px solid;width:20px;border-radius:50%;display:inline-block;height:20px;text-align:center;padding:2px;font-size:14px;line-height:20px}.wple-multisite{text-align:center;font-size:20px;margin-bottom:40px;margin-top:-30px}input.wple-domain-input{text-transform:uppercase;color:#888;background:#dadada;letter-spacing:1px}.wple-review-box{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:10px}.wple-review-box p{font-size:16px;margin-top:0;padding:2px 0}.wple-review-box strong{font-size:17px;margin:7px 0 5px;display:block}.wple-review-box img{border-radius:50%}.wple-review-box img{float:left;width:60px;height:60px;margin-right:10px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wple-admin-review{padding:10px 15px 15px}a.wplerevbtn{background:#eee;text-decoration:none;padding:7px 13px;margin-right:7px;border-radius:3px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}a.wple-lets-review.wplerevbtn{background:#0073aa;color:#fff}a.wple-reset-button{background:#c70505;text-decoration:none;padding:10px 20px;margin:20px 0;display:inline-block;color:#fff;outline:none;-webkit-box-shadow:none;box-shadow:none}form#admin-verify-dns button{margin-top:10px;background:#068f63;border:none;color:#fff;padding:10px 20px;cursor:pointer}.buttonrotate .dashicons{-webkit-animation:infirotate 1s linear infinite forwards;animation:infirotate 1s linear infinite forwards;-webkit-transform-origin:center;transform-origin:center;margin-right:5px}form#admin-verify-dns button:disabled{background:#666;color:#ccc}.dns-notvalid{color:#f14242;display:none}.dns-notvalid.active{display:block}.wple-newdns{margin:20px 0;background:#f5f5f5;padding:0 20px 20px;border-left:2px solid}.wple-success-cols{display:-webkit-box;display:-ms-flexbox;display:flex;margin:20px 0}.wple-success-cols div{text-align:left;padding:20px;border-right:1px solid #eee;width:25%}.wple-success-cols h3{margin-bottom:10px !important;position:relative;padding-bottom:12px;color:#039103 !important}.wple-success-cols div:last-child{border:none}.wple-success-cols p{font-size:17px;color:#7d7d7d}.wple-success-cols h3:before{content:'';width:50px;height:2px;background:#eee;position:absolute;bottom:0}.wple-review-box.wple-reminder-notice{color:#e03838}.wple-review-box.wple-reminder-notice p strong{display:inline-block;margin:0}.subdir-challenges-block{display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left}.manualchallenge{width:48%;margin:20px 1%;background:#fafafa;padding:20px;border:1px solid #ddd;border-radius:10px;font-size:15px}.manualchallenge h3{margin:-10px 0 10px -20px !important;font-size:16px !important;padding:3px 10px;background:#888;display:inline-block;color:#fff !important;border-radius:0 5px 5px 0}.subdir-http-challenge.manualchallenge a:not(.videolink){text-decoration:none;color:green;font-size:16px;display:block;background:#fff;padding:5px;line-height:30px}.wple-http-manual-verify a{padding:5px 5px 0 !important;font-weight:500}.subdir-http-challenge.manualchallenge span:not(.dashicons-video-alt){font-size:26px !important;width:30px !important;margin:4px 0 0 5px}.subdns-item{background:#fff;padding:7px 15px;margin-bottom:10px;line-height:1.5em}.manualchallenge button{border:none !important;padding:0px 13px !important;font-size:15px;background:#1e9654 !important;color:#fff !important;font-weight:normal !important;line-height:35px;outline:none;margin:10px 0 !important}.manualchallenge button span,.subdir-http-challenge.manualchallenge button span{color:#fff !important;font-size:24px !important;margin:5px 0 !important;width:auto !important;height:24px !important}.manualchallenge button:disabled{background:#aaa !important}.manualchallenge button span{-webkit-transform-origin:center !important;transform-origin:center !important}.http-notvalid{color:#f14242;display:none}.http-notvalid.active{display:block}#wple-error-popper{position:fixed;display:none;top:0;left:0;right:0;bottom:0;background:rgba(59,59,59,0.5)}.wple-flex{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}div#wple-error-popper .wple-error{display:inline-block;background:#fff;font-size:21px;color:#ff0909;padding:20px 40px;border-radius:5px;-webkit-box-shadow:0px 0px 10px #aaa;box-shadow:0px 0px 10px #aaa;text-transform:uppercase}.wple-flex img{margin-left:150px;display:none;-webkit-animation:infirotate 1s linear infinite forwards;animation:infirotate 1s linear infinite forwards}div#firewall-steps{margin:40px 60px;font-size:16px}div#firewall-steps h3{color:#444;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:22px;margin:22px 0;line-height:30px}div#firewall-steps h3 span{font-size:24px;margin-left:7px}div#firewall-steps .fa-check-circle{color:#07a007}div#firewall-steps .fa-times-circle{color:#d11313}div#firewall-steps .fa-circle-notch{color:#666}div#firewall-dns,#firewall-wpconfig,.rootssh-check{background:#fafafa;padding:20px;border:1px solid #ddd;border-radius:8px;font-size:18px;line-height:1.5em;display:none}div#firewall-dns p,#firewall-wpconfig p{margin-top:0;font-size:20px}div#firewall-wpconfig blockquote{font-size:17px;font-weight:500;margin:40px 10px 10px !important;background:#eee;padding:20px;border-radius:10px}div#firewall-wpconfig{margin-bottom:20px}div#firewall-dns ul li{list-style:disc;padding:5px 0}div#firewall-dns ul{margin:0 20px 20px 40px}div#firewall-dns ul li span{font-weight:bold}div#firewall-dns b{color:#222}div#firewall-steps button,.firewall-btn{background:#0282bf;color:#fff;font-size:16px;border:none;padding:5px 20px;border-radius:5px;line-height:35px;text-transform:uppercase;cursor:pointer;letter-spacing:0.5px;font-weight:400}p.spmode-status{display:inline-block;margin:10px;color:#777}button#start-firewall{font-size:18px !important;margin-top:10px;padding:8px 30px !important}.firewall-btn:hover{background:#0896da !important}div#firewall-steps button:disabled,.firewall-btn:disabled{background:#aaa !important;cursor:not-allowed}div#firewall-steps button .fa-circle-notch{color:#ddd}div#firewall-steps button span{display:none}div#firewall-steps button span.active{display:inline-block}div#firewall-steps button:focus{outline:none}.firewall-error{background:#fac2c2;padding:15px;border-radius:5px;margin-bottom:30px;color:#ca0000;display:none}.firewall-gen h4{text-align:center;font-size:16px;margin-top:0;color:#555;margin-bottom:40px !important}.firewall-gen h2{margin-bottom:10px !important}div#firewall-running{display:none;background:rgba(172,233,173,0.65);width:900px;margin:0 auto;color:#218b21;padding:20px;font-size:21px;line-height:1.5em;text-align:center;border:1px solid #3fe63f;border-radius:10px;max-width:100%}.wple-error{text-align:center;margin-bottom:30px}.wple-error span{background:#f2c4c4;padding:15px;border-radius:5px;font-size:18px;color:#cc1212}.wple-metrics-page{text-align:center}div#wple-firewall-metrics{font-size:21px}.wple-metrics-page canvas{min-height:400px;margin:20px 0}.wple-period{text-align:right;padding:0 20px}.wple-period select{font-size:18px;width:150px}div#wple-firewall-metrics svg,#wple-firewall-metrics i{font-size:30px}.wple-error-firewall{background:#fafafa;color:#222;padding:20px 15px;border:1px solid #ccc;border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;text-align:left;width:96%;margin-left:1%}.wple-error-firewall img{max-width:80px;margin:5px 20px 0 10px}.wple-error-firewall h3{font-size:26px}.wple-error-firewall p{color:#555}.wple-error-firewall strong{color:#111}.wple-error-firewall a:not(.metrics){text-decoration:none;display:inline-block;background:#4f4f4f;color:#fff;padding:15px;font-size:16px;border-radius:3px}.wple-upgrade-features{width:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wple-upgrade-features span{padding:10px;font-size:16px;line-height:1.4em;color:#777}.wple-upgrade-features b{color:#333;font-size:17px;display:inline-block;margin-bottom:8px}.wple-error-firewall a:hover{background:#444}.wple-error-firewall>div{margin-right:20px}.wple-error-firewall h3{color:#444 !important;font-size:22px !important;margin:0 0 5px !important;line-height:1.3em !important}.wple-error-firewall p{margin:5px 0}.wple-error-firewall span.dashicons{float:none !important;font-size:19px !important;color:#fff !important;width:20px !important;line-height:17px;padding:0}.wple-http-accessible{background:#fff;padding:10px;margin-bottom:10px}.wple-http-accessible p{margin-top:0;margin-bottom:5px}.wple-http-accessible div{font-weight:500;padding-bottom:10px;font-size:13px;color:#666}.wple-http-accessible div a:focus{-webkit-box-shadow:none;box-shadow:none}.wple-http-accessible div a{line-height:26px !important;color:#777 !important}.wple-http-accessible div a span{float:none !important;margin:0 !important;color:#777 !important;max-width:20px !important;line-height:20px}.wple-http-accessible div a span:before{font-size:19px}.subdir-http-challenge.manualchallenge a:hover,.subdir-http-challenge.manualchallenge a:hover span{color:#555 !important}div#wple-upgradepro .wple-plans{right:15px;text-align:right;position:absolute;bottom:15px;opacity:0.8}div#wple-upgradepro{position:relative;min-height:auto}.quick-refund-policy{text-align:center;color:#666;font-size:18px;margin-top:40px}.quick-refund-policy p{font-size:15px;margin:20px;font-weight:400}.quick-refund-policy strong{color:#333;text-transform:uppercase}.quick-refund-policy strong{color:#555;background:#f1f1f1;padding:10px 20px;font-size:15px}.wple-single-dv-ssl{text-align:center}.wple-info-box{background:#f9f9f9;display:inline-block;width:560px;max-width:100%;margin:0 0 20px 0;padding:20px;border-radius:5px;border:1px solid #eee}.wple-info-box h3{margin-top:0;margin-bottom:20px}.wple-info-box h3 span{margin-left:5px}.wple-info-box strong{font-size:16px;color:#666;margin-bottom:5px;display:block}.wple-www{display:none}.wple-www.active{display:block}.hideit{display:none}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid{float:right;width:auto !important;margin:-5px 0 0 0 !important;font-size:21px !important}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid a{text-decoration:none !important;font-size:16px;color:#047b04;line-height:30px}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid span{font-size:23px;width:22px;color:#0c960c;line-height:30px;margin-right:5px}#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid a:hover,#wple-sslgenerator .subdir-challenges-block span.manual-verify-vid a:hover span{color:#444}#wple-sslgenerator .manualchallenge button span{font-size:21px !important;line-height:25px;width:22px !important}ul.wple-progress li a{text-decoration:none;color:inherit}ul.wple-progress li a:hover{color:#777}.wple-success-flex{display:-webkit-box;display:-ms-flexbox;display:flex;max-width:90%;margin:0 5%}.wple-success-flex-final{text-align:left;padding:15px 30px 0 30px !important}ul.download-ssl-certs li{line-height:1.5em;color:#666 !important}ul.download-ssl-certs ul li a{padding:3px 10px;font-size:14px;outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}ul.download-ssl-certs ul li{margin:10px 8px 0px 0px !important;border-radius:3px}.wple-success-flex{-ms-flex-pack:distribute;justify-content:space-around}.wple-success-flex-final{background:#f9f9f9;border:1px solid #eee;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:20px}.wple-success-cols a{font-weight:500;color:#039154;text-transform:uppercase;text-decoration:none;border-bottom:1px dotted}ul.download-ssl-certs ul{margin-left:2px}div#wple-completed{display:-webkit-box;display:-ms-flexbox;display:flex;padding:40px 60px 40px}.wple-completed-review{width:70%;background:url(../assets/banner-left.png) no-repeat center right}.wple-completed-remaining{width:30%;text-align:center}.wple-completed-review h2{margin-top:0 !important;text-align:left !important;font-size:32px !important;max-width:90%;color:#444 !important}.wple-completed-review p{font-size:25px;color:#777;max-width:90%;line-height:36px}.wple-completed-review p span{margin:0 5px;font-size:27px;line-height:38px;color:#ff8e00}.wple-completed-review a.letsrate{background:#007cb7;margin:40px 0 10px;display:inline-block;padding:13px 25px;color:#fff;text-decoration:none;font-size:21px;line-height:28px;border-radius:5px;margin-top:100px;letter-spacing:1px}.wple-completed-review a.letsrate span{font-size:28px;height:30px}.wple-completed-review small{display:block;font-size:14px;padding-left:37px;color:#aaa;text-transform:uppercase}.wple-completed-review .letsrenew{text-decoration:none;font-size:20px;margin-left:10px;text-transform:uppercase;font-weight:500;color:#ea0707}.wple-completed-review .letsrenew.disabled{color:#bbb}.download-certs li{margin:0 12px;text-transform:uppercase}.wple-circle-expires strong{font-size:17px;margin:10px 0;display:block}.wple-circle-expires strong b{background:#ff4141;padding:7px 10px;display:inline-block;color:#fff;border-radius:5px;margin:10px}.wple-circle-expires p{font-size:15px;color:#777}.firepro{font-size:17px;color:#218b21;margin-top:20px !important;background:#ecffec;padding:7px 10px !important;border-left:2px solid}.firepro a{color:#218b27;font-weight:600;text-decoration:none;border-bottom:1px dotted}.wple-error-firewall.wple-procdn{background:none;border:1px solid #eee;margin:0 0 20px 0;width:98%}.wple-success-cols.wple-three-cols div{width:calc(33.33% - 50px)}div#wple-scanner{text-align:center;font-size:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}div#wple-scanner input{border:1px solid #ccc;margin:0 5px;padding:10px;min-width:300px;font-size:16px}div#wple-scanner button{background:#0092c9;color:#fff;border:none;padding:12px 20px;border-radius:5px;cursor:pointer}div#wple-scanner button:disabled{background:#bbb !important}div#wple-scanner-iframe{height:0px;overflow:hidden;-webkit-transition:all 0.5s ease;transition:all 0.5s ease;margin:40px 0;position:relative}div#wple-scanner-iframe .wple-frameholder{width:500px;height:500px;border:1px solid #ddd;margin:0 auto;border-radius:5px}div#wple-scanner-iframe .wple-frameholder iframe{overflow:hidden}div#wple-scanner-iframe .wple-scanbar{width:510px;border:3px solid #ddd;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:15px;-webkit-animation:scanner 5s ease-in-out forwards alternate infinite;animation:scanner 5s ease-in-out forwards alternate infinite}.wple-frameholder:after{content:'';position:absolute;z-index:9999;top:0;bottom:0;left:0;right:0}.complete.wple-scanbar{background:#0073aa;text-align:center;padding:15px;color:#fff;font-size:16px;font-weight:600;border-width:1px !important}.complete.wple-scanbar.success{background:#00bc28}div#wple-scanresults table{margin:40px auto}div#wple-scanresults{text-align:center}div#wple-scanresults table{border-collapse:collapse}div#wple-scanresults table td,div#wple-scanresults table th{padding:10px;font-size:16px;text-align:left;border:1px solid #ddd}div#wple-scanresults small{font-size:14px}div#wple-upgradepro>strong{font-size:14px;font-weight:500}ul#wple-nav{text-align:right}ul#wple-nav li{display:inline-block;margin:15px 5px}ul#wple-nav li a{text-decoration:none;color:#fff;font-size:15px;font-weight:400;padding:8px 15px;background:#ffffff2e;border-radius:5px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}ul#wple-nav li a:hover{background:#ffffff59}ul#wple-nav li a span{margin-right:5px}ul#wple-nav li a:focus{-webkit-box-shadow:none;box-shadow:none}span.wple-pmode{color:#ddd;border:1px solid #ddd;padding:2px 4px;border-radius:5px;font-size:10px;letter-spacing:1px}.dashicons-update{font-size:26px;width:26px;height:26px;margin:5px -5px 0 0}.dashicons.keeprotating{-webkit-animation:infirotate 1s linear forwards infinite;animation:infirotate 1s linear forwards infinite}.wple-deact{padding:10px 20px;background:rgba(255,158,158,0.2);margin:-20px 20px 0}.hiddenplan{display:none !important}div#wple-upgradepro>strong{padding:11px 20px;background:#f5f5f5;display:inline-block !important;-webkit-transform:translateY(-21px);transform:translateY(-21px);border-radius:0 0 8px 8px;-webkit-box-shadow:0px 2px 10px #ddd;box-shadow:0px 2px 10px #ddd}div#wple-upgradepro{text-align:center}li.onprocess1{color:orange !important}ul.check-root-ssh li{display:inline-block;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa;font-size:21px;padding:15px 20px;margin:5px 10px;min-width:200px;color:#666;cursor:pointer;border-radius:5px}ul.check-root-ssh{text-align:center}ul.check-root-ssh li:hover{background:#f1f1f1}ul.check-root-ssh li.active{background:#aaa;color:#fff}.rootssh-check{text-align:center;margin:20px 0}.nocp-ssl-validation{text-align:center}.nocp-ssl-validation small{display:block;font-size:13px;color:#777}.wple-validate-nossl{color:red;font-size:16px;line-height:1.5em;display:none}.wple-firewallcomplete{width:70%}.wple-powerofcdn{width:25%;border-left:1px solid #ddd;margin-left:1%;padding:20px 2%;text-align:center;font-size:18px}div#wple-sslgen.firewall-complete{display:-webkit-box;display:-ms-flexbox;display:flex}.wple-powerofcdn p{font-size:16px;text-align:left}.wple-powerofcdn .dashicons{font-size:100px;width:100px;height:100px}.wple-powerofcdn button{background:#444;border:none}.wple-powerofcdn button a{text-decoration:none;color:#fff;padding:20px;display:inline-block;text-transform:uppercase;letter-spacing:0.5px;font-size:16px}.wple-powerofcdn button:hover{background:#555}.wple-powerofcdn button a:focus{outline:none !important;-webkit-box-shadow:none;box-shadow:none}.wple-powerofcdn small{color:#888;margin:30px 0;display:block;line-height:1.4em}li.spmode-dns-apply a{background:#dab13d;color:#fff;text-decoration:none;padding:5px 10px;border-radius:5px;font-weight:600;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}li.spmode-dns-apply{list-style:none !important}#firewall-dns button#firewall-dns-validate{margin-top:20px}li.spmode-dns-apply a:hover{background:#82da82}.wple-assets-count ul{text-align:left;width:90%;margin:0 5%}.wple-assets-count ul li{margin:5px 0;display:block;line-height:1.5em;color:#777;font-size:15px}.wple-assets-count ul li b{color:#e83434 !important}.wple-assets-count{background:#f5f5f5;padding:10px;border-radius:5px}h2 .dashicons-superhero{font-size:36px;width:34px;line-height:44px;height:44px}.wple-circle-expires strong{display:inline}span.wple-pmode span{position:absolute;margin-top:28px;margin-left:10px;color:#ddd !important}.spmode-dns-setup{background:#fff;border:1px solid #ddd;padding:20px;padding-bottom:0;border-radius:10px}.wple-hire-expert a{line-height:22px;text-decoration:none;display:inline-block;margin-top:12px;font-size:14px;color:#999;text-transform:uppercase;letter-spacing:1px;max-width:80%}.wple-hire-expert a:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}.wple-hire-expert a:hover{color:#0389bc}div#wple-upgradepro.wple-expert-block{padding:0;max-width:100% !important;width:1540px;border:1px solid #ddd}.wple-expert-block h2{font-size:18px !important;line-height:1.5em;font-weight:700;margin:0 !important;background:#f5f5f5;padding:30px 20px;border-radius:10px 0 0 10px;color:#757575}.wple-expert-block p{text-align:left;padding:0 20px;font-size:15px;margin:0}.wple-expert-actions .wple-expert-more{font-size:13px;padding:0;background:none !important;color:#888;-webkit-box-shadow:none;box-shadow:none;line-height:22px;font-weight:400}.wple-expert-actions .wple-expert-more span:before{color:#888}a.wple-expert-hire{background:none;color:#0389bc;font-weight:500;border:2px solid #0389bc;-webkit-box-shadow:none;box-shadow:none;font-size:15px;line-height:1.5em;padding:10px 25px;min-width:100px}a.wple-expert-hire:hover{color:#fff;background:#0389bc}.wple-firewallcomplete .wple-expert-block{margin:20px 0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.wple-firewallcomplete .wple-expert-block h2{font-size:16px !important;margin:0 !important}.wple-firewallcomplete .wple-expert-block p{font-size:15px}.wple-firewallcomplete .wple-expert-block .wple-expert-hire{font-size:14px;padding:10px 7px}.wple-firewallcomplete .wple-expert-block .wple-expert-actions{width:400px}.wple-deact{margin:-20px 0px 0;border-radius:5px}.firewall-complete #wple-completed{padding:30px 40px}.firewall-complete a.wple-expert-hire{margin:5px 0 !important;padding:10px 20px !important}span.wple-pmode.notproerror{border-color:red;color:red;font-weight:600;text-transform:capitalize}.wple-http-manual-verify{padding-bottom:0px !important}ul.step3-download .le-dwnld .dashicons{float:right !important}ul.step3-download .le-dwnld .dashicons:before{font-size:24px !important}ul.step3-download .le-dwnld a{text-decoration:none;padding:0 !important}ul.step3-download .le-dwnld{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#fefefe;padding:10px 10px 10px 15px;border:1px solid #f1f1f1;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;border-radius:3px;font-weight:500;font-size:16px !important}span.copy-dwnld-icons{display:inline-block}ul.step3-download .le-dwnld .dashicons{font-size:24px !important;width:30px !important;cursor:pointer;color:#666 !important}ul.step3-download .le-dwnld .dashicons:hover{color:green !important}ul.step3-download{margin-bottom:20px}.crt-content textarea{width:100%;height:150px;background:none;border:1px solid #ddd;display:none}.copied-success{position:fixed;z-index:9999;top:50%;left:calc(50% - 80px);background:rgba(0,0,0,0.7);color:#fff;padding:15px 20px;border-radius:10px;display:none}.wple-no-certs{font-size:16px;background:#f5f5f5;padding:15px;border-left:5px solid #e81e1e}.wple-other-content{width:100%}.wple-other-plugins{display:none}div#wple-sslgen.wple-subpages{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wple-other-plugins img{max-width:100px;margin-right:20px}.wple-other-plugins div a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0 10px 0;background:#f5f5f5;padding:15px 20px;width:calc(100% - 40px);text-decoration:none}.wple-other-plugins div a:hover{background:#f1f1f1}.wple-other-plugins h3{text-transform:uppercase;font-size:14px}ul#wple-debug-errors{text-align:left;margin:20px 15px 0 15px}ul#wple-debug-errors li{line-height:1.5em;font-size:15px !important;color:#a20101 !important;margin-bottom:15px !important;background:rgba(255,0,0,0.08);padding:15px;border-radius:3px}label.disabled{color:#999}.wple-ssl-score,.wple-ssl-settings{background:#fff;-webkit-box-shadow:0px 0px 10px #ddd;box-shadow:0px 0px 10px #ddd;padding:30px;border-radius:5px;margin:10px}.wple-ssl-score h2,.wple-ssl-settings h2{margin-top:0;font-size:24px;text-transform:uppercase}div#wple-ssl-health{margin:40px 0px;display:-webkit-box;display:-ms-flexbox;display:flex;width:99%}.wple-ssl-score{width:calc(59% - 40px)}.wple-ssl-settings{width:calc(40% - 40px)}.wple-ssl-score h2:after,.wple-ssl-settings h2:after{content:'';display:block;background:#eee;width:50px;height:5px;margin-top:20px}.wple-score{font-size:60px;line-height:1.3em;font-weight:600}.wple-scorebar{width:100%;height:20px;background:#eee;margin:10px 0 30px;border-radius:5px;position:relative;-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}.wple-scorebar span{position:absolute;top:0;display:block;left:0;bottom:0;border-radius:5px}.wple-ssl-score ul li span:not(.dashicons){margin-right:20px;background:#f34343;padding:4px 8px;display:inline-block;width:25px;text-align:center;text-transform:capitalize;border-radius:5px;font-weight:500;color:#fff}.wple-ssl-score ul li span.dashicons{padding:4px;display:inline-block;width:25px}.wple-ssl-score ul li{margin-bottom:14px}.wple-ssl-score ul li span.wple-yes{background:#5dc55d;color:#fff}.wple-ssl-settings label{cursor:default}.wple-ssl-settings .plan-toggler{margin:0 !important}.wple-ssl-settings .plan-toggler label{cursor:pointer !important}.wple-ssl-settings ul li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:100% !important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.wple-ssl-settings .toggle-checkbox:checked+.toggle-switch{background:#5dc55d}.wple-ssl-settings ul li.wple-setting-error{background:#fda7a78c;padding:10px;text-align:center;margin:20px 0 20px -10px;color:#a71616;border-radius:5px;display:none}span.wple-share-success{margin:0 !important}span.wple-share-success a:hover{background:#ff8e00}span.wple-share-success a{width:28px;font-size:14px;text-decoration:none;line-height:28px;display:inline-block;text-align:center;background:#999;color:white;border-radius:50%;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-transition:all 0.5s ease;transition:all 0.5s ease}span.wple-share-success a:focus{outline:none;-webkit-box-shadow:none;box-shadow:none}span.wple-share-success a.tw:hover{background:#1da1f2}span.wple-share-success a.fb:hover{background:#1877f2}span.wple-share-success a.rd:hover{background:#ff4500}span.wple-share-success a.pt:hover{background:#e60023}table#wple-advanced-scanner th{background:#f5f5f591;padding:10px}table#wple-advanced-scanner .wple-scan-head{background:#444;padding:10px;color:#fff}table#wple-advanced-scanner tr td{border:1px solid #ddd !important;padding:10px}table#wple-advanced-scanner{border-collapse:collapse}table#wple-advanced-scanner .issue_type{text-align:center;text-transform:capitalize;font-weight:500}table#wple-advanced-scanner th{border:1px solid #ddd}table#wple-advanced-scanner small{font-size:12px;font-weight:500}table#wple-advanced-scanner small strong{font-weight:700}table#wple-advanced-scanner th{font-size:16px;font-weight:600}div#ourotherplugin{text-align:right;width:1500px;max-width:calc(100% - 60px);margin:0 auto}div#ourotherplugin img{max-height:25px;margin:0 5px 8px}div#ourotherplugin a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;text-decoration:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:700;color:#666}div#ourotherplugin a:hover{color:#0073aa}.mxnossl{text-align:center;margin:20px auto;color:#e52525;font-size:16px;line-height:1.5em;max-width:600px}.progress--circle{position:relative;display:inline-block;margin:1rem;width:300px;height:300px;border-radius:50%;background-color:#ddd}.progress--circle:before{content:'';position:absolute;top:10px;left:10px;width:280px;height:280px;border-radius:50%;background-color:white}.progress--circle:after{content:'';display:inline-block;width:100%;height:100%;border-radius:50%;background-color:#05b267}.progress__number{position:absolute;top:50%;width:100%;line-height:1;text-align:center;color:#777;font-size:2rem;margin-top:-1.75rem}.progress__number small{font-size:1.25rem}.progress--circle.progress--0:after{background-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #ddd), color-stop(50%, transparent), to(transparent)),-webkit-gradient(linear, left top, right top, color-stop(50%, #ea0707), color-stop(50%, #ddd), to(#ddd));background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(90deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--1:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(94deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--2:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(98deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--3:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(102deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--4:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(106deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--5:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(110deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--6:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(114deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--7:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(118deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--8:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(122deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--9:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(126deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--10:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(130deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--11:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(134deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--12:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(138deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--13:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(142deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--14:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(146deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--15:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(150deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--16:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(154deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--17:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(158deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--18:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(162deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--19:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(166deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--20:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(170deg, #ea0707 50%, #ddd 50%, #ddd);background-color:#ea0707}.progress--circle.progress--21:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(174deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--22:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(178deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--23:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(182deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--24:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(186deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--25:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(190deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--26:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(194deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--27:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(198deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--28:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(202deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--29:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(206deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--30:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(210deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--31:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(214deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--32:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(218deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--33:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(222deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--34:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(226deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--35:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(230deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--36:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(234deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--37:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(238deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--38:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(242deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--39:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(246deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--40:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(250deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--41:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(254deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--42:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(258deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--43:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(262deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--44:after{background-image:linear-gradient(90deg, #ddd 50%, transparent 50%, transparent),linear-gradient(266deg, orange 50%, #ddd 50%, #ddd);background-color:orange}.progress--circle.progress--45:after{background-image:-webkit-gradient(linear, right top, left top, color-stop(50%, #05b267), color-stop(50%, transparent), to(transparent)),-webkit-gradient(linear, right top, left top, color-stop(50%, #05b267), color-stop(50%, #ddd), to(#ddd));background-image:linear-gradient(-90deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--46:after{background-image:linear-gradient(-86deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--47:after{background-image:linear-gradient(-82deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--48:after{background-image:linear-gradient(-78deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--49:after{background-image:linear-gradient(-74deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--50:after{background-image:linear-gradient(-70deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--51:after{background-image:linear-gradient(-66deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--52:after{background-image:linear-gradient(-62deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--53:after{background-image:linear-gradient(-58deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--54:after{background-image:linear-gradient(-54deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--55:after{background-image:linear-gradient(-50deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--56:after{background-image:linear-gradient(-46deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--57:after{background-image:linear-gradient(-42deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--58:after{background-image:linear-gradient(-38deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--59:after{background-image:linear-gradient(-34deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--60:after{background-image:linear-gradient(-30deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--61:after{background-image:linear-gradient(-26deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--62:after{background-image:linear-gradient(-22deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--63:after{background-image:linear-gradient(-18deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--64:after{background-image:linear-gradient(-14deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--65:after{background-image:linear-gradient(-10deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--66:after{background-image:linear-gradient(-6deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--67:after{background-image:linear-gradient(-2deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--68:after{background-image:linear-gradient(2deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--69:after{background-image:linear-gradient(6deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--70:after{background-image:linear-gradient(10deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--71:after{background-image:linear-gradient(14deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--72:after{background-image:linear-gradient(18deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--73:after{background-image:linear-gradient(22deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--74:after{background-image:linear-gradient(26deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--75:after{background-image:linear-gradient(30deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--76:after{background-image:linear-gradient(34deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--77:after{background-image:linear-gradient(38deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--78:after{background-image:linear-gradient(42deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--79:after{background-image:linear-gradient(46deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--80:after{background-image:linear-gradient(50deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--81:after{background-image:linear-gradient(54deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--82:after{background-image:linear-gradient(58deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--83:after{background-image:linear-gradient(62deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--84:after{background-image:linear-gradient(66deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--85:after{background-image:linear-gradient(70deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--86:after{background-image:linear-gradient(74deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--87:after{background-image:linear-gradient(78deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--88:after{background-image:linear-gradient(82deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--89:after{background-image:linear-gradient(86deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}.progress--circle.progress--90:after{background-image:-webkit-gradient(linear, left top, right top, color-stop(50%, #05b267), color-stop(50%, transparent), to(transparent)),-webkit-gradient(linear, right top, left top, color-stop(50%, #05b267), color-stop(50%, #ddd), to(#ddd));background-image:linear-gradient(90deg, #05b267 50%, transparent 50%, transparent),linear-gradient(270deg, #05b267 50%, #ddd 50%, #ddd)}@-webkit-keyframes scanner{0%{top:0}100%{top:99%}}@keyframes scanner{0%{top:0}100%{top:99%}}@-webkit-keyframes infirotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes infirotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@media (max-width: 1200px){ul.wple-progress{width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap}ul.wple-progress li{font-size:14px;font-weight:400}.wple-success-flex{-ms-flex-wrap:wrap;flex-wrap:wrap}.wple-success-flex-final{padding:15px 20px 0 20px;margin-left:0}.wple-success-flex-video{margin-bottom:20px}.wple-success-cols{-ms-flex-wrap:wrap;flex-wrap:wrap}.wple-success-cols div{width:44%;margin:10px 0}}@media (max-width: 1024px){.wple-plan-compare{-ms-flex-wrap:wrap;flex-wrap:wrap}.wple-compare-item{width:23%}.wple-upgrade-pro{-ms-flex-wrap:wrap;flex-wrap:wrap}}@media (max-width: 991px){#le-tabbed-sections{width:100%}div#le-tabs-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.le-other-plugins{padding:20px 0}div#wple-ssl-health{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div#wple-ssl-health>div{width:88%}}@media (max-width: 767px){.toplevel_page_wp_encryption #wpcontent{background-size:auto}.wple-compare-item{width:34%;margin:10px 8%}div#wple-upgradepro{min-height:auto}.wple-other-plugins{display:none}.wple-other-content{width:100%}}h4.pricing-intro-subhead .dashicons{height:25px}div#quick-pricing-table{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;margin:100px 20px 60px 20px}div#quick-pricing-table .wplepricingcol{width:330px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.pro-pricing-col.wplepricingcol{border:1px solid #ddd;-webkit-transform:scale(1.1);transform:scale(1.1);border-radius:5px;background:#fff}.wplepricingcol ul li{list-style:none;font-size:18px;line-height:20px;min-height:20px;padding:22px 10px;border-bottom:1px solid #ddd;margin:0}.free-pricing-col.wplepricingcol{margin-right:1%;border:1px solid #ddd;border-radius:5px 0 0}.quick-pricing-head h3{font-size:32px;margin:0;font-weight:300;min-height:50px}.quick-pricing-head large{font-size:40px}.quick-pricing-head{padding:40px 0px;background:#fafafa;min-height:80px;width:100%}div#quick-pricing-table ul{margin:0}div#quick-pricing-table .pricing-btn-block{height:40px;margin-top:30px;margin-bottom:10px}div#quick-pricing-table .pricing-btn-block a{background:#222;text-decoration:none;color:#fff;text-transform:uppercase;font-size:15px;padding:5px 18px 7px;border-radius:5px}.wplepricingcol ul li:last-child{border:none}.pro-pricing-col li{font-size:16px !important}.pro-pricing-col li a{color:#097fb7;text-decoration:none;border-bottom:1px dotted #0073aa}.wplepricingcol ul li{text-transform:capitalize}.pro-pricing-col li a:focus{outline:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}div#quick-pricing-table .pricing-btn-block a:hover{background:#333 !important}.pro-pricing-col.wplepricingcol .pricing-btn-block a{background:#1093d1 !important}.quick-price-row small{font-size:18px}.quick-price-row sup{font-size:20px;font-weight:500}h4.pricing-intro-subhead{font-size:18px;font-weight:400;margin-top:10px;text-align:center;color:#666;line-height:1.4em}h2.pricing-intro-head{margin-bottom:0px !important}.non-cpanel-plans .pro-pricing-col ul li{padding:17px 10px}.free-pricing-col{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.quick-pricing-head{border-radius:5px 5px 0 0}.quick-pricing-head.pro{min-height:100px}.wplepricingcol.firewallplan .quick-pricing-head{min-height:100px}.inro-pricing-refund{clear:both;display:block;text-align:right}.quick-pricing-head{position:relative;overflow:hidden}span.wple-trending{position:absolute;top:16px;right:-40px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:#0990d1;color:#fff;padding:5px 45px;-webkit-box-shadow:0px 0px 5px #8c9497;box-shadow:0px 0px 5px #8c9497}.subdir-http-challenge.manualchallenge{position:relative}.wple-no-http{position:absolute;background:rgba(255,255,255,0.9);top:0;left:0;bottom:0;right:0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:30px;text-align:center;border-radius:10px;font-weight:500;font-size:21px;color:#777;line-height:1.5em}.wple-error-firewall.fire-pro .wple-upgrade-features span{width:23%}.wple-upgrade-features span strong{color:#555}.wple-upgrade-features span a:hover{background:none}.wple-upgrade-features span a{text-decoration:none;border-bottom:1px dotted}.wple-error-firewall.fire-pro .wple-upgrade-features{margin-top:-10px;margin-bottom:-10px;margin-right:0}.toggle{cursor:pointer;display:inline-block}.toggle-switch{display:inline-block;background:#ccc;border-radius:16px;width:58px;height:32px;position:relative;vertical-align:middle;-webkit-transition:background 0.25s;transition:background 0.25s}.toggle-switch:before,.toggle-switch:after{content:""}.toggle-switch:before{display:block;background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));background:linear-gradient(to bottom, #fff 0%, #eee 100%);border-radius:50%;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.25);box-shadow:0 0 0 1px rgba(0,0,0,0.25);width:24px;height:24px;position:absolute;top:4px;left:4px;-webkit-transition:left 0.25s;transition:left 0.25s}.toggle:hover .toggle-switch:before{background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));background:linear-gradient(to bottom, #fff 0%, #fff 100%);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,0.5);box-shadow:0 0 0 1px rgba(0,0,0,0.5)}.toggle-checkbox:checked+.toggle-switch{background:#0073aa}.toggle-checkbox:checked+.toggle-switch:before{left:30px}.toggle-checkbox{position:absolute;visibility:hidden}.toggle-label{margin-left:5px;position:relative;top:2px;font-size:17px;color:#666}.plan-toggler{text-align:center;margin:0 0 20px -40px}.plan-toggler>span{margin-right:10px;font-size:18px;color:#666}.wildcard-genform{display:none}.wple-wc{display:none}.wple-wc.active{display:block}.wple-restart-notice{margin:0 60px;font-size:18px;line-height:1.5em;background:#fffbc7;padding:20px;border-radius:7px;color:#555}.wple-restart-notice a{text-decoration:none}
2
  /*# sourceMappingURL=le-admin.min.css.map */
admin/css/le-admin.min.css.map CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "version": 3,
3
- "mappings": "AAAA,AAAA,WAAW,CAAC,MAAM,AAAC,CACjB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,OAAO,CACf,kBAAkB,CAAE,gBAAgB,CACpC,UAAU,CAAE,gBAAgB,CAC5B,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,cAAc,CAAE,KAAK,CAKtB,AAjBD,AAcE,WAdS,CAAC,MAAM,AAcf,MAAM,AAAC,CACN,UAAU,CAAE,OAAO,CACpB,AAGH,AAAA,GAAG,AAAA,QAAQ,AAAC,CACV,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,CAAC,AAAA,SAAS,AAAC,CACT,KAAK,CAAE,KAAK,CACb,AAED,AAAA,SAAS,AAAC,CACR,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,CAAC,CACV,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,QAAQ,CAAC,EAAE,AAAC,CACV,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,CAAC,CACd,AAED,AAAA,YAAY,AAAC,CACX,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,cAAc,CACtB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,GAAG,CAClB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,IAAI,AAAA,WAAW,AAAC,CACd,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,IAAI,AAAA,WAAW,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,EACtB,WAAW,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,EAClB,WAAW,CAAC,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CAAiB,CACjC,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,IAAI,CACnB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,cAAc,CACvB,AAED,AAAA,WAAW,AAAC,CACV,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,CAAC,AAAA,aAAa,AAAC,CACb,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,OAAO,CAChB,eAAe,CAAE,IAAI,CACtB,AAED,AAAA,CAAC,AAAA,cAAc,AAAC,CACd,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,CAAC,AAAA,SAAS,CAAC,GAAG,AAAC,CACb,SAAS,CAAE,KAAK,CACjB,AAED,AAAA,IAAI,AAAA,QAAQ,AAAC,CACX,OAAO,CAAE,WAAW,CACpB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACxB,AAED,AAAA,WAAW,CAAC,CAAC,AAAC,CACZ,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,YAAY,CAAC,MAAM,AAAC,CAClB,KAAK,CAAE,GAAG,CACX,AAED,AAAA,WAAW,AAAC,CACV,OAAO,CAAE,aAAa,CACtB,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,WAAW,CAAC,CAAC,CACb,WAAW,CAAC,KAAK,AAAC,CAChB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,WAAW,CAAC,MAAM,AAAC,CACjB,MAAM,CAAE,QAAQ,CAChB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,OAAO,CACf,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,KAAK,CACf,AAOD,AAAA,UAAU,AAAC,CACT,UAAU,CAAE,oBAAuB,CACnC,MAAM,CAAE,kBAAkB,CAC1B,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,cAAc,CACvB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,UAAU,CAAC,CAAC,AAAC,CACX,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,QAAQ,CACjB,AAED,AAAA,UAAU,CAAC,CAAC,CACZ,OAAO,CAAC,CAAC,AAAC,CACR,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,SAAS,CAClB,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,YAAY,CACtB,AAED,AAAA,OAAO,CAAC,CAAC,AAAC,CACR,MAAM,CAAE,oBAAoB,CAC5B,OAAO,CAAE,SAAS,CACnB,AAED,AAAA,UAAU,CAAC,CAAC,AAAA,MAAM,AAAC,CACjB,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,CAAC,AAAA,SAAS,AAAC,CACT,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,WAAW,CAAC,IAAI,AAAC,CACf,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,KAAK,CACd,AAED,AAAA,WAAW,CAAC,CAAC,AAAC,CACZ,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,WAAW,CAAC,CAAC,AAAC,CACZ,WAAW,CAAE,GAAG,CAChB,eAAe,CAAE,IAAI,CACtB,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,CAAC,AAAC,CACjB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,GAAG,CACpB,AAED,AAAA,YAAY,AAAA,QAAQ,AAAC,CACnB,QAAQ,CAAE,QAAQ,CAClB,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,YAAY,AAAA,QAAQ,CAAC,EAAE,AAAC,CACtB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACN,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,GAAG,CACZ,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,YAAY,AAAA,QAAQ,CAAC,EAAE,CAAC,CAAC,AAAC,CACxB,KAAK,CAAE,IAAI,CACZ,AAMD,AAAA,WAAW,AAAC,CACV,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,cAAc,CACtB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,CAAC,CACjB,AAED,AAAA,iBAAiB,AAAC,CAChB,OAAO,CAAE,SAAS,CAClB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,YAAY,CAC3B,MAAM,CAAE,SAAS,CACjB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,OAAO,CAChB,AAED,AAAA,iBAAiB,AAAA,OAAO,CACxB,iBAAiB,AAAA,MAAM,AAAC,CACtB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,WAAW,AAAA,OAAO,AAAC,CACjB,OAAO,CAAE,KAAK,CACf,AAED,AAAA,WAAW,AAAA,eAAe,CAAC,EAAE,AAAC,CAC5B,MAAM,CAAE,CAAC,CACV,AAED,AAAA,WAAW,CAAC,EAAE,AAAC,CACb,UAAU,CAAE,CAAC,CACb,WAAW,CAAE,KAAK,CACnB,AAED,AAAA,iBAAiB,CAAA,AAAA,YAAC,CAAD,QAAC,AAAA,CAAuB,CACvC,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACZ,AAKD,AAAA,aAAa,AAAC,CACZ,KAAK,CAAE,eAAe,CACtB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,OAAO,CACf,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,aAAa,AAAA,MAAM,AAAC,CAClB,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,YAAY,AAAA,QAAQ,CAAC,EAAE,AAAC,CACtB,MAAM,CAAE,eAAe,CACvB,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,KAAK,CAClB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,WAAW,CAAC,EAAE,AAAC,CACb,OAAO,CAAE,eAAe,CACzB,AAKD,AAAA,CAAC,AAAA,YAAY,AAAC,CACZ,UAAU,CAAE,eAAe,CAC3B,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,GAAG,CACZ,cAAc,CAAE,SAAS,CACzB,aAAa,CAAE,kBAAkB,CACjC,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,kBAAkB,CAC/B,AAED,AAAA,CAAC,AAAA,YAAY,CAAC,IAAI,AAAC,CACjB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,QAAQ,CAAC,WAAW,AAAC,CACnB,SAAS,CAAE,IAAI,CAGf,OAAO,CAAE,GAAG,CACZ,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,kBAAkB,CAC3B,AAED,AAAA,QAAQ,CAAC,CAAC,AAAC,CACT,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,QAAQ,CAAC,CAAC,AAAC,CACT,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,kBAAkB,AAAC,CACjB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,MAAM,CACd,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,kBAAkB,CAC/B,AAED,AAAA,kBAAkB,CAAC,EAAE,AAAC,CACpB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,kBAAkB,CAAC,MAAM,AAAC,CACxB,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,OAAO,CAChB,AAED,AAAA,kBAAkB,CAAC,MAAM,AAAA,MAAM,AAAC,CAC9B,UAAU,CAAE,SAAS,CACtB,AAED,AAAA,oBAAoB,AAAC,CACnB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,SAAS,CACjB,aAAa,CAAE,IAAI,CACnB,MAAM,CAAE,kBAAkB,CAC3B,AAED,AAAA,oBAAoB,CAAC,EAAE,AAAC,CACtB,KAAK,CAAE,OAAO,CACd,MAAM,CAAE,CAAC,CACT,SAAS,CAAE,eAAe,CAC1B,WAAW,CAAE,GAAG,CACjB,AAOD,AAAA,4BAA4B,CAAC,UAAU,CACvC,6BAA6B,CAAC,UAAU,CACxC,sCAAsC,CAAC,UAAU,CACjD,yCAAyC,CAAC,UAAU,CACpD,6BAA6B,CAAC,UAAU,EACxC,AAAA,KAAC,EAAO,oBAAoB,AAA3B,EAA6B,UAAU,AAAC,CACvC,UAAU,CAAE,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAC7D,eAAe,CAAE,SAAS,CAC1B,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,YAAY,AAAC,CACX,MAAM,CAAE,gBAAgB,CACxB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,CAC/B,AAED,AAAA,gBAAgB,CAChB,kBAAkB,CAClB,YAAY,AAAC,CACX,KAAK,CAAE,MAAM,CACb,SAAS,CAAE,iBAAiB,CAC5B,MAAM,CAAE,WAAW,CACnB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,iBAAiB,CAC9B,AAED,AAAA,kBAAkB,AAAC,CACjB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,kBAAkB,AAAC,CACjB,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,WAAW,CAAC,IAAI,AAAC,CACf,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,SAAS,CACjB,cAAc,CAAE,GAAG,CACnB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,WAAW,CAAC,IAAI,AAAC,CACf,KAAK,CAAE,OAAO,CACf,AAED,AAAA,YAAY,CAAC,aAAa,AAAC,CACzB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,MAAM,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,YAAY,CAAC,GAAG,AAAC,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,kBAAkB,CAAC,EAAE,AAAC,CACpB,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,IAAI,CACnB,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,kBAAkB,CAAC,IAAI,AAAC,CACtB,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,GAAG,CACZ,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,GAAG,CACpB,AAED,AAAA,kBAAkB,CAAC,UAAU,AAAC,CAC5B,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,kBAAkB,CAAC,GAAG,AAAC,CACrB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,KAAK,CACb,AAED,AAAA,iBAAiB,CAAC,CAAC,AAAC,CAClB,UAAU,CAAE,OAAO,CACnB,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,SAAS,CAClB,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,SAAS,CACzB,aAAa,CAAE,GAAG,CAGlB,MAAM,CAAE,OAAO,CACf,cAAc,CAAE,GAAG,CACnB,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,iBAAiB,CAAC,CAAC,AAAA,IAAK,CAAA,YAAY,EAAE,UAAU,AAAC,CAC/C,KAAK,CAAE,eAAe,CACtB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,iBAAiB,CAAC,YAAY,AAAC,CAC7B,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,OAAO,CACd,aAAa,CAAE,CAAC,CAChB,OAAO,CAAE,OAAO,CAChB,MAAM,CAAE,MAAM,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,IAAI,CACnB,AAED,AAAA,iBAAiB,AAAC,CAChB,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CACpB,AAED,AAAA,yCAAyC,CAAC,UAAU,AAAC,CACnD,UAAU,CAAE,eAAe,CAC5B,AAED,AAAA,kBAAkB,AAAC,CACjB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,eAAe,CAC3B,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,kBAAkB,CAAC,kBAAkB,AAAC,CACpC,MAAM,CAAE,CAAC,CACV,AAED,AAAA,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,AAAC,CACvC,UAAU,CAAE,CAAC,CACb,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,AAAC,CACvC,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,AAAC,CAC3C,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,eAAe,CACvB,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,AAAA,IAAK,CAAA,cAAc,EAAE,EAAE,AAAC,CAC9D,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,KAAK,CACb,AAED,AAAA,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,AAAA,UAAU,AAAC,CACnD,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,GAAG,AAAA,YAAY,CACf,QAAQ,AAAC,CACP,UAAU,CAAE,iBAAiB,CAC9B,AAED,AAAA,GAAG,AAAA,YAAY,CAAC,EAAE,AAAC,CACjB,MAAM,CAAE,WAAW,CACnB,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,SAAS,CACzB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,KAAK,CACnB,AAED,AAAA,GAAG,AAAA,YAAY,AAAC,CACd,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,IAAI,AAAA,UAAU,AAAA,sBAAsB,AAAA,aAAa,AAAC,CAChD,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACvB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACb,AAED,AAAA,gBAAgB,AAAC,CACf,UAAU,CAAE,KAAK,CACjB,UAAU,CAAE,KAAK,CACjB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,KAAK,CACZ,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,OAAO,CAChB,AAED,AAAA,gBAAgB,CAAC,OAAO,AAAC,CACvB,SAAS,CAAE,cAAc,CAC1B,AAGD,AAAA,eAAe,AAAC,CACd,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,OAAO,CACf,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,YAAY,CAAE,IAAI,CAClB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,eAAe,CAAC,KAAK,AAAC,CACpB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,OAAO,CAChB,AAED,AAAA,eAAe,CAAC,gBAAgB,AAAC,CAC/B,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,gBAAgB,CAAE,IAAI,CACtB,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,iBAAiB,CAC7B,kBAAkB,CAAE,iBAAiB,CACrC,eAAe,CAAE,iBAAiB,CAClC,cAAc,CAAE,iBAAiB,CACjC,aAAa,CAAE,iBAAiB,CAChC,MAAM,CAAE,iBAAiB,CAC1B,AAGD,AAAA,eAAe,CAAC,KAAK,AAAA,QAAQ,GAAC,gBAAgB,AAAC,CAC7C,gBAAgB,CAAE,OAAO,CACzB,aAAa,CAAE,GAAG,CAClB,iBAAiB,CAAE,YAAY,CAAC,QAAQ,CACxC,aAAa,CAAE,YAAY,CAAC,QAAQ,CACpC,SAAS,CAAE,YAAY,CAAC,QAAQ,CAChC,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,iBAAiB,CAC1B,AAGD,AAAA,eAAe,CAAC,gBAAgB,AAAA,OAAO,AAAC,CACtC,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,EAAE,CACX,IAAI,CAAE,IAAI,CACV,GAAG,CAAE,IAAI,CACT,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,GAAG,CACV,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,aAAa,CACrB,YAAY,CAAE,WAAW,CACzB,iBAAiB,CAAE,YAAY,CAAC,QAAQ,CACxC,aAAa,CAAE,YAAY,CAAC,QAAQ,CACpC,SAAS,CAAE,YAAY,CAAC,QAAQ,CAChC,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,iBAAiB,CAC7B,kBAAkB,CAAE,iBAAiB,CACrC,eAAe,CAAE,iBAAiB,CAClC,cAAc,CAAE,iBAAiB,CACjC,aAAa,CAAE,iBAAiB,CACjC,AAGD,AAAA,eAAe,CAAC,KAAK,AAAA,QAAQ,GAAC,gBAAgB,AAAA,OAAO,AAAC,CACpD,iBAAiB,CAAE,aAAa,CAAC,QAAQ,CACzC,aAAa,CAAE,aAAa,CAAC,QAAQ,CACrC,SAAS,CAAE,aAAa,CAAC,QAAQ,CACjC,OAAO,CAAE,CAAC,CACV,IAAI,CAAE,GAAG,CACT,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,aAAa,CACrB,YAAY,CAAE,WAAW,CACzB,gBAAgB,CAAE,WAAW,CAC7B,aAAa,CAAE,CAAC,CACjB,AAED,AAAA,IAAI,AAAA,QAAQ,CAAC,KAAK,AAAC,CACjB,MAAM,CAAE,QAAQ,CACjB,AAED,AAAA,IAAI,AAAA,QAAQ,CAAC,CAAC,CACd,IAAI,AAAA,QAAQ,CAAC,CAAC,AAAC,CACb,MAAM,CAAE,KAAK,CACd,AAED,AAAA,kBAAkB,AAAA,MAAM,AAAC,CACvB,UAAU,CAAE,eAAe,CAC3B,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,IAAI,CACf,YAAY,CAAE,iBAAiB,CAC/B,WAAW,CAAE,iBAAiB,CAC/B,AAID,AAAA,YAAY,CAAC,CAAC,AAAC,CACb,SAAS,CAAE,KAAK,CAChB,MAAM,CAAE,WAAW,CACnB,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,YAAY,CAAC,KAAK,AAAC,CACjB,YAAY,CAAE,IAAI,CAClB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,YAAY,AAAC,CACX,UAAU,CAAE,MAAM,CACnB,AASD,AAAA,iBAAiB,AAAC,CAChB,OAAO,CAAE,QAAQ,CACjB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,iBAAiB,CAAC,CAAC,AAAC,CAClB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,iBAAiB,CAAC,GAAG,AAAC,CACpB,SAAS,CAAE,IAAI,CAChB,AAGD,AAAA,EAAE,AAAA,cAAc,AAAC,CACf,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,SAAS,CACjB,eAAe,CAAE,aAAa,CAC9B,KAAK,CAAE,GAAG,CACV,QAAQ,CAAE,QAAQ,CACnB,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,EAAE,AAAC,CAClB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,SAAS,CAClB,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,QAAQ,CACnB,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,EAAE,AAAA,OAAO,AAAC,CACzB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,EAAE,AAAA,OAAO,AAAC,CACzB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,EAAE,AAAA,cAAc,AAAA,OAAO,AAAC,CACtB,OAAO,CAAE,EAAE,CACX,MAAM,CAAE,GAAG,CACX,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,IAAI,CAChB,GAAG,CAAE,GAAG,CACT,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,EAAE,CAAC,IAAI,AAAC,CACvB,MAAM,CAAE,SAAS,CACjB,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,GAAG,CACZ,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,eAAe,AAAC,CACd,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,IAAI,CACnB,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,KAAK,AAAA,kBAAkB,AAAC,CACtB,cAAc,CAAE,SAAS,CACzB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,OAAO,CACnB,cAAc,CAAE,GAAG,CACpB,AAED,AAAA,gBAAgB,AAAC,CACf,OAAO,CAAE,WAAW,CACpB,OAAO,CAAE,WAAW,CACpB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,gBAAgB,CAAC,CAAC,AAAC,CACjB,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,CAAC,CACb,OAAO,CAAE,KAAK,CACf,AAED,AAAA,gBAAgB,CAAC,MAAM,AAAC,CACtB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,SAAS,CACjB,OAAO,CAAE,KAAK,CACf,AAED,AAAA,gBAAgB,CAAC,GAAG,AAAC,CACnB,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,gBAAgB,CAAC,GAAG,AAAC,CACnB,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,YAAY,CAAE,IAAI,CAClB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACpB,AAED,AAAA,kBAAkB,AAAC,CACjB,OAAO,CAAE,cAAc,CACxB,AAED,AAAA,CAAC,AAAA,WAAW,AAAC,CACX,UAAU,CAAE,IAAI,CAChB,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,QAAQ,CACjB,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACpB,AAED,AAAA,CAAC,AAAA,iBAAiB,AAAA,WAAW,AAAC,CAC5B,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACZ,AAID,AAAA,CAAC,AAAA,kBAAkB,AAAC,CAClB,UAAU,CAAE,OAAO,CACnB,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,SAAS,CAClB,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,IAAI,AAAA,iBAAiB,CAAC,MAAM,AAAC,CAC3B,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,SAAS,CAClB,MAAM,CAAE,OAAO,CAChB,AAED,AAAA,aAAa,CAAC,UAAU,AAAC,CACvB,SAAS,CAAE,sCAAsC,CACjD,gBAAgB,CAAE,MAAM,CACxB,YAAY,CAAE,GAAG,CAClB,AAED,AAAA,IAAI,AAAA,iBAAiB,CAAC,MAAM,AAAA,SAAS,AAAC,CACpC,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,aAAa,AAAC,CACZ,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,IAAI,CACd,AAED,AAAA,aAAa,AAAA,OAAO,AAAC,CACnB,OAAO,CAAE,KAAK,CACf,AAED,AAAA,YAAY,AAAC,CACX,MAAM,CAAE,MAAM,CACd,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,SAAS,CACvB,AAED,AAAA,kBAAkB,AAAC,CACjB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,MAAM,CACf,AAED,AAAA,kBAAkB,CAAC,GAAG,AAAC,CACrB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,YAAY,CAAE,cAAc,CAC5B,KAAK,CAAE,GAAG,CACX,AAED,AAAA,kBAAkB,CAAC,EAAE,AAAC,CACpB,aAAa,CAAE,eAAe,CAC9B,QAAQ,CAAE,QAAQ,CAClB,cAAc,CAAE,IAAI,CACpB,KAAK,CAAE,kBAAkB,CAC1B,AAED,AAAA,kBAAkB,CAAC,GAAG,AAAA,WAAW,AAAC,CAChC,MAAM,CAAE,IAAI,CACb,AAED,AAAA,kBAAkB,CAAC,CAAC,AAAC,CACnB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACf,AAED,AAAA,kBAAkB,CAAC,EAAE,AAAA,OAAO,AAAC,CAC3B,OAAO,CAAE,EAAE,CACX,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CAChB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,CAAC,CACV,AAED,AAAA,gBAAgB,AAAA,qBAAqB,AAAC,CACpC,KAAK,CAAE,OAAO,CACf,AAED,AAAA,gBAAgB,AAAA,qBAAqB,CAAC,CAAC,CAAC,MAAM,AAAC,CAC7C,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,CAAC,CACV,AAGD,AAAA,wBAAwB,AAAC,CACvB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,gBAAgB,AAAC,CACf,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,OAAO,CACf,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,IAAI,CACnB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,gBAAgB,CAAC,EAAE,AAAC,CAClB,MAAM,CAAE,6BAA6B,CACrC,SAAS,CAAE,eAAe,CAC1B,OAAO,CAAE,QAAQ,CACjB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,eAAe,CACtB,aAAa,CAAE,WAAW,CAC3B,AAED,AAAA,sBAAsB,AAAA,gBAAgB,CAAC,CAAC,AAAA,IAAK,CAAA,UAAU,CAAE,CACvD,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,KAAK,CACZ,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,GAAG,CACZ,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,wBAAwB,CAAC,CAAC,AAAC,CACzB,OAAO,CAAE,oBAAoB,CAC7B,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,sBAAsB,AAAA,gBAAgB,CAAC,IAAI,AAAA,IAAK,CAAA,oBAAoB,CAAE,CACpE,SAAS,CAAE,eAAe,CAC1B,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,WAAW,CACpB,AAED,AAAA,YAAY,AAAC,CACX,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,QAAQ,CACjB,aAAa,CAAE,IAAI,CACnB,WAAW,CAAE,KAAK,CACnB,AAED,AAAA,gBAAgB,CAAC,MAAM,AAAC,CACtB,MAAM,CAAE,eAAe,CACvB,OAAO,CAAE,mBAAmB,CAC5B,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,kBAAkB,CAC9B,KAAK,CAAE,eAAe,CACtB,WAAW,CAAE,iBAAiB,CAC9B,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,iBAAiB,CAC1B,AAED,AAAA,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAC5B,sBAAsB,AAAA,gBAAgB,CAAC,MAAM,CAAC,IAAI,AAAC,CACjD,KAAK,CAAE,eAAe,CACtB,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,gBAAgB,CACxB,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,eAAe,CACxB,AAED,AAAA,gBAAgB,CAAC,MAAM,AAAA,SAAS,AAAC,CAC/B,UAAU,CAAE,eAAe,CAC5B,AAED,AAAA,gBAAgB,CAAC,MAAM,CAAC,IAAI,AAAC,CAC3B,gBAAgB,CAAE,iBAAiB,CACpC,AAED,AAAA,cAAc,AAAC,CACb,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,IAAI,CACd,AAED,AAAA,cAAc,AAAA,OAAO,AAAC,CACpB,OAAO,CAAE,KAAK,CACf,AAGD,AAAA,kBAAkB,AAAC,CACjB,QAAQ,CAAE,KAAK,CACf,OAAO,CAAE,IAAI,CACb,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,MAAM,CAAE,CAAC,CACT,UAAU,CAAE,kBAAqB,CAClC,AAED,AAAA,UAAU,AAAC,CACT,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACb,AAED,AAAA,GAAG,AAAA,kBAAkB,CAAC,WAAW,AAAC,CAChC,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,iBAAiB,CAC7B,cAAc,CAAE,SAAS,CAC1B,AAED,AAAA,UAAU,CAAC,GAAG,AAAC,CACb,WAAW,CAAE,KAAK,CAClB,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,sCAAsC,CAClD,AAMD,AAAA,GAAG,AAAA,eAAe,AAAC,CACjB,MAAM,CAAE,SAAS,CACjB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,EAAE,AAAC,CACpB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,MAAM,CACd,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,EAAE,CAAC,IAAI,AAAC,CACzB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,gBAAgB,AAAC,CAClC,KAAK,CAAE,OAAO,CACf,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,gBAAgB,AAAC,CAClC,KAAK,CAAE,OAAO,CACf,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,gBAAgB,AAAC,CAClC,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,GAAG,AAAA,aAAa,CAChB,kBAAkB,CAClB,cAAc,AAAC,CACb,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,GAAG,AAAA,aAAa,CAAC,CAAC,CAClB,kBAAkB,CAAC,CAAC,AAAC,CACnB,UAAU,CAAE,CAAC,CACb,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,GAAG,AAAA,kBAAkB,CAAC,UAAU,AAAC,CAC/B,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,yBAAyB,CACjC,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,GAAG,AAAA,kBAAkB,AAAC,CACpB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,GAAG,AAAA,aAAa,CAAC,EAAE,CAAC,EAAE,AAAC,CACrB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,KAAK,CACf,AAED,AAAA,GAAG,AAAA,aAAa,CAAC,EAAE,AAAC,CAClB,MAAM,CAAE,gBAAgB,CACzB,AAED,AAAA,GAAG,AAAA,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,AAAC,CAC1B,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,GAAG,AAAA,aAAa,CAAC,CAAC,AAAC,CACjB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,MAAM,CACzB,aAAa,AAAC,CACZ,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,QAAQ,CACjB,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,SAAS,CACzB,MAAM,CAAE,OAAO,CACf,cAAc,CAAE,KAAK,CACrB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,CAAC,AAAA,cAAc,AAAC,CACd,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,IAAI,CACZ,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,MAAM,AAAA,eAAe,AAAC,CACpB,SAAS,CAAE,eAAe,CAC1B,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,mBAAmB,CAC7B,AAED,AAAA,aAAa,AAAA,MAAM,AAAC,CAClB,UAAU,CAAE,kBAAkB,CAC/B,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,MAAM,AAAA,SAAS,CAClC,aAAa,AAAA,SAAS,AAAC,CACrB,UAAU,CAAE,eAAe,CAC3B,MAAM,CAAE,WAAW,CACpB,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,MAAM,CAAC,gBAAgB,AAAC,CACzC,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,MAAM,CAAC,IAAI,AAAC,CAC7B,OAAO,CAAE,IAAI,CACd,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,MAAM,CAAC,IAAI,AAAA,OAAO,AAAC,CACpC,OAAO,CAAE,YAAY,CACtB,AAED,AAAA,GAAG,AAAA,eAAe,CAAC,MAAM,AAAA,MAAM,AAAC,CAC9B,OAAO,CAAE,IAAI,CACd,AAED,AAAA,eAAe,AAAC,CACd,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,IAAI,CACd,AAED,AAAA,aAAa,CAAC,EAAE,AAAC,CACf,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,CAAC,CACb,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,eAAe,CAC/B,AAED,AAAA,aAAa,CAAC,EAAE,AAAC,CACf,aAAa,CAAE,eAAe,CAC/B,AAED,AAAA,GAAG,AAAA,iBAAiB,AAAC,CACnB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,sBAAyB,CACrC,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,MAAM,CACd,KAAK,CAAE,OAAO,CACd,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,iBAAiB,CACzB,aAAa,CAAE,IAAI,CACnB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,WAAW,AAAC,CACV,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,WAAW,CAAC,IAAI,AAAC,CACf,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACf,AAED,AAAA,kBAAkB,AAAC,CACjB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,GAAG,AAAA,sBAAsB,AAAC,CACxB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,kBAAkB,CAAC,MAAM,AAAC,CACxB,UAAU,CAAE,KAAK,CACjB,MAAM,CAAE,MAAM,CACf,AAED,AAAA,YAAY,AAAC,CACX,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,MAAM,CAChB,AAED,AAAA,YAAY,CAAC,MAAM,AAAC,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,KAAK,CACb,AAED,AAAA,GAAG,AAAA,sBAAsB,CAAC,GAAG,CAC7B,sBAAsB,CAAC,CAAC,AAAC,CACvB,SAAS,CAAE,IAAI,CAChB,AAID,AAAA,oBAAoB,AAAC,CACnB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,SAAS,CAClB,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,UAAU,CAC3B,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,GAAG,CACV,WAAW,CAAE,EAAE,CAChB,AAED,AAAA,oBAAoB,CAAC,GAAG,AAAC,CACvB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,eAAe,CACxB,AAED,AAAA,oBAAoB,CAAC,EAAE,AAAC,CACtB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,oBAAoB,CAAC,CAAC,AAAC,CACrB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,oBAAoB,CAAC,MAAM,AAAC,CAC1B,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,oBAAoB,CAAC,CAAC,AAAA,IAAK,CAAA,QAAQ,CAAE,CACnC,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,sBAAsB,AAAC,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,CAC/B,AAED,AAAA,sBAAsB,CAAC,IAAI,AAAC,CAC1B,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,sBAAsB,CAAC,CAAC,AAAC,CACvB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,YAAY,CACrB,aAAa,CAAE,GAAG,CAEnB,AAED,AAAA,oBAAoB,CAAC,CAAC,AAAA,MAAM,AAAC,CAC3B,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,oBAAoB,CAAC,GAAG,AAAC,CACvB,YAAY,CAAE,IAAI,CACnB,AAED,AAAA,oBAAoB,CAAC,EAAE,AAAC,CACtB,KAAK,CAAE,eAAe,CACtB,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,kBAAkB,CAC1B,WAAW,CAAE,gBAAgB,CAC9B,AAED,AAAA,oBAAoB,CAAC,CAAC,AAAC,CACrB,MAAM,CAAE,KAAK,CACd,AAED,AAAA,oBAAoB,CAAC,IAAI,AAAA,UAAU,AAAC,CAClC,KAAK,CAAE,eAAe,CACtB,SAAS,CAAE,eAAe,CAC1B,KAAK,CAAE,eAAe,CACtB,KAAK,CAAE,eAAe,CACtB,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,CAAC,CACX,AAED,AAAA,qBAAqB,AAAC,CACpB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,qBAAqB,CAAC,CAAC,AAAC,CACtB,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,qBAAqB,CAAC,GAAG,AAAC,CACxB,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,IAAI,CACpB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,qBAAqB,CAAC,GAAG,CAAC,CAAC,AAAA,MAAM,AAAC,CAChC,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,qBAAqB,CAAC,GAAG,CAAC,CAAC,AAAC,CAC1B,WAAW,CAAE,eAAe,CAC5B,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,AAAC,CAC/B,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,YAAY,CACpB,KAAK,CAAE,eAAe,CACtB,SAAS,CAAE,eAAe,CAC1B,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,AAAA,OAAO,AAAC,CACtC,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,sBAAsB,AAAA,gBAAgB,CAAC,CAAC,AAAA,MAAM,CAC9C,sBAAsB,AAAA,gBAAgB,CAAC,CAAC,AAAA,MAAM,CAAC,IAAI,AAAC,CAClD,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,GAAG,AAAA,gBAAgB,CAAC,WAAW,AAAC,CAC9B,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,KAAK,CACjB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,GAAG,CACb,AAED,AAAA,GAAG,AAAA,gBAAgB,AAAC,CAClB,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,oBAAoB,AAAC,CACnB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,oBAAoB,CAAC,CAAC,AAAC,CACrB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,oBAAoB,CAAC,MAAM,AAAC,CAC1B,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,SAAS,CAC1B,AAED,AAAA,oBAAoB,CAAC,MAAM,AAAC,CAC1B,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,IAAI,CAChB,AAID,AAAA,mBAAmB,AAAC,CAClB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,cAAc,AAAC,CACb,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,KAAK,CACZ,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,UAAU,CAClB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,cAAc,CACvB,AAED,AAAA,cAAc,CAAC,EAAE,AAAC,CAChB,UAAU,CAAE,CAAC,CACb,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,cAAc,CAAC,EAAE,CAAC,IAAI,AAAC,CACrB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,cAAc,CAAC,MAAM,AAAC,CACpB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,KAAK,CACf,AAED,AAAA,SAAS,AAAC,CACR,OAAO,CAAE,IAAI,CACd,AAED,AAAA,SAAS,AAAA,OAAO,AAAC,CACf,OAAO,CAAE,KAAK,CACf,AAED,AAAA,OAAO,AAAC,CACN,OAAO,CAAE,IAAI,CACd,AAGD,AAAA,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,AAAA,kBAAkB,AAAC,CACjE,KAAK,CAAE,KAAK,CACZ,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,qBAAqB,CAC7B,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,AAAA,kBAAkB,CAAC,CAAC,AAAC,CACnE,eAAe,CAAE,eAAe,CAChC,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,AAAA,kBAAkB,CAAC,IAAI,AAAC,CACtE,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,IAAI,CACjB,YAAY,CAAE,GAAG,CAClB,AAED,AAAA,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,AAAA,kBAAkB,CAAC,CAAC,AAAA,MAAM,CAC1E,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,AAAA,kBAAkB,CAAC,CAAC,AAAA,MAAM,CAAC,IAAI,AAAC,CAC9E,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,AAAC,CAC9C,SAAS,CAAE,eAAe,CAC1B,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,EAAE,CAAC,CAAC,AAAC,CACpB,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,OAAO,CAKf,AAPD,AAIE,EAJA,AAAA,cAAc,CAAC,EAAE,CAAC,CAAC,AAIlB,MAAM,AAAC,CACN,KAAK,CAAE,IAAI,CACZ,AAGH,AAAA,kBAAkB,AAAC,CACjB,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,GAAG,CACd,MAAM,CAAE,IAAI,CACb,AAED,AAAA,wBAAwB,AAAC,CACvB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,2BAA2B,CACrC,AAED,AAAA,EAAE,AAAA,mBAAmB,CAAC,EAAE,AAAC,CACvB,WAAW,CAAE,KAAK,CAClB,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,EAAE,AAAA,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,AAAC,CAC5B,OAAO,CAAE,QAAQ,CACjB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,eAAe,CACxB,UAAU,CAAE,eAAe,CAC5B,AAED,AAAA,EAAE,AAAA,mBAAmB,CAAC,EAAE,CAAC,EAAE,AAAC,CAC1B,MAAM,CAAE,2BAA2B,CACnC,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,kBAAkB,AAAC,CACjB,eAAe,CAAE,YAAY,CAC9B,AAED,AAAA,wBAAwB,AAAC,CACvB,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,cAAc,CACtB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,kBAAkB,CAAC,CAAC,AAAC,CACnB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,OAAO,CACd,cAAc,CAAE,SAAS,CACzB,eAAe,CAAE,IAAI,CACrB,aAAa,CAAE,UAAU,CAC1B,AAED,AAAA,EAAE,AAAA,mBAAmB,CAAC,EAAE,AAAC,CACvB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,GAAG,AAAA,eAAe,AAAC,CACjB,OAAO,CAAE,IAAI,CACb,OAAO,CAAE,cAAc,CACxB,AAED,AAAA,sBAAsB,AAAC,CACrB,KAAK,CAAE,GAAG,CACV,UAAU,CAAE,8BAA8B,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAClE,AAED,AAAA,yBAAyB,AAAC,CACxB,KAAK,CAAE,GAAG,CACV,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,sBAAsB,CAAC,EAAE,AAAC,CACxB,UAAU,CAAE,YAAY,CACxB,UAAU,CAAE,eAAe,CAC3B,SAAS,CAAE,eAAe,CAC1B,SAAS,CAAE,GAAG,CACd,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,sBAAsB,CAAC,CAAC,AAAC,CACvB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,GAAG,CACd,WAAW,CAAE,IAAI,CAClB,AAED,AAAA,sBAAsB,CAAC,CAAC,CAAC,IAAI,AAAC,CAC5B,MAAM,CAAE,KAAK,CACb,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,sBAAsB,CAAC,CAAC,AAAA,SAAS,AAAC,CAChC,UAAU,CAAE,OAAO,CACnB,MAAM,CAAE,WAAW,CACnB,OAAO,CAAE,YAAY,CACrB,OAAO,CAAE,SAAS,CAClB,KAAK,CAAE,IAAI,CACX,eAAe,CAAE,IAAI,CACrB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,KAAK,CACjB,cAAc,CAAE,GAAG,CACpB,AAED,AAAA,sBAAsB,CAAC,CAAC,AAAA,SAAS,CAAC,IAAI,AAAC,CACrC,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACb,AAED,AAAA,sBAAsB,CAAC,KAAK,AAAC,CAC3B,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,YAAY,CAAE,IAAI,CAClB,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,SAAS,CAC1B,AAED,AAAA,sBAAsB,CAAC,UAAU,AAAC,CAChC,eAAe,CAAE,IAAI,CACrB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,SAAS,CACzB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,OAAO,CACf,AAED,AAAA,sBAAsB,CAAC,UAAU,AAAA,SAAS,AAAC,CACzC,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,eAAe,CAAC,EAAE,AAAC,CACjB,MAAM,CAAE,MAAM,CACd,cAAc,CAAE,SAAS,CAC1B,AAED,AAAA,oBAAoB,CAAC,MAAM,AAAC,CAC1B,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,KAAK,CACf,AAED,AAAA,oBAAoB,CAAC,MAAM,CAAC,CAAC,AAAC,CAC5B,KAAK,CAAE,OAAO,CACf,AAED,AAAA,oBAAoB,CAAC,CAAC,AAAC,CACrB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,QAAQ,AAAC,CACP,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,OAAO,CACd,UAAU,CAAE,eAAe,CAC3B,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,mBAAmB,CAC5B,WAAW,CAAE,SAAS,CASvB,AAfD,AAQE,QARM,CAQN,CAAC,AAAC,CACA,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAChB,eAAe,CAAE,IAAI,CACrB,aAAa,CAAE,UAAU,CAC1B,AAIH,AAAA,oBAAoB,AAAA,YAAY,AAAC,CAC/B,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,cAAc,CACtB,MAAM,CAAE,UAAU,CAClB,KAAK,CAAE,GAAG,CACX,AAED,AAAA,kBAAkB,AAAA,gBAAgB,CAAC,GAAG,AAAC,CACrC,KAAK,CAAE,mBAAmB,CAC3B,AAED,AAAA,GAAG,AAAA,aAAa,AAAC,CACf,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,MAAM,CACvB,WAAW,CAAE,MAAM,CAsBpB,AA3BD,AAOE,GAPC,AAAA,aAAa,CAOd,KAAK,AAAC,CACJ,MAAM,CAAE,cAAc,CACtB,MAAM,CAAE,KAAK,CACb,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,KAAK,CAChB,SAAS,CAAE,IAAI,CAChB,AAbH,AAeE,GAfC,AAAA,aAAa,CAed,MAAM,AAAC,CACL,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,OAAO,CAKhB,AA1BH,AAuBI,GAvBD,AAAA,aAAa,CAed,MAAM,AAQH,SAAS,AAAC,CACT,UAAU,CAAE,eAAe,CAC5B,AAIL,AAAA,GAAG,AAAA,oBAAoB,AAAC,CACtB,MAAM,CAAE,GAAG,CACX,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,aAAa,CACzB,MAAM,CAAE,MAAM,CACd,QAAQ,CAAE,QAAQ,CAuBnB,AA5BD,AAOE,GAPC,AAAA,oBAAoB,CAOrB,iBAAiB,AAAC,CAChB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,MAAM,CAAE,cAAc,CACtB,MAAM,CAAE,MAAM,CACd,aAAa,CAAE,GAAG,CAKnB,AAjBH,AAcI,GAdD,AAAA,oBAAoB,CAOrB,iBAAiB,CAOf,MAAM,AAAC,CACL,QAAQ,CAAE,MAAM,CACjB,AAhBL,AAmBE,GAnBC,AAAA,oBAAoB,CAmBrB,aAAa,AAAC,CACZ,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,cAAc,CACtB,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,GAAG,CACT,SAAS,CAAE,gBAAgB,CAC3B,aAAa,CAAE,IAAI,CACnB,SAAS,CAAE,kDAAkD,CAC9D,AAGH,AAAA,iBAAiB,AAAA,MAAM,AAAC,CACtB,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,GAAG,CAAE,CAAC,CACN,MAAM,CAAE,CAAC,CACT,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACT,AAED,AAAA,SAAS,AAAA,aAAa,AAAC,CACrB,UAAU,CAAE,OAAO,CACnB,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,YAAY,CAAE,cAAc,CAK7B,AAZD,AASE,SATO,AAAA,aAAa,AASnB,QAAQ,AAAC,CACR,UAAU,CAAE,OAAO,CACpB,AAGH,AAAA,GAAG,AAAA,iBAAiB,CAAC,KAAK,AAAC,CACzB,MAAM,CAAE,SAAS,CAClB,AAED,AAAA,GAAG,AAAA,iBAAiB,AAAC,CACnB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,GAAG,AAAA,iBAAiB,CAAC,KAAK,AAAC,CACzB,eAAe,CAAE,QAAQ,CAC1B,AAED,AAAA,GAAG,AAAA,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAC7B,GAAG,AAAA,iBAAiB,CAAC,KAAK,CAAC,EAAE,AAAC,CAC5B,OAAO,CAAE,IAAI,CACb,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,cAAc,CACvB,AAED,AAAA,GAAG,AAAA,iBAAiB,CAAC,KAAK,AAAC,CACzB,SAAS,CAAE,IAAI,CAChB,AAGD,AAAA,GAAG,AAAA,gBAAgB,CAAC,MAAM,AAAC,CACzB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,EAAE,AAAA,SAAS,AAAC,CACV,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,EAAE,AAAA,SAAS,CAAC,EAAE,AAAC,CACb,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,QAAQ,CACjB,AAED,AAAA,EAAE,AAAA,SAAS,CAAC,EAAE,CAAC,CAAC,AAAC,CACf,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,QAAQ,CACjB,UAAU,CAAE,SAAS,CACrB,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CASpB,AAlBD,AAWE,EAXA,AAAA,SAAS,CAAC,EAAE,CAAC,CAAC,AAWb,MAAM,AAAC,CACN,UAAU,CAAE,SAAS,CACtB,AAbH,AAeE,EAfA,AAAA,SAAS,CAAC,EAAE,CAAC,CAAC,CAed,IAAI,AAAC,CACH,YAAY,CAAE,GAAG,CAClB,AAGH,AAAA,EAAE,AAAA,SAAS,CAAC,EAAE,CAAC,CAAC,AAAA,MAAM,AAAC,CACrB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,IAAI,AAAA,WAAW,AAAC,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,cAAc,CACtB,OAAO,CAAE,OAAO,CAChB,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,IAAI,CACf,cAAc,CAAE,GAAG,CACpB,AAED,AAAA,iBAAiB,AAAC,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,YAAY,CACrB,AAED,AAAA,UAAU,AAAA,aAAa,AAAC,CACtB,SAAS,CAAE,sCAAsC,CAClD,AAED,AAAA,WAAW,AAAC,CACV,OAAO,CAAE,SAAS,CAClB,UAAU,CAAE,qBAAwB,CACpC,MAAM,CAAE,YAAY,CACrB,AAED,AAAA,WAAW,AAAC,CACV,OAAO,CAAE,eAAe,CACzB,AAGD,AAAA,GAAG,AAAA,gBAAgB,CAAC,MAAM,AAAC,CACzB,OAAO,CAAE,SAAS,CAClB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,uBAAuB,CAChC,SAAS,CAAE,iBAAiB,CAC5B,aAAa,CAAE,WAAW,CAC1B,UAAU,CAAE,iBAAiB,CAC9B,AAED,AAAA,GAAG,AAAA,gBAAgB,AAAC,CAClB,UAAU,CAAE,MAAM,CACnB,AA4BD,AAAA,EAAE,AAAA,WAAW,AAAC,CACZ,KAAK,CAAE,iBAAiB,CACzB,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,EAAE,AAAC,CACnB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,YAAY,CACxB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,SAAS,CAClB,MAAM,CAAE,QAAQ,CAChB,SAAS,CAAE,KAAK,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,OAAO,CACf,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,EAAE,AAAA,eAAe,AAAC,CAChB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,EAAE,AAAA,MAAM,AAAC,CACzB,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,EAAE,AAAA,OAAO,AAAC,CAC1B,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,cAAc,AAAC,CACb,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,MAAM,CACf,AAED,AAAA,oBAAoB,AAAC,CACnB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,oBAAoB,CAAC,KAAK,AAAC,CACzB,OAAO,CAAE,KAAK,CACd,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,oBAAoB,AAAC,CACnB,KAAK,CAAE,GAAG,CACV,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,sBAAsB,AAAC,CACrB,KAAK,CAAE,GAAG,CACX,AAED,AAAA,gBAAgB,AAAC,CACf,KAAK,CAAE,GAAG,CACV,WAAW,CAAE,cAAc,CAC3B,WAAW,CAAE,EAAE,CACf,OAAO,CAAE,OAAO,CAChB,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,GAAG,AAAA,YAAY,AAAA,kBAAkB,AAAC,CAChC,OAAO,CAAE,IAAI,CACd,AAED,AAAA,gBAAgB,CAAC,CAAC,AAAC,CACjB,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,gBAAgB,CAAC,UAAU,AAAC,CAC1B,SAAS,CAAE,KAAK,CAChB,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACd,AAED,AAAA,gBAAgB,CAAC,MAAM,AAAC,CACtB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,IAAI,CACb,AAED,AAAA,gBAAgB,CAAC,MAAM,CAAC,CAAC,AAAC,CACxB,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,IAAI,CACb,OAAO,CAAE,YAAY,CACrB,cAAc,CAAE,SAAS,CACzB,cAAc,CAAE,KAAK,CACrB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,gBAAgB,CAAC,MAAM,AAAA,MAAM,AAAC,CAC5B,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,gBAAgB,CAAC,MAAM,CAAC,CAAC,AAAA,MAAM,AAAC,CAC9B,OAAO,CAAE,eAAe,CACxB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,gBAAgB,CAAC,KAAK,AAAC,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,KAAK,CACnB,AAED,AAAA,EAAE,AAAA,iBAAiB,CAAC,CAAC,AAAC,CACpB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,QAAQ,CACjB,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,SAAS,CACzB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,EAAE,AAAA,iBAAiB,AAAC,CAClB,UAAU,CAAE,eAAe,CAC5B,AAED,AAAA,aAAa,CAAC,MAAM,AAAA,sBAAsB,AAAC,CACzC,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,EAAE,AAAA,iBAAiB,CAAC,CAAC,AAAA,MAAM,AAAC,CAC1B,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,kBAAkB,CAAC,EAAE,AAAC,CACpB,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,IAAI,CACb,AAED,AAAA,kBAAkB,CAAC,EAAE,CAAC,EAAE,AAAC,CACvB,MAAM,CAAE,KAAK,CACb,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,KAAK,CAClB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,AAAC,CACzB,KAAK,CAAE,kBAAkB,CAC1B,AAED,AAAA,kBAAkB,AAAC,CACjB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,EAAE,CAAC,oBAAoB,AAAC,CACtB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,IAAI,CACb,AAED,AAAA,oBAAoB,CAAC,MAAM,AAAC,CAC1B,OAAO,CAAE,MAAM,CAChB,AAED,AAAA,IAAI,AAAA,WAAW,CAAC,IAAI,AAAC,CACnB,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,eAAe,CACvB,AAED,AAAA,iBAAiB,AAAC,CAChB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,cAAc,CACtB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,CAAC,CACjB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,iBAAiB,CAAC,CAAC,AAAC,CAClB,WAAW,CAAE,IAAI,CACjB,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,SAAS,CACzB,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,GAAG,CAUf,AAnBD,AAWE,iBAXe,CAAC,CAAC,AAWhB,MAAM,AAAC,CACN,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,IAAI,CACjB,AAdH,AAgBE,iBAhBe,CAAC,CAAC,AAgBhB,MAAM,AAAC,CACN,KAAK,CAAE,OAAO,CACf,AAGH,AAAA,GAAG,AAAA,gBAAgB,AAAA,kBAAkB,AAAC,CACpC,OAAO,CAAE,CAAC,CACV,SAAS,CAAE,eAAe,CAC1B,KAAK,CAAE,MAAM,CACb,MAAM,CAAE,cAAc,CACvB,AAED,AAAA,kBAAkB,CAAC,EAAE,AAAC,CACpB,SAAS,CAAE,eAAe,CAC1B,WAAW,CAAE,KAAK,CAClB,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,YAAY,CACpB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,aAAa,CAC5B,KAAK,CAAE,OAAO,CACf,AAED,AAAA,kBAAkB,CAAC,CAAC,AAAC,CACnB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,MAAM,CACf,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,CAAC,CACV,AAED,AAAA,oBAAoB,CAAC,iBAAiB,AAAC,CACrC,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,CAAC,CACV,UAAU,CAAE,eAAe,CAC3B,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,IAAI,CAChB,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,AAAA,OAAO,AAAC,CACjD,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,CAAC,AAAA,iBAAiB,AAAC,CACjB,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,GAAG,CAChB,MAAM,CAAE,iBAAiB,CACzB,kBAAkB,CAAE,IAAI,CACxB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,OAAO,CAAE,SAAS,CAClB,SAAS,CAAE,KAAK,CACjB,AAED,AAAA,CAAC,AAAA,iBAAiB,AAAA,MAAM,AAAC,CACvB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,sBAAsB,CAAC,kBAAkB,AAAC,CACxC,MAAM,CAAE,iBAAiB,CACzB,UAAU,CAAE,eAAe,CAC5B,AAED,AAAA,sBAAsB,CAAC,kBAAkB,CAAC,EAAE,AAAC,CAC3C,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,YAAY,CACrB,AAED,AAAA,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,AAAC,CAC1C,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,sBAAsB,CAAC,kBAAkB,CAAC,iBAAiB,AAAC,CAC1D,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,QAAQ,CAClB,AAED,AAAA,sBAAsB,CAAC,kBAAkB,CAAC,oBAAoB,AAAC,CAC7D,KAAK,CAAE,KAAK,CACb,AAED,AAAA,WAAW,AAAC,CACV,MAAM,CAAE,WAAW,CACnB,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,kBAAkB,CAAC,eAAe,AAAC,CACjC,OAAO,CAAE,SAAS,CACnB,AAED,AAAA,kBAAkB,CAAC,CAAC,AAAA,iBAAiB,AAAC,CACpC,MAAM,CAAE,gBAAgB,CACxB,OAAO,CAAE,oBAAoB,CAC9B,AAED,AAAA,IAAI,AAAA,WAAW,AAAA,YAAY,AAAC,CAC1B,YAAY,CAAE,GAAG,CACjB,KAAK,CAAE,GAAG,CACV,WAAW,CAAE,GAAG,CAChB,cAAc,CAAE,UAAU,CAC3B,AAED,AAAA,wBAAwB,AAAC,CACvB,cAAc,CAAE,cAAc,CAC/B,AAGD,AAAA,EAAE,AAAA,eAAe,CAAC,SAAS,CAAC,UAAU,AAAC,CACrC,KAAK,CAAE,gBAAgB,CACxB,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,SAAS,CAAC,UAAU,AAAA,OAAO,AAAC,CAC5C,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,SAAS,CAAC,CAAC,AAAC,CAC5B,eAAe,CAAE,IAAI,CACrB,OAAO,CAAE,YAAY,CACtB,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,SAAS,AAAC,CAC1B,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,mBAAmB,CAC5B,MAAM,CAAE,iBAAiB,CACzB,eAAe,CAAE,aAAa,CAC9B,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,IAAI,AAAA,iBAAiB,AAAC,CACpB,OAAO,CAAE,YAAY,CACtB,AAED,AAAA,EAAE,AAAA,eAAe,CAAC,SAAS,CAAC,UAAU,AAAC,CACrC,SAAS,CAAE,eAAe,CAC1B,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,eAAe,CAKvB,AATD,AAME,EANA,AAAA,eAAe,CAAC,SAAS,CAAC,UAAU,AAMnC,MAAM,AAAC,CACN,KAAK,CAAE,gBAAgB,CACxB,AAGH,AAAA,EAAE,AAAA,eAAe,AAAC,CAChB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,YAAY,CAAC,QAAQ,AAAC,CACpB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,KAAK,CACb,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,cAAc,CACtB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,eAAe,AAAC,CACd,QAAQ,CAAE,KAAK,CACf,OAAO,CAAE,IAAI,CACb,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,gBAAgB,CACtB,UAAU,CAAE,eAAkB,CAC9B,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,IAAI,CACd,AAGD,AAAA,cAAc,AAAC,CACb,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,iBAAiB,CAC/B,AAED,AAAA,mBAAmB,AAAC,CAClB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,mBAAmB,AAAC,CAElB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,GAAG,AAAA,YAAY,AAAA,cAAc,AAAC,CAC5B,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC/B,AAED,AAAA,mBAAmB,CAAC,GAAG,AAAC,CACtB,SAAS,CAAE,KAAK,CAChB,YAAY,CAAE,IAAI,CACnB,AAED,AAAA,mBAAmB,CAAC,GAAG,CAAC,CAAC,AAAC,CACxB,OAAO,CAAE,WAAW,CACpB,aAAa,CAAE,MAAM,CACrB,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,UAAU,CAClB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,SAAS,CAClB,KAAK,CAAE,iBAAiB,CACxB,eAAe,CAAE,IAAI,CAKtB,AAbD,AAUE,mBAViB,CAAC,GAAG,CAAC,CAAC,AAUtB,MAAM,AAAC,CACN,UAAU,CAAE,OAAO,CACpB,AAGH,AAAA,mBAAmB,CAAC,EAAE,AAAC,CACrB,cAAc,CAAE,SAAS,CACzB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,EAAE,AAAA,kBAAkB,AAAC,CACnB,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,gBAAgB,CACzB,AAED,AAAA,EAAE,AAAA,kBAAkB,CAAC,EAAE,AAAC,CACtB,WAAW,CAAE,KAAK,CAClB,SAAS,CAAE,eAAe,CAC1B,KAAK,CAAE,kBAAkB,CACzB,aAAa,CAAE,eAAe,CAC9B,UAAU,CAAE,kBAAqB,CACjC,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,KAAK,AAAA,SAAS,AAAC,CACb,KAAK,CAAE,IAAI,CACZ,AAGD,AAAA,eAAe,CACf,kBAAkB,AAAC,CACjB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,iBAAiB,CAC7B,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,MAAM,CAAE,IAAI,CACb,AAED,AAAA,eAAe,CAAC,EAAE,CAClB,kBAAkB,CAAC,EAAE,AAAC,CACpB,UAAU,CAAE,CAAC,CACb,SAAS,CAAE,IAAI,CACf,cAAc,CAAE,SAAS,CAC1B,AAED,AAAA,GAAG,AAAA,gBAAgB,AAAC,CAClB,MAAM,CAAE,QAAQ,CAChB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,GAAG,CACX,AAED,AAAA,eAAe,AAAC,CACd,KAAK,CAAE,gBAAgB,CACxB,AAED,AAAA,kBAAkB,AAAC,CACjB,KAAK,CAAE,gBAAgB,CACxB,AAED,AAAA,eAAe,CAAC,EAAE,AAAA,MAAM,CACxB,kBAAkB,CAAC,EAAE,AAAA,MAAM,AAAC,CAC1B,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,GAAG,CACX,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,WAAW,AAAC,CACV,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,cAAc,AAAC,CACb,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAChB,MAAM,CAAE,WAAW,CACnB,aAAa,CAAE,GAAG,CAClB,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,oBAAoB,CACjC,AAED,AAAA,cAAc,CAAC,IAAI,AAAC,CAClB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,OAAO,CAAE,KAAK,CACd,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,aAAa,CAAE,GAAG,CACnB,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,AAAA,IAAK,CAAA,UAAU,CAAE,CACzC,YAAY,CAAE,IAAI,CAClB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,OAAO,CAChB,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,UAAU,CAC1B,aAAa,CAAE,GAAG,CAClB,WAAW,CAAE,GAAG,CAChB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,AAAA,UAAU,AAAC,CACnC,OAAO,CAAE,GAAG,CACZ,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,AAAC,CACpB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,AAAA,SAAS,AAAC,CAClC,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,kBAAkB,CAAC,KAAK,AAAC,CACvB,MAAM,CAAE,OAAO,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,kBAAkB,CAAC,aAAa,AAAC,CAC/B,MAAM,CAAE,YAAY,CACrB,AAED,AAAA,kBAAkB,CAAC,aAAa,CAAC,KAAK,AAAC,CACrC,MAAM,CAAE,kBAAkB,CAC3B,AAED,AAAA,kBAAkB,CAAC,EAAE,CAAC,EAAE,AAAC,CACvB,OAAO,CAAE,WAAW,CACpB,KAAK,CAAE,eAAe,CACtB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,CAC/B,AAED,AAAA,kBAAkB,CAAC,gBAAgB,AAAA,QAAQ,CAAC,cAAc,AAAC,CACzD,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,kBAAkB,CAAC,EAAE,CAAC,EAAE,AAAA,mBAAmB,AAAC,CAC1C,UAAU,CAAE,SAAS,CACrB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,iBAAiB,CACzB,KAAK,CAAE,OAAO,CACd,aAAa,CAAE,GAAG,CAClB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,IAAI,AAAA,mBAAmB,AAAC,CACtB,MAAM,CAAE,YAAY,CACrB,AAED,AAAA,IAAI,AAAA,mBAAmB,CAAC,CAAC,AAAA,MAAM,AAAC,CAC9B,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,IAAI,AAAA,mBAAmB,CAAC,CAAC,AAAC,CACxB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,IAAI,CACrB,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,KAAK,CACZ,aAAa,CAAE,GAAG,CAClB,SAAS,CAAE,gBAAgB,CAC3B,UAAU,CAAE,aAAa,CAsB1B,AAjCD,AAaE,IAbE,AAAA,mBAAmB,CAAC,CAAC,AAatB,MAAM,AAAC,CACN,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,IAAI,CACjB,AAhBH,AAkBE,IAlBE,AAAA,mBAAmB,CAAC,CAAC,AAkBtB,GAAG,AAAA,MAAM,AAAC,CACT,UAAU,CAAE,OAAO,CACpB,AApBH,AAsBE,IAtBE,AAAA,mBAAmB,CAAC,CAAC,AAsBtB,GAAG,AAAA,MAAM,AAAC,CACT,UAAU,CAAE,OAAO,CACpB,AAxBH,AA0BE,IA1BE,AAAA,mBAAmB,CAAC,CAAC,AA0BtB,GAAG,AAAA,MAAM,AAAC,CACT,UAAU,CAAE,OAAO,CACpB,AA5BH,AA8BE,IA9BE,AAAA,mBAAmB,CAAC,CAAC,AA8BtB,GAAG,AAAA,MAAM,AAAC,CACT,UAAU,CAAE,OAAO,CACpB,AAIH,AAAA,KAAK,AAAA,sBAAsB,CAAC,EAAE,AAAC,CAC7B,UAAU,CAAE,SAAS,CACrB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,eAAe,AAAC,CAC1C,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,EAAE,CAAC,EAAE,AAAC,CAChC,MAAM,CAAE,yBAAyB,CACjC,OAAO,CAAE,IAAI,CACd,AAED,AAAA,KAAK,AAAA,sBAAsB,AAAC,CAC1B,eAAe,CAAE,QAAQ,CAC1B,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,WAAW,AAAC,CACtC,UAAU,CAAE,MAAM,CAClB,cAAc,CAAE,UAAU,CAC1B,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,EAAE,AAAC,CAC7B,MAAM,CAAE,cAAc,CACvB,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,KAAK,AAAC,CAChC,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,KAAK,CAAC,MAAM,AAAC,CACvC,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,KAAK,AAAA,sBAAsB,CAAC,EAAE,AAAC,CAC7B,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAWD,AAAA,iBAAiB,AAAC,CAChB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,YAAY,CACrB,MAAM,CAZE,IAAI,CAaZ,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,aAAa,CAAE,GAAG,CAClB,gBAAgB,CAdN,IAAI,CAmCf,AA5BD,AASE,iBATe,AASd,OAAO,AAAC,CACP,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,IAAI,CAAE,IAAI,CACV,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,aAAa,CAAE,GAAG,CAClB,gBAAgB,CAAE,KAAK,CACxB,AAlBH,AAoBE,iBApBe,AAoBd,MAAM,AAAC,CACN,OAAO,CAAE,EAAE,CACX,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,aAAa,CAAE,GAAG,CAClB,gBAAgB,CAlCP,OAAO,CAmCjB,AAGH,AAAA,iBAAiB,AAAC,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,CAAC,CACd,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,QAAQ,CACrB,AAED,AAAA,iBAAiB,CAAC,KAAK,AAAC,CACtB,SAAS,CAAE,OAAO,CACnB,AAGC,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,YAAY,AAAA,MAAM,AAAa,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAK1C,gBAAgB,CAAE,8DAAoE,CAAE,oDAAkE,CAC1J,gBAAgB,CAAE,OAAO,CAc9B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAW1C,gBAAgB,CAAE,8DAAoE,CAAE,mDAAiE,CACzJ,gBAAgB,CAAE,MAAM,CAQ7B,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,kEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,gEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,gEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AApBD,AAAA,iBAAiB,AAAA,aAAa,AAAA,MAAM,AAAY,CAkB5C,gBAAgB,CAAE,iEAAwE,CAAE,oDAAoE,CAEnK,AAGH,UAAU,CAAV,OAAU,CACR,EAAE,CACA,GAAG,CAAE,CAAC,CAGR,IAAI,CACF,GAAG,CAAE,GAAG,EAIZ,UAAU,CAAV,UAAU,CACR,EAAE,CACA,SAAS,CAAE,SAAS,CAGtB,IAAI,CACF,SAAS,CAAE,cAAc,EAI7B,MAAM,EAAC,SAAS,EAAE,MAAM,EAEtB,AAAA,EAAE,AAAA,cAAc,AAAC,CACf,KAAK,CAAE,IAAI,CACX,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,EAAE,AAAA,cAAc,CAAC,EAAE,AAAC,CAClB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,kBAAkB,AAAC,CACjB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,wBAAwB,AAAC,CACvB,OAAO,CAAE,gBAAgB,CACzB,WAAW,CAAE,CAAC,CACf,AAED,AAAA,wBAAwB,AAAC,CACvB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,kBAAkB,AAAC,CACjB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,kBAAkB,CAAC,GAAG,AAAC,CACrB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,MAAM,CACf,CAIH,MAAM,EAAC,SAAS,EAAE,MAAM,EACtB,AAAA,kBAAkB,AAAC,CACjB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,kBAAkB,AAAC,CACjB,KAAK,CAAE,GAAG,CACX,AAED,AAAA,iBAAiB,AAAC,CAChB,SAAS,CAAE,IAAI,CAChB,CAGH,MAAM,EAAC,SAAS,EAAE,KAAK,EACrB,AAAA,mBAAmB,AAAC,CAClB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,GAAG,AAAA,kBAAkB,AAAC,CACpB,cAAc,CAAE,MAAM,CACvB,AAED,AAAA,iBAAiB,AAAC,CAChB,OAAO,CAAE,MAAM,CAChB,AAED,AAAA,GAAG,AAAA,gBAAgB,AAAC,CAClB,cAAc,CAAE,MAAM,CACvB,AAED,AAAA,GAAG,AAAA,gBAAgB,CAAC,GAAG,AAAC,CACtB,KAAK,CAAE,GAAG,CACX,CAIH,MAAM,EAAC,SAAS,EAAE,KAAK,EACrB,AAAA,4BAA4B,CAAC,UAAU,AAAC,CACtC,eAAe,CAAE,IAAI,CACtB,AAED,AAAA,kBAAkB,AAAC,CACjB,KAAK,CAAE,GAAG,CACV,MAAM,CAAE,OAAO,CAChB,AAED,AAAA,GAAG,AAAA,gBAAgB,AAAC,CAClB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,mBAAmB,AAAC,CAClB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,mBAAmB,AAAC,CAClB,KAAK,CAAE,IAAI,CACZ,CAIH,AAAA,EAAE,AAAA,sBAAsB,CAAC,UAAU,AAAC,CAClC,MAAM,CAAE,IAAI,CACb,AAED,AAAA,GAAG,AAAA,oBAAoB,AAAC,CACtB,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,MAAM,CACvB,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,oBAAoB,CAC7B,AAED,AAAA,GAAG,AAAA,oBAAoB,CAAC,eAAe,AAAC,CACtC,KAAK,CAAE,KAAK,CACZ,OAAO,CAAE,WAAW,CACpB,cAAc,CAAE,MAAM,CACtB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,CAC/B,AAED,AAAA,gBAAgB,AAAA,eAAe,AAAC,CAC9B,MAAM,CAAE,cAAc,CACtB,SAAS,CAAE,UAAU,CACrB,aAAa,CAAE,GAAG,CAClB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,AAAC,CACpB,UAAU,CAAE,IAAI,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,SAAS,CAClB,aAAa,CAAE,cAAc,CAC7B,MAAM,CAAE,CAAC,CACV,AAED,AAAA,iBAAiB,AAAA,eAAe,AAAC,CAC/B,YAAY,CAAE,EAAE,CAChB,MAAM,CAAE,cAAc,CACtB,aAAa,CAAE,OAAO,CACvB,AAED,AAAA,mBAAmB,CAAC,EAAE,AAAC,CACrB,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,mBAAmB,CAAC,KAAK,AAAC,CACxB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,mBAAmB,AAAC,CAClB,OAAO,CAAE,QAAQ,CACjB,UAAU,CAAE,OAAO,CACnB,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,GAAG,AAAA,oBAAoB,CAAC,EAAE,AAAC,CACzB,MAAM,CAAE,CAAC,CACV,AAED,AAAA,GAAG,AAAA,oBAAoB,CAAC,kBAAkB,AAAC,CACzC,MAAM,CAAE,IAAI,CACZ,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,GAAG,AAAA,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,AAAC,CAC3C,UAAU,CAAE,IAAI,CAChB,eAAe,CAAE,IAAI,CACrB,KAAK,CAAE,IAAI,CACX,cAAc,CAAE,SAAS,CACzB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,YAAY,CAErB,aAAa,CAAE,GAAG,CAEnB,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,AAAA,WAAW,AAAC,CAC/B,MAAM,CAAE,IAAI,CACb,AAED,AAAA,gBAAgB,CAAC,EAAE,AAAC,CAClB,SAAS,CAAE,eAAe,CAC3B,AAED,AAAA,gBAAgB,CAAC,EAAE,CAAC,CAAC,AAAC,CACpB,KAAK,CAAE,OAAO,CACd,eAAe,CAAE,IAAI,CACrB,aAAa,CAAE,kBAAkB,CAClC,AAED,AAAA,eAAe,CAAC,EAAE,CAAC,EAAE,AAAC,CACpB,cAAc,CAAE,UAAU,CAC3B,AAED,AAAA,gBAAgB,CAAC,EAAE,CAAC,CAAC,AAAA,MAAM,AAAC,CAC1B,OAAO,CAAE,eAAe,CACxB,UAAU,CAAE,eAAe,CAC5B,AAMD,AAAA,GAAG,AAAA,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,AAAA,MAAM,AAAC,CACjD,UAAU,CAAE,eAAe,CAC5B,AAED,AAAA,gBAAgB,AAAA,eAAe,CAAC,kBAAkB,CAAC,CAAC,AAAC,CACnD,UAAU,CAAE,kBAAkB,CAC/B,AAED,AAAA,gBAAgB,CAAC,KAAK,AAAC,CACrB,SAAS,CAAE,IAAI,CAChB,AAED,AAAA,gBAAgB,CAAC,GAAG,AAAC,CACnB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CACjB,AAED,AAAA,EAAE,AAAA,sBAAsB,AAAC,CACvB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,KAAK,CACnB,AAED,AAAA,EAAE,AAAA,mBAAmB,AAAC,CACpB,aAAa,CAAE,cAAc,CAC9B,AAED,AAAA,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,AAAC,CACvC,OAAO,CAAE,SAAS,CACnB,AAED,AAAA,iBAAiB,AAAC,CAChB,eAAe,CAAE,qBAAqB,CACvC,AAED,AAAA,mBAAmB,AAAC,CAClB,aAAa,CAAE,WAAW,CAC3B,AAED,AAAA,mBAAmB,AAAA,IAAI,AAAC,CACtB,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,eAAe,AAAA,aAAa,CAAC,mBAAmB,AAAC,CAC/C,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,oBAAoB,AAAC,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,KAAK,CAClB,AAED,AAAA,mBAAmB,AAAC,CAClB,QAAQ,CAAE,QAAQ,CAClB,QAAQ,CAAE,MAAM,CACjB,AAED,AAAA,IAAI,AAAA,cAAc,AAAC,CACjB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,IAAI,CACT,KAAK,CAAE,KAAK,CACZ,SAAS,CAAE,aAAa,CACxB,UAAU,CAAE,OAAO,CACnB,KAAK,CAAE,IAAI,CACX,OAAO,CAAE,QAAQ,CACjB,UAAU,CAAE,mBAAmB,CAChC,AAED,AAAA,sBAAsB,AAAA,gBAAgB,AAAC,CACrC,QAAQ,CAAE,QAAQ,CACnB,AAED,AAAA,aAAa,AAAC,CACZ,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,qBAAwB,CACpC,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,CAAC,CACP,MAAM,CAAE,CAAC,CACT,KAAK,CAAE,CAAC,CACR,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,IAAI,CACnB,WAAW,CAAE,GAAG,CAChB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACX,WAAW,CAAE,KAAK,CACnB,AAED,AAAA,oBAAoB,AAAA,SAAS,CAAC,sBAAsB,CAAC,IAAI,AAAC,CACxD,KAAK,CAAE,GAAG,CACX,AAED,AAAA,sBAAsB,CAAC,IAAI,CAAC,MAAM,AAAC,CACjC,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,sBAAsB,CAAC,IAAI,CAAC,CAAC,AAAA,MAAM,AAAC,CAClC,UAAU,CAAE,IAAI,CACjB,AAED,AAAA,sBAAsB,CAAC,IAAI,CAAC,CAAC,AAAC,CAC5B,eAAe,CAAE,IAAI,CACrB,aAAa,CAAE,UAAU,CAC1B,AAED,AAAA,oBAAoB,AAAA,SAAS,CAAC,sBAAsB,AAAC,CACnD,UAAU,CAAE,KAAK,CACjB,aAAa,CAAE,KAAK,CACpB,YAAY,CAAE,CAAC,CAChB,AAED,AAAA,OAAO,AAAC,CACN,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,YAAY,CACtB,AAED,AAAA,cAAc,AAAC,CACb,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,IAAI,CACnB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,cAAc,CAAE,MAAM,CACtB,kBAAkB,CAAE,gBAAgB,CACpC,UAAU,CAAE,gBAAgB,CAC7B,AAED,AAAA,cAAc,AAAA,OAAO,CACrB,cAAc,AAAA,MAAM,AAAC,CACnB,OAAO,CAAE,EAAE,CACZ,AAED,AAAA,cAAc,AAAA,OAAO,AAAC,CACpB,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,qEAAqE,CACjF,UAAU,CAAE,8CAA8C,CAC1D,aAAa,CAAE,GAAG,CAClB,kBAAkB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAmB,CACjD,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAmB,CACzC,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,kBAAkB,CAAE,UAAU,CAC9B,UAAU,CAAE,UAAU,CACvB,AAED,AAAA,OAAO,AAAA,MAAM,CAAC,cAAc,AAAA,OAAO,AAAC,CAClC,UAAU,CAAE,qEAAqE,CACjF,UAAU,CAAE,8CAA8C,CAC1D,kBAAkB,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAkB,CAChD,UAAU,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAkB,CACzC,AAED,AAAA,gBAAgB,AAAA,QAAQ,CAAC,cAAc,AAAC,CACtC,UAAU,CAAE,OAAO,CACpB,AAED,AAAA,gBAAgB,AAAA,QAAQ,CAAC,cAAc,AAAA,OAAO,AAAC,CAC7C,IAAI,CAAE,IAAI,CACX,AAED,AAAA,gBAAgB,AAAC,CACf,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CACnB,AAED,AAAA,aAAa,AAAC,CACZ,WAAW,CAAE,GAAG,CAChB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,GAAG,CACR,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,aAAa,AAAC,CACZ,UAAU,CAAE,MAAM,CAClB,MAAM,CAAE,cAAc,CACvB,AAED,AAAA,aAAa,CAAC,IAAI,AAAC,CACjB,YAAY,CAAE,IAAI,CAClB,SAAS,CAAE,IAAI,CACf,KAAK,CAAE,IAAI,CACZ,AAED,AAAA,iBAAiB,AAAC,CAChB,OAAO,CAAE,IAAI,CACd,AAED,AAAA,QAAQ,AAAC,CACP,OAAO,CAAE,IAAI,CAKd,AAND,AAGE,QAHM,AAGL,OAAO,AAAC,CACP,OAAO,CAAE,KAAK,CACf,AAGH,AAAA,oBAAoB,AAAC,CACnB,MAAM,CAAE,MAAM,CACd,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,KAAK,CAClB,UAAU,CAAE,OAAO,CACnB,OAAO,CAAE,IAAI,CACb,aAAa,CAAE,GAAG,CAClB,KAAK,CAAE,IAAI,CAKZ,AAZD,AASE,oBATkB,CASlB,CAAC,AAAC,CACA,eAAe,CAAE,IAAI,CACtB",
4
  "sources": [
5
  "../scss/le-admin.scss"
6
  ],
1
  {
2
  "version": 3,
3
+ "mappings": "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",
4
  "sources": [
5
  "../scss/le-admin.scss"
6
  ],
admin/js/le-admin.js CHANGED
@@ -323,6 +323,7 @@
323
  nc: $button.attr("data-nc"),
324
  },
325
  beforeSend: function () {
 
326
  $("#wple-scanner-iframe").css("height", "510px");
327
 
328
  var frm = document.createElement("iframe");
@@ -341,37 +342,40 @@
341
  success: function (response) {
342
 
343
  if (response == 'nossl') {
344
- $button.text('SCAN').removeAttr("disabled");
345
- alert("Valid SSL Certificate could not be detected on your site! Please install SSL Certificate & force HTTPS before checking for mixed content issues.");
 
346
  return false;
347
- }
348
 
349
- $(".wple-scanbar").css("animation", "none").text("Populating Mixed Content Stats! Please wait...").addClass("complete");
350
 
351
- if (response == 'success') {
352
- $(".wple-scan").text('COMPLETED');
353
- $(".wple-scanbar").text("All good! Mixed content issues not found.").addClass("success");
354
- $(".wple-frameholder").slideUp('fast');
355
- return false;
356
- }
357
-
358
- $("#wple-scanner-iframe").fadeOut('fast');
359
- $("#wple-scanresults").html(response);
360
- $(".wple-scan").text('COMPLETED');
361
 
362
- $('.wple-tooltip').each(function () {
363
- var $this = $(this);
 
364
 
365
- tippy('.wple-tooltip:not(.bottom)', {
366
- //content: $this.attr('data-content'),
367
- placement: 'top',
368
- onShow(instance) {
369
- instance.popper.hidden = instance.reference.dataset.tippy ? false : true;
370
- instance.setContent(instance.reference.dataset.tippy);
371
- }
372
- //arrow: false
 
 
 
 
373
  });
374
- });
 
375
 
376
  }
377
  });
@@ -613,7 +617,13 @@
613
  var $existing_score = $scorebar.attr("data-width");
614
  var $new_score;
615
 
616
- if (response > 0) {
 
 
 
 
 
 
617
  $new_score = parseInt($existing_score) + 10;
618
 
619
  $scorebar.animate({
@@ -624,9 +634,6 @@
624
 
625
  $("li." + $opt + " span").removeClass("wple-no").addClass("wple-yes").text("Yes");
626
  colorSwitch($new_score);
627
- } else if (response == 1) {
628
-
629
- $("li.wple-setting-error").fadeIn('fast');
630
 
631
  } else if (response < 0) {
632
 
@@ -643,6 +650,7 @@
643
  } else if (response == 'htaccessnotwritable') {
644
  alert(".htaccess file not writable! Please change .htaccess file permission to 644 in order to implement security headers.")
645
  $this.removeAttr("checked");
 
646
  }
647
 
648
  $(".wple-score").text($new_score);
323
  nc: $button.attr("data-nc"),
324
  },
325
  beforeSend: function () {
326
+ $(".mxnossl").remove();
327
  $("#wple-scanner-iframe").css("height", "510px");
328
 
329
  var frm = document.createElement("iframe");
342
  success: function (response) {
343
 
344
  if (response == 'nossl') {
345
+ $button.text('START THE SCAN').removeAttr("disabled");
346
+ $("#wple-scanner-iframe").fadeOut('fast');
347
+ $("#wple-scanner").after('<div class="mxnossl">Valid SSL Certificate could not be detected on your site! Please install SSL Certificate & force HTTPS before checking for mixed content issues.</div>');
348
  return false;
349
+ } else {
350
 
351
+ $(".wple-scanbar").css("animation", "none").text("Populating Mixed Content Stats! Please wait...").addClass("complete");
352
 
353
+ if (response == 'success') {
354
+ $(".wple-scan").text('COMPLETED');
355
+ $(".wple-scanbar").text("All good! Mixed content issues not found.").addClass("success");
356
+ $(".wple-frameholder").slideUp('fast');
357
+ return false;
358
+ }
 
 
 
 
359
 
360
+ $("#wple-scanner-iframe").fadeOut('fast');
361
+ $("#wple-scanresults").html(response);
362
+ $(".wple-scan").text('COMPLETED');
363
 
364
+ $('.wple-tooltip').each(function () {
365
+ var $this = $(this);
366
+
367
+ tippy('.wple-tooltip:not(.bottom)', {
368
+ //content: $this.attr('data-content'),
369
+ placement: 'top',
370
+ onShow(instance) {
371
+ instance.popper.hidden = instance.reference.dataset.tippy ? false : true;
372
+ instance.setContent(instance.reference.dataset.tippy);
373
+ }
374
+ //arrow: false
375
+ });
376
  });
377
+
378
+ }
379
 
380
  }
381
  });
617
  var $existing_score = $scorebar.attr("data-width");
618
  var $new_score;
619
 
620
+ if (response == '1') {
621
+
622
+ $this.removeAttr('checked');
623
+ $(".wple-setting-error").fadeIn('fast');
624
+ return false;
625
+
626
+ } else if (response > 0) {
627
  $new_score = parseInt($existing_score) + 10;
628
 
629
  $scorebar.animate({
634
 
635
  $("li." + $opt + " span").removeClass("wple-no").addClass("wple-yes").text("Yes");
636
  colorSwitch($new_score);
 
 
 
637
 
638
  } else if (response < 0) {
639
 
650
  } else if (response == 'htaccessnotwritable') {
651
  alert(".htaccess file not writable! Please change .htaccess file permission to 644 in order to implement security headers.")
652
  $this.removeAttr("checked");
653
+ return false;
654
  }
655
 
656
  $(".wple-score").text($new_score);
admin/le_admin.php CHANGED
@@ -29,8 +29,10 @@
29
  *
30
  * @since 5.1.1
31
  */
32
- require_once plugin_dir_path( __DIR__ ) . 'vendor/autoload.php';
33
- use WPLEClient\LEFunctions ;
 
 
34
  require_once WPLE_DIR . 'classes/le-core.php';
35
  require_once WPLE_DIR . 'classes/le-subdir-challenge.php';
36
  /**
@@ -41,322 +43,326 @@ require_once WPLE_DIR . 'classes/le-subdir-challenge.php';
41
  */
42
  class WPLE_Admin
43
  {
44
- private $FIREWALL ;
45
- public function __construct()
46
- {
47
- add_action( 'admin_enqueue_scripts', array( $this, 'wple_admin_styles' ) );
48
- add_action( 'admin_menu', array( $this, 'wple_admin_menu_page' ) );
49
- add_action(
50
- 'before_wple_admin_form',
51
- array( $this, 'wple_debug_log' ),
52
- 20,
53
- 1
54
- );
55
- add_action( 'admin_init', array( $this, 'wple_admin_init_hooks' ) );
56
- add_action( 'plugins_loaded', array( $this, 'wple_load_plugin_textdomain' ) );
57
- $show_rev = get_option( 'wple_show_review' );
58
- if ( $show_rev != FALSE && $show_rev == 1 ) {
59
- add_action( 'admin_notices', array( $this, 'wple_rateus' ) );
60
- }
61
- if ( FALSE !== get_option( 'wple_show_reminder' ) ) {
62
- add_action( 'admin_notices', [ $this, 'wple_reminder_notice' ] );
63
- }
64
- if ( FALSE !== get_option( 'wple_mixed_issues' ) ) {
65
- //since 5.3.12
66
- add_action( 'admin_notices', [ $this, 'wple_mixed_content_notice' ] );
67
- }
68
- if ( isset( $_GET['successnotice'] ) ) {
69
- add_action( 'admin_notices', array( $this, 'wple_success_notice' ) );
70
- }
71
- add_action( 'wple_show_reviewrequest', array( $this, 'wple_set_review_flag' ) );
72
- add_action( 'wp_ajax_wple_dismiss', array( $this, 'wple_dismiss_notice' ) );
73
- add_action( 'wp_ajax_wple_admin_dnsverify', [ $this, 'wple_ajx_verify_dns' ] );
74
- add_action( 'wple_ssl_reminder_notice', [ $this, 'wple_start_show_reminder' ] );
75
- add_action( 'wp_ajax_wple_admin_httpverify', [ $this, 'wple_ajx_verify_http' ] );
76
- add_action( 'wp_ajax_wple_validate_ssl', [ $this, 'wple_validate_nocp_ssl' ] );
77
- add_action( 'wp_ajax_wple_getcert_for_copy', [ $this, 'wple_retrieve_certs_forcopy' ] );
78
- add_action( 'wp_ajax_wple_include_www', [ $this, 'wple_include_www_check' ] );
79
  }
80
-
81
- /**
82
- * Enqueue admin styles
83
- *
84
- * @since 1.0.0
85
- * @return void
86
- */
87
- public function wple_admin_styles()
88
- {
89
- wp_enqueue_style(
90
- WPLE_NAME,
91
- WPLE_URL . 'admin/css/le-admin.min.css',
92
- FALSE,
93
- WPLE_PLUGIN_VERSION,
94
- 'all'
95
- );
96
- wp_enqueue_script(
97
- WPLE_NAME . '-popper',
98
- WPLE_URL . 'admin/js/popper.min.js',
99
- array( 'jquery' ),
100
- WPLE_PLUGIN_VERSION,
101
- true
102
- );
103
- wp_enqueue_script(
104
- WPLE_NAME . '-tippy',
105
- WPLE_URL . 'admin/js/tippy-bundle.iife.min.js',
106
- array( 'jquery' ),
107
- WPLE_PLUGIN_VERSION,
108
- true
109
- );
110
- wp_enqueue_script(
111
- WPLE_NAME,
112
- WPLE_URL . 'admin/js/le-admin.js',
113
- array( 'jquery', WPLE_NAME . '-tippy', WPLE_NAME . '-popper' ),
114
- WPLE_PLUGIN_VERSION,
115
- true
116
- );
117
- wp_enqueue_script(
118
- WPLE_NAME . '-fs',
119
- 'https://checkout.freemius.com/checkout.min.js',
120
- array( 'jquery' ),
121
- WPLE_PLUGIN_VERSION,
122
- false
123
- );
124
- wp_localize_script( WPLE_NAME, 'SCAN', array(
125
- 'adminajax' => admin_url( '/admin-ajax.php' ),
126
- 'base' => site_url( '/', 'https' ),
127
- ) );
128
  }
129
-
130
- /**
131
- * Register plugin page
132
- *
133
- * @since 1.0.0
134
- * @return void
135
- */
136
- public function wple_admin_menu_page()
137
- {
138
- add_menu_page(
139
- WPLE_NAME,
140
- WPLE_NAME,
141
- 'manage_options',
142
- WPLE_SLUG,
143
- array( $this, 'wple_menu_page' ),
144
- plugin_dir_url( __DIR__ ) . 'admin/assets/icon.png',
145
- 100
146
- );
147
  }
148
-
149
- public function wple_load_plugin_textdomain()
150
- {
151
- load_plugin_textdomain( 'wp-letsencrypt-ssl', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' );
152
  }
153
-
154
- /**
155
- * Plugin page HTML
156
- *
157
- * @since 1.0.0
158
- * @return void
159
- */
160
- public function wple_menu_page()
161
- {
162
-
163
- if ( FALSE === get_option( 'wple_version' ) ) {
164
- delete_option( 'wple_plan_choose' );
165
- update_option( 'wple_version', WPLE_PLUGIN_VERSION );
166
- } else {
167
-
168
- if ( version_compare( get_option( 'wple_version' ), '5.6.1', '<=' ) ) {
169
- delete_option( 'wple_plan_choose' );
170
- update_option( 'wple_version', WPLE_PLUGIN_VERSION );
171
- }
172
-
173
- }
174
-
175
- $this->wple_subdir_ipaddress();
176
- $eml = '';
177
- $leopts = get_option( 'wple_opts' );
178
- if ( $opts = get_option( 'wple_opts' ) ) {
179
- $eml = ( isset( $opts['email'] ) ? $opts['email'] : '' );
180
- }
181
- $pluginmode = 'FREE';
182
- $errorclass = '';
183
-
184
- if ( !wple_fs()->is__premium_only() && wple_fs()->can_use_premium_code() ) {
185
- $pluginmode = 'FREE plugin with PRO License <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Please upload and activate PRO plugin file on PLUGINS page"></span>';
186
- $errorclass = ' notproerror';
187
- }
188
-
189
-
190
- if ( wple_fs()->is__premium_only() && !wple_fs()->can_use_premium_code() ) {
191
- $pluginmode = 'PRO plugin with FREE License <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Please activate PRO license key via Account page or Activate License option under the plugin in PLUGINS page"></span>';
192
- $errorclass = ' notproerror';
193
- }
194
-
195
- $html = '
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  <div class="wple-header">
197
  <div>
198
  <img src="' . WPLE_URL . 'admin/assets/logo.png" class="wple-logo"/> <span class="wple-version">v' . WPLE_PLUGIN_VERSION . ' <span class="wple-pmode' . $errorclass . '">' . $pluginmode . '</span></span>
199
  </div>';
200
- WPLE_Trait::wple_headernav( $html );
201
- $html .= '</div>';
202
-
203
- if ( FALSE === get_option( 'wple_plan_choose' ) || isset( $_GET['comparison'] ) ) {
204
- $this->wple_initial_quick_pricing( $html );
205
- return;
206
- }
207
-
208
- //5.1.0
209
- $complete = ( FALSE !== get_option( 'wple_complete' ) ? 1 : 0 );
210
-
211
- if ( $complete ) {
212
- $html .= '<div id="wple-sslgen">';
213
- $this->wple_completed_block( $html );
214
- $html .= '</div>';
215
- if ( !wple_fs()->is__premium_only() || !wple_fs()->can_use_premium_code() ) {
216
- $this->wple_upgrade_block( $html );
217
- }
218
- echo $html ;
219
- return;
220
- }
221
-
222
- $this->wple_success_block( $html );
223
- $this->wple_error_block( $html );
224
- if ( !isset( $_GET['wpleauto'] ) && isset( $_GET['subdir'] ) ) {
225
- $this->wple_subdir_challenges( $html, $leopts );
226
- }
227
-
228
- if ( !wple_fs()->is__premium_only() || !wple_fs()->can_use_premium_code() ) {
229
-
230
- if ( isset( $_GET['subdir'] ) ) {
231
- $this->wple_upgrade_block( $html );
232
- echo $html ;
233
- return;
234
- }
235
-
236
-
237
- if ( isset( $_GET['success'] ) ) {
238
- $this->wple_upgrade_block( $html );
239
- echo $html ;
240
- return;
241
- }
242
-
243
- }
244
-
245
- $mappeddomain = '';
246
- $formheader = esc_html__( 'SSL INSTALL FORM - ENTER YOUR EMAIL BELOW AND GENERATE SSL', 'wp-letsencrypt-ssl' );
247
- $currentdomain = esc_html( str_ireplace( array( 'http://', 'https://' ), array( '', '' ), site_url() ) );
248
- $maindomain = $currentdomain;
249
- $slashpos = stripos( $currentdomain, '/' );
250
-
251
- if ( FALSE !== $slashpos ) {
252
- //subdir installation
253
- $maindomain = substr( $currentdomain, 0, $slashpos );
254
- $mappeddomain = '<label style="display: block; padding: 10px 5px; color: #aaa;font-size:15px;">' . esc_html__( 'PRIMARY DOMAIN', 'wp-letsencrypt-ssl' ) . '</label>
255
- <p style="width: 800px; max-width:100%; margin: 5px auto 20px;">' . WPLE_Trait::wple_kses( sprintf( __( '<strong>NOTE:</strong> Since you are willing to install SSL certificate for sub-directory site, SSL certificate will be generated for your primary domain <strong>%s</strong> which will cover your primary domain + ALL sub-directory sites.', 'wp-letsencrypt-ssl' ), $maindomain ) ) . '</p>
256
- <input type="text" name="wple_domain" class="wple-domain-input" value="' . esc_attr( $maindomain ) . '" readonly><br />';
257
- }
258
-
259
- //since 5.3.4
260
- $tempdomain = '';
261
- if ( FALSE !== stripos( $maindomain, 'temp.domains' ) ) {
262
- $tempdomain = '<p style="width: 800px; max-width:100%; margin: 5px auto 20px;">' . sprintf(
263
- esc_html__( "%sWARNING:%s You are trying to install SSL for %stemporary domain%s which is not possible. Please point your real domain like wpencryption.com to your site and update your site url in %ssettings%s > %sgeneral%s before you could generate SSL.", "wp-letsencrypt-ssl" ),
264
- "<strong>",
265
- "</strong>",
266
- "<strong>",
267
- "</strong>",
268
- "<strong>",
269
- "</strong>",
270
- "<strong>",
271
- "</strong>"
272
- ) . '</p>';
273
- }
274
- if ( isset( $leopts['type'] ) && $leopts['type'] == 'wildcard' ) {
275
- $html .= '<script>
276
  jQuery(document).ready(function(){
277
  jQuery(".single-wildcard-switch").trigger("click");
278
  });
279
  </script>';
280
- }
281
- $html .= '<div id="wple-sslgen">
282
  <h2>' . $formheader . '</h2>';
283
- if ( is_multisite() && !wple_fs()->can_use_premium_code__premium_only() ) {
284
- $html .= '<p class="wple-multisite">' . WPLE_Trait::wple_kses( __( 'Upgrade to <strong>PRO</strong> version to avail Wildcard SSL support for multisite and ability to install SSL for mapped domains (different domain names).', 'wp-letsencrypt-ssl' ) ) . '</p>';
285
- }
286
- $html .= WPLE_Trait::wple_progress_bar();
287
- //$cname = '';
288
- //if (FALSE === stripos($currentdomain, '/')) {
289
- // if (stripos($currentdomain, 'www') === FALSE) {
290
- // $cname = '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__("Add a CNAME with name 'www' pointing to your non-www domain", 'wp-letsencrypt-ssl') . '. ' . esc_attr__("Refer FAQ if you want to generate SSL for both www & non-www domain.", 'wp-letsencrypt-ssl') . '"></span>';
291
- // } else {
292
- //$cname = '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__("Refer FAQ if you want to generate SSL for both www & non-www domain.", 'wp-letsencrypt-ssl') . '"></span>';
293
- //}
294
- //}
295
- $bothchecked = '';
296
- $leadminform = '<form method="post" class="le-genform single-genform">' . $mappeddomain . $tempdomain . '
297
- <input type="email" name="wple_email" class="wple_email" value="' . esc_attr( $eml ) . '" placeholder="' . esc_attr__( 'Enter your email address', 'wp-letsencrypt-ssl' ) . '" ><br />';
298
- // if (FALSE === stripos('www', $maindomain)) {
299
- // $altdomain = 'www.' . $maindomain;
300
- // } else {
301
- // $altdomain = str_ireplace('www.', '', $maindomain);
302
- // }
303
- // $altdomaintest = wp_remote_head('http://' . $altdomain, array('sslverify' => false, 'timeout' => 30));
304
- ///if (!is_wp_error($altdomaintest) || isset($_GET['includewww'])) {
305
- $leadminform .= '<span class="lecheck">
306
  <label class="checkbox-label">
307
  <input type="checkbox" name="wple_include_www" class="wple_include_www" value="1" ' . $bothchecked . '>
308
  <span class="checkbox-custom rectangular"></span>
309
  </label>
310
- ' . esc_html__( 'Generate SSL Certificate for both www & non-www version of domain', 'wp-letsencrypt-ssl' ) . '&nbsp; <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__( "Before enabling this - please make sure both www & non-www version of your domain works!. Add a CNAME with name 'www' pointing to your non-www domain in your domain DNS zone editor", 'wp-letsencrypt-ssl' ) . '"></span></label>
311
  </span><br />';
312
- ///}
313
-
314
- if ( isset( $_GET['includeemail'] ) ) {
315
- $leadminform .= '<span class="lecheck">
316
  <label class="checkbox-label">
317
  <input type="checkbox" name="wple_include_mail" class="wple_include_mail" value="1">
318
  <span class="checkbox-custom rectangular"></span>
319
  </label>
320
- ' . esc_html__( 'Secure POP/IMAP email server', 'wp-letsencrypt-ssl' ) . '&nbsp; <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . sprintf( esc_attr__( "This option will secure %s but DNS based domain verification is MANDATORY", 'wp-letsencrypt-ssl' ), 'mail.' . $maindomain ) . '"></span></label>
321
  </span><br />';
322
- $webmail = 'webmail.' . $maindomain;
323
- $leadminform .= '<span class="lecheck">
324
  <label class="checkbox-label">
325
  <input type="checkbox" name="wple_include_webmail" class="wple_include_webmail" value="1">
326
  <span class="checkbox-custom rectangular"></span>
327
  </label>
328
- ' . sprintf( esc_html__( 'Secure %s', 'wp-letsencrypt-ssl' ), $webmail ) . '&nbsp; <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . sprintf( esc_attr__( "This option will secure %s but DNS based domain verification is MANDATORY", 'wp-letsencrypt-ssl' ), $webmail ) . '"></span></label>
329
  </span><br />';
330
- }
331
-
332
- $leadminform .= '<span class="lecheck">
333
  <label class="checkbox-label">
334
  <input type="checkbox" name="wple_send_usage" value="1" checked>
335
  <span class="checkbox-custom rectangular"></span>
336
  </label>
337
- ' . esc_html__( 'Anonymously send response data to get better support', 'wp-letsencrypt-ssl' ) . '</label>
338
  </span><br />';
339
- $leadminform .= '<span class="lecheck">
340
  <label class="checkbox-label">
341
  <input type="checkbox" name="wple_agree_le_tos" class="wple_agree_le" value="1">
342
  <span class="checkbox-custom rectangular"></span>
343
  </label>
344
- ' . WPLE_Trait::wple_kses( sprintf( __( "I agree to <b>Let's Encrypt</b> %sTerms of service%s", "wp-letsencrypt-ssl" ), '<a href="' . esc_attr__( 'https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf', 'wp-letsencrypt-ssl' ) . '" rel="nofollow" target="_blank" style="margin-left:5px">', '</a>' ), 'a' ) . '
 
 
 
 
 
 
345
  </span>
346
  <span class="lecheck">
347
  <label class="checkbox-label">
348
  <input type="checkbox" name="wple_agree_gws_tos" class="wple_agree_gws" value="1">
349
  <span class="checkbox-custom rectangular"></span>
350
  </label>
351
- ' . WPLE_Trait::wple_kses( sprintf( __( "I agree to <b>WP Encryption</b> %sTerms of service%s", "wp-letsencrypt-ssl" ), '<a href="https://gowebsmarty.com/terms-and-conditions/" rel="nofollow" target="_blank" style="margin-left:5px">', '</a>' ), 'a' ) . '
352
  </span>
353
  ' . wp_nonce_field(
354
- 'legenerate',
355
- 'letsencrypt',
356
- false,
357
- false
358
- ) . '
359
- <button type="submit" name="generate-certs" id="singledvssl">' . esc_html__( 'Generate SSL Certificate', 'wp-letsencrypt-ssl' ) . '</button>
360
  </form>
361
 
362
  <div id="wple-error-popper">
@@ -365,431 +371,442 @@ class WPLE_Admin
365
  <div class="wple-error">Error</div>
366
  </div>
367
  </div>';
368
- $nonwww = str_ireplace( 'www.', '', $currentdomain );
369
- if ( FALSE !== ($ps = stripos( $nonwww, '/' )) ) {
370
- $nonwww = substr( $nonwww, 0, $ps );
371
- }
372
- $wwwdomain = 'www.' . $nonwww;
373
-
374
- if ( FALSE != stripos( $currentdomain, 'www.' ) ) {
375
- $wwwdomain = $nonwww;
376
- $nonwww = 'www.' . $nonwww;
377
- }
378
-
379
- $showonpro = '';
380
- $html .= '<div class="wple-single-dv-ssl">
381
  <div class="wple-info-box">
382
- <h3>' . esc_html__( 'Domains Covered', 'wp-letsencrypt-ssl' ) . '</h3>
383
  <strong>' . $nonwww . '</strong>
384
  <div class="wple-www' . $showonpro . '"><strong>' . $wwwdomain . '</strong></div>
385
  <div class="wple-wc"><strong>*.' . $nonwww . '</strong></div>
386
  </div>';
387
- ob_start();
388
- do_action( 'before_wple_admin_form', $html );
389
- $html .= ob_get_contents();
390
- ob_end_clean();
391
- $html .= apply_filters( 'wple_admin_form', $leadminform );
392
- ob_start();
393
- do_action( 'after_wple_admin_form', $html );
394
- $html .= ob_get_contents();
395
- ob_end_clean();
396
- $html .= '</div>';
397
- $prosupport = WPLE_Trait::wple_kses( sprintf( __( 'Brought to you by %sWP Encryption%s.' ), '<a href="https://wpencryption.com" target="_blank">', '</a>' ), 'a' );
398
- $html .= '
399
  <div class="le-powered">
400
- <span>' . $prosupport . ' ' . WPLE_Trait::wple_kses( sprintf( 'SSL Certificate will be generated by %s (An open certificate authority).', "<b>Let's Encrypt</b>" ) ) . '</span>
401
  </div>';
402
- $html .= '
403
  </div><!--wple-sslgen-->';
404
-
405
- if ( !wple_fs()->is__premium_only() || !wple_fs()->can_use_premium_code() ) {
406
- $this->wple_upgrade_block( $html );
407
- } else {
408
- $this->wple_expert_block( $html );
409
- }
410
-
411
- echo $html ;
412
  }
413
-
414
- /**
415
- * log process & error in debug.log file
416
- *
417
- * @since 1.0.0
418
- * @param string $html
419
- * @return void
420
- */
421
- public function wple_debug_log( $html )
422
- {
423
-
424
- if ( !file_exists( WPLE_DEBUGGER ) ) {
425
- wp_mkdir_p( WPLE_DEBUGGER );
426
- $htacs = '<Files debug.log>' . "\n" . 'Order allow,deny' . "\n" . 'Deny from all' . "\n" . '</Files>';
427
- file_put_contents( WPLE_DEBUGGER . '.htaccess', $htacs );
428
- }
429
-
430
- //show only upon error since 4.6.0
431
-
432
- if ( isset( $_GET['error'] ) ) {
433
- $html = '<div class="toggle-debugger"><span class="dashicons dashicons-arrow-down-alt2"></span> ' . esc_html__( 'Show/hide full response', 'wp-letsencrypt-ssl' ) . '</div>';
434
- $file = WPLE_DEBUGGER . 'debug.log';
435
-
436
- if ( file_exists( $file ) ) {
437
- $log = file_get_contents( $file );
438
- $hideh2 = '';
439
- if ( isset( $_GET['dnsverified'] ) || isset( $_GET['dnsverify'] ) ) {
440
- $hideh2 = 'hideheader';
441
- }
442
- $html .= '<div class="le-debugger running ' . $hideh2 . '"><h3>' . esc_html__( 'Response Log', 'wp-letsencrypt-ssl' ) . ':</h3>' . wp_kses_post( nl2br( $log ) ) . '</div>';
443
- } else {
444
- $html .= '<div class="le-debugger">' . esc_html__( "Full response will be shown here", 'wp-letsencrypt-ssl' ) . '</div>';
445
- }
446
-
447
- echo $html ;
448
- }
449
-
450
  }
451
-
452
- /**
453
- * Save email & proceed upon clicking install SSL
454
- *
455
- * @since 1.0.0
456
- * @return void
457
- */
458
- public function wple_save_email_generate_certs()
459
- {
460
- //since 2.4.0
461
- //force https upon success
462
-
463
- if ( isset( $_POST['wple-https'] ) ) {
464
- if ( !wp_verify_nonce( $_POST['sslready'], 'wplehttps' ) || !current_user_can( 'manage_options' ) ) {
465
- exit( 'Unauthorized access' );
466
- }
467
- $basedomain = str_ireplace( array( 'http://', 'https://' ), array( '', '' ), addslashes( site_url() ) );
468
- //4.7
469
- if ( FALSE != stripos( $basedomain, '/' ) ) {
470
- $basedomain = substr( $basedomain, 0, stripos( $basedomain, '/' ) );
471
- }
472
- $client = WPLE_Trait::wple_verify_ssl( $basedomain );
473
-
474
- if ( !$client && !is_ssl() ) {
475
- wp_redirect( admin_url( '/admin.php?page=wp_encryption&success=1&nossl=1', 'http' ) );
476
- exit;
477
- }
478
-
479
- // $SSLCheck = @fsockopen("ssl://" . $basedomain, 443, $errno, $errstr, 30);
480
- // if (!$SSLCheck) {
481
- // wp_redirect(admin_url('/admin.php?page=wp_encryption&success=1&nossl=1', 'http'));
482
- // exit();
483
- // }
484
- $reverter = uniqid( 'wple' );
485
- $savedopts = get_option( 'wple_opts' );
486
- $savedopts['force_ssl'] = 1;
487
- $savedopts['revertnonce'] = $reverter;
488
- WPLE_Trait::wple_send_reverter_secret( $reverter );
489
- update_option( 'wple_opts', $savedopts );
490
- delete_option( 'wple_error' );
491
- //complete
492
- update_option( 'wple_complete', 1 );
493
- update_option( 'siteurl', str_ireplace( 'http:', 'https:', get_option( 'siteurl' ) ) );
494
- update_option( 'home', str_ireplace( 'http:', 'https:', get_option( 'home' ) ) );
495
- wp_redirect( admin_url( '/admin.php?page=wp_encryption', 'https' ) );
496
- exit;
497
- }
498
-
499
- //single domain ssl
500
-
501
- if ( isset( $_POST['generate-certs'] ) ) {
502
- if ( !wp_verify_nonce( $_POST['letsencrypt'], 'legenerate' ) || !current_user_can( 'manage_options' ) ) {
503
- die( 'Unauthorized request' );
504
- }
505
- if ( empty($_POST['wple_email']) ) {
506
- wp_die( esc_html__( 'Please input valid email address', 'wp-letsencrypt-ssl' ) );
507
- }
508
- $leopts = array(
509
- 'email' => sanitize_email( $_POST['wple_email'] ),
510
- 'date' => date( 'd-m-Y' ),
511
- 'expiry' => '',
512
- 'type' => 'single',
513
- 'send_usage' => ( isset( $_POST['wple_send_usage'] ) ? 1 : 0 ),
514
- 'include_www' => ( isset( $_POST['wple_include_www'] ) ? 1 : 0 ),
515
- 'include_mail' => ( isset( $_POST['wple_include_mail'] ) ? 1 : 0 ),
516
- 'include_webmail' => ( isset( $_POST['wple_include_webmail'] ) ? 1 : 0 ),
517
- 'agree_gws_tos' => ( isset( $_POST['wple_agree_gws_tos'] ) ? 1 : 0 ),
518
- 'agree_le_tos' => ( isset( $_POST['wple_agree_le_tos'] ) ? 1 : 0 ),
519
- );
520
-
521
- if ( isset( $_POST['wple_domain'] ) && !is_multisite() ) {
522
- $leopts['subdir'] = 1;
523
- $leopts['domain'] = sanitize_text_field( $_POST['wple_domain'] );
524
- }
525
-
526
- update_option( 'wple_opts', $leopts );
527
- new WPLE_Core( $leopts );
528
- }
529
-
530
  }
531
-
532
- /**
533
- * Download cert files based on clicked link
534
- *
535
- * certs for multisite mapped domains cannot be downloaded yet
536
- * @since 1.0.0
537
- * @return void
538
- */
539
- public function wple_download_files()
540
- {
541
-
542
- if ( isset( $_GET['le'] ) && current_user_can( 'manage_options' ) ) {
543
- switch ( $_GET['le'] ) {
544
- case '1':
545
- $file = uniqid() . '-cert.crt';
546
- file_put_contents( $file, file_get_contents( ABSPATH . 'keys/certificate.crt' ) );
547
- break;
548
- case '2':
549
- $file = uniqid() . '-key.pem';
550
- file_put_contents( $file, file_get_contents( ABSPATH . 'keys/private.pem' ) );
551
- break;
552
- case '3':
553
- $file = uniqid() . '-cabundle.crt';
554
-
555
- if ( file_exists( ABSPATH . 'keys/cabundle.crt' ) ) {
556
- $cabundlefile = file_get_contents( ABSPATH . 'keys/cabundle.crt' );
557
- } else {
558
- $cabundlefile = file_get_contents( WPLE_DIR . 'cabundle/ca.crt' );
559
- }
560
-
561
- file_put_contents( $file, $cabundlefile );
562
- break;
563
- }
564
- header( 'Content-Description: File Transfer' );
565
- header( 'Content-Type: text/plain' );
566
- header( 'Content-Length: ' . filesize( $file ) );
567
- header( 'Content-Disposition: attachment; filename=' . basename( $file ) );
568
- readfile( $file );
569
- if ( file_exists( $file ) ) {
570
- unlink( $file );
571
- }
572
- exit;
573
- }
574
-
 
 
 
575
  }
576
-
577
- /**
578
- * Rate us admin notice
579
- *
580
- * @since 2.0.0
581
- * @return void
582
- */
583
- public function wple_rateus()
584
- {
585
- $cert = ABSPATH . 'keys/certificate.crt';
586
-
587
- if ( file_exists( $cert ) ) {
588
- if ( isset( $_GET['page'] ) && $_GET['page'] == 'wp_encryption' ) {
589
- return;
590
- }
591
- $reviewnonce = wp_create_nonce( 'wplereview' );
592
- $html = '<div class="notice notice-info wple-admin-review">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
593
  <div class="wple-review-box">
594
  <img src="' . WPLE_URL . 'admin/assets/symbol.png"/>
595
- <span><strong>' . esc_html__( 'Congratulations!', 'wp-letsencrypt-ssl' ) . '</strong><p>' . WPLE_Trait::wple_kses( __( 'SSL certificate generated successfully!. <b>WP Encryption</b> just saved you several $$$ by generating free SSL certificate in record time!. Could you please do us a BIG favor & rate us with 5 star review to support further development of this plugin.', 'wp-letsencrypt-ssl' ) ) . '</p></span>
596
  </div>
597
- <a class="wple-lets-review wplerevbtn" href="https://wordpress.org/support/plugin/wp-letsencrypt-ssl/reviews/#new-post" rel="nofollow noopener" target="_blank">' . esc_html__( 'Rate plugin', 'wp-letsencrypt-ssl' ) . '</a>
598
- <a class="wple-did-review wplerevbtn" href="#" data-nc="' . esc_attr( $reviewnonce ) . '" data-action="1">' . esc_html__( 'I already did', 'wp-letsencrypt-ssl' ) . '&nbsp;<span class="dashicons dashicons-smiley"></span></a>
599
- <a class="wple-later-review wplerevbtn" href="#" data-nc="' . esc_attr( $reviewnonce ) . '" data-action="2">' . esc_html__( 'Remind me later', 'wp-letsencrypt-ssl' ) . '&nbsp;<span class="dashicons dashicons-clock"></span></a>
600
  </div>';
601
- echo $html ;
602
- }
603
-
604
  }
605
-
606
- /**
607
- * Check if wp install is IP or subdir based
608
- *
609
- * @since 2.4.0
610
- * @return void
611
- */
612
- public function wple_subdir_ipaddress()
613
- {
614
- $siteURL = str_ireplace( array( 'http://', 'https://', 'www.' ), array( '', '', '' ), site_url() );
615
- $flg = 0;
616
- if ( filter_var( $siteURL, FILTER_VALIDATE_IP ) ) {
617
- $flg = 1;
618
- }
619
- if ( FALSE !== stripos( $siteURL, 'localhost' ) ) {
620
- $flg = 1;
621
- }
622
-
623
- if ( FALSE != stripos( $siteURL, '/' ) && is_multisite() ) {
624
- $html = '<div class="wrap" id="le-wrap">
 
625
  <div class="le-inner">
626
  <div class="wple-header">
627
- <img src="' . WPLE_URL . 'admin/assets/logo.png" class="wple-logo"/> <span class="wple-version">v' . esc_html( WPLE_PLUGIN_VERSION ) . '</span>
628
  </div>
629
  <div class="wple-warning-notice">
630
- <h2>' . esc_html__( 'You do not need to install SSL for each sub-directory site in multisite, Please install SSL for your primary domain and it will cover ALL sub directory sites too.', 'wp-letsencrypt-ssl' ) . '</h2>
631
  </div>
632
  </div>
633
  </div>';
634
- echo $html ;
635
- wp_die();
636
- }
637
-
638
-
639
- if ( $flg ) {
640
- $html = '<div class="wrap" id="le-wrap">
641
  <div class="le-inner">
642
  <div class="wple-header">
643
- <img src="' . WPLE_URL . 'admin/assets/logo.png" class="wple-logo"/> <span class="wple-version">v' . esc_html( WPLE_PLUGIN_VERSION ) . '</span>
644
  </div>
645
  <div class="wple-warning-notice">
646
- <h2>' . esc_html__( 'SSL Certificates cannot be issued for localhost and IP address based WordPress site. Please use this on your real domain based WordPress site.', 'wp-letsencrypt-ssl' ) . ' ' . esc_html__( 'This restriction is not implemented by WP Encryption but its how SSL certificates work.', 'wp-letsencrypt-ssl' ) . '</h2>
647
  </div>
648
  </div>
649
  </div>';
650
- echo $html ;
651
- wp_die();
652
- }
653
-
654
  }
655
-
656
- /**
657
- * Upgrade to PRO
658
- *
659
- * @param string $html
660
- * @since 2.5.0
661
- * @return void
662
- */
663
- public function wple_upgrade_block( &$html )
664
- {
665
- $upgradeurl = admin_url( '/admin.php?page=wp_encryption-pricing' );
666
- ///$upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd&coupon=FIRSTBUY');
667
- $nopricing = get_option( 'wple_no_pricing' );
668
- $automatic = esc_html__( 'Automatic', 'wp-letsencrypt-ssl' );
669
- $manual = esc_html__( 'Manual', 'wp-letsencrypt-ssl' );
670
- $domain = str_ireplace( array( 'https://', 'http://', 'www.' ), '', site_url() );
671
- $dverify = $automatic;
672
- if ( stripos( $domain, '/' ) != FALSE ) {
673
- //subdir site
674
- $dverify = $manual;
675
- }
676
- $html .= '
 
 
 
 
 
 
 
 
677
  <div id="wple-upgradepro">';
678
-
679
- if ( FALSE !== ($cp = get_option( 'wple_have_cpanel' )) && $cp ) {
680
- $html .= '<strong style="display: block; text-align: center; color: #666;">Woot Woot! You have <b>CPANEL</b>! Why struggle with manual SSL renewal every 90 days? - Enjoy 100% automation with PRO version.</strong>';
681
- ///$upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd');
682
- }
683
-
684
- $compareurl = 'https://wpencryption.com?utm_source=wordpress&utm_medium=comparison&utm_campaign=wpencryption';
685
- //$compareurl = admin_url('/admin.php?page=wp_encryption&comparison=1');
686
-
687
- if ( FALSE != $nopricing ) {
688
- $compareurl = admin_url( '/admin.php?page=wp_encryption&comparison=1' );
689
- //$upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=11394&plan_name=pro&billing_cycle=annual&pricing_id=11717&currency=usd');
690
- $html .= '<div class="wple-error-firewall fire-pro wple-procdn">
 
 
691
  <div>
692
  <img src="' . WPLE_URL . 'admin/assets/firewall-shield-pro.png"/>
693
  </div>
694
  <div class="wple-upgrade-features">
695
- <span><b>Automatic SSL Installation</b><br>Hassle free automatic installation of Premium SSL Certificate - No configuration required.</span>
696
  <span><b>Automatic SSL Renewal</b><br>Your SSL certificate will be automatically renewed in background without the need of any action or manual work.</span>
697
- <span><b>Security</b><br>Protection against known vulnerabilities, Bad Bots, Brute Force, DDOS, Spam & much more attack vectors.</span>
698
- <span><b>Automatic CDN</b><br>Your site is served from 42 full scale edge locations for faster content delivery and faster performance.</span>
699
  </div>
700
  </div>';
701
- } else {
702
- $html .= '<div class="wple-plans">
703
- <span class="free">* ' . esc_html__( 'FREE', 'wp-letsencrypt-ssl' ) . '</span>
704
- <span class="pro">* ' . esc_html__( 'PRO', 'wp-letsencrypt-ssl' ) . '</span>
705
  </div>
706
  <div class="wple-plan-compare">
707
  <div class="wple-compare-item">
708
  <img src="' . WPLE_URL . 'admin/assets/verified.png"/>
709
- <h4>' . esc_html__( 'HTTP Verification', 'wp-letsencrypt-ssl' ) . '</h4>
710
  <span class="wple-free">' . $manual . '</span>
711
  <span class="wple-pro">' . $automatic . '</span>
712
  </div>
713
  <div class="wple-compare-item">
714
  <img src="' . WPLE_URL . 'admin/assets/DNS.png"/>
715
- <h4>' . esc_html__( 'DNS Verification', 'wp-letsencrypt-ssl' ) . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__( 'In case of HTTP verification fail / not possible', 'wp-letsencrypt-ssl' ) . '"></span></h4>
716
  <span class="wple-free">' . $manual . '</span>
717
  <span class="wple-pro">' . $automatic . '</span>
718
  </div>
719
  <div class="wple-compare-item">
720
  <img src="' . WPLE_URL . 'admin/assets/Install.png"/>
721
- <h4>' . esc_html__( 'SSL Installation', 'wp-letsencrypt-ssl' ) . ' <!--<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__( 'PRO - We offer one time free manual support for non-cPanel based sites', 'wp-letsencrypt-ssl' ) . '"></span>--></h4>
722
  <span class="wple-free">' . $manual . '</span>
723
  <span class="wple-pro">' . $automatic . '</span>
724
  </div>
725
  <div class="wple-compare-item">
726
  <img src="' . WPLE_URL . 'admin/assets/renewal.png"/>
727
- <h4>' . esc_html__( 'SSL Renewal', 'wp-letsencrypt-ssl' ) . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__( 'Free users must manually renew / re-generate SSL certificate every 90 days.', 'wp-letsencrypt-ssl' ) . '"></span></h4>
728
  <span class="wple-free">' . $manual . '</span>
729
  <span class="wple-pro">' . $automatic . '</span>
730
  </div>
731
  <div class="wple-compare-item">
732
  <img src="' . WPLE_URL . 'admin/assets/wildcard.png"/>
733
- <h4>' . esc_html__( 'Wildcard SSL', 'wp-letsencrypt-ssl' ) . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__( 'PRO - Your domain DNS must be managed by cPanel or Godaddy for full automation', 'wp-letsencrypt-ssl' ) . '"></span></h4>
734
- <span class="wple-free">' . esc_html__( 'Not Available', 'wp-letsencrypt-ssl' ) . '</span>
735
- <span class="wple-pro">' . esc_html__( 'Available', 'wp-letsencrypt-ssl' ) . '</span>
736
  </div>
737
  <div class="wple-compare-item">
738
  <img src="' . WPLE_URL . 'admin/assets/multisite.png"/>
739
- <h4>' . esc_html__( 'Multisite Support', 'wp-letsencrypt-ssl' ) . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__( 'PRO - Support for Multisite + Mapped domains', 'wp-letsencrypt-ssl' ) . '"></span></h4>
740
- <span class="wple-free">' . esc_html__( 'Not Available', 'wp-letsencrypt-ssl' ) . '</span>
741
- <span class="wple-pro">' . esc_html__( 'Available', 'wp-letsencrypt-ssl' ) . '</span>
742
  </div>
743
  </div>';
744
- }
745
-
746
- ///$html .= '<div style="text-align:center"><img src="' . WPLE_URL . '/admin/assets/new-year.png"></div>';
747
- $html .= '<div class="wple-upgrade-pro">
748
- <a href="' . $compareurl . '" target="_blank" class="wplecompare">' . esc_html__( 'COMPARE FREE & PRO VERSION', 'wp-letsencrypt-ssl' ) . '</a>';
749
- // if (isset($_GET['success']) && FALSE == $nopricing) {
750
- // $html .= '<a href="' . $upgradeurl . '">' . esc_html__('UPGRADE TO PRO', 'wp-letsencrypt-ssl') . '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Requires cPanel or root SSH access"></span></a>
751
- // <a href="https://wpencryption.com/#firewall" target="_blank">' . esc_html__('UPGRADE TO FIREWALL', 'wp-letsencrypt-ssl') . '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Why buy an SSL alone when you can get Premium SSL + CDN + Firewall Security for even lower cost."></span></a>';
752
- // } else {
753
- $html .= '<a href="' . $upgradeurl . '">' . esc_html__( 'UPGRADE TO PRO', 'wp-letsencrypt-ssl' ) . '</a>';
754
- //$html .= '<a href="https://checkout.freemius.com/mode/dialog/plugin/5090/plan/10643/" target="_blank" id="upgradetocdn">' . esc_html__('UPGRADE TO CDN', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Sky rocket your WordPress site performance with Fastest Content Delivery Network + Premium Sectigo SSL"></span></a>';
755
- // }
756
- $html .= '</div>';
757
- // $rnd = rand(0, 1);
758
- // if ($rnd) {
759
- // $html .= '<div class="wple-hire-expert"><a href="https://wpencryption.com/cdn-firewall/?utm_campaign=wpencryptionsite&utm_medium=checkoutcdn&utm_source=upgradeblock" target="_blank">Sky Rocket your site speed with our <strong>CDN</strong> plan (<strong>Includes SSL + Performance</strong>) <span class="dashicons dashicons-external"></span></a></div>';
760
- // } else {
761
- // $html .= '<div class="wple-hire-expert"><a href="https://wpencryption.com/hire-ssl-expert/?utm_campaign=wpencryptionsite&utm_medium=hiresslexpert&utm_source=upgradeblock" target="_blank">Too busy? <b>Hire an expert</b> for secure migration to HTTPS (<b>ONE YEAR PRO LICENSE FREE</b>) <span class="dashicons dashicons-external"></span></a></div>';
762
- // }
763
- $html .= '</div><!--wple-upgradepro-->';
764
  }
765
-
766
- /**
767
- * Success Message block
768
- *
769
- * @param string $html
770
- * @since 2.5.0
771
- * @return void
772
- */
773
- public function wple_success_block( &$html )
774
- {
775
- //since 2.4.0
776
-
777
- if ( isset( $_GET['success'] ) ) {
778
- $this->wple_wellknown_htaccess();
779
- update_option( 'wple_error', 5 );
780
- //all success
781
- $html .= '
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
782
  <div id="wple-sslgenerator">
783
  <div class="wple-success-form">';
784
- if ( !isset( $_GET['resume'] ) && !isset( $_GET['nossl'] ) ) {
785
- $this->wple_send_success_mail();
786
- }
787
- $html .= '<h2><span class="dashicons dashicons-yes"></span>&nbsp;' . WPLE_Trait::wple_kses( __( '<b>Congrats! SSL Certificate have been successfully generated.</b>', 'wp-letsencrypt-ssl' ) ) . '</h2>
788
- <h3 style="width: 87%; margin: 0px auto; color: #7b8279; font-weight:400;">' . WPLE_Trait::wple_kses( __( 'We just completed major task of generating SSL certificate! Now we have ONE final step to complete.', 'wp-letsencrypt-ssl' ) ) . '</h3>';
789
- $html .= WPLE_Trait::wple_progress_bar();
790
- $nopricing = get_option( 'wple_no_pricing' );
791
- //$colclass = FALSE != $nopricing ? 'wple-three-cols' : '';
792
- $html .= '
793
 
794
  <div class="wple-success-flex">
795
  <div class="wple-success-flex-video">
@@ -797,23 +814,23 @@ class WPLE_Admin
797
  </div>
798
  <div class="wple-success-flex-final">
799
  <ul class="download-ssl-certs">
800
- <li>1. ' . sprintf( __( '%sClick here%s to login into your cPanel.', 'wp-letsencrypt-ssl' ), '<a href="' . site_url( 'cpanel' ) . '" target="_blank">', '</a>' ) . '</li>
801
- <li>2. ' . sprintf( __( 'Open %sSSL/TLS%s option on your cPanel', 'wp-letsencrypt-ssl' ), '<strong><img src="' . WPLE_URL . '/admin/assets/tls.png" style="width: 20px;margin-bottom: -5px;">&nbsp;', '</strong>' ) . '</li>
802
- <li>3. ' . sprintf( __( 'Click on %sManage SSL Sites%s option', 'wp-letsencrypt-ssl' ), '<strong>', '</strong>' ) . '</li>
803
  <li>4. ' . sprintf(
804
- __( 'Copy the contents of %sCertificate.crt%s, %sPrivate.pem%s, %sCABundle.crt%s files from below & paste them into its appropriate fields on cPanel', 'wp-letsencrypt-ssl' ),
805
- '<strong>',
806
- '</strong>',
807
- '<strong>',
808
- '</strong>',
809
- '<strong>',
810
- '</strong>'
811
- ) . '. ' . esc_html( "You can also download the cert files to your local computer, right click > open with notepad to view/copy", "wp-letsencrypt-ssl" ) . '</li>
812
  <li>';
813
- WPLE_Trait::wple_copy_and_download( $html );
814
- $html .= '</li>
815
- <li>5. ' . sprintf( __( 'Click on %sInstall certificate%s', 'wp-letsencrypt-ssl' ), '<strong>', '</strong>' ) . '</li>
816
- <li>6. ' . sprintf( __( 'Please wait few minutes and click on %sEnable HTTPS Now%s button', 'wp-letsencrypt-ssl' ), '<strong>', '</strong>' ) . '</li>
817
  </ul>
818
 
819
  </div>
@@ -821,639 +838,598 @@ class WPLE_Admin
821
 
822
  <div class="wple-success-cols wple-three-cols">
823
  <div>
824
- <h3>' . esc_html__( "Don't have cPanel?", 'wp-letsencrypt-ssl' ) . '</h3>
825
- <p>' . esc_html__( "cPanel link goes to 404 not found page?. ", 'wp-letsencrypt-ssl' ) . sprintf(
826
- __( 'If you have root SSH access, edit your server config file and point your SSL paths to %scertificate.crt%s & %sprivate.pem%s files in %skeys/%s folder. Alternatively, Upgrade to %sPRO%s version for automatic SSL installation and automatic SSL renewal.', 'wp-letsencrypt-ssl' ),
827
- '<strong>',
828
- '</strong>',
829
- '<strong>',
830
- '</strong>',
831
- '<strong>',
832
- '</strong>',
833
- '<a href="' . admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd' ) . '"><strong>',
834
- '</strong></a>'
835
- ) . '</p>
836
  </div>
837
  <div>
838
- <h3>' . esc_html__( "Test SSL Installation", 'wp-letsencrypt-ssl' ) . '</h3>
839
- <p>' . esc_html__( "After installing SSL certs on your cPanel, open your site in https:// and click on padlock to see if valid certificate exists. You can also test your site's SSL on SSLLabs.com", "wp-letsencrypt-ssl" ) . '</p>
840
  </div>
841
  <div>
842
- <h3>' . esc_html__( "By Clicking Enable HTTPS", 'wp-letsencrypt-ssl' ) . '</h3>
843
- <p>' . esc_html__( 'Your site & admin url will be changed to https:// and all assets, js, css, images will strictly load over https:// to avoid mixed content errors.', 'wp-letsencrypt-ssl' ) . '</p>
844
  </div>';
845
- // if (FALSE == $nopricing) {
846
- // $html .= '<div>
847
- // <h3>' . esc_html__("Looking for instant SSL solution?", 'wp-letsencrypt-ssl') . '</h3>
848
- // <p>' . sprintf(__('Why pay for an SSL certificate alone when you can get %sPremium Sectigo SSL%s + %sCDN Performance%s + %sSecurity Firewall%s for even lower cost with our %sCDN%s Service.', 'wp-letsencrypt-ssl'), '<strong>', '</strong>', '<strong>', '</strong>', '<strong>', '</strong>', '<a href="https://wpencryption.com/cdn-firewall/?utm_campaign=wpencryption&utm_source=wordpress&utm_medium=gocdn" target="_blank">', '</a>') . '!.</p>
849
- // </div>';
850
- // }
851
- $html .= '</div>
852
 
853
  <ul>
854
- <!--<li>' . WPLE_Trait::wple_kses( __( '<b>Note:</b> Use below "Enable HTTPS" button ONLY after SSL certificate is successfully installed on your cPanel', 'wp-letsencrypt-ssl' ) ) . '</li>-->
855
  </ul>';
856
- if ( isset( $_GET['nossl'] ) ) {
857
- $html .= '<h3 style="color:#ff4343;margin-bottom:10px;">' . esc_html__( 'We could not detect valid SSL certificate installed on your site!. Please try after some time. You can also try opening wp-admin via https:// and click on enable https button.', 'wp-letsencrypt-ssl' ) . '</h3>
858
- <p>' . esc_html__( 'Switching to HTTPS without properly installing the SSL certificate might break your site.', 'wp-letsencrypt-ssl' ) . '</p>';
859
- }
860
- $html .= '<form method="post">
861
  ' . wp_nonce_field(
862
- 'wplehttps',
863
- 'sslready',
864
- false,
865
- false
866
- ) . '
867
- <button type="submit" name="wple-https">' . esc_html__( 'ENABLE HTTPS NOW', 'wp-letsencrypt-ssl' ) . '</button>
868
  </form>
869
  </div>
870
  </div><!--wple-sslgenerator-->';
871
- }
872
-
873
  }
874
-
875
- /**
876
- * Show pending challenges
877
- *
878
- * @return void
879
- */
880
- public function wple_domain_verification()
881
- {
882
- //since 5.1.0
883
-
884
- if ( isset( $_GET['restart'] ) ) {
885
- delete_option( 'wple_error' );
886
- delete_option( 'wple_complete' );
887
- wp_redirect( admin_url( '/admin.php?page=wp_encryption' ), 302 );
888
- exit;
889
- }
890
-
891
-
892
- if ( isset( $_GET['complete'] ) ) {
893
- //Forced SSL completion flag
894
- delete_option( 'wple_error' );
895
- update_option( 'wple_complete', 1 );
896
- update_option( 'wple_backend', 1 );
897
- if ( wp_next_scheduled( 'wple_ssl_renewal' ) ) {
898
- wp_clear_scheduled_hook( 'wple_ssl_renewal' );
899
- }
900
- ///echo "SSL Setup Completed!";
901
- wp_redirect( admin_url( '/admin.php?page=wp_encryption' ), 302 );
902
- exit;
903
- }
904
-
905
- $estage = get_option( 'wple_error' );
906
-
907
- if ( FALSE !== $estage && $estage == 2 && !isset( $_GET['subdir'] ) && !isset( $_GET['error'] ) && !isset( $_GET['includewww'] ) && !isset( $_GET['wpleauto'] ) && isset( $_GET['page'] ) && $_GET['page'] == 'wp_encryption' && !isset( $_GET['success'] ) && !isset( $_GET['wplereset'] ) && !isset( $_GET['comparison'] ) && !isset( $_GET['lasterror'] ) ) {
908
- wp_redirect( admin_url( '/admin.php?page=wp_encryption&subdir=1' ), 302 );
909
- exit;
910
- }
911
-
912
-
913
- if ( FALSE !== $estage && $estage == 5 && !isset( $_GET['subdir'] ) && !isset( $_GET['error'] ) && !isset( $_GET['includewww'] ) && !isset( $_GET['wpleauto'] ) && isset( $_GET['page'] ) && $_GET['page'] == 'wp_encryption' && !isset( $_GET['resume'] ) && !isset( $_GET['nossl'] ) && !isset( $_GET['wplereset'] ) && !isset( $_GET['comparison'] ) && !isset( $_GET['nocpanel'] ) ) {
914
- wp_redirect( admin_url( '/admin.php?page=wp_encryption&success=1&resume=1' ), 302 );
915
- exit;
916
- }
917
-
918
  }
919
-
920
- /**
921
- * Error Message block
922
- *
923
- * @param string $html
924
- * @since 2.5.0
925
- * @return void
926
- */
927
- public function wple_error_block( &$html )
928
- {
929
- if ( !isset( $_GET['subdir'] ) && !isset( $_GET['success'] ) ) {
930
-
931
- if ( isset( $_GET['sperror'] ) ) {
932
- } else {
933
-
934
- if ( isset( $_GET['error'] ) || FALSE != ($error_code = get_option( 'wple_error' )) ) {
935
- $error_code = get_option( 'wple_error' );
936
- $generic = esc_html__( 'There was some issue while generating SSL for your site. Please check debug log or try Reset option once.', 'wp-letsencrypt-ssl' );
937
- $generic .= '<p style="font-size:16px;color:#888">' . sprintf( esc_html__( 'Feel free to open support ticket at %s for any help.', 'wp-letsencrypt-ssl' ), 'https://wordpress.org/support/plugin/wp-letsencrypt-ssl/#new-topic-0' ) . '</p>';
938
- $firerec = sprintf(
939
- esc_html__( "We highly recommend upgrading to our %sPRO%s annual plan for %sPremium SSL%s with automatic %sCDN%s + %sFirewall Security%s that works on ANY host.", 'wp-letsencrypt-ssl' ),
940
- '<a href="' . admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd' ) . '">',
941
- '</a>',
942
- '<strong>',
943
- '</strong>',
944
- '<strong>',
945
- '</strong>',
946
- '<strong>',
947
- '</strong>'
948
- );
949
- $thirdparty = esc_html__( "Your hosting server don't seem to support third party SSL.", "wp-letsencrypt-ssl" );
950
-
951
- if ( FALSE !== $error_code && ($error_code == 1 || $error_code == 400) ) {
952
- $generic .= '<p class="firepro">' . $thirdparty . ' ' . $firerec . '</p>';
953
- } else {
954
- if ( file_exists( ABSPATH . 'keys/certificate.crt' ) ) {
955
- $generic .= '<br><br>' . WPLE_Trait::wple_kses( __( 'You already seem to have certificate generated and stored. Please try downloading certs from <strong>Download SSL Certificates</strong> page and open in a text editor like notepad to check if certificate is not empty.', 'wp-letsencrypt-ssl' ) );
956
- }
957
- }
958
-
959
-
960
- if ( FALSE !== $error_code && $error_code == 429 ) {
961
- $generic = sprintf( esc_html__( 'Too many registration attempts from your IP address (%s). Please try after 2-3 hours.', 'wp-letsencrypt-ssl' ), 'https://letsencrypt.org/docs/rate-limits/' );
962
- $generic .= '<p class="firepro">' . $firerec . '</p>';
963
- $generic .= '<p style="font-size:17px;color:#888">' . sprintf( esc_html__( 'Feel free to open support ticket at %s for any help.', 'wp-letsencrypt-ssl' ), 'https://wordpress.org/support/plugin/wp-letsencrypt-ssl/#new-topic-0' ) . '</p>';
964
- }
965
-
966
- if ( $error_code != 5 ) {
967
- $html .= '
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
968
  <div id="wple-sslgenerator" class="error">
969
  <div class="wple-error-message">
970
  ' . $generic . '
971
  </div>
972
  </div><!--wple-sslgenerator-->';
973
- }
974
- }
975
-
976
- }
977
-
978
  }
 
979
  }
980
-
981
- /**
982
- * Send email to user on success
983
- *
984
- * @since 3.0.0
985
- */
986
- private function wple_send_success_mail()
987
- {
988
- $opts = get_option( 'wple_opts' );
989
- $to = sanitize_email( $opts['email'] );
990
- $subject = esc_html__( 'Congratulations! Your SSL certificates have been generated using WP Encryption Plugin', 'wp-letsencrypt-ssl' );
991
- $headers = array( 'Content-Type: text/html; charset=UTF-8' );
992
- $body = '<h3>' . esc_html__( 'You are just ONE step behind enabling HTTPS for your WordPress site', 'wp-letsencrypt-ssl' ) . '</h3>';
993
- $body .= '<p>' . esc_html__( 'Download the generated SSL certificates from below given links and install it on your cPanel following the video tutorial', 'wp-letsencrypt-ssl' ) . ' (https://youtu.be/KQ2HYtplPEk). ' . esc_html__( 'These certificates expires on', 'wp-letsencrypt-ssl' ) . ' <b>' . esc_html( $opts['expiry'] ) . '</b></p>
994
- <br/>
995
- <a href="' . admin_url( '/admin.php?page=wp_encryption&le=1', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px 10px 10px 0; font-weight: bold;">' . esc_html__( 'Download Cert File', 'wp-letsencrypt-ssl' ) . '</a>
996
- <a href="' . admin_url( '/admin.php?page=wp_encryption&le=2', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px; font-weight: bold;">' . esc_html__( 'Download Key File', 'wp-letsencrypt-ssl' ) . '</a>
997
- <a href="' . admin_url( '/admin.php?page=wp_encryption&le=3', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px; font-weight: bold;">' . esc_html__( 'Download CA File', 'wp-letsencrypt-ssl' ) . '</a>
998
- <br/>';
999
- ///if (FALSE == get_option('wple_no_pricing')) {
1000
- $body .= '<br /><br />';
1001
- $body .= '<b>' . esc_html__( 'WP Encryption PRO can automate this entire process in one click including SSL installation on cPanel hosting and auto renewal of certificates every 90 days', 'wp-letsencrypt-ssl' ) . '!. <br><a href="' . admin_url( '/admin.php?page=wp_encryption-pricing', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px 0; font-weight: bold;">' . esc_html__( 'UPGRADE TO PREMIUM', 'wp-letsencrypt-ssl' ) . '</a></b><br /><br />';
1002
- $body .= "<h3>" . esc_html__( "Don't have cPanel hosting?", 'wp-letsencrypt-ssl' ) . "</h3>";
1003
- $body .= '<p>We don\'t wanna disappoint you!. Opt for our <a href="' . admin_url( '/admin.php?page=wp_encryption-pricing', 'http' ) . '"><strong>Annual Pro plan</strong><a> and setup SSL for your site hosted on ANY hosting platform including Managed WordPress platforms.' . WPLE_Trait::wple_kses( __( 'With free version, You can download and send these SSL certificates to your hosting support asking them to install these SSL certificates.', 'wp-letsencrypt-ssl' ) ) . '</p><br /><br />';
1004
- ///}
1005
- wp_mail(
1006
- $to,
1007
- $subject,
1008
- $body,
1009
- $headers
1010
- );
1011
- }
1012
-
1013
- /**
1014
- * Handles review box actions
1015
- *
1016
- * @since 4.4.0
1017
- * @return void
1018
- */
1019
- public function wple_review_handler()
1020
- {
1021
- //since 5.0.0
1022
- $this->wple_intro_pricing_handler();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1023
  }
1024
-
1025
- /**
1026
- * Sets review flag to show review request
1027
- *
1028
- * @since 4.4.0
1029
- */
1030
- public function wple_set_review_flag()
1031
- {
1032
- update_option( 'wple_show_review', 1 );
1033
  }
1034
-
1035
- /**
1036
- * Handle the reset keys action
1037
- *
1038
- * @since 4.5.0
1039
- * @return void
1040
- */
1041
- public function wple_reset_handler()
1042
- {
1043
-
1044
- if ( isset( $_GET['wplereset'] ) ) {
1045
- if ( !current_user_can( 'manage_options' ) ) {
1046
- exit( 'No Trespassing Allowed' );
1047
- }
1048
- if ( !wp_verify_nonce( $_GET['wplereset'], 'restartwple' ) ) {
1049
- exit( 'No Trespassing Allowed' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1050
  }
1051
- $keys = ABSPATH . 'keys/';
1052
- $files = array(
1053
- $keys . 'public.pem',
1054
- $keys . 'private.pem',
1055
- $keys . 'order',
1056
- $keys . 'fullchain.crt',
1057
- $keys . 'certificate.crt',
1058
- $keys . '__account/private.pem',
1059
- $keys . '__account/public.pem'
1060
- );
1061
- foreach ( $files as $file ) {
1062
- if ( file_exists( $file ) ) {
1063
- unlink( $file );
1064
- }
1065
  }
1066
- delete_option( 'wple_error' );
1067
- delete_option( 'wple_complete' );
1068
- delete_option( 'wple_backend' );
1069
- ///if (wple_fs()->can_use_premium_code__premium_only()) {
1070
- delete_option( 'wple_firewall_stage' );
1071
- delete_option( 'wple_spmode_dns' );
1072
- delete_option( 'wple_spmode_activated' );
1073
- ///}
1074
- add_action( 'admin_notices', array( $this, 'wple_reset_success' ) );
1075
  }
1076
-
1077
- //since 4.6.0
1078
-
1079
- if ( isset( $_GET['wplesslrenew'] ) ) {
1080
- if ( !wp_verify_nonce( $_GET['wplesslrenew'], 'wple_renewed' ) ) {
1081
- exit( 'Unauthorized' );
1082
- }
1083
- delete_option( 'wple_show_reminder' );
1084
- wp_redirect( admin_url( '/admin.php?page=wp_encryption' ), 302 );
 
 
 
 
 
 
 
 
 
 
 
1085
  }
1086
-
1087
- }
1088
-
1089
- /**
1090
- * Reset success notice
1091
- *
1092
- * @since 4.5.0
1093
- */
1094
- public function wple_reset_success()
1095
- {
1096
- echo '<div class="notice notice-success is-dismissable">
1097
- <p>' . esc_html( 'Reset successful!. You can start with the SSL install process again.', 'wp-letsencrypt-ssl' ) . '</p>
1098
- </div>' ;
1099
- }
1100
-
1101
- /**
1102
- * Local check DNS records via Ajax
1103
- *
1104
- * @since 4.6.0
1105
- * @return void
1106
- */
1107
- public function wple_ajx_verify_dns()
1108
- {
1109
-
1110
- if ( isset( $_POST['nc'] ) ) {
1111
- if ( !wp_verify_nonce( $_POST['nc'], 'verifydnsrecords' ) ) {
1112
- exit( 'Unauthorized' );
1113
- }
1114
- $toVerify = get_option( 'wple_opts' );
1115
-
1116
- if ( array_key_exists( 'dns_challenges', $toVerify ) && !empty($toVerify['dns_challenges']) ) {
1117
- $toVerify = $dnspendings = $toVerify['dns_challenges'];
1118
- //array
1119
- foreach ( $toVerify as $index => $item ) {
1120
- $domain_code = explode( '||', $item );
1121
- $acme = '_acme-challenge.' . esc_html( $domain_code[0] );
1122
- $requestURL = 'https://dns.google.com/resolve?name=' . addslashes( $acme ) . '&type=TXT';
1123
- $handle = curl_init();
1124
- curl_setopt( $handle, CURLOPT_URL, $requestURL );
1125
- curl_setopt( $handle, CURLOPT_RETURNTRANSFER, true );
1126
- curl_setopt( $handle, CURLOPT_FOLLOWLOCATION, true );
1127
- $response = json_decode( trim( curl_exec( $handle ) ) );
1128
-
1129
- if ( $response->Status === 0 && isset( $response->Answer ) ) {
1130
- //if ($answer->type == 16) {
1131
- $found = 'Pending';
1132
- foreach ( $response->Answer as $answer ) {
1133
- $livecode = str_ireplace( '"', '', $answer->data );
1134
-
1135
- if ( $livecode == $domain_code[1] ) {
1136
- unset( $dnspendings[$index] );
1137
- $found = 'OK';
1138
- }
1139
-
1140
- }
1141
- WPLE_Trait::wple_logger( "\n" . esc_html( $requestURL . ' should return ' . $domain_code[1] . ' -> ' . $found ) . "\n" );
1142
- } else {
1143
- $ledebug = WPLE_Trait::wple_lets_debug( 'dns-01' );
1144
-
1145
- if ( $ledebug != false ) {
1146
- echo $ledebug ;
1147
- exit;
1148
- }
1149
-
1150
- echo 'fail' ;
1151
- exit;
1152
- }
1153
-
1154
- }
1155
-
1156
- if ( empty($dnspendings) ) {
1157
- WPLE_Trait::wple_logger(
1158
- "Local check - All DNS challenges verified\n",
1159
- 'success',
1160
- 'a',
1161
- false
1162
- );
1163
- echo 1 ;
1164
- exit;
1165
- } else {
1166
- $ledebug = WPLE_Trait::wple_lets_debug( 'dns-01' );
1167
-
1168
- if ( $ledebug != false ) {
1169
- echo $ledebug ;
1170
- exit;
1171
- }
1172
-
1173
- echo 'fail' ;
1174
- exit;
1175
- }
1176
-
1177
- } else {
1178
-
1179
- if ( empty($toVerify['dns_challenges']) ) {
1180
- WPLE_Trait::wple_logger(
1181
- "Local check - DNS challenges empty\n",
1182
- 'success',
1183
- 'a',
1184
- false
1185
- );
1186
- echo 1 ;
1187
- exit;
1188
- }
1189
-
1190
- }
1191
-
1192
  }
1193
-
1194
- echo 'fail' ;
1195
- exit;
1196
- }
1197
-
1198
- /**
1199
- * Show expiry reminder in admin notice
1200
- *
1201
- * @see 4.6.0
1202
- * @return void
1203
- */
1204
- public function wple_start_show_reminder()
1205
- {
1206
- update_option( 'wple_show_reminder', 1 );
1207
- $opts = get_option( 'wple_opts' );
1208
- $to = sanitize_email( $opts['email'] );
1209
- $subject = sprintf( esc_html__( 'ATTENTION - SSL Certificate of %s expires in just 10 days', 'wp-letsencrypt-ssl' ), str_ireplace( array( 'https://', 'http://' ), array( '', '' ), site_url() ) );
1210
- $headers = array( 'Content-Type: text/html; charset=UTF-8' );
1211
- $body = '<p>' . sprintf( esc_html__( 'Your SSL Certificate is expiring soon!. Please make sure to re-generate new SSL Certificate using %sWP Encryption%s and install it on your hosting server to avoid site showing insecure warning with expired certificate.', 'wp-letsencrypt-ssl' ), '<a href="' . admin_url( '/admin.php?page=wp_encryption', 'http' ) . '">', '</a>' ) . '</p><br /><br />';
1212
- $body .= '<b>' . esc_html__( 'Tired of manual SSL renewal?, Upgrade to PRO version for automatic SSL installation and automatic SSL renewal', 'wp-letsencrypt-ssl' ) . '. <br><a href="' . admin_url( '/admin.php?page=wp_encryption-pricing', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px 0; font-weight: bold;">' . esc_html__( 'UPGRADE TO PREMIUM', 'wp-letsencrypt-ssl' ) . '</a></b><br /><br />';
1213
- wp_mail(
1214
- $to,
1215
- $subject,
1216
- $body,
1217
- $headers
1218
- );
1219
  }
1220
-
1221
- public function wple_reminder_notice()
1222
- {
1223
- $already_did = wp_nonce_url( admin_url( 'admin.php?page=wp_encryption' ), 'wple_renewed', 'wplesslrenew' );
1224
- $html = '<div class="notice notice-info wple-admin-review">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1225
  <div class="wple-review-box wple-reminder-notice">
1226
  <img src="' . WPLE_URL . 'admin/assets/symbol.png"/>
1227
- <span><strong>WP ENCRYPTION: ' . esc_html__( 'Your SSL certificate expires in less than 10 days', 'wp-letsencrypt-ssl' ) . '</strong><p>' . WPLE_Trait::wple_kses( __( 'Renew your SSL certificate today to avoid your site from showing as insecure. Please support our contribution by upgrading to <strong>Pro</strong> and avail automatic renewal with automatic installation.', 'wp-letsencrypt-ssl' ) ) . '</p></span>
1228
  </div>
1229
- <a class="wple-lets-review wplerevbtn" href="' . admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd' ) . '">' . esc_html__( 'Upgrade to Pro', 'wp-letsencrypt-ssl' ) . '</a>
1230
- <a class="already-renewed wplerevbtn" href="' . $already_did . '">' . esc_html__( 'I already renewed', 'wp-letsencrypt-ssl' ) . '&nbsp;<span class="dashicons dashicons-smiley"></span></a>
1231
  </div>';
1232
- echo $html ;
1233
- }
1234
-
1235
- /**
1236
- * Manual HTTP challenges for subdir sites
1237
- *
1238
- * @since 4.7.0
1239
- * @param string $html
1240
- * @param array $opts
1241
- * @return string
1242
- */
1243
- public function wple_subdir_challenges( &$html, $opts )
1244
- {
1245
- if ( isset( $_GET['subdir'] ) ) {
1246
- $html .= '
1247
  <div id="wple-sslgenerator">
1248
  <div class="wple-success-form">
1249
- ' . WPLE_Subdir_Challenge_Helper::show_challenges( $opts ) . '
1250
  </div>
1251
  </div><!--wple-sslgenerator-->';
1252
- }
1253
  }
1254
-
1255
- /**
1256
- * Local check HTTP records via Ajax for subdir sites
1257
- *
1258
- * @since 4.7.0
1259
- * @return void
1260
- */
1261
- public function wple_ajx_verify_http()
1262
- {
1263
-
1264
- if ( isset( $_POST['nc'] ) ) {
1265
- if ( !wp_verify_nonce( $_POST['nc'], 'verifyhttprecords' ) ) {
1266
- exit( 'Unauthorized' );
1267
- }
1268
- $domain = str_ireplace( array( 'https://', 'http://' ), '', site_url() );
1269
- if ( stripos( $domain, '/' ) != FALSE ) {
1270
- //subdir site
1271
- $domain = substr( $domain, 0, stripos( $domain, '/' ) );
1272
- }
1273
- $opts = get_option( 'wple_opts' );
1274
- $httpch = $opts['challenge_files'];
1275
-
1276
- if ( empty($httpch) ) {
1277
- echo 1 ;
1278
- exit;
1279
- }
1280
-
1281
- $counter = get_option( 'wple_failed_verification' );
1282
- foreach ( $httpch as $index => $ch ) {
1283
-
1284
- if ( $counter >= 8 ) {
1285
- $fpath = ABSPATH . '.well-known/acme-challenge/';
1286
- if ( !file_exists( $fpath ) ) {
1287
- mkdir( $fpath, 0775, true );
1288
- }
1289
- WPLE_Trait::wple_logger( 'Helping with HTTP challenge file', 'success', 'a' );
1290
- file_put_contents( $fpath . $ch['file'], trim( $ch['value'] ) );
1291
- }
1292
-
1293
- $check = LEFunctions::checkHTTPChallenge( $domain, $ch['file'], $ch['value'] );
1294
-
1295
- if ( !$check ) {
1296
-
1297
- if ( FALSE === $counter ) {
1298
- update_option( 'wple_failed_verification', 1 );
1299
- } else {
1300
- update_option( 'wple_failed_verification', $counter + 1 );
1301
- }
1302
-
1303
- WPLE_Trait::wple_logger(
1304
- "HTTP challenge file checked locally - found invalid",
1305
- 'success',
1306
- 'a',
1307
- false
1308
- );
1309
- $ledebug = WPLE_Trait::wple_lets_debug( 'http-01' );
1310
-
1311
- if ( $ledebug != false ) {
1312
- echo $ledebug ;
1313
- exit;
1314
- }
1315
-
1316
- echo 'fail' ;
1317
- exit;
1318
- }
1319
-
1320
- }
1321
- WPLE_Trait::wple_logger(
1322
- "Local check - All HTTP challenges verified\n",
1323
- 'success',
1324
- 'a',
1325
- false
1326
- );
1327
- delete_option( 'wple_failed_verification' );
1328
- echo 1 ;
1329
- exit;
1330
  }
1331
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1332
  }
1333
-
1334
- /**
1335
- * Continue process on wpleauto param
1336
- *
1337
- * @return void
1338
- */
1339
- public function wple_continue_certification()
1340
- {
1341
-
1342
- if ( isset( $_GET['wpleauto'] ) ) {
1343
- $leopts = get_option( 'wple_opts' );
1344
-
1345
- if ( $_GET['wpleauto'] == 'http' ) {
1346
- new WPLE_Core( $leopts );
1347
- } else {
1348
- //DNS
1349
- new WPLE_Core(
1350
- $leopts,
1351
- true,
1352
- false,
1353
- true
1354
- );
1355
- }
1356
-
1357
- }
1358
-
1359
  }
1360
-
1361
- /**
1362
- * Simple success notice for admin
1363
- *
1364
- * @since 4.7.2
1365
- * @return void
1366
- */
1367
- public function wple_success_notice()
1368
- {
1369
- $html = '<div class="notice notice-success">
1370
- <p>' . esc_html__( 'Success', 'wp-letsencrypt-ssl' ) . '!</p>
 
1371
  </div>';
1372
- echo $html ;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1373
  }
1374
-
1375
- /**
1376
- * Show Pricing table once on activation
1377
- *
1378
- * @since 5.0.0
1379
- * @param string $html
1380
- * @return $html
1381
- */
1382
- public function wple_initial_quick_pricing( &$html )
1383
- {
1384
- $host = site_url();
1385
- if ( FALSE != ($slashpos = stripos( $host, '/', 9 )) ) {
1386
- $host = substr( $host, 0, $slashpos );
1387
- }
1388
- $cp = $host . ':2083';
1389
- if ( FALSE === stripos( $host, 'https' ) ) {
1390
- $cp = $host . ':2082';
1391
- }
1392
- $response = wp_remote_get( $cp, [
1393
- 'headers' => [
1394
- 'Connection' => 'close',
1395
- ],
1396
- 'sslverify' => false,
1397
- 'timeout' => 30,
1398
- ] );
1399
- $cpanel = true;
1400
- if ( is_wp_error( $response ) ) {
1401
- $cpanel = false;
1402
- }
1403
- $html .= '<div id="wple-sslgen">';
1404
-
1405
- if ( $cpanel ) {
1406
- update_option( 'wple_have_cpanel', 1 );
1407
- $html .= $this->wple_cpanel_pricing_table( 1 );
1408
- } else {
1409
- update_option( 'wple_have_cpanel', 0 );
1410
- // if (isset($_SERVER['GD_PHP_HANDLER'])) {
1411
- // if ($_SERVER['SERVER_SOFTWARE'] == 'Apache' && isset($_SERVER['GD_PHP_HANDLER']) && $_SERVER['DOCUMENT_ROOT'] == '/var/www') {
1412
- $html .= $this->wple_firewall_pricing_table();
1413
- // }
1414
- // } else {
1415
- // $html .= $this->wple_cpanel_pricing_table('');
1416
- // }
1417
- }
1418
-
1419
- $html .= '</div>';
1420
- echo $html ;
1421
  }
1422
-
1423
- /**
1424
- * Pricing table html
1425
- *
1426
- * @since 5.0.0
1427
- * @return $table
1428
- */
1429
- public function wple_cpanel_pricing_table( $cpanel = '' )
1430
- {
1431
- ob_start();
1432
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1433
 
1434
- <h2 class="pricing-intro-head"><?php
1435
- esc_html_e( 'SAVE MORE THAN $80+ EVERY YEAR IN SSL CERTIFICATE FEE', 'wp-letsencrypt-ssl' );
1436
- ?></h2>
 
 
 
 
 
 
 
1437
 
1438
- <h4 class="pricing-intro-subhead">Purchase once and use for lifetime - Trusted Globally by <b>110,000+</b> WordPress Users (Looking for <a href="<?php
1439
- echo admin_url( '/admin.php?page=wp_encryption&gopro=3' ) ;
1440
- ?>">Annual</a> | <a href="<?php
1441
- echo admin_url( '/admin.php?page=wp_encryption&gopro=2' ) ;
1442
- ?>">Unlimited Sites License?</a>)</h4>
 
 
 
 
1443
 
1444
  <div style="text-align:center">
1445
- <img src="<?php
1446
- echo WPLE_URL ;
1447
- ?>/admin/assets/limited-offer.png" style="max-width:650px" />
1448
  </div>
1449
 
1450
  <!-- <div class="plan-toggler" style="margin:60px 0 -20px !important">
1451
  <span>Annual</span><label class="toggle">
1452
- <input class="toggle-checkbox initplan-switch" type="checkbox" <?php
1453
- // if ($cpanel == 1) {
1454
- // echo 'checked';
1455
- // }
1456
- ?>>
1457
  <div class="toggle-switch"></div>
1458
  <span class="toggle-label">Lifetime</span>
1459
  </label>
@@ -1468,15 +1444,15 @@ class WPLE_Admin
1468
  <ul>
1469
  <li><strong>Manual</strong> domain verification</li>
1470
  <li><strong>Manual</strong> SSL installation</li>
1471
- <li><strong>Manual</strong> SSL renewal</li>
1472
  <li><strong>Mixed</strong> Content Scanner <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Scan your site to detect which insecure assets are causing browser padlock to not show"></span></li>
1473
- <li><strong>Expires</strong> in 90 days <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="You will manually need to re-generate SSL certificate every 90 days using WP Encryption"></span></li>
1474
  <li><strong>Basic</strong> support</li>
1475
  </ul>
1476
  <div class="pricing-btn-block">
1477
- <a href="<?php
1478
- echo admin_url( '/admin.php?page=wp_encryption&gofree=1' ) ;
1479
- ?>" class="pricingbtn free">Select Plan</a>
1480
  </div>
1481
  </div>
1482
 
@@ -1496,42 +1472,48 @@ class WPLE_Admin
1496
  <li><strong>Wildcard</strong> SSL support <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="One SSL certificate to cover all your sub-domains"></span></li>
1497
  <li><strong>Multisite</strong> mapped domains <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Install SSL for different domains mapped to your multisite network with MU domain mapping plugin"></span></li>
1498
  <li><strong>DNS</strong> Automation <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Automatic Domain verification with DNS if HTTP domain verification fails"></span></li>
1499
- <li><strong>Never</strong> expires <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Never worry about SSL again - Your SSL certificate will be automatically renewed in background"></span></li>
1500
  <li><strong>Priority</strong> support <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="gowebsmarty.in"></span></li>
1501
  </ul>
1502
  <div class="pricing-btn-block">
1503
- <a href="<?php
1504
- echo admin_url( '/admin.php?page=wp_encryption&gopro=1' ) ;
1505
- ?>" class="pricingbtn free">Select Plan</a>
1506
  </div>
1507
  </div>
1508
 
1509
  </div>
1510
 
1511
  <br />
1512
- <?php
1513
- if ( $cpanel != '' ) {
1514
  ?>
1515
  <div class="quick-refund-policy">
1516
  <strong>7 Days Refund Policy</strong>
1517
- <p>We are showing this recommendation because you have cPanel hosting where our PRO plugin is 100% guaranteed to work. Your purchase will be completely refunded if our plugin failed to work on your site.</p>
1518
  </div>
1519
- <?php
1520
- }
1521
- ?>
1522
 
1523
- <?php
1524
  $table = ob_get_clean();
1525
  return $table;
1526
- }
1527
-
1528
- public function wple_firewall_pricing_table()
1529
- {
1530
  ob_start();
1531
  ?>
1532
 
1533
- <h2 class="pricing-intro-head">FLAWLESS SSL SOLUTION FOR LOWEST PRICE EVER</h2>
1534
- <h4 class="pricing-intro-subhead">Upgrade to PRO today for <strong>fully automatic SSL</strong> & Get automatic <strong>CDN + Security</strong> for FREE! - Trusted Globally by <b>110,000+</b> WordPress Users <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="A complete bundle worth $360+ PER YEAR!"></span></h4>
 
 
 
 
 
 
1535
 
1536
  <div id="quick-pricing-table" class="non-cpanel-plans">
1537
  <div class="free-pricing-col wplepricingcol">
@@ -1542,13 +1524,13 @@ class WPLE_Admin
1542
  <ul>
1543
  <li><strong>Manual</strong> domain verification</li>
1544
  <li><strong>Manual</strong> SSL installation</li>
1545
- <li><strong>Manual</strong> SSL renewal <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="You will manually need to re-generate SSL certificate every 90 days using WP Encryption"></span></li>
1546
  <li><strong>Basic</strong> support</li>
1547
  </ul>
1548
  <div class="pricing-btn-block">
1549
- <a href="<?php
1550
- echo admin_url( '/admin.php?page=wp_encryption&gofree=1' ) ;
1551
- ?>" class="pricingbtn free">Select Plan</a>
1552
  </div>
1553
  </div>
1554
 
@@ -1573,9 +1555,9 @@ class WPLE_Admin
1573
  <li><strong>Priority</strong> Support</li>
1574
  </ul>
1575
  <div class="pricing-btn-block">
1576
- <a href="<?php
1577
- echo admin_url( '/admin.php?page=wp_encryption&gofirewall=1' ) ;
1578
- ?>" class="pricingbtn free">Select Plan</a>
1579
  </div>
1580
  </div>
1581
 
@@ -1584,159 +1566,195 @@ class WPLE_Admin
1584
  7 days money back guarantee <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="If you are not satisfied with the service within 7 days of purchase, We will refund your purchase no questions asked"></span>
1585
  </div> -->
1586
 
1587
- <?php
1588
  $table = ob_get_clean();
1589
  return $table;
1590
- }
1591
-
1592
- /**
1593
- * Intro pricing table handler
1594
- *
1595
- * @since 5.0.0
1596
- * @return void
1597
- */
1598
- public function wple_intro_pricing_handler()
1599
- {
1600
  $goplan = '';
1601
-
1602
- if ( isset( $_GET['gofree'] ) ) {
1603
- update_option( 'wple_plan_choose', 1 );
1604
- wp_redirect( admin_url( '/admin.php?page=wp_encryption' ), 302 );
1605
- exit;
1606
  } else {
1607
-
1608
- if ( isset( $_GET['gopro'] ) ) {
1609
- update_option( 'wple_plan_choose', 1 );
1610
-
1611
- if ( $_GET['gopro'] == 2 ) {
1612
- //unlimited
1613
- wp_redirect( admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=10873&currency=usd' ), 302 );
1614
- } else {
1615
-
1616
- if ( $_GET['gopro'] == 3 ) {
1617
- //annual
1618
- wp_redirect( admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd' ), 302 );
1619
- } else {
1620
- //single lifetime
1621
- wp_redirect( admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd' ), 302 );
1622
- }
1623
-
1624
- }
1625
-
1626
- exit;
1627
  } else {
1628
-
1629
- if ( isset( $_GET['gofirewall'] ) ) {
1630
- update_option( 'wple_plan_choose', 1 );
1631
- ///wp_redirect(admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=11394&plan_name=pro&billing_cycle=annual&pricing_id=11717&currency=usd'), 302);
1632
- wp_redirect( admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd' ), 302 );
1633
- exit;
1634
- }
1635
-
 
 
 
 
 
 
 
 
 
 
1636
  }
1637
-
1638
  }
1639
-
1640
- }
1641
-
1642
- /**
1643
- * After all stages completion
1644
- *
1645
- * @param string $html
1646
- * @return void
1647
- */
1648
- public function wple_completed_block( &$html )
1649
- {
1650
  $html .= WPLE_Trait::wple_progress_bar();
1651
  $cert = ABSPATH . 'keys/certificate.crt';
1652
- $leopts = get_option( 'wple_opts' );
1653
- $future = strtotime( $leopts['expiry'] );
1654
  //Future date.
1655
  $timefromdb = time();
1656
  $timeleft = $future - $timefromdb;
1657
- $daysleft = round( $timeleft / 24 / 60 / 60 );
1658
- $wple_support = get_option( 'wple_backend' );
1659
- $renewtext = esc_html__( 'Click Here To Renew SSL Certificate', 'wp-letsencrypt-ssl' );
1660
- $renewlink = '<a href="#" class="letsrenew wple-tooltip disabled" data-tippy="' . esc_html__( 'This renew button will get enabled during last 30 days of current SSL certificate expiry', 'wp-letsencrypt-ssl' ) . ' ' . esc_html__( 'You can also click on STEP 1 in above progress bar to renew/re-generate SSL Certificate again.', 'wp-letsencrypt-ssl' ) . '">' . $renewtext . '</a>';
1661
- if ( $daysleft <= 30 ) {
1662
- $renewlink = '<a href="' . admin_url( '/admin.php?page=wp_encryption&restart=1' ) . '" class="letsrenew">' . $renewtext . '</a>';
1663
- }
1664
- if ( $wple_support ) {
1665
- //forced completion
1666
- $renewlink = '';
1667
- }
1668
- $headline = esc_html__( 'Woohoo! WP Encryption just saved you $$$ in SSL Certificate Fee.', 'wp-letsencrypt-ssl' );
1669
- $sharetitle = urlencode( 'Generated & Installed free SSL certificate using WP ENCRYPTION WordPress plugin within minutes! Thanks for the great plugin' );
1670
  $html .= '<div id="wple-completed">
1671
  <div class="wple-completed-review">
1672
  <h2>' . $headline . '</h2>
1673
  <p>' . sprintf(
1674
- __( 'Can you please do us a BIG favor by leaving a %s%s%s%s%s rating on WordPress.org', 'wp-letsencrypt-ssl' ),
1675
- '<span class="dashicons dashicons-star-filled"></span>',
1676
- '<span class="dashicons dashicons-star-filled"></span>',
1677
- '<span class="dashicons dashicons-star-filled"></span>',
1678
- '<span class="dashicons dashicons-star-filled"></span>',
1679
- '<span class="dashicons dashicons-star-filled"></span>'
1680
  ) . ' <span class="wple-share-success">' . sprintf(
1681
- __( "or spread the word on %s %s %s %s", "wp-letsencrypt-ssl" ),
1682
- '<a href="https://twitter.com/share?url=https://wpencryption.com&text=' . $sharetitle . '&hashtags=wp_encryption,wordpress_ssl,wordpress_https" target="_blank" title="Twitter" class="tw">T</a>',
1683
- '<a href="https://www.facebook.com/sharer.php?u=wpencryption.com" target="_blank" title="Facebook" class="fb">F</a>',
1684
- '<a href="https://reddit.com/submit?url=wpencryption.com&title=' . $sharetitle . '" target="_blank" title="Reddit" class="rd">R</a>',
1685
- '<a href="https://pinterest.com/pin/create/bookmarklet/?media=https://wpencryption.com/wp-content/uploads/2021/08/banner-772x250-1.png&url=wpencryption.com&description=' . $sharetitle . '" target="_blank" title="Pinterest" class="pt">P</a>'
1686
  ) . '</span></p>
1687
- <a href="https://wordpress.org/support/plugin/wp-letsencrypt-ssl/reviews/#new-post" target="_blank" class="letsrate">' . esc_html__( 'LEAVE A RATING', 'wp-letsencrypt-ssl' ) . ' <span class="dashicons dashicons-external"></span></a>
1688
  ' . $renewlink . '
1689
- <small>' . esc_html__( 'Just takes a moment', 'wp-letsencrypt-ssl' ) . '</small>
1690
  </div>';
1691
- if ( file_exists( $cert ) && isset( $leopts['expiry'] ) && !$wple_support ) {
1692
- $html .= '<div class="wple-completed-remaining">
1693
- <div class="progress--circle progress--' . esc_attr( $daysleft ) . '">
1694
- <div class="progress__number"><strong>' . esc_html( $daysleft ) . '</strong><br><small>' . esc_html__( 'Days', 'wp-letsencrypt-ssl' ) . '</small></div>
1695
  </div>
1696
  <div class="wple-circle-expires">
1697
- <strong>' . esc_html__( 'Your current SSL certificate expires on', 'wp-letsencrypt-ssl' ) . ': <br><b>' . esc_html( $leopts['expiry'] ) . '</b></strong>
1698
- <p>' . WPLE_Trait::wple_kses( __( "Let's Encrypt® SSL Certificate expires in 90 days by default. You can easily regenerate new SSL certificate using <strong>RENEW SSL CERTIFICATE</strong> option found on left or by clicking on <strong>STEP 1</strong> in progress bar.", "wp-letsencrypt-ssl" ) ) . '<br /><br />' . WPLE_Trait::wple_kses( __( 'Major browsers like Chrome will start showing insecure site warning IF you fail to renew / re-generate certs before this expiry date. <strong>If you are using PRO version - SSL certificates will be auto renewed in background 30 days prior to expiry date.</strong>', 'wp-letsencrypt-ssl' ) ) . ' Please clear your browser cache once.</p>
1699
  </div>
1700
  </div>';
1701
  }
1702
  $html .= '</div>';
1703
- }
1704
-
1705
- /**
1706
- * Make verificiation possible with broken cert
1707
- *
1708
- * @return void
1709
- */
1710
- public function wple_wellknown_htaccess()
1711
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1712
  $dir = ABSPATH . '.well-known/acme-challenge/.htaccess';
1713
-
1714
- if ( !file_exists( $dir ) ) {
1715
- $file = @touch( $dir );
1716
  } else {
1717
- $file = true;
1718
- }
1719
-
1720
-
1721
- if ( is_writable( $dir ) && $file !== FALSE ) {
1722
- $ruleset = "<IfModule mod_rewrite.c>" . "\n";
1723
- $ruleset .= "RewriteEngine on" . "\n";
1724
- $ruleset .= "RewriteCond %{HTTPS} =on [NC]" . "\n";
1725
- $ruleset .= "RewriteRule ^(.*)\$ http://%{HTTP_HOST}%{REQUEST_FILENAME} [R=301,L]" . "\n";
1726
- $ruleset .= "</IfModule>" . "\n";
1727
- insert_with_markers( $dir, 'WP_Encryption', $ruleset );
1728
  }
1729
-
1730
- }
1731
-
1732
- /**
1733
- * Grouped admin init hooks
1734
- *
1735
- * @since 5.2.4
1736
- * @return void
1737
- */
1738
- public function wple_admin_init_hooks()
1739
- {
 
 
 
 
 
 
 
 
 
1740
  WPLE_Subdir_Challenge_Helper::download_challenge_files();
1741
  $this->wple_save_email_generate_certs();
1742
  $this->wple_download_files();
@@ -1745,141 +1763,139 @@ class WPLE_Admin
1745
  $this->wple_continue_certification();
1746
  $this->wple_domain_verification();
1747
  //redirects handler
1748
- }
1749
-
1750
- /**
1751
- * Validate SSL button for non-cpanel
1752
- *
1753
- * @since 5.2.6
1754
- * @return void
1755
- */
1756
- public function wple_validate_nocp_ssl()
1757
- {
1758
- if ( !current_user_can( 'manage_options' ) ) {
1759
- exit( 'Unauthorized' );
1760
- }
1761
- $basedomain = str_ireplace( array( 'http://', 'https://' ), array( '', '' ), addslashes( site_url() ) );
1762
  //4.7
1763
- if ( FALSE != stripos( $basedomain, '/' ) ) {
1764
- $basedomain = substr( $basedomain, 0, stripos( $basedomain, '/' ) );
1765
  }
1766
- $client = WPLE_Trait::wple_verify_ssl( $basedomain );
1767
-
1768
- if ( $client || is_ssl() ) {
1769
- $reverter = uniqid( 'wple' );
1770
- $savedopts = get_option( 'wple_opts' );
1771
- $savedopts['force_ssl'] = 1;
1772
- $savedopts['revertnonce'] = $reverter;
1773
- WPLE_Trait::wple_send_reverter_secret( $reverter );
1774
- update_option( 'wple_opts', $savedopts );
1775
- delete_option( 'wple_error' );
1776
- //complete
1777
- update_option( 'wple_complete', 1 );
1778
- update_option( 'siteurl', str_ireplace( 'http:', 'https:', get_option( 'siteurl' ) ) );
1779
- update_option( 'home', str_ireplace( 'http:', 'https:', get_option( 'home' ) ) );
1780
- echo 1 ;
1781
  } else {
1782
- echo 0 ;
1783
  }
1784
-
1785
  exit;
1786
- }
1787
-
1788
- public function wple_expert_block( &$html, $spmode = 0 )
1789
- {
1790
- }
1791
-
1792
- /**
1793
- * This site have mixed content issues
1794
- *
1795
- * @since 5.3.12
1796
- * @return void
1797
- */
1798
- public function wple_mixed_content_notice()
1799
- {
1800
  $html = '<div class="notice notice-info wple-admin-review wple-mx-prom">
1801
  <div class="wple-review-box">
1802
  <img src="' . WPLE_URL . 'admin/assets/symbol.png"/>
1803
- <span><strong>Warning: ' . esc_html__( 'Your site have mixed content issues!', 'wp-letsencrypt-ssl' ) . '</strong><p>' . WPLE_Trait::wple_kses( __( 'Mixed content issues cause browser padlock to show as insecure even if you have installed SSL certificate perfectly. Hire an SSL Expert today to get rid of all SSL issues once and for all.', 'wp-letsencrypt-ssl' ) ) . '</p></span>
1804
  </div>
1805
- <a class="wple-lets-review wplerevbtn" href="https://checkout.freemius.com/mode/dialog/plugin/7616/plan/12469/licenses/1/" target="_blank">' . esc_html__( 'Hire SSL Expert', 'wp-letsencrypt-ssl' ) . '</a>
1806
- <a class="wple-mx-ignore wplerevbtn" href="#">' . esc_html__( 'Ignore', 'wp-letsencrypt-ssl' ) . '</a>
1807
  </div>';
1808
- echo $html ;
1809
- }
1810
-
1811
- /**
1812
- * Ajax Get cert contents for copy
1813
- *
1814
- * @since 5.3.16
1815
- * @return void
1816
- */
1817
- public function wple_retrieve_certs_forcopy()
1818
- {
1819
- if ( !wp_verify_nonce( $_GET['nc'], 'copycerts' ) || !current_user_can( 'manage_options' ) ) {
1820
- exit( 'Authorization Failure' );
1821
  }
1822
  $ftype = $_GET['gettype'];
1823
  $output = '';
1824
  $keypath = ABSPATH . 'keys/';
1825
- switch ( $ftype ) {
1826
- case 'cert':
1827
- if ( file_exists( $keypath . 'certificate.crt' ) ) {
1828
- $output = file_get_contents( $keypath . 'certificate.crt' );
1829
- }
1830
- break;
1831
- case 'key':
1832
- if ( file_exists( $keypath . 'private.pem' ) ) {
1833
- $output = file_get_contents( $keypath . 'private.pem' );
1834
- }
1835
- break;
1836
- case 'cabundle':
1837
-
1838
- if ( file_exists( ABSPATH . 'keys/cabundle.crt' ) ) {
1839
- $output = file_get_contents( ABSPATH . 'keys/cabundle.crt' );
1840
- } else {
1841
- $output = file_get_contents( WPLE_DIR . 'cabundle/ca.crt' );
1842
- }
1843
-
1844
- break;
1845
  }
1846
- echo esc_html( $output ) ;
1847
  exit;
1848
- }
1849
-
1850
- /**
1851
- * Ajax check if both www & non-www domain accessible
1852
- *
1853
- * @since 5.6.2
1854
- * @return void
1855
- */
1856
- public function wple_include_www_check()
1857
- {
1858
- if ( !current_user_can( 'manage_options' ) || !wp_verify_nonce( $_GET['nc'], 'legenerate' ) ) {
1859
- exit( 'Unauthorized request' );
1860
- }
1861
- $maindomain = WPLE_Trait::get_root_domain( false );
1862
  $errcode = 'www';
1863
-
1864
- if ( FALSE === stripos( 'www', $maindomain ) ) {
1865
- $altdomain = 'www.' . $maindomain;
1866
  } else {
1867
- $errcode = 'nonwww';
1868
- $altdomain = str_ireplace( 'www.', '', $maindomain );
1869
  }
1870
-
1871
- $altdomaintest = wp_remote_head( 'http://' . $altdomain, array(
1872
- 'sslverify' => false,
1873
- 'timeout' => 30,
1874
- ) );
1875
-
1876
- if ( !is_wp_error( $altdomaintest ) ) {
1877
- echo 1 ;
1878
- exit;
1879
  }
1880
-
1881
- echo $errcode ;
1882
  exit;
 
1883
  }
1884
-
1885
- }
29
  *
30
  * @since 5.1.1
31
  */
32
+ require_once plugin_dir_path(__DIR__) . 'vendor/autoload.php';
33
+
34
+ use WPLEClient\LEFunctions;
35
+
36
  require_once WPLE_DIR . 'classes/le-core.php';
37
  require_once WPLE_DIR . 'classes/le-subdir-challenge.php';
38
  /**
43
  */
44
  class WPLE_Admin
45
  {
46
+ private $FIREWALL;
47
+ public function __construct()
48
+ {
49
+ add_action('admin_enqueue_scripts', array($this, 'wple_admin_styles'));
50
+ add_action('admin_menu', array($this, 'wple_admin_menu_page'));
51
+ add_action(
52
+ 'before_wple_admin_form',
53
+ array($this, 'wple_debug_log'),
54
+ 20,
55
+ 1
56
+ );
57
+ add_action('admin_init', array($this, 'wple_admin_init_hooks'));
58
+ add_action('plugins_loaded', array($this, 'wple_load_plugin_textdomain'));
59
+ $show_rev = get_option('wple_show_review');
60
+ if ($show_rev != FALSE && $show_rev == 1) {
61
+ add_action('admin_notices', array($this, 'wple_rateus'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  }
63
+ if (FALSE !== get_option('wple_show_reminder')) {
64
+ add_action('admin_notices', [$this, 'wple_reminder_notice']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  }
66
+ if (FALSE !== get_option('wple_mixed_issues')) {
67
+ //since 5.3.12
68
+ add_action('admin_notices', [$this, 'wple_mixed_content_notice']);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  }
70
+ if (isset($_GET['successnotice'])) {
71
+ add_action('admin_notices', array($this, 'wple_success_notice'));
 
 
72
  }
73
+ add_action('wple_show_reviewrequest', array($this, 'wple_set_review_flag'));
74
+ add_action('wp_ajax_wple_dismiss', array($this, 'wple_dismiss_notice'));
75
+ add_action('wp_ajax_wple_admin_dnsverify', [$this, 'wple_ajx_verify_dns']);
76
+ add_action('wple_ssl_reminder_notice', [$this, 'wple_start_show_reminder']);
77
+ add_action('wp_ajax_wple_admin_httpverify', [$this, 'wple_ajx_verify_http']);
78
+ add_action('wp_ajax_wple_validate_ssl', [$this, 'wple_validate_nocp_ssl']);
79
+ add_action('wp_ajax_wple_getcert_for_copy', [$this, 'wple_retrieve_certs_forcopy']);
80
+ add_action('wp_ajax_wple_include_www', [$this, 'wple_include_www_check']);
81
+ }
82
+
83
+ /**
84
+ * Enqueue admin styles
85
+ *
86
+ * @since 1.0.0
87
+ * @return void
88
+ */
89
+ public function wple_admin_styles()
90
+ {
91
+ wp_enqueue_style(
92
+ WPLE_NAME,
93
+ WPLE_URL . 'admin/css/le-admin.min.css',
94
+ FALSE,
95
+ WPLE_PLUGIN_VERSION,
96
+ 'all'
97
+ );
98
+ wp_enqueue_script(
99
+ WPLE_NAME . '-popper',
100
+ WPLE_URL . 'admin/js/popper.min.js',
101
+ array('jquery'),
102
+ WPLE_PLUGIN_VERSION,
103
+ true
104
+ );
105
+ wp_enqueue_script(
106
+ WPLE_NAME . '-tippy',
107
+ WPLE_URL . 'admin/js/tippy-bundle.iife.min.js',
108
+ array('jquery'),
109
+ WPLE_PLUGIN_VERSION,
110
+ true
111
+ );
112
+ wp_enqueue_script(
113
+ WPLE_NAME,
114
+ WPLE_URL . 'admin/js/le-admin.js',
115
+ array('jquery', WPLE_NAME . '-tippy', WPLE_NAME . '-popper'),
116
+ WPLE_PLUGIN_VERSION,
117
+ true
118
+ );
119
+ wp_enqueue_script(
120
+ WPLE_NAME . '-fs',
121
+ 'https://checkout.freemius.com/checkout.min.js',
122
+ array('jquery'),
123
+ WPLE_PLUGIN_VERSION,
124
+ false
125
+ );
126
+ wp_localize_script(WPLE_NAME, 'SCAN', array(
127
+ 'adminajax' => admin_url('/admin-ajax.php'),
128
+ 'base' => site_url('/', 'https'),
129
+ ));
130
+ }
131
+
132
+ /**
133
+ * Register plugin page
134
+ *
135
+ * @since 1.0.0
136
+ * @return void
137
+ */
138
+ public function wple_admin_menu_page()
139
+ {
140
+ add_menu_page(
141
+ WPLE_NAME,
142
+ WPLE_NAME,
143
+ 'manage_options',
144
+ WPLE_SLUG,
145
+ array($this, 'wple_menu_page'),
146
+ plugin_dir_url(__DIR__) . 'admin/assets/icon.png',
147
+ 100
148
+ );
149
+ }
150
+
151
+ public function wple_load_plugin_textdomain()
152
+ {
153
+ load_plugin_textdomain('wp-letsencrypt-ssl', FALSE, basename(dirname(__FILE__)) . '/languages/');
154
+ }
155
+
156
+ /**
157
+ * Plugin page HTML
158
+ *
159
+ * @since 1.0.0
160
+ * @return void
161
+ */
162
+ public function wple_menu_page()
163
+ {
164
+
165
+ if (FALSE === get_option('wple_version')) {
166
+ delete_option('wple_plan_choose');
167
+ update_option('wple_version', WPLE_PLUGIN_VERSION);
168
+ } else {
169
+
170
+ if (version_compare(get_option('wple_version'), '5.7.0', '<=')) {
171
+ delete_option('wple_plan_choose');
172
+ update_option('wple_version', WPLE_PLUGIN_VERSION);
173
+ }
174
+ }
175
+
176
+ $this->wple_subdir_ipaddress();
177
+ $eml = '';
178
+ $leopts = get_option('wple_opts');
179
+ if ($opts = get_option('wple_opts')) {
180
+ $eml = (isset($opts['email']) ? $opts['email'] : '');
181
+ }
182
+ $pluginmode = 'FREE';
183
+ $errorclass = '';
184
+
185
+ if (!wple_fs()->is__premium_only() && wple_fs()->can_use_premium_code()) {
186
+ $pluginmode = 'FREE plugin with PRO License <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Please upload and activate PRO plugin file via PLUGINS page"></span>';
187
+ $errorclass = ' notproerror';
188
+ }
189
+
190
+
191
+ if (wple_fs()->is__premium_only() && !wple_fs()->can_use_premium_code()) {
192
+ $pluginmode = 'PRO plugin with FREE License <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Please activate PRO license key via Account page or Activate License option under the plugin on PLUGINS page"></span>';
193
+ $errorclass = ' notproerror';
194
+ }
195
+
196
+ $html = '
197
  <div class="wple-header">
198
  <div>
199
  <img src="' . WPLE_URL . 'admin/assets/logo.png" class="wple-logo"/> <span class="wple-version">v' . WPLE_PLUGIN_VERSION . ' <span class="wple-pmode' . $errorclass . '">' . $pluginmode . '</span></span>
200
  </div>';
201
+ WPLE_Trait::wple_headernav($html);
202
+ $html .= '</div>';
203
+
204
+ if (FALSE === get_option('wple_plan_choose') || isset($_GET['comparison'])) {
205
+ $this->wple_initial_quick_pricing($html);
206
+ return;
207
+ }
208
+
209
+ //5.1.0
210
+ $complete = (FALSE !== get_option('wple_complete') ? 1 : 0);
211
+
212
+ if ($complete) {
213
+ $html .= '<div id="wple-sslgen">';
214
+ $this->wple_completed_block($html);
215
+ $html .= '</div>';
216
+ if (!wple_fs()->is__premium_only() || !wple_fs()->can_use_premium_code()) {
217
+ $this->wple_upgrade_block($html);
218
+ }
219
+ echo $html;
220
+ return;
221
+ }
222
+
223
+ $this->wple_success_block($html);
224
+ $this->wple_error_block($html);
225
+ if (!isset($_GET['wpleauto']) && isset($_GET['subdir'])) {
226
+ $this->wple_subdir_challenges($html, $leopts);
227
+ }
228
+
229
+ if (!wple_fs()->is__premium_only() || !wple_fs()->can_use_premium_code()) {
230
+
231
+ if (isset($_GET['subdir'])) {
232
+ $this->wple_upgrade_block($html);
233
+ echo $html;
234
+ return;
235
+ }
236
+
237
+
238
+ if (isset($_GET['success'])) {
239
+ $this->wple_upgrade_block($html);
240
+ echo $html;
241
+ return;
242
+ }
243
+ }
244
+
245
+ $mappeddomain = '';
246
+ $formheader = esc_html__('SSL INSTALL FORM - ENTER YOUR EMAIL BELOW & GENERATE SSL CERTIFICATE', 'wp-letsencrypt-ssl');
247
+ $currentdomain = esc_html(str_ireplace(array('http://', 'https://'), array('', ''), site_url()));
248
+ $maindomain = $currentdomain;
249
+ $slashpos = stripos($currentdomain, '/');
250
+
251
+ if (FALSE !== $slashpos) {
252
+ //subdir installation
253
+ $maindomain = substr($currentdomain, 0, $slashpos);
254
+ $mappeddomain = '<label style="display: block; padding: 10px 5px; color: #aaa;font-size:15px;">' . esc_html__('PRIMARY DOMAIN', 'wp-letsencrypt-ssl') . '</label>
255
+ <p style="width: 800px; max-width:100%; margin: 5px auto 20px;">' . WPLE_Trait::wple_kses(sprintf(__('<strong>NOTE:</strong> Since you are willing to install SSL certificate for sub-directory site, SSL certificate will be generated for your primary domain <strong>%s</strong> which will cover your primary domain + ALL sub-directory sites.', 'wp-letsencrypt-ssl'), $maindomain)) . '</p>
256
+ <input type="text" name="wple_domain" class="wple-domain-input" value="' . esc_attr($maindomain) . '" readonly><br />';
257
+ }
258
+
259
+ //since 5.3.4
260
+ $tempdomain = '';
261
+ if (FALSE !== stripos($maindomain, 'temp.domains') || FALSE !== stripos($maindomain, '~')) {
262
+ $tempdomain = '<p style="width: 800px; max-width:100%; margin: 5px auto 20px;">' . sprintf(
263
+ esc_html__("%sWARNING:%s You are trying to install SSL for %stemporary domain%s which is not possible. Please point your real domain like wpencryption.com to your site and update your site url in %ssettings%s > %sgeneral%s before you could generate SSL.", "wp-letsencrypt-ssl"),
264
+ "<strong>",
265
+ "</strong>",
266
+ "<strong>",
267
+ "</strong>",
268
+ "<strong>",
269
+ "</strong>",
270
+ "<strong>",
271
+ "</strong>"
272
+ ) . '</p>';
273
+ }
274
+ if (isset($leopts['type']) && $leopts['type'] == 'wildcard') {
275
+ $html .= '<script>
 
276
  jQuery(document).ready(function(){
277
  jQuery(".single-wildcard-switch").trigger("click");
278
  });
279
  </script>';
280
+ }
281
+ $html .= '<div id="wple-sslgen">
282
  <h2>' . $formheader . '</h2>';
283
+ if (is_multisite() && !wple_fs()->can_use_premium_code__premium_only()) {
284
+ $html .= '<p class="wple-multisite">' . WPLE_Trait::wple_kses(__('Upgrade to <strong>PRO</strong> version to avail Wildcard SSL support for multisite and ability to install SSL for mapped domains (different domain names).', 'wp-letsencrypt-ssl')) . '</p>';
285
+ }
286
+ $html .= WPLE_Trait::wple_progress_bar();
287
+ //$cname = '';
288
+ //if (FALSE === stripos($currentdomain, '/')) {
289
+ // if (stripos($currentdomain, 'www') === FALSE) {
290
+ // $cname = '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__("Add a CNAME with name 'www' pointing to your non-www domain", 'wp-letsencrypt-ssl') . '. ' . esc_attr__("Refer FAQ if you want to generate SSL for both www & non-www domain.", 'wp-letsencrypt-ssl') . '"></span>';
291
+ // } else {
292
+ //$cname = '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__("Refer FAQ if you want to generate SSL for both www & non-www domain.", 'wp-letsencrypt-ssl') . '"></span>';
293
+ //}
294
+ //}
295
+ $bothchecked = '';
296
+ $leadminform = '<form method="post" class="le-genform single-genform">' . $mappeddomain . $tempdomain . '
297
+ <input type="email" name="wple_email" class="wple_email" value="' . esc_attr($eml) . '" placeholder="' . esc_attr__('Enter your email address', 'wp-letsencrypt-ssl') . '" ><br />';
298
+ // if (FALSE === stripos('www', $maindomain)) {
299
+ // $altdomain = 'www.' . $maindomain;
300
+ // } else {
301
+ // $altdomain = str_ireplace('www.', '', $maindomain);
302
+ // }
303
+ // $altdomaintest = wp_remote_head('http://' . $altdomain, array('sslverify' => false, 'timeout' => 30));
304
+ ///if (!is_wp_error($altdomaintest) || isset($_GET['includewww'])) {
305
+ $leadminform .= '<span class="lecheck">
306
  <label class="checkbox-label">
307
  <input type="checkbox" name="wple_include_www" class="wple_include_www" value="1" ' . $bothchecked . '>
308
  <span class="checkbox-custom rectangular"></span>
309
  </label>
310
+ ' . esc_html__('Generate SSL Certificate for both www & non-www version of domain', 'wp-letsencrypt-ssl') . '&nbsp; <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__("Before enabling this - please make sure both www & non-www version of your domain works!. Add a CNAME with name 'www' pointing to your non-www domain in your domain DNS zone editor", 'wp-letsencrypt-ssl') . '"></span></label>
311
  </span><br />';
312
+ ///}
313
+
314
+ if (isset($_GET['includeemail'])) {
315
+ $leadminform .= '<span class="lecheck">
316
  <label class="checkbox-label">
317
  <input type="checkbox" name="wple_include_mail" class="wple_include_mail" value="1">
318
  <span class="checkbox-custom rectangular"></span>
319
  </label>
320
+ ' . esc_html__('Secure POP/IMAP email server', 'wp-letsencrypt-ssl') . '&nbsp; <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . sprintf(esc_attr__("This option will secure %s but DNS based domain verification is MANDATORY", 'wp-letsencrypt-ssl'), 'mail.' . $maindomain) . '"></span></label>
321
  </span><br />';
322
+ $webmail = 'webmail.' . $maindomain;
323
+ $leadminform .= '<span class="lecheck">
324
  <label class="checkbox-label">
325
  <input type="checkbox" name="wple_include_webmail" class="wple_include_webmail" value="1">
326
  <span class="checkbox-custom rectangular"></span>
327
  </label>
328
+ ' . sprintf(esc_html__('Secure %s', 'wp-letsencrypt-ssl'), $webmail) . '&nbsp; <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . sprintf(esc_attr__("This option will secure %s but DNS based domain verification is MANDATORY", 'wp-letsencrypt-ssl'), $webmail) . '"></span></label>
329
  </span><br />';
330
+ }
331
+
332
+ $leadminform .= '<span class="lecheck">
333
  <label class="checkbox-label">
334
  <input type="checkbox" name="wple_send_usage" value="1" checked>
335
  <span class="checkbox-custom rectangular"></span>
336
  </label>
337
+ ' . esc_html__('Anonymously send response data to get better support', 'wp-letsencrypt-ssl') . '</label>
338
  </span><br />';
339
+ $leadminform .= '<span class="lecheck">
340
  <label class="checkbox-label">
341
  <input type="checkbox" name="wple_agree_le_tos" class="wple_agree_le" value="1">
342
  <span class="checkbox-custom rectangular"></span>
343
  </label>
344
+ ' . WPLE_Trait::wple_kses(sprintf(
345
+ __("I agree to %sLet's Encrypt%s %sTerms of service%s", "wp-letsencrypt-ssl"),
346
+ '<b>',
347
+ '<sup style="font-size: 10px; padding: 3px">TM</sup></b>',
348
+ '<a href="' . esc_attr__('https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf', 'wp-letsencrypt-ssl') . '" rel="nofollow" target="_blank" style="margin-left:5px">',
349
+ '</a>'
350
+ ), 'a') . '
351
  </span>
352
  <span class="lecheck">
353
  <label class="checkbox-label">
354
  <input type="checkbox" name="wple_agree_gws_tos" class="wple_agree_gws" value="1">
355
  <span class="checkbox-custom rectangular"></span>
356
  </label>
357
+ ' . WPLE_Trait::wple_kses(sprintf(__("I agree to <b>WP Encryption</b> %sTerms of service%s", "wp-letsencrypt-ssl"), '<a href="https://gowebsmarty.com/terms-and-conditions/" rel="nofollow" target="_blank" style="margin-left:5px">', '</a>'), 'a') . '
358
  </span>
359
  ' . wp_nonce_field(
360
+ 'legenerate',
361
+ 'letsencrypt',
362
+ false,
363
+ false
364
+ ) . '
365
+ <button type="submit" name="generate-certs" id="singledvssl">' . esc_html__('Generate SSL Certificate', 'wp-letsencrypt-ssl') . '</button>
366
  </form>
367
 
368
  <div id="wple-error-popper">
371
  <div class="wple-error">Error</div>
372
  </div>
373
  </div>';
374
+ $nonwww = str_ireplace('www.', '', $currentdomain);
375
+ if (FALSE !== ($ps = stripos($nonwww, '/'))) {
376
+ $nonwww = substr($nonwww, 0, $ps);
377
+ }
378
+ $wwwdomain = 'www.' . $nonwww;
379
+
380
+ if (FALSE != stripos($currentdomain, 'www.')) {
381
+ $wwwdomain = $nonwww;
382
+ $nonwww = 'www.' . $nonwww;
383
+ }
384
+
385
+ $showonpro = '';
386
+ $html .= '<div class="wple-single-dv-ssl">
387
  <div class="wple-info-box">
388
+ <h3>' . esc_html__('Domains Covered', 'wp-letsencrypt-ssl') . '</h3>
389
  <strong>' . $nonwww . '</strong>
390
  <div class="wple-www' . $showonpro . '"><strong>' . $wwwdomain . '</strong></div>
391
  <div class="wple-wc"><strong>*.' . $nonwww . '</strong></div>
392
  </div>';
393
+ ob_start();
394
+ do_action('before_wple_admin_form', $html);
395
+ $html .= ob_get_contents();
396
+ ob_end_clean();
397
+ $html .= apply_filters('wple_admin_form', $leadminform);
398
+ ob_start();
399
+ do_action('after_wple_admin_form', $html);
400
+ $html .= ob_get_contents();
401
+ ob_end_clean();
402
+ $html .= '</div>';
403
+ $prosupport = WPLE_Trait::wple_kses(sprintf(__('Brought to you by %sWP Encryption%s.'), '<a href="https://wpencryption.com" target="_blank">', '</a>'), 'a');
404
+ $html .= '
405
  <div class="le-powered">
406
+ <span>' . $prosupport . ' ' . WPLE_Trait::wple_kses(sprintf('SSL Certificate will be generated by %s (An open certificate authority).', "<b>Let's Encrypt<sup style=\"font-size: 10px; padding: 3px\">TM</sup></b>")) . '</span>
407
  </div>';
408
+ $html .= '
409
  </div><!--wple-sslgen-->';
410
+
411
+ if (!wple_fs()->is__premium_only() || !wple_fs()->can_use_premium_code()) {
412
+ $this->wple_upgrade_block($html);
413
+ } else {
414
+ $this->wple_expert_block($html);
 
 
 
415
  }
416
+
417
+ echo $html;
418
+ }
419
+
420
+ /**
421
+ * log process & error in debug.log file
422
+ *
423
+ * @since 1.0.0
424
+ * @param string $html
425
+ * @return void
426
+ */
427
+ public function wple_debug_log($html)
428
+ {
429
+
430
+ if (!file_exists(WPLE_DEBUGGER)) {
431
+ wp_mkdir_p(WPLE_DEBUGGER);
432
+ $htacs = '<Files debug.log>' . "\n" . 'Order allow,deny' . "\n" . 'Deny from all' . "\n" . '</Files>';
433
+ file_put_contents(WPLE_DEBUGGER . '.htaccess', $htacs);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
434
  }
435
+
436
+ //show only upon error since 4.6.0
437
+
438
+ if (isset($_GET['error'])) {
439
+ $html = '<div class="toggle-debugger"><span class="dashicons dashicons-arrow-down-alt2"></span> ' . esc_html__('Show/hide full response', 'wp-letsencrypt-ssl') . '</div>';
440
+ $file = WPLE_DEBUGGER . 'debug.log';
441
+
442
+ if (file_exists($file)) {
443
+ $log = file_get_contents($file);
444
+ $hideh2 = '';
445
+ if (isset($_GET['dnsverified']) || isset($_GET['dnsverify'])) {
446
+ $hideh2 = 'hideheader';
447
+ }
448
+ $html .= '<div class="le-debugger running ' . $hideh2 . '"><h3>' . esc_html__('Response Log', 'wp-letsencrypt-ssl') . ':</h3>' . WPLE_Trait::wple_kses(nl2br($log)) . '</div>';
449
+ } else {
450
+ $html .= '<div class="le-debugger">' . esc_html__("Full response will be shown here", 'wp-letsencrypt-ssl') . '</div>';
451
+ }
452
+
453
+ echo $html;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
454
  }
455
+ }
456
+
457
+ /**
458
+ * Save email & proceed upon clicking install SSL
459
+ *
460
+ * @since 1.0.0
461
+ * @return void
462
+ */
463
+ public function wple_save_email_generate_certs()
464
+ {
465
+ //since 2.4.0
466
+ //force https upon success
467
+
468
+ if (isset($_POST['wple-https'])) {
469
+ if (!wp_verify_nonce($_POST['sslready'], 'wplehttps') || !current_user_can('manage_options')) {
470
+ exit('Unauthorized access');
471
+ }
472
+ $basedomain = str_ireplace(array('http://', 'https://'), array('', ''), addslashes(site_url()));
473
+ //4.7
474
+ if (FALSE != stripos($basedomain, '/')) {
475
+ $basedomain = substr($basedomain, 0, stripos($basedomain, '/'));
476
+ }
477
+ $client = WPLE_Trait::wple_verify_ssl($basedomain);
478
+
479
+ if (!$client && !is_ssl()) {
480
+ wp_redirect(admin_url('/admin.php?page=wp_encryption&success=1&nossl=1', 'http'));
481
+ exit;
482
+ }
483
+
484
+ // $SSLCheck = @fsockopen("ssl://" . $basedomain, 443, $errno, $errstr, 30);
485
+ // if (!$SSLCheck) {
486
+ // wp_redirect(admin_url('/admin.php?page=wp_encryption&success=1&nossl=1', 'http'));
487
+ // exit();
488
+ // }
489
+ $reverter = uniqid('wple');
490
+ $savedopts = get_option('wple_opts');
491
+ $savedopts['force_ssl'] = 1;
492
+ $savedopts['revertnonce'] = $reverter;
493
+ ///WPLE_Trait::wple_send_reverter_secret($reverter);
494
+ update_option('wple_opts', $savedopts);
495
+ delete_option('wple_error');
496
+ //complete
497
+ update_option('wple_complete', 1);
498
+ update_option('siteurl', str_ireplace('http:', 'https:', get_option('siteurl')));
499
+ update_option('home', str_ireplace('http:', 'https:', get_option('home')));
500
+ wp_redirect(admin_url('/admin.php?page=wp_encryption', 'https'));
501
+ exit;
502
  }
503
+
504
+ //single domain ssl
505
+
506
+ if (isset($_POST['generate-certs'])) {
507
+ if (!wp_verify_nonce($_POST['letsencrypt'], 'legenerate') || !current_user_can('manage_options')) {
508
+ die('Unauthorized request');
509
+ }
510
+ if (empty($_POST['wple_email'])) {
511
+ wp_die(esc_html__('Please input valid email address', 'wp-letsencrypt-ssl'));
512
+ }
513
+ $leopts = array(
514
+ 'email' => sanitize_email($_POST['wple_email']),
515
+ 'date' => date('d-m-Y'),
516
+ 'expiry' => '',
517
+ 'type' => 'single',
518
+ 'send_usage' => (isset($_POST['wple_send_usage']) ? 1 : 0),
519
+ 'include_www' => (isset($_POST['wple_include_www']) ? 1 : 0),
520
+ 'include_mail' => (isset($_POST['wple_include_mail']) ? 1 : 0),
521
+ 'include_webmail' => (isset($_POST['wple_include_webmail']) ? 1 : 0),
522
+ 'agree_gws_tos' => (isset($_POST['wple_agree_gws_tos']) ? 1 : 0),
523
+ 'agree_le_tos' => (isset($_POST['wple_agree_le_tos']) ? 1 : 0),
524
+ );
525
+
526
+ if (isset($_POST['wple_domain']) && !is_multisite()) {
527
+ $leopts['subdir'] = 1;
528
+ $leopts['domain'] = sanitize_text_field($_POST['wple_domain']);
529
+ }
530
+
531
+ update_option('wple_opts', $leopts);
532
+ new WPLE_Core($leopts);
533
+ }
534
+ }
535
+
536
+ /**
537
+ * Download cert files based on clicked link
538
+ *
539
+ * certs for multisite mapped domains cannot be downloaded yet
540
+ * @since 1.0.0
541
+ * @return void
542
+ */
543
+ public function wple_download_files()
544
+ {
545
+
546
+ if (isset($_GET['le']) && current_user_can('manage_options')) {
547
+ switch ($_GET['le']) {
548
+ case '1':
549
+ $file = uniqid() . '-cert.crt';
550
+ file_put_contents($file, file_get_contents(ABSPATH . 'keys/certificate.crt'));
551
+ break;
552
+ case '2':
553
+ $file = uniqid() . '-key.pem';
554
+ file_put_contents($file, file_get_contents(ABSPATH . 'keys/private.pem'));
555
+ break;
556
+ case '3':
557
+ $file = uniqid() . '-cabundle.crt';
558
+
559
+ if (file_exists(ABSPATH . 'keys/cabundle.crt')) {
560
+ $cabundlefile = file_get_contents(ABSPATH . 'keys/cabundle.crt');
561
+ } else {
562
+ $cabundlefile = file_get_contents(WPLE_DIR . 'cabundle/ca.crt');
563
+ }
564
+
565
+ file_put_contents($file, $cabundlefile);
566
+ break;
567
+ }
568
+ header('Content-Description: File Transfer');
569
+ header('Content-Type: text/plain');
570
+ header('Content-Length: ' . filesize($file));
571
+ header('Content-Disposition: attachment; filename=' . basename($file));
572
+ readfile($file);
573
+ if (file_exists($file)) {
574
+ unlink($file);
575
+ }
576
+ exit;
577
+ }
578
+ }
579
+
580
+ /**
581
+ * Rate us admin notice
582
+ *
583
+ * @since 2.0.0
584
+ * @return void
585
+ */
586
+ public function wple_rateus()
587
+ {
588
+ $cert = ABSPATH . 'keys/certificate.crt';
589
+
590
+ if (file_exists($cert)) {
591
+ if (isset($_GET['page']) && $_GET['page'] == 'wp_encryption') {
592
+ return;
593
+ }
594
+ $reviewnonce = wp_create_nonce('wplereview');
595
+ $html = '<div class="notice notice-info wple-admin-review">
596
  <div class="wple-review-box">
597
  <img src="' . WPLE_URL . 'admin/assets/symbol.png"/>
598
+ <span><strong>' . esc_html__('Congratulations!', 'wp-letsencrypt-ssl') . '</strong><p>' . WPLE_Trait::wple_kses(__('SSL certificate generated successfully!. <b>WP Encryption</b> just saved you several $$$ by generating free SSL certificate in record time!. Could you please do us a BIG favor & rate us with 5 star review to support further development of this plugin.', 'wp-letsencrypt-ssl')) . '</p></span>
599
  </div>
600
+ <a class="wple-lets-review wplerevbtn" href="https://wordpress.org/support/plugin/wp-letsencrypt-ssl/reviews/#new-post" rel="nofollow noopener" target="_blank">' . esc_html__('Rate plugin', 'wp-letsencrypt-ssl') . '</a>
601
+ <a class="wple-did-review wplerevbtn" href="#" data-nc="' . esc_attr($reviewnonce) . '" data-action="1">' . esc_html__('I already did', 'wp-letsencrypt-ssl') . '&nbsp;<span class="dashicons dashicons-smiley"></span></a>
602
+ <a class="wple-later-review wplerevbtn" href="#" data-nc="' . esc_attr($reviewnonce) . '" data-action="2">' . esc_html__('Remind me later', 'wp-letsencrypt-ssl') . '&nbsp;<span class="dashicons dashicons-clock"></span></a>
603
  </div>';
604
+ echo $html;
 
 
605
  }
606
+ }
607
+
608
+ /**
609
+ * Check if wp install is IP or subdir based
610
+ *
611
+ * @since 2.4.0
612
+ * @return void
613
+ */
614
+ public function wple_subdir_ipaddress()
615
+ {
616
+ $siteURL = str_ireplace(array('http://', 'https://', 'www.'), array('', '', ''), site_url());
617
+ $flg = 0;
618
+ if (filter_var($siteURL, FILTER_VALIDATE_IP)) {
619
+ $flg = 1;
620
+ }
621
+ if (FALSE !== stripos($siteURL, 'localhost')) {
622
+ $flg = 1;
623
+ }
624
+
625
+ if (FALSE != stripos($siteURL, '/') && is_multisite()) {
626
+ $html = '<div class="wrap" id="le-wrap">
627
  <div class="le-inner">
628
  <div class="wple-header">
629
+ <img src="' . WPLE_URL . 'admin/assets/logo.png" class="wple-logo"/> <span class="wple-version">v' . esc_html(WPLE_PLUGIN_VERSION) . '</span>
630
  </div>
631
  <div class="wple-warning-notice">
632
+ <h2>' . esc_html__('You do not need to install SSL for each sub-directory site in multisite, Please install SSL for your primary domain and it will cover ALL sub directory sites too.', 'wp-letsencrypt-ssl') . '</h2>
633
  </div>
634
  </div>
635
  </div>';
636
+ echo $html;
637
+ wp_die();
638
+ }
639
+
640
+
641
+ if ($flg) {
642
+ $html = '<div class="wrap" id="le-wrap">
643
  <div class="le-inner">
644
  <div class="wple-header">
645
+ <img src="' . WPLE_URL . 'admin/assets/logo.png" class="wple-logo"/> <span class="wple-version">v' . esc_html(WPLE_PLUGIN_VERSION) . '</span>
646
  </div>
647
  <div class="wple-warning-notice">
648
+ <h2>' . esc_html__('SSL Certificates cannot be issued for localhost and IP address based WordPress site. Please use this on your real domain based WordPress site.', 'wp-letsencrypt-ssl') . ' ' . esc_html__('This restriction is not implemented by WP Encryption but its how SSL certificates work.', 'wp-letsencrypt-ssl') . '</h2>
649
  </div>
650
  </div>
651
  </div>';
652
+ echo $html;
653
+ wp_die();
 
 
654
  }
655
+ }
656
+
657
+ /**
658
+ * Upgrade to PRO
659
+ *
660
+ * @param string $html
661
+ * @since 2.5.0
662
+ * @return void
663
+ */
664
+ public function wple_upgrade_block(&$html)
665
+ {
666
+ $upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing');
667
+ ///$upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd&coupon=FIRSTBUY');
668
+ $nopricing = get_option('wple_no_pricing');
669
+ //gdy
670
+ $cp = get_option('wple_have_cpanel');
671
+ if (FALSE === $nopricing && !$cp) {
672
+ //not gdy & not cpanel
673
+ //$nopricing = rand( 0, 1 );
674
+ $nopricing = 0;
675
+ }
676
+ $automatic = esc_html__('Automatic', 'wp-letsencrypt-ssl');
677
+ $manual = esc_html__('Manual', 'wp-letsencrypt-ssl');
678
+ $domain = str_ireplace(array('https://', 'http://', 'www.'), '', site_url());
679
+ $dverify = $automatic;
680
+ if (stripos($domain, '/') != FALSE) {
681
+ //subdir site
682
+ $dverify = $manual;
683
+ }
684
+ $html .= '
685
  <div id="wple-upgradepro">';
686
+
687
+ if (FALSE !== $cp && $cp) {
688
+ $html .= '<strong style="display: block; text-align: center; color: #666;">Woot Woot! You have <b>CPANEL</b>! Why struggle with manual SSL renewal every 90 days? - Enjoy 100% automation with PRO version.</strong>';
689
+ ///$upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd');
690
+ }
691
+
692
+ $compareurl = 'https://wpencryption.com?utm_source=wordpress&utm_medium=comparison&utm_campaign=wpencryption';
693
+ //$compareurl = admin_url('/admin.php?page=wp_encryption&comparison=1');
694
+
695
+ if ($nopricing) {
696
+ $compareurl = admin_url('/admin.php?page=wp_encryption&comparison=1');
697
+ //$upgradeurl = admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=11394&plan_name=pro&billing_cycle=annual&pricing_id=11717&currency=usd');
698
+ $upgradeurl = 'https://checkout.freemius.com/mode/dialog/plugin/5090/plan/10643/';
699
+ //CDN
700
+ $html .= '<div class="wple-error-firewall fire-pro wple-procdn">
701
  <div>
702
  <img src="' . WPLE_URL . 'admin/assets/firewall-shield-pro.png"/>
703
  </div>
704
  <div class="wple-upgrade-features">
705
+ <span><b>Automatic SSL Installation</b><br>Hassle free automatic installation of SSL Certificate - Super simple DNS based setup.</span>
706
  <span><b>Automatic SSL Renewal</b><br>Your SSL certificate will be automatically renewed in background without the need of any action or manual work.</span>
707
+ <span><b>Security</b><br>Enterprise level protection against known vulnerabilities, Bad Bots, Brute Force, DDOS, Spam & much more attack vectors.</span>
708
+ <span><b>Automatic CDN</b><br>Your site is served from 42 full scale edge locations for faster content delivery and fastest performance.</span>
709
  </div>
710
  </div>';
711
+ } else {
712
+ $html .= '<div class="wple-plans">
713
+ <span class="free">* ' . esc_html__('FREE', 'wp-letsencrypt-ssl') . '</span>
714
+ <span class="pro">* ' . esc_html__('PRO', 'wp-letsencrypt-ssl') . '</span>
715
  </div>
716
  <div class="wple-plan-compare">
717
  <div class="wple-compare-item">
718
  <img src="' . WPLE_URL . 'admin/assets/verified.png"/>
719
+ <h4>' . esc_html__('HTTP Verification', 'wp-letsencrypt-ssl') . '</h4>
720
  <span class="wple-free">' . $manual . '</span>
721
  <span class="wple-pro">' . $automatic . '</span>
722
  </div>
723
  <div class="wple-compare-item">
724
  <img src="' . WPLE_URL . 'admin/assets/DNS.png"/>
725
+ <h4>' . esc_html__('DNS Verification', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__('In case of HTTP verification fail / not possible', 'wp-letsencrypt-ssl') . '"></span></h4>
726
  <span class="wple-free">' . $manual . '</span>
727
  <span class="wple-pro">' . $automatic . '</span>
728
  </div>
729
  <div class="wple-compare-item">
730
  <img src="' . WPLE_URL . 'admin/assets/Install.png"/>
731
+ <h4>' . esc_html__('SSL Installation', 'wp-letsencrypt-ssl') . ' <!--<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__('PRO - We offer one time free manual support for non-cPanel based sites', 'wp-letsencrypt-ssl') . '"></span>--></h4>
732
  <span class="wple-free">' . $manual . '</span>
733
  <span class="wple-pro">' . $automatic . '</span>
734
  </div>
735
  <div class="wple-compare-item">
736
  <img src="' . WPLE_URL . 'admin/assets/renewal.png"/>
737
+ <h4>' . esc_html__('SSL Renewal', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__('Free users must manually renew / re-generate SSL certificate every 90 days.', 'wp-letsencrypt-ssl') . '"></span></h4>
738
  <span class="wple-free">' . $manual . '</span>
739
  <span class="wple-pro">' . $automatic . '</span>
740
  </div>
741
  <div class="wple-compare-item">
742
  <img src="' . WPLE_URL . 'admin/assets/wildcard.png"/>
743
+ <h4>' . esc_html__('Wildcard SSL', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__('PRO - Your domain DNS must be managed by cPanel or Godaddy for full automation', 'wp-letsencrypt-ssl') . '"></span></h4>
744
+ <span class="wple-free">' . esc_html__('Not Available', 'wp-letsencrypt-ssl') . '</span>
745
+ <span class="wple-pro">' . esc_html__('Available', 'wp-letsencrypt-ssl') . '</span>
746
  </div>
747
  <div class="wple-compare-item">
748
  <img src="' . WPLE_URL . 'admin/assets/multisite.png"/>
749
+ <h4>' . esc_html__('Multisite Support', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="' . esc_attr__('PRO - Support for Multisite + Mapped domains', 'wp-letsencrypt-ssl') . '"></span></h4>
750
+ <span class="wple-free">' . esc_html__('Not Available', 'wp-letsencrypt-ssl') . '</span>
751
+ <span class="wple-pro">' . esc_html__('Available', 'wp-letsencrypt-ssl') . '</span>
752
  </div>
753
  </div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
754
  }
755
+
756
+ ///$html .= '<div style="text-align:center"><img src="' . WPLE_URL . '/admin/assets/new-year.png"></div>';
757
+ $html .= '<div class="wple-upgrade-pro">
758
+ <a href="' . $compareurl . '" target="_blank" class="wplecompare">' . esc_html__('COMPARE FREE & PRO VERSION', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-external"></span></a>';
759
+ // if (isset($_GET['success']) && FALSE == $nopricing) {
760
+ // $html .= '<a href="' . $upgradeurl . '">' . esc_html__('UPGRADE TO PRO', 'wp-letsencrypt-ssl') . '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Requires cPanel or root SSH access"></span></a>
761
+ // <a href="https://wpencryption.com/#firewall" target="_blank">' . esc_html__('UPGRADE TO FIREWALL', 'wp-letsencrypt-ssl') . '<span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Why buy an SSL alone when you can get Premium SSL + CDN + Firewall Security for even lower cost."></span></a>';
762
+ // } else {
763
+
764
+ if ($nopricing) {
765
+ $html .= '<a href="' . $upgradeurl . '">' . esc_html__('UPGRADE TO CDN', 'wp-letsencrypt-ssl') . '</a>';
766
+ } else {
767
+ $html .= '<a href="' . $upgradeurl . '">' . esc_html__('UPGRADE TO PRO', 'wp-letsencrypt-ssl') . '</a>';
768
+ }
769
+
770
+ //$html .= '<a href="https://checkout.freemius.com/mode/dialog/plugin/5090/plan/10643/" target="_blank" id="upgradetocdn">' . esc_html__('UPGRADE TO CDN', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Sky rocket your WordPress site performance with Fastest Content Delivery Network + Premium Sectigo SSL"></span></a>';
771
+ // }
772
+ $html .= '</div>';
773
+ // $rnd = rand(0, 1);
774
+ // if ($rnd) {
775
+ // $html .= '<div class="wple-hire-expert"><a href="https://wpencryption.com/cdn-firewall/?utm_campaign=wpencryptionsite&utm_medium=checkoutcdn&utm_source=upgradeblock" target="_blank">Sky Rocket your site speed with our <strong>CDN</strong> plan (<strong>Includes SSL + Performance</strong>) <span class="dashicons dashicons-external"></span></a></div>';
776
+ // } else {
777
+ // $html .= '<div class="wple-hire-expert"><a href="https://wpencryption.com/hire-ssl-expert/?utm_campaign=wpencryptionsite&utm_medium=hiresslexpert&utm_source=upgradeblock" target="_blank">Too busy? <b>Hire an expert</b> for secure migration to HTTPS (<b>ONE YEAR PRO LICENSE FREE</b>) <span class="dashicons dashicons-external"></span></a></div>';
778
+ // }
779
+ $html .= '</div><!--wple-upgradepro-->';
780
+ $html .= '<div id="ourotherplugin">Check out our another awesome plugin <a href="https://wordpress.org/plugins/go-viral/" target="_blank"><img src="' . WPLE_URL . 'admin/assets/goviral-logo.png"/> - All in one social toolkit</a></div>';
781
+ }
782
+
783
+ /**
784
+ * Success Message block
785
+ *
786
+ * @param string $html
787
+ * @since 2.5.0
788
+ * @return void
789
+ */
790
+ public function wple_success_block(&$html)
791
+ {
792
+ //since 2.4.0
793
+
794
+ if (isset($_GET['success'])) {
795
+ $this->wple_wellknown_htaccess();
796
+ update_option('wple_error', 5);
797
+ //all success
798
+ $html .= '
799
  <div id="wple-sslgenerator">
800
  <div class="wple-success-form">';
801
+ // if (!isset($_GET['resume']) && !isset($_GET['nossl'])) {
802
+ // $this->wple_send_success_mail();
803
+ // }
804
+ $html .= '<h2><span class="dashicons dashicons-yes"></span>&nbsp;' . WPLE_Trait::wple_kses(__('<b>Congrats! SSL Certificate have been successfully generated.</b>', 'wp-letsencrypt-ssl')) . '</h2>
805
+ <h3 style="width: 87%; margin: 0px auto; color: #7b8279; font-weight:400;">' . WPLE_Trait::wple_kses(__('We just completed major task of generating SSL certificate! Now we have ONE final step to complete.', 'wp-letsencrypt-ssl')) . '</h3>';
806
+ $html .= WPLE_Trait::wple_progress_bar();
807
+ ///$nopricing = get_option('wple_no_pricing');
808
+ //$colclass = FALSE != $nopricing ? 'wple-three-cols' : '';
809
+ $html .= '
810
 
811
  <div class="wple-success-flex">
812
  <div class="wple-success-flex-video">
814
  </div>
815
  <div class="wple-success-flex-final">
816
  <ul class="download-ssl-certs">
817
+ <li>1. ' . sprintf(__('%sClick here%s to login into your cPanel.', 'wp-letsencrypt-ssl'), '<a href="' . site_url('cpanel') . '" target="_blank">', '</a>') . '</li>
818
+ <li>2. ' . sprintf(__('Open %sSSL/TLS%s option on your cPanel', 'wp-letsencrypt-ssl'), '<strong><img src="' . WPLE_URL . '/admin/assets/tls.png" style="width: 20px;margin-bottom: -5px;">&nbsp;', '</strong>') . '</li>
819
+ <li>3. ' . sprintf(__('Click on %sManage SSL Sites%s option', 'wp-letsencrypt-ssl'), '<strong>', '</strong>') . '</li>
820
  <li>4. ' . sprintf(
821
+ __('Copy the contents of %sCertificate.crt%s, %sPrivate.pem%s, %sCABundle.crt%s files from below & paste them into its appropriate fields on cPanel', 'wp-letsencrypt-ssl'),
822
+ '<strong>',
823
+ '</strong>',
824
+ '<strong>',
825
+ '</strong>',
826
+ '<strong>',
827
+ '</strong>'
828
+ ) . '. ' . esc_html("You can also download the cert files to your local computer, right click > open with notepad to view/copy", "wp-letsencrypt-ssl") . '</li>
829
  <li>';
830
+ WPLE_Trait::wple_copy_and_download($html);
831
+ $html .= '</li>
832
+ <li>5. ' . sprintf(__('Click on %sInstall certificate%s', 'wp-letsencrypt-ssl'), '<strong>', '</strong>') . '</li>
833
+ <li>6. ' . sprintf(__('Please wait few minutes and click on %sEnable HTTPS Now%s button', 'wp-letsencrypt-ssl'), '<strong>', '</strong>') . '</li>
834
  </ul>
835
 
836
  </div>
838
 
839
  <div class="wple-success-cols wple-three-cols">
840
  <div>
841
+ <h3>' . esc_html__("Don't have cPanel?", 'wp-letsencrypt-ssl') . '</h3>
842
+ <p>' . esc_html__("cPanel link goes to 404 not found page?. ", 'wp-letsencrypt-ssl') . sprintf(
843
+ __('If you have root SSH access, edit your server config file and point your SSL paths to %scertificate.crt%s & %sprivate.pem%s files in %skeys/%s folder. Alternatively, Upgrade to %sPRO%s version for automatic SSL installation and automatic SSL renewal.', 'wp-letsencrypt-ssl'),
844
+ '<strong>',
845
+ '</strong>',
846
+ '<strong>',
847
+ '</strong>',
848
+ '<strong>',
849
+ '</strong>',
850
+ '<a href="' . admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd') . '"><strong>',
851
+ '</strong></a>'
852
+ ) . '</p>
853
  </div>
854
  <div>
855
+ <h3>' . esc_html__("Test SSL Installation", 'wp-letsencrypt-ssl') . '</h3>
856
+ <p>' . esc_html__("After installing SSL certs on your cPanel, open your site in https:// and click on padlock to see if valid certificate exists. You can also test your site's SSL on SSLLabs.com", "wp-letsencrypt-ssl") . '</p>
857
  </div>
858
  <div>
859
+ <h3>' . esc_html__("By Clicking Enable HTTPS", 'wp-letsencrypt-ssl') . '</h3>
860
+ <p>' . esc_html__('Your site & admin url will be changed to https:// and all assets, js, css, images will strictly load over https:// to avoid mixed content errors.', 'wp-letsencrypt-ssl') . '</p>
861
  </div>';
862
+ // if (FALSE == $nopricing) {
863
+ // $html .= '<div>
864
+ // <h3>' . esc_html__("Looking for instant SSL solution?", 'wp-letsencrypt-ssl') . '</h3>
865
+ // <p>' . sprintf(__('Why pay for an SSL certificate alone when you can get %sPremium Sectigo SSL%s + %sCDN Performance%s + %sSecurity Firewall%s for even lower cost with our %sCDN%s Service.', 'wp-letsencrypt-ssl'), '<strong>', '</strong>', '<strong>', '</strong>', '<strong>', '</strong>', '<a href="https://wpencryption.com/cdn-firewall/?utm_campaign=wpencryption&utm_source=wordpress&utm_medium=gocdn" target="_blank">', '</a>') . '!.</p>
866
+ // </div>';
867
+ // }
868
+ $html .= '</div>
869
 
870
  <ul>
871
+ <!--<li>' . WPLE_Trait::wple_kses(__('<b>Note:</b> Use below "Enable HTTPS" button ONLY after SSL certificate is successfully installed on your cPanel', 'wp-letsencrypt-ssl')) . '</li>-->
872
  </ul>';
873
+ if (isset($_GET['nossl'])) {
874
+ $html .= '<h3 style="color:#ff4343;margin-bottom:10px;margin: 0 auto 10px; max-width: 800px;">' . esc_html__('We could not detect valid SSL certificate installed on your site!. Please try after some time. You can also try opening wp-admin via https:// and click on enable https button.', 'wp-letsencrypt-ssl') . '</h3>
875
+ <p>' . esc_html__('Switching to HTTPS without properly installing the SSL certificate might break your site.', 'wp-letsencrypt-ssl') . '</p>';
876
+ }
877
+ $html .= '<form method="post">
878
  ' . wp_nonce_field(
879
+ 'wplehttps',
880
+ 'sslready',
881
+ false,
882
+ false
883
+ ) . '
884
+ <button type="submit" name="wple-https">' . esc_html__('ENABLE HTTPS NOW', 'wp-letsencrypt-ssl') . '</button>
885
  </form>
886
  </div>
887
  </div><!--wple-sslgenerator-->';
 
 
888
  }
889
+ }
890
+
891
+ /**
892
+ * Show pending challenges
893
+ *
894
+ * @return void
895
+ */
896
+ public function wple_domain_verification()
897
+ {
898
+ //since 5.1.0
899
+
900
+ if (isset($_GET['restart'])) {
901
+ //click to restart from beginning
902
+ delete_option('wple_error');
903
+ delete_option('wple_complete');
904
+ wp_redirect(admin_url('/admin.php?page=wp_encryption'), 302);
905
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
906
  }
907
+
908
+
909
+ if (isset($_GET['complete'])) {
910
+ //Forced SSL completion flag
911
+ delete_option('wple_error');
912
+ update_option('wple_complete', 1);
913
+ update_option('wple_backend', 1);
914
+ if (wp_next_scheduled('wple_ssl_renewal')) {
915
+ wp_clear_scheduled_hook('wple_ssl_renewal');
916
+ }
917
+ wp_redirect(admin_url('/admin.php?page=wp_encryption'), 302);
918
+ exit;
919
+ }
920
+
921
+ $estage = get_option('wple_error');
922
+ //redirections
923
+
924
+ if (FALSE !== $estage && $estage == 2 && !isset($_GET['subdir']) && !isset($_GET['error']) && !isset($_GET['includewww']) && !isset($_GET['wpleauto']) && isset($_GET['page']) && $_GET['page'] == 'wp_encryption' && !isset($_GET['success']) && !isset($_GET['wplereset']) && !isset($_GET['comparison']) && !isset($_GET['lasterror'])) {
925
+ wp_redirect(admin_url('/admin.php?page=wp_encryption&subdir=1'), 302);
926
+ exit;
927
+ }
928
+
929
+
930
+ if (FALSE !== $estage && $estage == 5 && !isset($_GET['subdir']) && !isset($_GET['error']) && !isset($_GET['includewww']) && !isset($_GET['wpleauto']) && isset($_GET['page']) && $_GET['page'] == 'wp_encryption' && !isset($_GET['resume']) && !isset($_GET['nossl']) && !isset($_GET['wplereset']) && !isset($_GET['comparison']) && !isset($_GET['nocpanel'])) {
931
+ wp_redirect(admin_url('/admin.php?page=wp_encryption&success=1&resume=1'), 302);
932
+ exit;
933
+ }
934
+ }
935
+
936
+ /**
937
+ * Error Message block
938
+ *
939
+ * @param string $html
940
+ * @since 2.5.0
941
+ * @return void
942
+ */
943
+ public function wple_error_block(&$html)
944
+ {
945
+ if (!isset($_GET['subdir']) && !isset($_GET['success'])) {
946
+
947
+ if (isset($_GET['sperror'])) { } else {
948
+
949
+ if (isset($_GET['error']) || FALSE != ($error_code = get_option('wple_error'))) {
950
+ $error_code = get_option('wple_error');
951
+ $generic = esc_html__('There was some issue while generating SSL for your site. Please check debug log or try Reset option once.', 'wp-letsencrypt-ssl');
952
+ $generic .= '<p style="font-size:16px;color:#888">' . sprintf(esc_html__('Feel free to open support ticket at %s for any help.', 'wp-letsencrypt-ssl'), 'https://wordpress.org/support/plugin/wp-letsencrypt-ssl/#new-topic-0') . '</p>';
953
+ $firerec = sprintf(
954
+ esc_html__("We highly recommend upgrading to our %sPRO%s annual plan for %sPremium SSL%s with automatic %sCDN%s + %sFirewall Security%s that works on ANY host.", 'wp-letsencrypt-ssl'),
955
+ '<a href="' . admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd') . '">',
956
+ '</a>',
957
+ '<strong>',
958
+ '</strong>',
959
+ '<strong>',
960
+ '</strong>',
961
+ '<strong>',
962
+ '</strong>'
963
+ );
964
+ $thirdparty = esc_html__("Your hosting server don't seem to support third party SSL.", "wp-letsencrypt-ssl");
965
+
966
+ if (FALSE !== $error_code && ($error_code == 1 || $error_code == 400)) {
967
+ $generic .= '<p class="firepro">' . $thirdparty . ' ' . $firerec . '</p>';
968
+ } else {
969
+ if (file_exists(ABSPATH . 'keys/certificate.crt')) {
970
+ $generic .= '<br><br>' . WPLE_Trait::wple_kses(__('You already seem to have certificate generated and stored. Please try downloading certs from <strong>Download SSL Certificates</strong> page and open in a text editor like notepad to check if certificate is not empty.', 'wp-letsencrypt-ssl'));
971
+ }
972
+ }
973
+
974
+
975
+ if (FALSE !== $error_code && $error_code == 429) {
976
+ $generic = sprintf(esc_html__('Too many registration attempts from your IP address (%s). Please try after 2-3 hours.', 'wp-letsencrypt-ssl'), 'https://letsencrypt.org/docs/rate-limits/');
977
+ $generic .= '<p class="firepro">' . $firerec . '</p>';
978
+ $generic .= '<p style="font-size:17px;color:#888">' . sprintf(esc_html__('Feel free to open support ticket at %s for any help.', 'wp-letsencrypt-ssl'), 'https://wordpress.org/support/plugin/wp-letsencrypt-ssl/#new-topic-0') . '</p>';
979
+ }
980
+
981
+ if ($error_code != 5) {
982
+ $html .= '
983
  <div id="wple-sslgenerator" class="error">
984
  <div class="wple-error-message">
985
  ' . $generic . '
986
  </div>
987
  </div><!--wple-sslgenerator-->';
988
+ }
 
 
 
 
989
  }
990
+ }
991
  }
992
+ }
993
+
994
+ /**
995
+ * Handles review box actions
996
+ *
997
+ * @since 4.4.0
998
+ * @return void
999
+ */
1000
+ public function wple_review_handler()
1001
+ {
1002
+ //since 5.0.0
1003
+ $this->wple_intro_pricing_handler();
1004
+ }
1005
+
1006
+ /**
1007
+ * Sets review flag to show review request
1008
+ *
1009
+ * @since 4.4.0
1010
+ */
1011
+ public function wple_set_review_flag()
1012
+ {
1013
+ update_option('wple_show_review', 1);
1014
+ }
1015
+
1016
+ /**
1017
+ * Handle the reset keys action
1018
+ *
1019
+ * @since 4.5.0
1020
+ * @return void
1021
+ */
1022
+ public function wple_reset_handler()
1023
+ {
1024
+
1025
+ if (isset($_GET['wplereset'])) {
1026
+ if (!current_user_can('manage_options')) {
1027
+ exit('No Trespassing Allowed');
1028
+ }
1029
+ if (!wp_verify_nonce($_GET['wplereset'], 'restartwple')) {
1030
+ exit('No Trespassing Allowed');
1031
+ }
1032
+ $keys = ABSPATH . 'keys/';
1033
+ $files = array(
1034
+ $keys . 'public.pem',
1035
+ $keys . 'private.pem',
1036
+ $keys . 'order',
1037
+ $keys . 'fullchain.crt',
1038
+ $keys . 'certificate.crt',
1039
+ $keys . '__account/private.pem',
1040
+ $keys . '__account/public.pem'
1041
+ );
1042
+ foreach ($files as $file) {
1043
+ if (file_exists($file)) {
1044
+ unlink($file);
1045
+ }
1046
+ }
1047
+ delete_option('wple_error');
1048
+ delete_option('wple_complete');
1049
+ delete_option('wple_backend');
1050
+ ///if (wple_fs()->can_use_premium_code__premium_only()) {
1051
+ delete_option('wple_firewall_stage');
1052
+ delete_option('wple_spmode_dns');
1053
+ delete_option('wple_spmode_activated');
1054
+ ///}
1055
+ add_action('admin_notices', array($this, 'wple_reset_success'));
1056
  }
1057
+
1058
+ //since 4.6.0
1059
+
1060
+ if (isset($_GET['wplesslrenew'])) {
1061
+ if (!wp_verify_nonce($_GET['wplesslrenew'], 'wple_renewed')) {
1062
+ exit('Unauthorized');
1063
+ }
1064
+ delete_option('wple_show_reminder');
1065
+ wp_redirect(admin_url('/admin.php?page=wp_encryption'), 302);
1066
  }
1067
+ }
1068
+
1069
+ /**
1070
+ * Reset success notice
1071
+ *
1072
+ * @since 4.5.0
1073
+ */
1074
+ public function wple_reset_success()
1075
+ {
1076
+ echo '<div class="notice notice-success is-dismissable">
1077
+ <p>' . esc_html('Reset successful!. You can start with the SSL install process again.', 'wp-letsencrypt-ssl') . '</p>
1078
+ </div>';
1079
+ }
1080
+
1081
+ /**
1082
+ * Local check DNS records via Ajax
1083
+ *
1084
+ * @since 4.6.0
1085
+ * @return void
1086
+ */
1087
+ public function wple_ajx_verify_dns()
1088
+ {
1089
+
1090
+ if (isset($_POST['nc'])) {
1091
+ if (!wp_verify_nonce($_POST['nc'], 'verifydnsrecords')) {
1092
+ exit('Unauthorized');
1093
+ }
1094
+ $toVerify = get_option('wple_opts');
1095
+
1096
+ if (array_key_exists('dns_challenges', $toVerify) && !empty($toVerify['dns_challenges'])) {
1097
+ $toVerify = $dnspendings = $toVerify['dns_challenges'];
1098
+ //array
1099
+ foreach ($toVerify as $index => $item) {
1100
+ $domain_code = explode('||', $item);
1101
+ $acme = '_acme-challenge.' . esc_html($domain_code[0]);
1102
+ $requestURL = 'https://dns.google.com/resolve?name=' . addslashes($acme) . '&type=TXT';
1103
+ $handle = curl_init();
1104
+ curl_setopt($handle, CURLOPT_URL, $requestURL);
1105
+ curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
1106
+ curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true);
1107
+ $response = json_decode(trim(curl_exec($handle)));
1108
+
1109
+ if ($response->Status === 0 && isset($response->Answer)) {
1110
+ //if ($answer->type == 16) {
1111
+ $found = 'Pending';
1112
+ foreach ($response->Answer as $answer) {
1113
+ $livecode = str_ireplace('"', '', $answer->data);
1114
+
1115
+ if ($livecode == $domain_code[1]) {
1116
+ unset($dnspendings[$index]);
1117
+ $found = 'OK';
1118
+ }
1119
  }
1120
+ WPLE_Trait::wple_logger("\n" . esc_html($requestURL . ' should return ' . $domain_code[1] . ' -> ' . $found) . "\n");
1121
+ } else {
1122
+ $ledebug = WPLE_Trait::wple_lets_debug('dns-01');
1123
+
1124
+ if ($ledebug != false) {
1125
+ echo $ledebug;
1126
+ exit;
 
 
 
 
 
 
 
1127
  }
1128
+
1129
+ echo 'fail';
1130
+ exit;
1131
+ }
 
 
 
 
 
1132
  }
1133
+
1134
+ if (empty($dnspendings)) {
1135
+ WPLE_Trait::wple_logger(
1136
+ "Local check - All DNS challenges verified\n",
1137
+ 'success',
1138
+ 'a',
1139
+ false
1140
+ );
1141
+ echo 1;
1142
+ exit;
1143
+ } else {
1144
+ $ledebug = WPLE_Trait::wple_lets_debug('dns-01');
1145
+
1146
+ if ($ledebug != false) {
1147
+ echo $ledebug;
1148
+ exit;
1149
+ }
1150
+
1151
+ echo 'fail';
1152
+ exit;
1153
  }
1154
+ } else {
1155
+
1156
+ if (empty($toVerify['dns_challenges'])) {
1157
+ WPLE_Trait::wple_logger(
1158
+ "Local check - DNS challenges empty\n",
1159
+ 'success',
1160
+ 'a',
1161
+ false
1162
+ );
1163
+ echo 1;
1164
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1165
  }
1166
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1167
  }
1168
+
1169
+ echo 'fail';
1170
+ exit;
1171
+ }
1172
+
1173
+ /**
1174
+ * Show expiry reminder in admin notice
1175
+ *
1176
+ * @see 4.6.0
1177
+ * @return void
1178
+ */
1179
+ public function wple_start_show_reminder()
1180
+ {
1181
+ update_option('wple_show_reminder', 1);
1182
+ $opts = get_option('wple_opts');
1183
+ $to = sanitize_email($opts['email']);
1184
+ $subject = sprintf(esc_html__('ATTENTION - SSL Certificate of %s expires in just 10 days', 'wp-letsencrypt-ssl'), str_ireplace(array('https://', 'http://'), array('', ''), site_url()));
1185
+ $headers = array('Content-Type: text/html; charset=UTF-8');
1186
+ $body = '<p>' . sprintf(esc_html__('Your SSL Certificate is expiring soon!. Please make sure to re-generate new SSL Certificate using %sWP Encryption%s and install it on your hosting server to avoid site showing insecure warning with expired certificate.', 'wp-letsencrypt-ssl'), '<a href="' . admin_url('/admin.php?page=wp_encryption', 'http') . '">', '</a>') . '</p><br /><br />';
1187
+ $body .= '<b>' . esc_html__('Tired of manual SSL renewal every 90 days?, Upgrade to PRO version for automatic SSL installation and automatic SSL renewal', 'wp-letsencrypt-ssl') . '. <br><a href="' . admin_url('/admin.php?page=wp_encryption-pricing', 'http') . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px 0; font-weight: bold;">' . esc_html__('UPGRADE TO PREMIUM', 'wp-letsencrypt-ssl') . '</a></b><br /><br />';
1188
+ wp_mail(
1189
+ $to,
1190
+ $subject,
1191
+ $body,
1192
+ $headers
1193
+ );
1194
+ }
1195
+
1196
+ public function wple_reminder_notice()
1197
+ {
1198
+ $already_did = wp_nonce_url(admin_url('admin.php?page=wp_encryption'), 'wple_renewed', 'wplesslrenew');
1199
+ $html = '<div class="notice notice-info wple-admin-review">
1200
  <div class="wple-review-box wple-reminder-notice">
1201
  <img src="' . WPLE_URL . 'admin/assets/symbol.png"/>
1202
+ <span><strong>WP ENCRYPTION: ' . esc_html__('Your SSL certificate expires in less than 10 days', 'wp-letsencrypt-ssl') . '</strong><p>' . WPLE_Trait::wple_kses(__('Renew your SSL certificate today to avoid your site from showing as insecure. Please support our contribution by upgrading to <strong>Pro</strong> and avail automatic renewal with automatic installation.', 'wp-letsencrypt-ssl')) . '</p></span>
1203
  </div>
1204
+ <a class="wple-lets-review wplerevbtn" href="' . admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd') . '">' . esc_html__('Upgrade to Pro', 'wp-letsencrypt-ssl') . '</a>
1205
+ <a class="already-renewed wplerevbtn" href="' . $already_did . '">' . esc_html__('I already renewed', 'wp-letsencrypt-ssl') . '&nbsp;<span class="dashicons dashicons-smiley"></span></a>
1206
  </div>';
1207
+ echo $html;
1208
+ }
1209
+
1210
+ /**
1211
+ * Manual HTTP challenges for subdir sites
1212
+ *
1213
+ * @since 4.7.0
1214
+ * @param string $html
1215
+ * @param array $opts
1216
+ * @return string
1217
+ */
1218
+ public function wple_subdir_challenges(&$html, $opts)
1219
+ {
1220
+ if (isset($_GET['subdir'])) {
1221
+ $html .= '
1222
  <div id="wple-sslgenerator">
1223
  <div class="wple-success-form">
1224
+ ' . WPLE_Subdir_Challenge_Helper::show_challenges($opts) . '
1225
  </div>
1226
  </div><!--wple-sslgenerator-->';
 
1227
  }
1228
+ }
1229
+
1230
+ /**
1231
+ * Local check HTTP records via Ajax for subdir sites
1232
+ *
1233
+ * @since 4.7.0
1234
+ * @return void
1235
+ */
1236
+ public function wple_ajx_verify_http()
1237
+ {
1238
+
1239
+ if (isset($_POST['nc'])) {
1240
+ if (!wp_verify_nonce($_POST['nc'], 'verifyhttprecords')) {
1241
+ exit('Unauthorized');
1242
+ }
1243
+ $domain = str_ireplace(array('https://', 'http://'), '', site_url());
1244
+ if (stripos($domain, '/') != FALSE) {
1245
+ //subdir site
1246
+ $domain = substr($domain, 0, stripos($domain, '/'));
1247
+ }
1248
+ $opts = get_option('wple_opts');
1249
+ $httpch = $opts['challenge_files'];
1250
+
1251
+ if (empty($httpch)) {
1252
+ echo 1;
1253
+ exit;
1254
+ }
1255
+
1256
+ $counter = get_option('wple_failed_verification');
1257
+ foreach ($httpch as $index => $ch) {
1258
+
1259
+ if ($counter >= 8) {
1260
+ $fpath = ABSPATH . '.well-known/acme-challenge/';
1261
+ if (!file_exists($fpath)) {
1262
+ mkdir($fpath, 0775, true);
1263
+ }
1264
+ WPLE_Trait::wple_logger('Helping with HTTP challenge file', 'success', 'a');
1265
+ file_put_contents($fpath . $ch['file'], trim($ch['value']));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1266
  }
1267
+
1268
+ $check = LEFunctions::checkHTTPChallenge($domain, $ch['file'], $ch['value']);
1269
+
1270
+ if (!$check) {
1271
+
1272
+ if (FALSE === $counter) {
1273
+ update_option('wple_failed_verification', 1);
1274
+ } else {
1275
+ update_option('wple_failed_verification', $counter + 1);
1276
+ }
1277
+
1278
+ WPLE_Trait::wple_logger(
1279
+ "HTTP challenge file checked locally - found invalid",
1280
+ 'success',
1281
+ 'a',
1282
+ false
1283
+ );
1284
+ $ledebug = WPLE_Trait::wple_lets_debug('http-01');
1285
+
1286
+ if ($ledebug != false) {
1287
+ echo $ledebug;
1288
+ exit;
1289
+ }
1290
+
1291
+ echo 'fail';
1292
+ exit;
1293
+ }
1294
+ }
1295
+ WPLE_Trait::wple_logger(
1296
+ "Local check - All HTTP challenges verified\n",
1297
+ 'success',
1298
+ 'a',
1299
+ false
1300
+ );
1301
+ delete_option('wple_failed_verification');
1302
+ echo 1;
1303
+ exit;
1304
  }
1305
+ }
1306
+
1307
+ /**
1308
+ * Continue process on wpleauto param
1309
+ *
1310
+ * @return void
1311
+ */
1312
+ public function wple_continue_certification()
1313
+ {
1314
+
1315
+ if (isset($_GET['wpleauto'])) {
1316
+ $leopts = get_option('wple_opts');
1317
+
1318
+ if ($_GET['wpleauto'] == 'http') {
1319
+ new WPLE_Core($leopts);
1320
+ } else {
1321
+ //DNS
1322
+ new WPLE_Core(
1323
+ $leopts,
1324
+ true,
1325
+ false,
1326
+ true
1327
+ );
1328
+ }
 
 
1329
  }
1330
+ }
1331
+
1332
+ /**
1333
+ * Simple success notice for admin
1334
+ *
1335
+ * @since 4.7.2
1336
+ * @return void
1337
+ */
1338
+ public function wple_success_notice()
1339
+ {
1340
+ $html = '<div class="notice notice-success">
1341
+ <p>' . esc_html__('Success', 'wp-letsencrypt-ssl') . '!</p>
1342
  </div>';
1343
+ echo $html;
1344
+ }
1345
+
1346
+ /**
1347
+ * Show Pricing table once on activation
1348
+ *
1349
+ * @since 5.0.0
1350
+ * @param string $html
1351
+ * @return $html
1352
+ */
1353
+ public function wple_initial_quick_pricing(&$html)
1354
+ {
1355
+ $host = site_url();
1356
+ if (FALSE != ($slashpos = stripos($host, '/', 9))) {
1357
+ $host = substr($host, 0, $slashpos);
1358
  }
1359
+ $cp = $host . ':2083';
1360
+ if (FALSE === stripos($host, 'https')) {
1361
+ $cp = $host . ':2082';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1362
  }
1363
+ $response = wp_remote_get($cp, [
1364
+ 'headers' => [
1365
+ 'Connection' => 'close',
1366
+ ],
1367
+ 'sslverify' => false,
1368
+ 'timeout' => 30,
1369
+ ]);
1370
+ $cpanel = true;
1371
+ if (is_wp_error($response)) {
1372
+ $cpanel = false;
1373
+ }
1374
+ $html .= '<div id="wple-sslgen">';
1375
+ $cppricing = (FALSE !== stripos(ABSPATH, 'srv/htdocs') ? true : false);
1376
+
1377
+ if ($cpanel || $cppricing) {
1378
+ $show_rp = '';
1379
+ if (!$cppricing) {
1380
+ $show_rp = 1;
1381
+ }
1382
+ update_option('wple_have_cpanel', $show_rp);
1383
+ $html .= $this->wple_cpanel_pricing_table(1);
1384
+ } else {
1385
+ update_option('wple_have_cpanel', 0);
1386
+ // if (isset($_SERVER['GD_PHP_HANDLER'])) {
1387
+ // if ($_SERVER['SERVER_SOFTWARE'] == 'Apache' && isset($_SERVER['GD_PHP_HANDLER']) && $_SERVER['DOCUMENT_ROOT'] == '/var/www') {
1388
+ $html .= $this->wple_firewall_pricing_table();
1389
+ // }
1390
+ // } else {
1391
+ // $html .= $this->wple_cpanel_pricing_table('');
1392
+ // }
1393
+ }
1394
+
1395
+ $html .= '</div>';
1396
+ echo $html;
1397
+ }
1398
 
1399
+ /**
1400
+ * Pricing table html
1401
+ *
1402
+ * @since 5.0.0
1403
+ * @return $table
1404
+ */
1405
+ public function wple_cpanel_pricing_table($cpanel = '')
1406
+ {
1407
+ ob_start();
1408
+ ?>
1409
 
1410
+ <h2 class="pricing-intro-head"><?php
1411
+ esc_html_e('SAVE MORE THAN $80+ EVERY YEAR IN SSL CERTIFICATE FEE', 'wp-letsencrypt-ssl');
1412
+ ?></h2>
1413
+
1414
+ <h4 class="pricing-intro-subhead">Purchase once and use for lifetime - Trusted Globally by <b>110,000+</b> WordPress Users (Looking for <a href="<?php
1415
+ echo admin_url('/admin.php?page=wp_encryption&gopro=3');
1416
+ ?>">Annual</a> | <a href="<?php
1417
+ echo admin_url('/admin.php?page=wp_encryption&gopro=2');
1418
+ ?>">Unlimited Sites License?</a>)</h4>
1419
 
1420
  <div style="text-align:center">
1421
+ <img src="<?php
1422
+ echo WPLE_URL;
1423
+ ?>/admin/assets/limited-offer.png" style="max-width:650px" />
1424
  </div>
1425
 
1426
  <!-- <div class="plan-toggler" style="margin:60px 0 -20px !important">
1427
  <span>Annual</span><label class="toggle">
1428
+ <input class="toggle-checkbox initplan-switch" type="checkbox" <?php
1429
+ // if ($cpanel == 1) {
1430
+ // echo 'checked';
1431
+ // }
1432
+ ?>>
1433
  <div class="toggle-switch"></div>
1434
  <span class="toggle-label">Lifetime</span>
1435
  </label>
1444
  <ul>
1445
  <li><strong>Manual</strong> domain verification</li>
1446
  <li><strong>Manual</strong> SSL installation</li>
1447
+ <li><strong>Manual</strong> SSL renewal <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="You will manually need to re-generate SSL certificate every 90 days once using WP Encryption"></span></li>
1448
  <li><strong>Mixed</strong> Content Scanner <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Scan your site to detect which insecure assets are causing browser padlock to not show"></span></li>
1449
+ <!-- <li><strong>Expires</strong> in 90 days <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="You will manually need to re-generate SSL certificate every 90 days using WP Encryption"></span></li> -->
1450
  <li><strong>Basic</strong> support</li>
1451
  </ul>
1452
  <div class="pricing-btn-block">
1453
+ <a href="<?php
1454
+ echo admin_url('/admin.php?page=wp_encryption&gofree=1');
1455
+ ?>" class="pricingbtn free">Select Plan</a>
1456
  </div>
1457
  </div>
1458
 
1472
  <li><strong>Wildcard</strong> SSL support <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="One SSL certificate to cover all your sub-domains"></span></li>
1473
  <li><strong>Multisite</strong> mapped domains <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Install SSL for different domains mapped to your multisite network with MU domain mapping plugin"></span></li>
1474
  <li><strong>DNS</strong> Automation <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Automatic Domain verification with DNS if HTTP domain verification fails"></span></li>
1475
+ <li><strong>Never</strong> expires <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="Never worry about SSL again - Your SSL certificate will be automatically renewed in background 30 days prior to its expiry dates"></span></li>
1476
  <li><strong>Priority</strong> support <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="gowebsmarty.in"></span></li>
1477
  </ul>
1478
  <div class="pricing-btn-block">
1479
+ <a href="<?php
1480
+ echo admin_url('/admin.php?page=wp_encryption&gopro=1');
1481
+ ?>" class="pricingbtn free">Select Plan</a>
1482
  </div>
1483
  </div>
1484
 
1485
  </div>
1486
 
1487
  <br />
1488
+ <?php
1489
+ if ($cpanel != '') {
1490
  ?>
1491
  <div class="quick-refund-policy">
1492
  <strong>7 Days Refund Policy</strong>
1493
+ <p>We're showing this recommendation because you have cPanel hosting where our PRO plugin is 100% guaranteed to work. Your purchase will be completely refunded if our plugin fail to work on your site.</p>
1494
  </div>
1495
+ <?php
1496
+ }
1497
+ ?>
1498
 
1499
+ <?php
1500
  $table = ob_get_clean();
1501
  return $table;
1502
+ }
1503
+
1504
+ public function wple_firewall_pricing_table()
1505
+ {
1506
  ob_start();
1507
  ?>
1508
 
1509
+ <h2 class="pricing-intro-head">FLAWLESS SSL SOLUTION FOR LOWEST PRICE EVER <small>(Limited Offer)</small></h2>
1510
+ <h4 class="pricing-intro-subhead">Upgrade to PRO today for <strong>Fully automatic SSL</strong> & get automatic <strong>CDN + Security</strong> for FREE! - Trusted Globally by <b>110,000+</b> WordPress Users <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="A complete bundle worth $360!"></span></h4>
1511
+
1512
+ <div style="text-align:center">
1513
+ <img src="<?php
1514
+ echo WPLE_URL;
1515
+ ?>/admin/assets/limited-offer.png" style="max-width:650px" />
1516
+ </div>
1517
 
1518
  <div id="quick-pricing-table" class="non-cpanel-plans">
1519
  <div class="free-pricing-col wplepricingcol">
1524
  <ul>
1525
  <li><strong>Manual</strong> domain verification</li>
1526
  <li><strong>Manual</strong> SSL installation</li>
1527
+ <li><strong>Manual</strong> SSL renewal <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="You will manually need to re-generate SSL certificate every 90 days once using WP Encryption"></span></li>
1528
  <li><strong>Basic</strong> support</li>
1529
  </ul>
1530
  <div class="pricing-btn-block">
1531
+ <a href="<?php
1532
+ echo admin_url('/admin.php?page=wp_encryption&gofree=1');
1533
+ ?>" class="pricingbtn free">Select Plan</a>
1534
  </div>
1535
  </div>
1536
 
1555
  <li><strong>Priority</strong> Support</li>
1556
  </ul>
1557
  <div class="pricing-btn-block">
1558
+ <a href="<?php
1559
+ echo admin_url('/admin.php?page=wp_encryption&gofirewall=1');
1560
+ ?>" class="pricingbtn free">Select Plan</a>
1561
  </div>
1562
  </div>
1563
 
1566
  7 days money back guarantee <span class="dashicons dashicons-editor-help wple-tooltip" data-tippy="If you are not satisfied with the service within 7 days of purchase, We will refund your purchase no questions asked"></span>
1567
  </div> -->
1568
 
1569
+ <?php
1570
  $table = ob_get_clean();
1571
  return $table;
1572
+ }
1573
+
1574
+ /**
1575
+ * Intro pricing table handler
1576
+ *
1577
+ * @since 5.0.0
1578
+ * @return void
1579
+ */
1580
+ public function wple_intro_pricing_handler()
1581
+ {
1582
  $goplan = '';
1583
+
1584
+ if (isset($_GET['gofree'])) {
1585
+ update_option('wple_plan_choose', 1);
1586
+ wp_redirect(admin_url('/admin.php?page=wp_encryption'), 302);
1587
+ exit;
1588
  } else {
1589
+
1590
+ if (isset($_GET['gopro'])) {
1591
+ update_option('wple_plan_choose', 1);
1592
+
1593
+ if ($_GET['gopro'] == 2) {
1594
+ //unlimited
1595
+ wp_redirect(admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=10873&currency=usd'), 302);
 
 
 
 
 
 
 
 
 
 
 
 
 
1596
  } else {
1597
+
1598
+ if ($_GET['gopro'] == 3) {
1599
+ //annual
1600
+ wp_redirect(admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd'), 302);
1601
+ } else {
1602
+ //single lifetime
1603
+ wp_redirect(admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd'), 302);
1604
+ }
1605
+ }
1606
+
1607
+ exit;
1608
+ } else {
1609
+
1610
+ if (isset($_GET['gofirewall'])) {
1611
+ update_option('wple_plan_choose', 1);
1612
+ ///wp_redirect(admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=11394&plan_name=pro&billing_cycle=annual&pricing_id=11717&currency=usd'), 302);
1613
+ wp_redirect(admin_url('/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd'), 302);
1614
+ exit;
1615
  }
1616
+ }
1617
  }
1618
+ }
1619
+
1620
+ /**
1621
+ * After all stages completion
1622
+ *
1623
+ * @param string $html
1624
+ * @return void
1625
+ */
1626
+ public function wple_completed_block(&$html)
1627
+ {
 
1628
  $html .= WPLE_Trait::wple_progress_bar();
1629
  $cert = ABSPATH . 'keys/certificate.crt';
1630
+ $leopts = get_option('wple_opts');
1631
+ $future = strtotime($leopts['expiry']);
1632
  //Future date.
1633
  $timefromdb = time();
1634
  $timeleft = $future - $timefromdb;
1635
+ $daysleft = round($timeleft / 24 / 60 / 60);
1636
+ $wple_support = get_option('wple_backend');
1637
+ $renewtext = esc_html__('Click Here To Renew SSL Certificate', 'wp-letsencrypt-ssl');
1638
+ $renewlink = '<a href="#" class="letsrenew wple-tooltip disabled" data-tippy="' . esc_html__('This renew button will get enabled during last 30 days of current SSL certificate expiry', 'wp-letsencrypt-ssl') . ' ' . esc_html__('You can also click on STEP 1 in above progress bar to renew/re-generate SSL Certificate again.', 'wp-letsencrypt-ssl') . '">' . $renewtext . '</a>';
1639
+ if ($daysleft <= 30) {
1640
+ $renewlink = '<a href="' . admin_url('/admin.php?page=wp_encryption&restart=1') . '" class="letsrenew">' . $renewtext . '</a>';
1641
+ }
1642
+ if ($wple_support) {
1643
+ //forced completion
1644
+ $renewlink = '';
1645
+ }
1646
+ $headline = esc_html__('Woohoo! WP Encryption just saved you $$$ in SSL Certificate Fee.', 'wp-letsencrypt-ssl');
1647
+ $sharetitle = urlencode('Generated & Installed free SSL certificate using WP ENCRYPTION WordPress plugin within minutes! Thanks for the great plugin');
1648
  $html .= '<div id="wple-completed">
1649
  <div class="wple-completed-review">
1650
  <h2>' . $headline . '</h2>
1651
  <p>' . sprintf(
1652
+ __('Can you please do us a BIG favor by leaving a %s%s%s%s%s rating on WordPress.org', 'wp-letsencrypt-ssl'),
1653
+ '<span class="dashicons dashicons-star-filled"></span>',
1654
+ '<span class="dashicons dashicons-star-filled"></span>',
1655
+ '<span class="dashicons dashicons-star-filled"></span>',
1656
+ '<span class="dashicons dashicons-star-filled"></span>',
1657
+ '<span class="dashicons dashicons-star-filled"></span>'
1658
  ) . ' <span class="wple-share-success">' . sprintf(
1659
+ __("or spread the word on %s %s %s %s", "wp-letsencrypt-ssl"),
1660
+ '<a href="https://twitter.com/share?url=https://wpencryption.com&text=' . $sharetitle . '&hashtags=wp_encryption,wordpress_ssl,wordpress_https" target="_blank" title="Twitter" class="tw">T</a>',
1661
+ '<a href="https://www.facebook.com/sharer.php?u=wpencryption.com" target="_blank" title="Facebook" class="fb">F</a>',
1662
+ '<a href="https://reddit.com/submit?url=wpencryption.com&title=' . $sharetitle . '" target="_blank" title="Reddit" class="rd">R</a>',
1663
+ '<a href="https://pinterest.com/pin/create/bookmarklet/?media=https://wpencryption.com/wp-content/uploads/2021/08/banner-772x250-1.png&url=wpencryption.com&description=' . $sharetitle . '" target="_blank" title="Pinterest" class="pt">P</a>'
1664
  ) . '</span></p>
1665
+ <a href="https://wordpress.org/support/plugin/wp-letsencrypt-ssl/reviews/#new-post" target="_blank" class="letsrate">' . esc_html__('LEAVE A RATING', 'wp-letsencrypt-ssl') . ' <span class="dashicons dashicons-external"></span></a>
1666
  ' . $renewlink . '
1667
+ <small>' . esc_html__('Just takes a moment', 'wp-letsencrypt-ssl') . '</small>
1668
  </div>';
1669
+ if (file_exists($cert) && isset($leopts['expiry']) && !$wple_support) {
1670
+ $html .= '<div class="wple-completed-remaining">
1671
+ <div class="progress--circle progress--' . esc_attr($daysleft) . '">
1672
+ <div class="progress__number"><strong>' . esc_html($daysleft) . '</strong><br><small>' . esc_html__('Days', 'wp-letsencrypt-ssl') . '</small></div>
1673
  </div>
1674
  <div class="wple-circle-expires">
1675
+ <strong>' . esc_html__('Your current SSL certificate expires on', 'wp-letsencrypt-ssl') . ': <br><b>' . esc_html($leopts['expiry']) . '</b></strong>
1676
+ <p>' . WPLE_Trait::wple_kses(__("Let's Encrypt® SSL Certificate expires in 90 days by default. You can easily regenerate new SSL certificate using <strong>RENEW SSL CERTIFICATE</strong> option found on left or by clicking on <strong>STEP 1</strong> in progress bar.", "wp-letsencrypt-ssl")) . '<br /><br />' . WPLE_Trait::wple_kses(__('Major browsers like Chrome will start showing insecure site warning IF you fail to renew / re-generate certs before this expiry date. <strong>If you are using PRO version - SSL certificates will be auto renewed in background 30 days prior to expiry date.</strong>', 'wp-letsencrypt-ssl')) . ' Please clear your browser cache once.</p>
1677
  </div>
1678
  </div>';
1679
  }
1680
  $html .= '</div>';
1681
+ // if (wple_fs()->can_use_premium_code__premium_only()) {
1682
+ // $rand = rand(0, 1);
1683
+ // if ($rand) {
1684
+ // $html .= '<div class="wple-error-firewall fire-pro">
1685
+ // <div>
1686
+ // <img src="' . WPLE_URL . 'admin/assets/firewall-shield-firewall.png"/>
1687
+ // </div>
1688
+ // <div class="wple-upgrade-features">
1689
+ // <span><b>WP Encryption CDN</b><br>Easily upgrade from <strong>PRO</strong> to <strong>CDN</strong> plan with pro-rated adjustment (Use your license key during the checkout). </span>
1690
+ // <span><b>CDN Performance</b><br>Your site is served from <strong>42 global locations worldwide</strong> for fastest content delivery and fastest performance.</span>
1691
+ // <span><b>Security</b><br>Protection against known vulnerabilities, Bad Bots, Brute Force, DDOS, Spam & much more attack vectors.</span>
1692
+ // <a href="https://wpencryption.com/cdn-firewall/?utm_campaign=wpencryptionsite&utm_source=pro&utm_medium=upgradetocdn" target="_blank" id="upgradetocdn">Learn More</a>
1693
+ // </div>
1694
+ // </div>';
1695
+ // } else {
1696
+ // $lic = wple_fs()->_get_license();
1697
+ // $checkoutURL = 'https://checkout.freemius.com/mode/dialog/plugin/7616/plan/12469/licenses/1/';
1698
+ // if (isset($lic->expiration) && $lic->expiration != '') {
1699
+ // $minus = '$29';
1700
+ // $checkoutURL = 'https://checkout.freemius.com/mode/dialog/plugin/7616/plan/12469/licenses/1/?coupon=WPENPROUSER';
1701
+ // } else {
1702
+ // $minus = '$49';
1703
+ // $checkoutURL = 'https://checkout.freemius.com/mode/dialog/plugin/7616/plan/12469/licenses/1/?coupon=WPENUSERLIFETIME';
1704
+ // }
1705
+ // // $para = 'There\'s much more to take care after migrating to HTTPS to rank higher on Google!. Let one of our SSL Expert handle all the hassle of migrating your HTTP site to HTTPS safely and securely without any loss of Search Engine rankings and Social metrics including shares, likes & tweets count.';
1706
+ // $para = 'Save your precious time and energy!. Let one of our SSL expert handle the end to end SSL setup for you including fixing of mixed content issues on your site, making secure padlock visible, restoring lost social likes / tweets counter, migrating your analytics to HTTPS and also handle SEO fixes to avoid duplicate content issues on major search engines.';
1707
+ // // if (FALSE != get_option('wple_spmode_activated')) {
1708
+ // // $para = 'There\'s much more to take care after migrating to HTTPS to rank higher on Google!. Let one of our SSL Expert safely and securely handle your SEO fixes, Google Analytics & Search engine fixes, mixed content issue fixes and restore lost social share, likes, tweets counter.';
1709
+ // // }
1710
+ // $html .= '<div id="wple-upgradepro" class="wple-expert-block" style="margin-bottom:0">
1711
+ // <div class="wple-upgrade-pro">
1712
+ // <h2>HIRE AN EXPERT</h2>
1713
+ // <p>' . $para . '</p>
1714
+ // <div class="wple-expert-actions">
1715
+ // <a href="' . esc_attr($checkoutURL) . '" target="_blank" class="wple-expert-hire">Hire Now<br>$149 (-' . esc_html($minus) . ')</a>
1716
+ // <a href="https://wpencryption.com/hire-ssl-expert/" target="_blank" class="wple-expert-more">Know more <span class="dashicons dashicons-external"></span></a>
1717
+ // </div>
1718
+ // </div>
1719
+ // </div>';
1720
+ // }
1721
+ // }
1722
+ }
1723
+
1724
+ /**
1725
+ * Make verificiation possible with broken cert
1726
+ *
1727
+ * @return void
1728
+ */
1729
+ public function wple_wellknown_htaccess()
1730
+ {
1731
  $dir = ABSPATH . '.well-known/acme-challenge/.htaccess';
1732
+
1733
+ if (!file_exists($dir)) {
1734
+ $file = @touch($dir);
1735
  } else {
1736
+ $file = true;
 
 
 
 
 
 
 
 
 
 
1737
  }
1738
+
1739
+
1740
+ if (is_writable($dir) && $file !== FALSE) {
1741
+ $ruleset = "<IfModule mod_rewrite.c>" . "\n";
1742
+ $ruleset .= "RewriteEngine on" . "\n";
1743
+ $ruleset .= "RewriteCond %{HTTPS} =on [NC]" . "\n";
1744
+ $ruleset .= "RewriteRule ^(.*)\$ http://%{HTTP_HOST}%{REQUEST_FILENAME} [R=301,L]" . "\n";
1745
+ $ruleset .= "</IfModule>" . "\n";
1746
+ insert_with_markers($dir, 'WP_Encryption', $ruleset);
1747
+ }
1748
+ }
1749
+
1750
+ /**
1751
+ * Grouped admin init hooks
1752
+ *
1753
+ * @since 5.2.4
1754
+ * @return void
1755
+ */
1756
+ public function wple_admin_init_hooks()
1757
+ {
1758
  WPLE_Subdir_Challenge_Helper::download_challenge_files();
1759
  $this->wple_save_email_generate_certs();
1760
  $this->wple_download_files();
1763
  $this->wple_continue_certification();
1764
  $this->wple_domain_verification();
1765
  //redirects handler
1766
+ }
1767
+
1768
+ /**
1769
+ * Validate SSL button for non-cpanel
1770
+ *
1771
+ * @since 5.2.6
1772
+ * @return void
1773
+ */
1774
+ public function wple_validate_nocp_ssl()
1775
+ {
1776
+ if (!current_user_can('manage_options')) {
1777
+ exit('Unauthorized');
1778
+ }
1779
+ $basedomain = str_ireplace(array('http://', 'https://'), array('', ''), addslashes(site_url()));
1780
  //4.7
1781
+ if (FALSE != stripos($basedomain, '/')) {
1782
+ $basedomain = substr($basedomain, 0, stripos($basedomain, '/'));
1783
  }
1784
+ $client = WPLE_Trait::wple_verify_ssl($basedomain);
1785
+
1786
+ if ($client || is_ssl()) {
1787
+ $reverter = uniqid('wple');
1788
+ $savedopts = get_option('wple_opts');
1789
+ $savedopts['force_ssl'] = 1;
1790
+ $savedopts['revertnonce'] = $reverter;
1791
+ WPLE_Trait::wple_send_reverter_secret($reverter);
1792
+ update_option('wple_opts', $savedopts);
1793
+ delete_option('wple_error');
1794
+ //complete
1795
+ update_option('wple_complete', 1);
1796
+ update_option('siteurl', str_ireplace('http:', 'https:', get_option('siteurl')));
1797
+ update_option('home', str_ireplace('http:', 'https:', get_option('home')));
1798
+ echo 1;
1799
  } else {
1800
+ echo 0;
1801
  }
1802
+
1803
  exit;
1804
+ }
1805
+
1806
+ public function wple_expert_block(&$html, $spmode = 0)
1807
+ { }
1808
+
1809
+ /**
1810
+ * This site have mixed content issues
1811
+ *
1812
+ * @since 5.3.12
1813
+ * @return void
1814
+ */
1815
+ public function wple_mixed_content_notice()
1816
+ {
 
1817
  $html = '<div class="notice notice-info wple-admin-review wple-mx-prom">
1818
  <div class="wple-review-box">
1819
  <img src="' . WPLE_URL . 'admin/assets/symbol.png"/>
1820
+ <span><strong>Warning: ' . esc_html__('Your site have mixed content issues!', 'wp-letsencrypt-ssl') . '</strong><p>' . WPLE_Trait::wple_kses(__('Mixed content issues cause browser padlock to show as insecure even if you have installed SSL certificate perfectly. Hire an SSL Expert today to get rid of all SSL issues once and for all.', 'wp-letsencrypt-ssl')) . '</p></span>
1821
  </div>
1822
+ <a class="wple-lets-review wplerevbtn" href="https://checkout.freemius.com/mode/dialog/plugin/7616/plan/12469/licenses/1/" target="_blank">' . esc_html__('Hire SSL Expert', 'wp-letsencrypt-ssl') . '</a>
1823
+ <a class="wple-mx-ignore wplerevbtn" href="#">' . esc_html__('Ignore', 'wp-letsencrypt-ssl') . '</a>
1824
  </div>';
1825
+ echo $html;
1826
+ }
1827
+
1828
+ /**
1829
+ * Ajax Get cert contents for copy
1830
+ *
1831
+ * @since 5.3.16
1832
+ * @return void
1833
+ */
1834
+ public function wple_retrieve_certs_forcopy()
1835
+ {
1836
+ if (!wp_verify_nonce($_GET['nc'], 'copycerts') || !current_user_can('manage_options')) {
1837
+ exit('Authorization Failure');
1838
  }
1839
  $ftype = $_GET['gettype'];
1840
  $output = '';
1841
  $keypath = ABSPATH . 'keys/';
1842
+ switch ($ftype) {
1843
+ case 'cert':
1844
+ if (file_exists($keypath . 'certificate.crt')) {
1845
+ $output = file_get_contents($keypath . 'certificate.crt');
1846
+ }
1847
+ break;
1848
+ case 'key':
1849
+ if (file_exists($keypath . 'private.pem')) {
1850
+ $output = file_get_contents($keypath . 'private.pem');
1851
+ }
1852
+ break;
1853
+ case 'cabundle':
1854
+
1855
+ if (file_exists(ABSPATH . 'keys/cabundle.crt')) {
1856
+ $output = file_get_contents(ABSPATH . 'keys/cabundle.crt');
1857
+ } else {
1858
+ $output = file_get_contents(WPLE_DIR . 'cabundle/ca.crt');
1859
+ }
1860
+
1861
+ break;
1862
  }
1863
+ echo esc_html($output);
1864
  exit;
1865
+ }
1866
+
1867
+ /**
1868
+ * Ajax check if both www & non-www domain accessible
1869
+ *
1870
+ * @since 5.6.2
1871
+ * @return void
1872
+ */
1873
+ public function wple_include_www_check()
1874
+ {
1875
+ if (!current_user_can('manage_options') || !wp_verify_nonce($_GET['nc'], 'legenerate')) {
1876
+ exit('Unauthorized request');
1877
+ }
1878
+ $maindomain = WPLE_Trait::get_root_domain(false);
1879
  $errcode = 'www';
1880
+
1881
+ if (FALSE === stripos('www', $maindomain)) {
1882
+ $altdomain = 'www.' . $maindomain;
1883
  } else {
1884
+ $errcode = 'nonwww';
1885
+ $altdomain = str_ireplace('www.', '', $maindomain);
1886
  }
1887
+
1888
+ $altdomaintest = wp_remote_head('http://' . $altdomain, array(
1889
+ 'sslverify' => false,
1890
+ 'timeout' => 30,
1891
+ ));
1892
+
1893
+ if (!is_wp_error($altdomaintest)) {
1894
+ echo 1;
1895
+ exit;
1896
  }
1897
+
1898
+ echo $errcode;
1899
  exit;
1900
+ }
1901
  }
 
 
admin/le_admin_pages.php CHANGED
@@ -334,6 +334,14 @@ class WPLE_SubAdmin extends WPLE_Admin_Page
334
  <hr>
335
  <h4>' . esc_html__( 'Have a different question?', 'wp-letsencrypt-ssl' ) . '</h4>
336
  <p>' . WPLE_Trait::wple_kses( sprintf( __( 'Please use our <a href="%s" target="%s">Plugin support forum</a>. <b>PRO</b> users can register free account & use priority support at gowebsmarty.in. More info - https://wpencryption.com', 'wp-letsencrypt-ssl' ), 'https://wordpress.org/support/plugin/wp-letsencrypt-ssl/', '_blank' ), 'a' ) . '</p>';
 
 
 
 
 
 
 
 
337
  $this->generate_page( $page );
338
  }
339
 
@@ -392,7 +400,7 @@ class WPLE_SubAdmin extends WPLE_Admin_Page
392
  $html .= $emailcertswitch;
393
  } else {
394
  if ( !$forced_completion ) {
395
- $html .= '<div class="wple-no-certs">' . esc_html__( "You don't have any SSL certificates generated yet! Please generate your single/wildcard SSL first before you can download it here.", 'wp-letsencrypt-ssl' ) . '</div>';
396
  }
397
  $html .= $emailcertswitch;
398
  }
@@ -485,7 +493,7 @@ class WPLE_SubAdmin extends WPLE_Admin_Page
485
  if ( !current_user_can( 'manage_options' ) ) {
486
  exit( 'failed' );
487
  }
488
- $val = (bool) $_POST['emailcert'];
489
  update_option( 'wple_email_certs', $val );
490
  echo "success" ;
491
  exit;
334
  <hr>
335
  <h4>' . esc_html__( 'Have a different question?', 'wp-letsencrypt-ssl' ) . '</h4>
336
  <p>' . WPLE_Trait::wple_kses( sprintf( __( 'Please use our <a href="%s" target="%s">Plugin support forum</a>. <b>PRO</b> users can register free account & use priority support at gowebsmarty.in. More info - https://wpencryption.com', 'wp-letsencrypt-ssl' ), 'https://wordpress.org/support/plugin/wp-letsencrypt-ssl/', '_blank' ), 'a' ) . '</p>';
337
+ $page .= '<br><hr><h2 id="howitworks">How it works?</h2>
338
+ <p>First of all, thank you for choosing WP Encryption!. In order to transform your <b>HTTP://</b> site to <b>HTTPS://</b>, you need to have valid SSL certificate installed on your site first. If you don\'t already have one installed, please go to WP Encryption page, run the <b>SSL install form</b> entering your email, complete basic domain verification via HTTP file upload or DNS challenge & finally download and install the generated <b>SSL certificate file</b> & <b>key</b> on your hosting panel or cPanel. <a href="' . admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=lifetime&pricing_id=7965&currency=usd' ) . '">Upgrade to PRO</a> to enjoy fully automatic domain verification, automatic SSL installation & automatic SSL renewal.</p>
339
+ <br>
340
+ <p>Some restricted hosting platforms do not allow uploading of custom SSL certificate. In such case, you can either opt for our <a href="' . admin_url( '/admin.php?page=wp_encryption-pricing&checkout=true&plan_id=8210&plan_name=pro&billing_cycle=annual&pricing_id=7965&currency=usd' ) . '">Annual Pro</a> solution which works on ANY hosting platform & offers you free automatic CDN boosting your site speed and firewall security (All you need to do is modify your domain DNS record to finish the setup) or you can buy SSL directly from your host.</p>
341
+ <br>
342
+ <p>Once after you are done with the challenging part of SSL installation, please go to <b>SSL HEALTH</b> page of WP Encryption and enable necessary HTTPS redirection, mixed content fixer, etc. If one or the other pages on your site is showing insecure padlock, you could run the <b>Advanced Insecure Content Scanner</b> of WP Encryption to detect insecure <b>http://</b> links and change them to <b>https://</b> to resolve the issue.</p>
343
+ <br>
344
+ <i>Last but not least, please do clear your browser cache once after installing SSL certificate.</i>';
345
  $this->generate_page( $page );
346
  }
347
 
400
  $html .= $emailcertswitch;
401
  } else {
402
  if ( !$forced_completion ) {
403
+ $html .= '<div class="wple-no-certs">' . sprintf( __( "You don't have any SSL certificates generated yet! Please %sgenerate your single/wildcard SSL certificate%s first before you can download it here.", 'wp-letsencrypt-ssl' ), '<a href="' . admin_url( '/admin.php?page=wp_encryption' ) . '">', '</a>' ) . '</div>';
404
  }
405
  $html .= $emailcertswitch;
406
  }
493
  if ( !current_user_can( 'manage_options' ) ) {
494
  exit( 'failed' );
495
  }
496
+ $val = ( $_POST['emailcert'] == 'true' ? true : false );
497
  update_option( 'wple_email_certs', $val );
498
  echo "success" ;
499
  exit;
classes/le-advanced-scanner.php CHANGED
@@ -51,14 +51,17 @@ class WPLE_DeepScanner
51
  $table = '<table id="wple-advanced-scanner">
52
  <th>Type</th>
53
  <th>Insecure URL<br><small>URLs that needs updating to <strong>https://</strong></small></th>
54
- <th>Source</th>';
55
 
56
  foreach ($this->permalink_vs_mxresource as $ID => $research) {
 
 
57
  $table .= '<tr>
58
- <td colspan="3" class="wple-scan-head">Analyzed Page: ' . esc_url($research['webpage']) . ' (ID=' . (int) $ID . ')</td>
59
  </tr>';
60
 
61
  foreach ($research['mx_resources'] as $key => $data) {
 
62
 
63
  if ($key == 'secure_css' || $key == 'secure_js') { //insecure items within secure files
64
  foreach ($data as $key => $files_w_issue) {
51
  $table = '<table id="wple-advanced-scanner">
52
  <th>Type</th>
53
  <th>Insecure URL<br><small>URLs that needs updating to <strong>https://</strong></small></th>
54
+ <th>Source File<br><small>Where its coming from?</small></th>';
55
 
56
  foreach ($this->permalink_vs_mxresource as $ID => $research) {
57
+ if (empty($research['mx_resources'])) continue;
58
+
59
  $table .= '<tr>
60
+ <td colspan="3" class="wple-scan-head">Analyzed Page URL: ' . esc_url($research['webpage']) . ' (ID=' . (int) $ID . ')</td>
61
  </tr>';
62
 
63
  foreach ($research['mx_resources'] as $key => $data) {
64
+ if (empty($data) || (count($data) == 1 && FALSE !== stripos($data[0], '/svg'))) continue;
65
 
66
  if ($key == 'secure_css' || $key == 'secure_js') { //insecure items within secure files
67
  foreach ($data as $key => $files_w_issue) {
classes/le-core.php CHANGED
@@ -29,18 +29,16 @@
29
  *
30
  * @since 5.1.1
31
  */
32
- require_once plugin_dir_path(__DIR__) . 'vendor/autoload.php';
33
  /**
34
  * require all the lib files for generating certs
35
  */
36
-
37
- use WPLEClient\LEFunctions;
38
- use WPLEClient\LEConnector;
39
- use WPLEClient\LEAccount;
40
- use WPLEClient\LEAuthorization;
41
- use WPLEClient\LEClient;
42
- use WPLEClient\LEOrder;
43
-
44
  require_once WPLE_DIR . 'classes/le-trait.php';
45
  /**
46
  * WPLE_Core class
@@ -50,694 +48,727 @@ require_once WPLE_DIR . 'classes/le-trait.php';
50
  */
51
  class WPLE_Core
52
  {
53
- protected $email;
54
- protected $date;
55
- protected $basedomain;
56
- protected $domains;
57
- protected $mdomain = false;
58
- protected $rootdomain;
59
- protected $client;
60
- protected $order;
61
- protected $pendings;
62
- protected $wcard = false;
63
- protected $dnss = false;
64
- protected $iscron = false;
65
- protected $noscriptresponse = false;
66
- protected $disablespmode = false;
67
- /**
68
- * construct all params & proceed with cert generation
69
- *
70
- * @since 1.0.0
71
- * @param array $opts
72
- * @param boolean $gen
73
- */
74
- public function __construct(
75
- $opts = array(),
76
- $gen = true,
77
- $wc = false,
78
- $dnsverify = false
79
- ) {
80
-
81
- if (!empty($opts)) {
82
- $this->email = sanitize_email($opts['email']);
83
- $this->date = $opts['date'];
84
- $optss = $opts;
85
- } else {
86
- $optss = get_option('wple_opts');
87
- $this->email = (isset($optss['email']) ? sanitize_email($optss['email']) : '');
88
- $this->date = (isset($optss['date']) ? $optss['date'] : '');
89
- }
90
-
91
- if (isset($optss['type']) && $optss['type'] == 'wildcard') {
92
- $wc = true;
93
- }
94
- $siteurl = site_url();
95
- if (isset($optss['subdir'])) {
96
- $siteurl = sanitize_text_field($optss['domain']);
97
- }
98
- $this->rootdomain = str_ireplace(array('http://', 'https://', 'www.'), array('', '', ''), $siteurl);
99
- $this->basedomain = str_ireplace(array('http://', 'https://'), array('', ''), $siteurl);
100
- $this->domains = array($this->basedomain);
101
- //include both www & non-www
102
-
103
- if (isset($optss['include_www']) && $optss['include_www'] == 1) {
104
- $this->basedomain = $this->rootdomain;
105
- $this->domains = array($this->rootdomain, 'www.' . $this->rootdomain);
106
- }
107
-
108
- /** v5.4.8 */
109
- if (isset($optss['include_mail']) && $optss['include_mail'] == 1) {
110
- $this->domains[] = 'mail.' . $this->rootdomain;
111
- }
112
- if (isset($optss['include_webmail']) && $optss['include_webmail'] == 1) {
113
- $this->domains[] = 'webmail.' . $this->rootdomain;
114
- }
115
- if ($dnsverify) {
116
- //manual dns verify
117
- $this->dnss = true;
118
- }
119
- if (get_option('wple_disable_spmode') == true) {
120
- $this->disablespmode = true;
121
- }
122
- if ($gen) {
123
- $this->wple_generate_verify_ssl();
124
- }
125
- }
126
-
127
- /**
128
- * group all different steps into one function & clear debug.log intially.
129
- *
130
- * @since 1.0.0
131
- * @return void
132
- */
133
- public function wple_generate_verify_ssl()
134
- {
135
- delete_option('wple_complete');
136
- $init = (int) get_option('wple_have_cpanel');
137
- //since 4.7
138
-
139
- if (!isset($_GET['wpleauto'])) {
140
- update_option('wple_http_valid', 0);
141
-
142
- if (isset($_POST['wple_send_usage'])) {
143
- update_option('wple_send_usage', 1);
144
- } else {
145
- update_option('wple_send_usage', 0);
146
- }
147
-
148
- $PRO = (wple_fs()->can_use_premium_code__premium_only() ? 'PRO' : '');
149
- $PRO .= ($this->wcard ? ' WILDCARD SSL ' : ' SINGLE DOMAIN SSL ');
150
- $PRO .= $init;
151
- $this->wple_log('<b>' . WPLE_PLUGIN_VERSION . ' ' . $PRO . ' - ' . esc_html(site_url()) . '</b>', 'success', 'w');
152
- $this->wple_log("Domain covered:\n" . json_encode($this->domains) . "\n");
153
- }
154
-
155
- $this->wple_create_client();
156
- $this->wple_generate_order();
157
- $this->wple_verify_pending_orders();
158
- $this->wple_generate_certs();
159
- if (FALSE != ($dlog = get_option('wple_send_usage')) && $dlog) {
160
- $this->wple_send_usage_data();
161
- }
162
- }
163
-
164
- /**
165
- * create ACMEv2 client
166
- *
167
- * @since 1.0.0
168
- * @return void
169
- */
170
- protected function wple_create_client()
171
- {
172
- try {
173
- $keydir = ABSPATH . 'keys/';
174
- $this->client = new LEClient(
175
- $this->email,
176
- false,
177
- LEClient::LOG_STATUS,
178
- $keydir
179
- );
180
- } catch (Exception $e) {
181
- update_option('wple_error', 1);
182
- $this->wple_log(
183
- "CREATE_CLIENT:" . $e,
184
- 'error',
185
- 'w',
186
- true
187
- );
188
- }
189
- ///echo '<pre>'; print_r( $client->getAccount() ); echo '</pre>';
190
- }
191
-
192
- /**
193
- * Generate order with ACMEv2 client for given domain
194
- *
195
- * @since 1.0.0
196
- * @return void
197
- */
198
- protected function wple_generate_order()
199
- {
200
- try {
201
- $this->order = $this->client->getOrCreateOrder($this->basedomain, $this->domains);
202
- } catch (Exception $e) {
203
- $this->wple_log(
204
- "CREATE_ORDER:" . $e,
205
- 'error',
206
- 'w',
207
- true
208
- );
209
- }
210
- }
211
-
212
- /**
213
- * Get all pendings orders which need domain verification
214
- *
215
- * @since 1.0.0
216
- * @return void
217
- */
218
- protected function wple_get_pendings($dns = false)
219
- {
220
- $chtype = LEOrder::CHALLENGE_TYPE_HTTP;
221
- $http = 1;
222
-
223
- if ($this->dnss || $dns) {
224
- $chtype = LEOrder::CHALLENGE_TYPE_DNS;
225
- $http = 0;
226
- }
227
-
228
- try {
229
- $this->pendings = $this->order->getPendingAuthorizations($chtype);
230
-
231
- if (!empty($this->pendings) && $http == 1) {
232
- $opts = get_option('wple_opts');
233
- $opts['challenge_files'] = array();
234
- foreach ($this->pendings as $chlng) {
235
- $opts['challenge_files'][] = array(
236
- 'file' => sanitize_text_field(trim($chlng['filename'])),
237
- 'value' => sanitize_text_field(trim($chlng['content'])),
238
- );
239
- }
240
- update_option('wple_opts', $opts);
241
- }
242
- } catch (Exception $e) {
243
- $this->wple_log(
244
- 'GET_PENDING_AUTHS:' . $e,
245
- 'error',
246
- 'w',
247
- true
248
- );
249
- }
250
- }
251
-
252
- /**
253
- * verify all the challenges via HTTP
254
- *
255
- * @since 1.0.0
256
- * @return void
257
- */
258
- protected function wple_verify_pending_orders($forcehttpverify = false, $forcednsverify = false, $is_cron = false)
259
- {
260
- $this->iscron = $is_cron;
261
- // $this->order->deactivateOrderAuthorization($this->basedomain);
262
- // $this->order->revokeCertificate();
263
- // exit();
264
- if (isset($_GET['wpleauto'])) {
265
-
266
- if ($_GET['wpleauto'] == 'http') {
267
- $forcehttpverify = true;
268
- } else {
269
- $forcednsverify = true;
270
- }
271
- }
272
-
273
- if (!$this->order->allAuthorizationsValid()) {
274
- //since 4.7
275
- $this->wple_override_subdir_logic();
276
-
277
- if ($this->wcard) { } else {
278
- $this->wple_single_ssl_verify($forcehttpverify, $forcednsverify);
279
- }
280
- }
281
- }
282
-
283
- /**
284
- * Finalize and get certificates
285
- *
286
- * @since 1.0.0
287
- * @return void
288
- */
289
- public function wple_generate_certs($rectify = true)
290
- {
291
-
292
- if ($this->order->allAuthorizationsValid()) {
293
- // Finalize the order
294
-
295
- if (!$this->order->isFinalized()) {
296
- $this->wple_log(esc_html__('Finalizing the order', 'wp-letsencrypt-ssl'), 'success', 'a');
297
- $this->order->finalizeOrder();
298
- }
299
-
300
- // get the certificate.
301
-
302
- if ($this->order->isFinalized()) {
303
- $this->wple_log(esc_html__('Getting SSL certificates', 'wp-letsencrypt-ssl'), 'success', 'a');
304
- $this->order->getCertificate();
305
- }
306
-
307
- //since 5.3.5
308
- $this->wple_email_cert_files();
309
- $cert = ABSPATH . 'keys/certificate.crt';
310
-
311
- if (file_exists($cert)) {
312
- $this->wple_save_expiry_date();
313
- $sslgenerated = "<h2>" . esc_html__('SSL Certificate generated successfully', 'wp-letsencrypt-ssl') . "!</h2>";
314
-
315
- //Temporary cross check CA Bundle
316
- $cabundlefile = ABSPATH . 'keys/cabundle.crt';
317
- if (file_exists($cabundlefile)) {
318
- $sslgenerated .= "<br><br><strong>CA Bundle:</strong><br>";
319
- $sslgenerated .= esc_html(file_get_contents($cabundlefile));
320
  }
321
-
322
- $this->wple_log($sslgenerated, 'success', 'a');
323
- if (FALSE != ($dlog = get_option('wple_send_usage')) && $dlog) {
324
- $this->wple_send_usage_data();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  }
326
- wp_redirect(admin_url('/admin.php?page=wp_encryption&success=1'), 302);
327
- exit;
328
- }
329
- } else {
330
- update_option('wple_error', 2);
331
- $this->wple_log(
332
- '<h2>' . esc_html__('There are some pending verifications. If new DNS records were added, please run this installation again after 5-10mins', 'wp-letsencrypt-ssl') . '</h2>',
333
- 'success',
334
- 'a',
335
- false
336
- );
337
- $this->wple_http_not_possible();
338
- $this->wple_log(
339
- '',
340
- 'success',
341
- 'a',
342
- true
343
- );
344
- }
345
- }
346
-
347
- /**
348
- * Save expiry date of cert dynamically by parsing the cert
349
- *
350
- * @since 1.0.0
351
- * @return void
352
- */
353
- public function wple_save_expiry_date()
354
- {
355
- $certfile = ABSPATH . 'keys/certificate.crt';
356
-
357
- if (file_exists($certfile)) {
358
- $opts = get_option('wple_opts');
359
- $opts['expiry'] = '';
360
- try {
361
- $this->wple_getRemainingDays($certfile, $opts);
362
- } catch (Exception $e) {
363
- update_option('wple_opts', $opts);
364
- //echo $e;
365
- //exit();
366
- }
367
- }
368
- }
369
-
370
- /**
371
- * Utility functions
372
- *
373
- * @since 1.0.0
374
- */
375
- public function wple_parseCertificate($cert_pem)
376
- {
377
- // if (false === ($ret = openssl_x509_read(file_get_contents($cert_pem)))) {
378
- // throw new Exception('Could not load certificate: ' . $cert_pem . ' (' . $this->get_openssl_error() . ')');
379
- // }
380
- if (!is_array($ret = openssl_x509_parse(file_get_contents($cert_pem), true))) {
381
- throw new Exception('Could not parse certificate');
382
- }
383
- return $ret;
384
- }
385
-
386
- public function wple_getRemainingDays($cert_pem, $opts)
387
- {
388
- $ret = $this->wple_parseCertificate($cert_pem);
389
- $expiry = date('d-m-Y', $ret['validTo_time_t']);
390
- $opts['expiry'] = $expiry;
391
- if (isset($opts['expiry'])) {
392
- wp_clear_scheduled_hook('wple_ssl_reminder_notice');
393
- }
394
- if ($opts['expiry'] != '') {
395
- wp_schedule_single_event(strtotime('-10 day', strtotime($opts['expiry'])), 'wple_ssl_reminder_notice');
396
  }
397
- update_option('wple_opts', $opts);
398
- update_option('wple_show_review', 1);
399
- do_action('cert_expiry_updated');
400
- }
401
-
402
- public function wple_log(
403
- $msg = '',
404
- $type = 'success',
405
- $mode = 'a',
406
- $redirect = false
407
- ) {
408
- $handle = fopen(WPLE_DEBUGGER . 'debug.log', $mode);
409
- if ($type == 'error') {
410
- $msg = '<span class="error"><b>' . esc_html__('ERROR', 'wp-letsencrypt-ssl') . ':</b> ' . wp_kses_post($msg) . '</span>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  }
412
- fwrite($handle, wp_kses_post($msg) . "\n");
413
- fclose($handle);
414
-
415
- if ($redirect) {
416
- if (FALSE != ($dlog = get_option('wple_send_usage')) && $dlog) {
417
- $this->wple_send_usage_data();
418
- }
419
- wp_redirect(admin_url('/admin.php?page=wp_encryption&error=1'), 302);
420
- die;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
  }
422
- }
423
-
424
- /**
425
- * Collect usage data to improve plugin
426
- *
427
- * @since 2.1.0
428
- * @return void
429
- */
430
- public function wple_send_usage_data()
431
- {
432
- $readlog = file_get_contents(WPLE_DEBUGGER . 'debug.log');
433
- $handle = curl_init();
434
- $srvr = array(
435
- 'challenge_folder_exists' => file_exists(ABSPATH . '.well-known/acme-challenge'),
436
- 'certificate_exists' => file_exists(ABSPATH . 'keys/certificate.crt'),
437
- 'server_software' => $_SERVER['SERVER_SOFTWARE'],
438
- 'http_host' => $_SERVER['HTTP_HOST'],
439
- 'pro' => (wple_fs()->is__premium_only() ? 'PRO' : 'FREE'),
440
- );
441
- $curlopts = array(
442
- CURLOPT_RETURNTRANSFER => 1,
443
- CURLOPT_POST => 1,
444
- CURLOPT_URL => 'https://gowebsmarty.in/?catchwple=1',
445
- CURLOPT_HEADER => false,
446
- CURLOPT_POSTFIELDS => array(
447
- 'response' => $readlog,
448
- 'server' => json_encode($srvr),
449
- ),
450
- CURLOPT_TIMEOUT => 30,
451
- );
452
- curl_setopt_array($handle, $curlopts);
453
- try {
454
- curl_exec($handle);
455
- } catch (Exception $e) {
456
- curl_close($handle);
457
- return;
 
 
 
 
458
  }
459
- curl_close($handle);
460
- }
461
-
462
- /**
463
- * Show DNS records for domain verification
464
- *
465
- * @since 2.2.0
466
- * @return void
467
- */
468
- private function reloop_get_dns($return = false)
469
- {
470
- $site = str_ireplace('www.', '', $this->basedomain);
471
- $vrfy = '';
472
- $this->wple_get_pendings(true);
473
- $dns_records = array();
474
- foreach ($this->pendings as $challenge) {
475
-
476
- if ($challenge['type'] == 'dns-01' && stripos($challenge['identifier'], $site) !== FALSE) {
477
- $vrfy .= 'Name: <b>_acme-challenge.' . $site . '</b> or <b>_acme-challenge</b>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
478
  TTL: <b>60</b> or <b>Lowest</b> possible value
479
  Type: <b>TXT</b>
480
- Value: <b>' . esc_html($challenge['DNSDigest']) . '</b><br>
481
  ';
482
- $dns_records[] = esc_html($challenge['DNSDigest']);
483
- }
484
- }
485
- if ($return) {
486
- return $dns_records;
487
- }
488
- $this->wple_log($vrfy, 'success', 'a');
489
- }
490
-
491
- /**
492
- * Deploy challenge files
493
- *
494
- * @since 3.2.0
495
- * @param array $challenge
496
- * @return void
497
- */
498
- private function wple_deploy_challenge_files($acmefile, $challenge)
499
- {
500
- $fpath = ABSPATH . '.well-known/acme-challenge/';
501
- if (!file_exists($fpath)) {
502
- mkdir($fpath, 0775, true);
503
- }
504
- $this->wple_log(esc_html__('Creating HTTP challenge file', 'wp-letsencrypt-ssl') . ' ' . $acmefile, 'success', 'a');
505
- file_put_contents($fpath . $challenge['filename'], trim($challenge['content']));
506
- }
507
-
508
- /**
509
- * Retrieve file content
510
- *
511
- * @since 3.2.0
512
- * @param string $acmefile
513
- * @return void
514
- */
515
- private function wple_get_file_response($acmefile)
516
- {
517
- $args = array(
518
- 'sslverify' => false,
519
- );
520
- $remoteget = wp_remote_get($acmefile, $args);
521
-
522
- if (is_wp_error($remoteget)) {
523
- $rsponse = 'error';
524
- } else {
525
- $rsponse = trim(wp_remote_retrieve_body($remoteget));
526
- }
527
-
528
- return $rsponse;
529
- }
530
-
531
- /**
532
- * Save HTTP + DNS challenges for later use
533
- *
534
- * @since 4.6.0
535
- * @return void
536
- */
537
- private function wple_save_all_challenges($dnsonly = false)
538
- {
539
- $opts = (FALSE === get_option('wple_opts') ? array() : get_option('wple_opts'));
540
- //DNS
541
- $chtype = LEOrder::CHALLENGE_TYPE_DNS;
542
- try {
543
- $dns_challenges = $this->order->getPendingAuthorizations($chtype);
544
-
545
- if (!empty($dns_challenges)) {
546
- $opts['dns_challenges'] = array();
547
- foreach ($dns_challenges as $challenge) {
548
-
549
- if ($challenge['type'] == 'dns-01' && stripos($challenge['identifier'], $this->rootdomain) !== FALSE) {
550
- $identifier = $challenge['identifier'];
551
- $opts['dns_challenges'][] = sanitize_text_field($identifier) . '||' . sanitize_text_field($challenge['DNSDigest']);
552
- }
553
- }
554
- }
555
- } catch (Exception $e) {
556
- $this->wple_log(
557
- 'Unable to store DNS challenges:' . $e,
558
- 'error',
559
- 'w',
560
- true
561
- );
562
- }
563
-
564
- if ($opts['type'] != 'wildcard') {
565
- //HTTP
566
- $chtype = LEOrder::CHALLENGE_TYPE_HTTP;
567
- try {
568
- $httppendings = $this->order->getPendingAuthorizations($chtype);
569
-
570
- if (!empty($httppendings)) {
571
- $opts['challenge_files'] = array();
572
- foreach ($httppendings as $chlng) {
573
- $opts['challenge_files'][] = array(
574
- 'file' => sanitize_text_field(trim($chlng['filename'])),
575
- 'value' => sanitize_text_field(trim($chlng['content'])),
576
- );
577
- }
578
- }
579
- } catch (Exception $e) {
580
- $this->wple_log(
581
- 'Unable to store HTTP challenges:' . $e,
582
- 'error',
583
- 'w',
584
- true
585
  );
586
- }
587
- }
588
-
589
- update_option('wple_opts', $opts);
590
- }
591
-
592
- /**
593
- * Detect sub-dir site & act accordingly
594
- * Manual verification for subdir site
595
- *
596
- * @since 4.7.0
597
- * @return void
598
- */
599
- private function wple_override_subdir_logic()
600
- {
601
- $opts = get_option('wple_opts');
602
-
603
- if (isset($opts['subdir']) && !isset($_GET['wpleauto'])) {
604
- update_option('wple_error', 2);
605
- $this->wple_log('Cleaning & re-generating challenges', 'success', 'a');
606
- if (isset($opts['challenge_files'])) {
607
- unset($opts['challenge_files']);
608
- }
609
- if (isset($opts['dns_challenges'])) {
610
- unset($opts['dns_challenges']);
611
- }
612
- $this->wple_save_all_challenges();
613
- wp_redirect(admin_url('/admin.php?page=wp_encryption&subdir=1'), 302);
614
- exit;
615
- }
616
- }
617
-
618
- /**
619
- * DNS only verification for http noscript
620
- *
621
- * @since 5.0.7
622
- * @return void
623
- */
624
- public function wple_http_not_possible()
625
- {
626
-
627
- if (FALSE != ($httpvalid = get_option('wple_http_valid')) && $httpvalid) {
628
- $this->wple_save_all_challenges();
629
- wp_redirect(admin_url('/admin.php?page=wp_encryption&subdir=1'), 302);
630
- exit;
631
- }
632
- }
633
-
634
- protected function wple_single_ssl_verify($forcehttpverify, $forcednsverify)
635
- {
636
-
637
- if ($forcednsverify) {
638
- //dns verify
639
- $this->wple_get_pendings(true);
640
- } else {
641
- $this->wple_get_pendings();
642
- }
643
-
644
- if (!empty($this->pendings)) {
645
- foreach ($this->pendings as $challenge) {
646
-
647
- if ($challenge['type'] == 'dns-01' && stripos($challenge['identifier'], $this->rootdomain) !== FALSE) {
648
- $lcheck = false;
649
- $this->order->verifyPendingOrderAuthorization($challenge['identifier'], LEOrder::CHALLENGE_TYPE_DNS, $lcheck);
650
  } else {
651
-
652
- if ($challenge['type'] == 'http-01' && stripos($challenge['identifier'], $this->rootdomain) !== FALSE) {
653
- ///if (!$this->dnss && !$forcednsverify) {
654
- $acmefile = "http://" . $challenge['identifier'] . "/.well-known/acme-challenge/" . $challenge['filename'];
655
- $rsponse = $this->wple_get_file_response($acmefile);
656
-
657
- if ($rsponse != trim($challenge['content']) && !isset($_GET['wpleauto'])) {
658
- update_option('wple_error', 2);
659
- $this->wple_log(esc_html__("Offering manual verification procedure.", 'wp-letsencrypt-ssl') . " \n", 'success', 'a');
660
- if (FALSE != ($dlog = get_option('wple_send_usage')) && $dlog) {
661
- $this->wple_send_usage_data();
662
- }
663
- $this->wple_save_all_challenges();
664
- wp_redirect(admin_url('/admin.php?page=wp_encryption&subdir=1'), 302);
665
- exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
666
  }
667
-
668
- $lcheck = false;
669
- $this->order->verifyPendingOrderAuthorization($challenge['identifier'], LEOrder::CHALLENGE_TYPE_HTTP, $lcheck);
670
- ///}
671
- }
672
  }
673
- }
674
  }
675
- }
676
-
677
- protected function wple_goto_manual_challenges()
678
- {
679
- $this->wple_save_all_challenges();
680
- wp_redirect(admin_url('/admin.php?page=wp_encryption&subdir=1'), 302);
681
- exit;
682
- }
683
-
684
- /**
685
- * simple debug log message
686
- *
687
- * @since 5.2.6
688
- * @return void
689
- */
690
- private function wple_nocpanel_notice($renewal = false)
691
- {
692
-
693
- if ($renewal == false) {
694
- WPLE_Trait::wple_logger("Awaiting SSL installation for Non-cPanel site and SSL validation\n", "success");
695
- wp_redirect(admin_url('/admin.php?page=wp_encryption&nocpanel=1'), 302);
696
- exit;
697
  }
698
- }
699
-
700
- /**
701
- * Email SSL certs as attachment
702
- *
703
- * @since 5.3.5
704
- * @return void
705
- */
706
- private function wple_email_cert_files()
707
- {
708
-
709
- if (class_exists('ZipArchive')) {
710
- $opts = get_option('wple_opts');
711
-
712
- if (get_option('wple_email_certs') == true) {
713
- $zip = new ZipArchive();
714
- $zip->open(ABSPATH . 'keys/certificates.zip', ZipArchive::CREATE);
715
- $certificate = ABSPATH . 'keys/certificate.crt';
716
- $zip->addFile($certificate, 'certificate.crt');
717
- $ret = $this->wple_parseCertificate($certificate);
718
- $certexpirydate = date('d-m-Y', $ret['validTo_time_t']);
719
- $pemfile = ABSPATH . 'keys/private.pem';
720
- $zip->addFile($pemfile, 'private.pem');
721
- $cabundle = WPLE_DIR . 'cabundle/ca.crt';
722
- if (file_exists(ABSPATH . 'keys/cabundle.crt')) {
723
- $cabundle = ABSPATH . 'keys/cabundle.crt';
724
- }
725
- $zip->addFile($cabundle, 'cabundle.crt');
726
- $zip->close();
727
- $to = sanitize_email($opts['email']);
728
- $subject = esc_html__('WP Encryption - Please find new SSL certs attached', 'wp-letsencrypt-ssl');
729
- $headers = array('Content-Type: text/html; charset=UTF-8');
730
- $body = '<h2>' . esc_html__('Your SSL certs have been generated / auto renewed today!', 'wp-letsencrypt-ssl') . '</h2>';
731
- $body .= '<p>' . esc_html__('New SSL cert files have been attached to this email as per your preferences.', 'wp-letsencrypt-ssl') . ' ' . esc_html__('These certificates expires on', 'wp-letsencrypt-ssl') . ' <b>' . esc_html($certexpirydate) . '</b></p>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
732
  wp_mail(
733
- $to,
734
- $subject,
735
- $body,
736
- $headers,
737
- array(ABSPATH . 'keys/certificates.zip')
738
  );
739
- unlink(ABSPATH . 'keys/certificates.zip');
740
- }
741
  }
742
- }
743
- }
29
  *
30
  * @since 5.1.1
31
  */
32
+ require_once plugin_dir_path( __DIR__ ) . 'vendor/autoload.php';
33
  /**
34
  * require all the lib files for generating certs
35
  */
36
+ use WPLEClient\LEFunctions ;
37
+ use WPLEClient\LEConnector ;
38
+ use WPLEClient\LEAccount ;
39
+ use WPLEClient\LEAuthorization ;
40
+ use WPLEClient\LEClient ;
41
+ use WPLEClient\LEOrder ;
 
 
42
  require_once WPLE_DIR . 'classes/le-trait.php';
43
  /**
44
  * WPLE_Core class
48
  */
49
  class WPLE_Core
50
  {
51
+ protected $email ;
52
+ protected $date ;
53
+ protected $basedomain ;
54
+ protected $domains ;
55
+ protected $mdomain = false ;
56
+ protected $rootdomain ;
57
+ protected $client ;
58
+ protected $order ;
59
+ protected $pendings ;
60
+ protected $wcard = false ;
61
+ protected $dnss = false ;
62
+ protected $iscron = false ;
63
+ protected $noscriptresponse = false ;
64
+ protected $disablespmode = false ;
65
+ /**
66
+ * construct all params & proceed with cert generation
67
+ *
68
+ * @since 1.0.0
69
+ * @param array $opts
70
+ * @param boolean $gen
71
+ */
72
+ public function __construct(
73
+ $opts = array(),
74
+ $gen = true,
75
+ $wc = false,
76
+ $dnsverify = false
77
+ )
78
+ {
79
+
80
+ if ( !empty($opts) ) {
81
+ $this->email = sanitize_email( $opts['email'] );
82
+ $this->date = $opts['date'];
83
+ $optss = $opts;
84
+ } else {
85
+ $optss = get_option( 'wple_opts' );
86
+ $this->email = ( isset( $optss['email'] ) ? sanitize_email( $optss['email'] ) : '' );
87
+ $this->date = ( isset( $optss['date'] ) ? $optss['date'] : '' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  }
89
+
90
+ if ( isset( $optss['type'] ) && $optss['type'] == 'wildcard' ) {
91
+ $wc = true;
92
+ }
93
+ $siteurl = site_url();
94
+ if ( isset( $optss['subdir'] ) ) {
95
+ $siteurl = sanitize_text_field( $optss['domain'] );
96
+ }
97
+ $this->rootdomain = str_ireplace( array( 'http://', 'https://', 'www.' ), array( '', '', '' ), $siteurl );
98
+ $this->basedomain = str_ireplace( array( 'http://', 'https://' ), array( '', '' ), $siteurl );
99
+ $this->domains = array( $this->basedomain );
100
+ //include both www & non-www
101
+
102
+ if ( isset( $optss['include_www'] ) && $optss['include_www'] == 1 ) {
103
+ $this->basedomain = $this->rootdomain;
104
+ $this->domains = array( $this->rootdomain, 'www.' . $this->rootdomain );
105
+ }
106
+
107
+ /** v5.4.8 */
108
+ if ( isset( $optss['include_mail'] ) && $optss['include_mail'] == 1 ) {
109
+ $this->domains[] = 'mail.' . $this->rootdomain;
110
+ }
111
+ if ( isset( $optss['include_webmail'] ) && $optss['include_webmail'] == 1 ) {
112
+ $this->domains[] = 'webmail.' . $this->rootdomain;
113
+ }
114
+ if ( $dnsverify ) {
115
+ //manual dns verify
116
+ $this->dnss = true;
117
+ }
118
+ if ( get_option( 'wple_disable_spmode' ) == true ) {
119
+ $this->disablespmode = true;
120
+ }
121
+ if ( $gen ) {
122
+ $this->wple_generate_verify_ssl();
123
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  }
125
+
126
+ /**
127
+ * group all different steps into one function & clear debug.log intially.
128
+ *
129
+ * @since 1.0.0
130
+ * @return void
131
+ */
132
+ public function wple_generate_verify_ssl()
133
+ {
134
+ delete_option( 'wple_complete' );
135
+ $init = (int) get_option( 'wple_have_cpanel' );
136
+ //since 4.7
137
+
138
+ if ( !isset( $_GET['wpleauto'] ) ) {
139
+ update_option( 'wple_http_valid', 0 );
140
+
141
+ if ( isset( $_POST['wple_send_usage'] ) ) {
142
+ update_option( 'wple_send_usage', 1 );
143
+ } else {
144
+ update_option( 'wple_send_usage', 0 );
145
+ }
146
+
147
+ $PRO = ( wple_fs()->can_use_premium_code__premium_only() ? 'PRO' : '' );
148
+ $PRO .= ( $this->wcard ? ' WILDCARD SSL ' : ' SINGLE DOMAIN SSL ' );
149
+ $PRO .= $init;
150
+ $this->wple_log( '<b>' . WPLE_PLUGIN_VERSION . ' ' . $PRO . ' - ' . esc_html( site_url() ) . '</b>', 'success', 'w' );
151
+ $this->wple_log( "Domain covered:\n" . json_encode( $this->domains ) . "\n" );
152
+ }
153
+
154
+ $this->wple_create_client();
155
+ $this->wple_generate_order();
156
+ $this->wple_verify_pending_orders();
157
+ $this->wple_generate_certs();
158
+ if ( FALSE != ($dlog = get_option( 'wple_send_usage' )) && $dlog ) {
159
+ $this->wple_send_usage_data();
160
+ }
161
  }
162
+
163
+ /**
164
+ * create ACMEv2 client
165
+ *
166
+ * @since 1.0.0
167
+ * @return void
168
+ */
169
+ protected function wple_create_client()
170
+ {
171
+ try {
172
+ $keydir = ABSPATH . 'keys/';
173
+ $this->client = new LEClient(
174
+ $this->email,
175
+ false,
176
+ LEClient::LOG_STATUS,
177
+ $keydir
178
+ );
179
+ } catch ( Exception $e ) {
180
+ update_option( 'wple_error', 1 );
181
+ $this->wple_log(
182
+ "CREATE_CLIENT:" . $e,
183
+ 'error',
184
+ 'w',
185
+ true
186
+ );
187
+ }
188
+ ///echo '<pre>'; print_r( $client->getAccount() ); echo '</pre>';
189
+ }
190
+
191
+ /**
192
+ * Generate order with ACMEv2 client for given domain
193
+ *
194
+ * @since 1.0.0
195
+ * @return void
196
+ */
197
+ protected function wple_generate_order()
198
+ {
199
+ try {
200
+ $this->order = $this->client->getOrCreateOrder( $this->basedomain, $this->domains );
201
+ } catch ( Exception $e ) {
202
+ $this->wple_log(
203
+ "CREATE_ORDER:" . $e,
204
+ 'error',
205
+ 'w',
206
+ true
207
+ );
208
+ }
209
  }
210
+
211
+ /**
212
+ * Get all pendings orders which need domain verification
213
+ *
214
+ * @since 1.0.0
215
+ * @return void
216
+ */
217
+ protected function wple_get_pendings( $dns = false )
218
+ {
219
+ $chtype = LEOrder::CHALLENGE_TYPE_HTTP;
220
+ $http = 1;
221
+
222
+ if ( $this->dnss || $dns ) {
223
+ $chtype = LEOrder::CHALLENGE_TYPE_DNS;
224
+ $http = 0;
225
+ }
226
+
227
+ try {
228
+ $this->pendings = $this->order->getPendingAuthorizations( $chtype );
229
+
230
+ if ( !empty($this->pendings) && $http == 1 ) {
231
+ $opts = get_option( 'wple_opts' );
232
+ $opts['challenge_files'] = array();
233
+ foreach ( $this->pendings as $chlng ) {
234
+ $opts['challenge_files'][] = array(
235
+ 'file' => sanitize_text_field( trim( $chlng['filename'] ) ),
236
+ 'value' => sanitize_text_field( trim( $chlng['content'] ) ),
237
+ );
238
+ }
239
+ update_option( 'wple_opts', $opts );
240
+ }
241
+
242
+ } catch ( Exception $e ) {
243
+ $this->wple_log(
244
+ 'GET_PENDING_AUTHS:' . $e,
245
+ 'error',
246
+ 'w',
247
+ true
248
+ );
249
+ }
250
  }
251
+
252
+ /**
253
+ * verify all the challenges via HTTP
254
+ *
255
+ * @since 1.0.0
256
+ * @return void
257
+ */
258
+ protected function wple_verify_pending_orders( $forcehttpverify = false, $forcednsverify = false, $is_cron = false )
259
+ {
260
+ $this->iscron = $is_cron;
261
+ // $this->order->deactivateOrderAuthorization($this->basedomain);
262
+ // $this->order->revokeCertificate();
263
+ // exit();
264
+ if ( isset( $_GET['wpleauto'] ) ) {
265
+
266
+ if ( $_GET['wpleauto'] == 'http' ) {
267
+ $forcehttpverify = true;
268
+ } else {
269
+ $forcednsverify = true;
270
+ }
271
+
272
+ }
273
+
274
+ if ( !$this->order->allAuthorizationsValid() ) {
275
+ //since 4.7
276
+ $this->wple_override_subdir_logic();
277
+
278
+ if ( $this->wcard ) {
279
+ } else {
280
+ $this->wple_single_ssl_verify( $forcehttpverify, $forcednsverify );
281
+ }
282
+
283
+ }
284
+
285
+ }
286
+
287
+ /**
288
+ * Finalize and get certificates
289
+ *
290
+ * @since 1.0.0
291
+ * @return void
292
+ */
293
+ public function wple_generate_certs( $rectify = true )
294
+ {
295
+
296
+ if ( $this->order->allAuthorizationsValid() ) {
297
+ // Finalize the order
298
+
299
+ if ( !$this->order->isFinalized() ) {
300
+ $this->wple_log( esc_html__( 'Finalizing the order', 'wp-letsencrypt-ssl' ), 'success', 'a' );
301
+ $this->order->finalizeOrder();
302
+ }
303
+
304
+ // get the certificate.
305
+
306
+ if ( $this->order->isFinalized() ) {
307
+ $this->wple_log( esc_html__( 'Getting SSL certificates', 'wp-letsencrypt-ssl' ), 'success', 'a' );
308
+ $this->order->getCertificate();
309
+ }
310
+
311
+ //since 5.3.5
312
+ //$this->wple_email_cert_files();
313
+ $this->wple_send_success_mail();
314
+ $cert = ABSPATH . 'keys/certificate.crt';
315
+
316
+ if ( file_exists( $cert ) ) {
317
+ $this->wple_save_expiry_date();
318
+ $sslgenerated = "<h2>" . esc_html__( 'SSL Certificate generated successfully', 'wp-letsencrypt-ssl' ) . "!</h2>";
319
+ $this->wple_log( $sslgenerated, 'success', 'a' );
320
+ if ( FALSE != ($dlog = get_option( 'wple_send_usage' )) && $dlog ) {
321
+ $this->wple_send_usage_data();
322
+ }
323
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&success=1' ), 302 );
324
+ exit;
325
+ }
326
+
327
+ } else {
328
+ update_option( 'wple_error', 2 );
329
+ $this->wple_log(
330
+ '<h2>' . esc_html__( 'There are some pending verifications. If new DNS records were added, please run this installation again after 5-10mins', 'wp-letsencrypt-ssl' ) . '</h2>',
331
+ 'success',
332
+ 'a',
333
+ false
334
+ );
335
+ $this->wple_http_not_possible();
336
+ $this->wple_log(
337
+ '',
338
+ 'success',
339
+ 'a',
340
+ true
341
+ );
342
+ }
343
+
344
+ }
345
+
346
+ /**
347
+ * Save expiry date of cert dynamically by parsing the cert
348
+ *
349
+ * @since 1.0.0
350
+ * @return void
351
+ */
352
+ public function wple_save_expiry_date()
353
+ {
354
+ $certfile = ABSPATH . 'keys/certificate.crt';
355
+
356
+ if ( file_exists( $certfile ) ) {
357
+ $opts = get_option( 'wple_opts' );
358
+ $opts['expiry'] = '';
359
+ try {
360
+ $this->wple_getRemainingDays( $certfile, $opts );
361
+ } catch ( Exception $e ) {
362
+ update_option( 'wple_opts', $opts );
363
+ //echo $e;
364
+ //exit();
365
+ }
366
+ }
367
+
368
+ }
369
+
370
+ /**
371
+ * Utility functions
372
+ *
373
+ * @since 1.0.0
374
+ */
375
+ public function wple_parseCertificate( $cert_pem )
376
+ {
377
+ // if (false === ($ret = openssl_x509_read(file_get_contents($cert_pem)))) {
378
+ // throw new Exception('Could not load certificate: ' . $cert_pem . ' (' . $this->get_openssl_error() . ')');
379
+ // }
380
+ if ( !is_array( $ret = openssl_x509_parse( file_get_contents( $cert_pem ), true ) ) ) {
381
+ throw new Exception( 'Could not parse certificate' );
382
+ }
383
+ return $ret;
384
+ }
385
+
386
+ public function wple_getRemainingDays( $cert_pem, $opts )
387
+ {
388
+ $ret = $this->wple_parseCertificate( $cert_pem );
389
+ $expiry = date( 'd-m-Y', $ret['validTo_time_t'] );
390
+ $opts['expiry'] = $expiry;
391
+ if ( isset( $opts['expiry'] ) ) {
392
+ wp_clear_scheduled_hook( 'wple_ssl_reminder_notice' );
393
+ }
394
+ if ( $opts['expiry'] != '' ) {
395
+ wp_schedule_single_event( strtotime( '-10 day', strtotime( $opts['expiry'] ) ), 'wple_ssl_reminder_notice' );
396
+ }
397
+ update_option( 'wple_opts', $opts );
398
+ update_option( 'wple_show_review', 1 );
399
+ do_action( 'cert_expiry_updated' );
400
+ }
401
+
402
+ public function wple_log(
403
+ $msg = '',
404
+ $type = 'success',
405
+ $mode = 'a',
406
+ $redirect = false
407
+ )
408
+ {
409
+ $handle = fopen( WPLE_DEBUGGER . 'debug.log', $mode );
410
+ if ( $type == 'error' ) {
411
+ $msg = '<span class="error"><b>' . esc_html__( 'ERROR', 'wp-letsencrypt-ssl' ) . ':</b> ' . wp_kses_post( $msg ) . '</span>';
412
+ }
413
+ fwrite( $handle, wp_kses_post( $msg ) . "\n" );
414
+ fclose( $handle );
415
+
416
+ if ( $redirect ) {
417
+ if ( FALSE != ($dlog = get_option( 'wple_send_usage' )) && $dlog ) {
418
+ $this->wple_send_usage_data();
419
+ }
420
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&error=1' ), 302 );
421
+ die;
422
+ }
423
+
424
+ }
425
+
426
+ /**
427
+ * Collect usage data to improve plugin
428
+ *
429
+ * @since 2.1.0
430
+ * @return void
431
+ */
432
+ public function wple_send_usage_data()
433
+ {
434
+ $readlog = file_get_contents( WPLE_DEBUGGER . 'debug.log' );
435
+ $handle = curl_init();
436
+ $srvr = array(
437
+ 'challenge_folder_exists' => file_exists( ABSPATH . '.well-known/acme-challenge' ),
438
+ 'certificate_exists' => file_exists( ABSPATH . 'keys/certificate.crt' ),
439
+ 'server_software' => $_SERVER['SERVER_SOFTWARE'],
440
+ 'http_host' => $_SERVER['HTTP_HOST'],
441
+ 'pro' => ( wple_fs()->is__premium_only() ? 'PRO' : 'FREE' ),
442
+ );
443
+ $curlopts = array(
444
+ CURLOPT_RETURNTRANSFER => 1,
445
+ CURLOPT_POST => 1,
446
+ CURLOPT_URL => 'https://gowebsmarty.in/?catchwple=1',
447
+ CURLOPT_HEADER => false,
448
+ CURLOPT_POSTFIELDS => array(
449
+ 'response' => $readlog,
450
+ 'server' => json_encode( $srvr ),
451
+ ),
452
+ CURLOPT_TIMEOUT => 30,
453
+ );
454
+ curl_setopt_array( $handle, $curlopts );
455
+ try {
456
+ curl_exec( $handle );
457
+ } catch ( Exception $e ) {
458
+ curl_close( $handle );
459
+ return;
460
+ }
461
+ curl_close( $handle );
462
+ }
463
+
464
+ /**
465
+ * Show DNS records for domain verification
466
+ *
467
+ * @since 2.2.0
468
+ * @return void
469
+ */
470
+ private function reloop_get_dns( $return = false )
471
+ {
472
+ $site = str_ireplace( 'www.', '', $this->basedomain );
473
+ $vrfy = '';
474
+ $this->wple_get_pendings( true );
475
+ $dns_records = array();
476
+ foreach ( $this->pendings as $challenge ) {
477
+
478
+ if ( $challenge['type'] == 'dns-01' && stripos( $challenge['identifier'], $site ) !== FALSE ) {
479
+ $vrfy .= 'Name: <b>_acme-challenge.' . $site . '</b> or <b>_acme-challenge</b>
480
  TTL: <b>60</b> or <b>Lowest</b> possible value
481
  Type: <b>TXT</b>
482
+ Value: <b>' . esc_html( $challenge['DNSDigest'] ) . '</b><br>
483
  ';
484
+ $dns_records[] = esc_html( $challenge['DNSDigest'] );
485
+ }
486
+
487
+ }
488
+ if ( $return ) {
489
+ return $dns_records;
490
+ }
491
+ $this->wple_log( $vrfy, 'success', 'a' );
492
+ }
493
+
494
+ /**
495
+ * Deploy challenge files
496
+ *
497
+ * @since 3.2.0
498
+ * @param array $challenge
499
+ * @return void
500
+ */
501
+ private function wple_deploy_challenge_files( $acmefile, $challenge )
502
+ {
503
+ $fpath = ABSPATH . '.well-known/acme-challenge/';
504
+ if ( !file_exists( $fpath ) ) {
505
+ mkdir( $fpath, 0775, true );
506
+ }
507
+ $this->wple_log( esc_html__( 'Creating HTTP challenge file', 'wp-letsencrypt-ssl' ) . ' ' . $acmefile, 'success', 'a' );
508
+ file_put_contents( $fpath . $challenge['filename'], trim( $challenge['content'] ) );
509
+ }
510
+
511
+ /**
512
+ * Retrieve file content
513
+ *
514
+ * @since 3.2.0
515
+ * @param string $acmefile
516
+ * @return void
517
+ */
518
+ private function wple_get_file_response( $acmefile )
519
+ {
520
+ $args = array(
521
+ 'sslverify' => false,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  );
523
+ $remoteget = wp_remote_get( $acmefile, $args );
524
+
525
+ if ( is_wp_error( $remoteget ) ) {
526
+ $rsponse = 'error';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  } else {
528
+ $rsponse = trim( wp_remote_retrieve_body( $remoteget ) );
529
+ }
530
+
531
+ return $rsponse;
532
+ }
533
+
534
+ /**
535
+ * Save HTTP + DNS challenges for later use
536
+ *
537
+ * @since 4.6.0
538
+ * @return void
539
+ */
540
+ private function wple_save_all_challenges( $dnsonly = false )
541
+ {
542
+ $opts = ( FALSE === get_option( 'wple_opts' ) ? array() : get_option( 'wple_opts' ) );
543
+ //DNS
544
+ $chtype = LEOrder::CHALLENGE_TYPE_DNS;
545
+ try {
546
+ $dns_challenges = $this->order->getPendingAuthorizations( $chtype );
547
+
548
+ if ( !empty($dns_challenges) ) {
549
+ $opts['dns_challenges'] = array();
550
+ foreach ( $dns_challenges as $challenge ) {
551
+
552
+ if ( $challenge['type'] == 'dns-01' && stripos( $challenge['identifier'], $this->rootdomain ) !== FALSE ) {
553
+ $identifier = $challenge['identifier'];
554
+ $opts['dns_challenges'][] = sanitize_text_field( $identifier ) . '||' . sanitize_text_field( $challenge['DNSDigest'] );
555
+ }
556
+
557
+ }
558
+ }
559
+
560
+ } catch ( Exception $e ) {
561
+ $this->wple_log(
562
+ 'Unable to store DNS challenges:' . $e,
563
+ 'error',
564
+ 'w',
565
+ true
566
+ );
567
+ }
568
+
569
+ if ( $opts['type'] != 'wildcard' ) {
570
+ //HTTP
571
+ $chtype = LEOrder::CHALLENGE_TYPE_HTTP;
572
+ try {
573
+ $httppendings = $this->order->getPendingAuthorizations( $chtype );
574
+
575
+ if ( !empty($httppendings) ) {
576
+ $opts['challenge_files'] = array();
577
+ foreach ( $httppendings as $chlng ) {
578
+ $opts['challenge_files'][] = array(
579
+ 'file' => sanitize_text_field( trim( $chlng['filename'] ) ),
580
+ 'value' => sanitize_text_field( trim( $chlng['content'] ) ),
581
+ );
582
+ }
583
+ }
584
+
585
+ } catch ( Exception $e ) {
586
+ $this->wple_log(
587
+ 'Unable to store HTTP challenges:' . $e,
588
+ 'error',
589
+ 'w',
590
+ true
591
+ );
592
+ }
593
+ }
594
+
595
+ update_option( 'wple_opts', $opts );
596
+ }
597
+
598
+ /**
599
+ * Detect sub-dir site & act accordingly
600
+ * Manual verification for subdir site
601
+ *
602
+ * @since 4.7.0
603
+ * @return void
604
+ */
605
+ private function wple_override_subdir_logic()
606
+ {
607
+ $opts = get_option( 'wple_opts' );
608
+
609
+ if ( isset( $opts['subdir'] ) && !isset( $_GET['wpleauto'] ) ) {
610
+ update_option( 'wple_error', 2 );
611
+ $this->wple_log( 'Cleaning & re-generating challenges', 'success', 'a' );
612
+ if ( isset( $opts['challenge_files'] ) ) {
613
+ unset( $opts['challenge_files'] );
614
+ }
615
+ if ( isset( $opts['dns_challenges'] ) ) {
616
+ unset( $opts['dns_challenges'] );
617
+ }
618
+ $this->wple_save_all_challenges();
619
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&subdir=1' ), 302 );
620
+ exit;
621
+ }
622
+
623
+ }
624
+
625
+ /**
626
+ * DNS only verification for http noscript
627
+ *
628
+ * @since 5.0.7
629
+ * @return void
630
+ */
631
+ public function wple_http_not_possible()
632
+ {
633
+
634
+ if ( FALSE != ($httpvalid = get_option( 'wple_http_valid' )) && $httpvalid ) {
635
+ $this->wple_save_all_challenges();
636
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&subdir=1' ), 302 );
637
+ exit;
638
+ }
639
+
640
+ }
641
+
642
+ protected function wple_single_ssl_verify( $forcehttpverify, $forcednsverify )
643
+ {
644
+
645
+ if ( $forcednsverify ) {
646
+ //dns verify
647
+ $this->wple_get_pendings( true );
648
+ } else {
649
+ $this->wple_get_pendings();
650
+ }
651
+
652
+ if ( !empty($this->pendings) ) {
653
+ foreach ( $this->pendings as $challenge ) {
654
+
655
+ if ( $challenge['type'] == 'dns-01' && stripos( $challenge['identifier'], $this->rootdomain ) !== FALSE ) {
656
+ $lcheck = false;
657
+ $this->order->verifyPendingOrderAuthorization( $challenge['identifier'], LEOrder::CHALLENGE_TYPE_DNS, $lcheck );
658
+ } else {
659
+
660
+ if ( $challenge['type'] == 'http-01' && stripos( $challenge['identifier'], $this->rootdomain ) !== FALSE ) {
661
+ ///if (!$this->dnss && !$forcednsverify) {
662
+ $acmefile = "http://" . $challenge['identifier'] . "/.well-known/acme-challenge/" . $challenge['filename'];
663
+ $rsponse = $this->wple_get_file_response( $acmefile );
664
+
665
+ if ( $rsponse != trim( $challenge['content'] ) && !isset( $_GET['wpleauto'] ) ) {
666
+ update_option( 'wple_error', 2 );
667
+ $this->wple_log( esc_html__( "Offering manual verification procedure.", 'wp-letsencrypt-ssl' ) . " \n", 'success', 'a' );
668
+ if ( FALSE != ($dlog = get_option( 'wple_send_usage' )) && $dlog ) {
669
+ $this->wple_send_usage_data();
670
+ }
671
+ $this->wple_save_all_challenges();
672
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&subdir=1' ), 302 );
673
+ exit;
674
+ }
675
+
676
+ $lcheck = false;
677
+ $this->order->verifyPendingOrderAuthorization( $challenge['identifier'], LEOrder::CHALLENGE_TYPE_HTTP, $lcheck );
678
+ ///}
679
+ }
680
+
681
+ }
682
+
683
  }
 
 
 
 
 
684
  }
 
685
  }
686
+
687
+ protected function wple_goto_manual_challenges()
688
+ {
689
+ $this->wple_save_all_challenges();
690
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&subdir=1' ), 302 );
691
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
692
  }
693
+
694
+ /**
695
+ * simple debug log message
696
+ *
697
+ * @since 5.2.6
698
+ * @return void
699
+ */
700
+ private function wple_nocpanel_notice( $renewal = false )
701
+ {
702
+
703
+ if ( $renewal == false ) {
704
+ WPLE_Trait::wple_logger( "Awaiting SSL installation for Non-cPanel site and SSL validation\n", "success" );
705
+ wp_redirect( admin_url( '/admin.php?page=wp_encryption&nocpanel=1' ), 302 );
706
+ exit;
707
+ }
708
+
709
+ }
710
+
711
+ /**
712
+ * Send email to user on success
713
+ *
714
+ * @since 3.0.0
715
+ * @moved from le-admin.php on 5.7.2
716
+ */
717
+ private function wple_send_success_mail()
718
+ {
719
+ $opts = get_option( 'wple_opts' );
720
+ $to = sanitize_email( $opts['email'] );
721
+ $subject = esc_html__( 'Congratulations! Your SSL certificates generated using WP Encryption Plugin', 'wp-letsencrypt-ssl' );
722
+ $headers = array( 'Content-Type: text/html; charset=UTF-8' );
723
+ $body = '<h3>' . esc_html__( 'You are just ONE away from enabling HTTPS for your WordPress site', 'wp-letsencrypt-ssl' ) . '</h3>';
724
+ $body .= '<p>' . esc_html__( 'Download the generated SSL certificates from below given links and install it on your cPanel following the video tutorial', 'wp-letsencrypt-ssl' ) . ' (https://youtu.be/KQ2HYtplPEk). ' . esc_html__( 'These certificates expires on', 'wp-letsencrypt-ssl' ) . ' <b>' . esc_html( $opts['expiry'] ) . '</b></p>
725
+ <br/>
726
+ <a href="' . admin_url( '/admin.php?page=wp_encryption&le=1', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px 10px 10px 0; font-weight: bold;">' . esc_html__( 'Download Cert File', 'wp-letsencrypt-ssl' ) . '</a>
727
+ <a href="' . admin_url( '/admin.php?page=wp_encryption&le=2', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px; font-weight: bold;">' . esc_html__( 'Download Key File', 'wp-letsencrypt-ssl' ) . '</a>
728
+ <a href="' . admin_url( '/admin.php?page=wp_encryption&le=3', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px; font-weight: bold;">' . esc_html__( 'Download CA File', 'wp-letsencrypt-ssl' ) . '</a>
729
+ <br/>';
730
+ ///if (FALSE == get_option('wple_no_pricing')) {
731
+ $body .= '<br /><br />';
732
+ $body .= '<b>' . esc_html__( 'WP Encryption PRO can automate this entire process in one click including SSL installation on cPanel hosting and auto renewal of certificates every 90 days', 'wp-letsencrypt-ssl' ) . '!. <br><a href="' . admin_url( '/admin.php?page=wp_encryption-pricing', 'http' ) . '" style="background: #0073aa; text-decoration: none; color: #fff; padding: 12px 20px; display: inline-block; margin: 10px 0; font-weight: bold;">' . esc_html__( 'UPGRADE TO PREMIUM', 'wp-letsencrypt-ssl' ) . '</a></b><br /><br />';
733
+ $body .= "<h3>" . esc_html__( "Don't have cPanel hosting?", 'wp-letsencrypt-ssl' ) . "</h3>";
734
+ $body .= '<p>We don\'t wanna disappoint you!. Opt for our <a href="' . admin_url( '/admin.php?page=wp_encryption-pricing', 'http' ) . '"><strong>Annual Pro plan</strong><a> and setup SSL for your site hosted on ANY hosting platform including Managed WordPress platforms.' . WPLE_Trait::wple_kses( __( 'With free version, You can download and send these SSL certificates to your hosting support asking them to install these SSL certificates.', 'wp-letsencrypt-ssl' ) ) . '</p><br /><br />';
735
+ ///}
736
+ if ( class_exists( 'ZipArchive' ) ) {
737
+
738
+ if ( get_option( 'wple_email_certs' ) == true ) {
739
+ $zip = new ZipArchive();
740
+ $zip->open( ABSPATH . 'keys/certificates.zip', ZipArchive::CREATE );
741
+ $certificate = ABSPATH . 'keys/certificate.crt';
742
+ $zip->addFile( $certificate, 'certificate.crt' );
743
+ $ret = $this->wple_parseCertificate( $certificate );
744
+ $certexpirydate = date( 'd-m-Y', $ret['validTo_time_t'] );
745
+ $pemfile = ABSPATH . 'keys/private.pem';
746
+ $zip->addFile( $pemfile, 'private.pem' );
747
+ $cabundle = WPLE_DIR . 'cabundle/ca.crt';
748
+ if ( file_exists( ABSPATH . 'keys/cabundle.crt' ) ) {
749
+ $cabundle = ABSPATH . 'keys/cabundle.crt';
750
+ }
751
+ $zip->addFile( $cabundle, 'cabundle.crt' );
752
+ $zip->close();
753
+ $body .= '<p>' . esc_html__( 'Confidential: New SSL cert files have been attached to this email as per your preferences.', 'wp-letsencrypt-ssl' ) . ' ' . esc_html__( 'These certificates expires on', 'wp-letsencrypt-ssl' ) . ' <b>' . esc_html( $certexpirydate ) . '</b></p>';
754
+ wp_mail(
755
+ $to,
756
+ $subject,
757
+ $body,
758
+ $headers,
759
+ array( ABSPATH . 'keys/certificates.zip' )
760
+ );
761
+ unlink( ABSPATH . 'keys/certificates.zip' );
762
+ return;
763
+ }
764
+
765
+ }
766
  wp_mail(
767
+ $to,
768
+ $subject,
769
+ $body,
770
+ $headers
 
771
  );
 
 
772
  }
773
+
774
+ }
classes/le-trait.php CHANGED
@@ -156,7 +156,7 @@ class WPLE_Trait
156
  <li><a href="' . admin_url( '/admin.php?page=wp_encryption_log' ) . '"><span class="dashicons dashicons-admin-tools"></span> ' . esc_html__( 'Debug Log', 'wp-letsencrypt-ssl' ) . '</a></li>
157
  <li><a href="' . admin_url( '/admin.php?page=wp_encryption_faq' ) . '"><span class="dashicons dashicons-editor-help"></span> ' . esc_html__( 'FAQ', 'wp-letsencrypt-ssl' ) . '</a></li>
158
  <li><a href="' . admin_url( '/admin.php?page=wp_encryption_howto_videos' ) . '"><span class="dashicons dashicons-video-alt3"></span> ' . esc_html__( 'Videos', 'wp-letsencrypt-ssl' ) . '</a></li>';
159
- $html .= '<li><a href="https://wordpress.org/support/plugin/wp-letsencrypt-ssl/" target="_blank" rel="nofollow"><span class="dashicons dashicons-sos"></span> ' . esc_html__( 'Free Support', 'wp-letsencrypt-ssl' ) . '</a></li>';
160
  //if (!wple_fs()->is__premium_only()) {
161
  //$html .= '<li><a href="https://wpencryption.com/cdn-firewall/" target="_blank"><span class="dashicons dashicons-superhero" style="font-size: 26px; width: 26px; line-height: 21px !important; margin-left: -5px;"></span> Speed Up Your Site <span class="dashicons dashicons-editor-help wple-tooltip bottom" data-tippy="Sky rocket your WordPress site performance with Fastest Content Delivery Network + Premium Sectigo SSL + Secure Firewall"></span></a></li>';
162
  //}
@@ -276,6 +276,13 @@ class WPLE_Trait
276
  $allowed = array(
277
  'strong' => array(),
278
  'b' => array(),
 
 
 
 
 
 
 
279
  );
280
  if ( $additional == 'a' ) {
281
  $allowed['a'] = array(
156
  <li><a href="' . admin_url( '/admin.php?page=wp_encryption_log' ) . '"><span class="dashicons dashicons-admin-tools"></span> ' . esc_html__( 'Debug Log', 'wp-letsencrypt-ssl' ) . '</a></li>
157
  <li><a href="' . admin_url( '/admin.php?page=wp_encryption_faq' ) . '"><span class="dashicons dashicons-editor-help"></span> ' . esc_html__( 'FAQ', 'wp-letsencrypt-ssl' ) . '</a></li>
158
  <li><a href="' . admin_url( '/admin.php?page=wp_encryption_howto_videos' ) . '"><span class="dashicons dashicons-video-alt3"></span> ' . esc_html__( 'Videos', 'wp-letsencrypt-ssl' ) . '</a></li>';
159
+ $html .= '<li><a href="' . admin_url( '/admin.php?page=wp_encryption_faq#howitworks' ) . '"><span class="dashicons dashicons-sos"></span> ' . esc_html__( 'How it works?', 'wp-letsencrypt-ssl' ) . '</a></li>';
160
  //if (!wple_fs()->is__premium_only()) {
161
  //$html .= '<li><a href="https://wpencryption.com/cdn-firewall/" target="_blank"><span class="dashicons dashicons-superhero" style="font-size: 26px; width: 26px; line-height: 21px !important; margin-left: -5px;"></span> Speed Up Your Site <span class="dashicons dashicons-editor-help wple-tooltip bottom" data-tippy="Sky rocket your WordPress site performance with Fastest Content Delivery Network + Premium Sectigo SSL + Secure Firewall"></span></a></li>';
162
  //}
276
  $allowed = array(
277
  'strong' => array(),
278
  'b' => array(),
279
+ 'sup' => array(
280
+ 'style' => array(),
281
+ ),
282
+ 'h1' => array(),
283
+ 'h2' => array(),
284
+ 'h3' => array(),
285
+ 'br' => array(),
286
  );
287
  if ( $additional == 'a' ) {
288
  $allowed['a'] = array(
readme.txt CHANGED
@@ -5,13 +5,13 @@ Requires at least: 4.2
5
  License: GPL3
6
  Tested up to: 5.8
7
  Requires PHP: 5.4
8
- Stable tag: 5.7.1
9
 
10
- SSL for lifetime - Install free SSL certificate & enable SSL / HTTPS sitewide, secure mail w/ SSL, HSTS, insecure content scanner, SSL health meter, fix mixed content issues easily. Force HTTPS instantly & download SSL certificate.
11
 
12
  == Description ==
13
 
14
- = SSL HEALTH SCORE + ADVANCED INSECURE CONTENT SCANNER in v5.7.0 =
15
 
16
  Generate free Let's Encrypt SSL certificate for your WordPress site and force SSL/HTTPS sitewide, fixing insecure content & mixed content issues easily.
17
 
@@ -198,6 +198,13 @@ Security is an important subject regarding SSL/TLS certificates, of course. It i
198
 
199
  == Changelog ==
200
 
 
 
 
 
 
 
 
201
  = 5.7.1 =
202
  * Updated - Intermediate cert priority. Please RESET and re-run SSL install form.
203
 
5
  License: GPL3
6
  Tested up to: 5.8
7
  Requires PHP: 5.4
8
+ Stable tag: 5.7.2
9
 
10
+ SSL for lifetime - Install free SSL certificate & enable SSL / HTTPS sitewide, secure mail w/ HTTPS, HSTS, insecure content scanner, SSL health meter, fix mixed content issues easily. HTTPS redirect & download SSL certificate.
11
 
12
  == Description ==
13
 
14
+ = ADVANCED INSECURE CONTENT SCANNER in v5.7.0 =
15
 
16
  Generate free Let's Encrypt SSL certificate for your WordPress site and force SSL/HTTPS sitewide, fixing insecure content & mixed content issues easily.
17
 
198
 
199
  == Changelog ==
200
 
201
+ = 5.7.2 =
202
+ * Improved CSS
203
+ * Improved explanations
204
+ * Fix - don't show empty rows in advanced mixed content scanner
205
+ * Added - How it works Faq
206
+ * No more review requests for PRO users
207
+
208
  = 5.7.1 =
209
  * Updated - Intermediate cert priority. Please RESET and re-run SSL install form.
210
 
wp-letsencrypt.php CHANGED
@@ -7,7 +7,7 @@
7
  * Plugin Name: WP Encryption - One Click SSL & Force HTTPS
8
  * Plugin URI: https://wpencryption.com
9
  * Description: Secure your WordPress site with free SSL certificate and force HTTPS throughout the site. Just activating this plugin won't help! - Please run the SSL install form of WP Encryption found on left panel.
10
- * Version: 5.7.1
11
  * Author: Go Web Smarty
12
  * Author URI: https://wpencryption.com
13
  * License: GNU General Public License v3.0
@@ -33,7 +33,7 @@ if ( !defined( 'ABSPATH' ) ) {
33
  /**
34
  * Definitions
35
  */
36
- define( 'WPLE_PLUGIN_VERSION', '5.7.1' );
37
  define( 'WPLE_BASE', plugin_basename( __FILE__ ) );
38
  define( 'WPLE_DIR', plugin_dir_path( __FILE__ ) );
39
  define( 'WPLE_URL', plugin_dir_url( __FILE__ ) );
@@ -74,7 +74,7 @@ if ( function_exists( 'wple_fs' ) ) {
74
  'is_premium' => false,
75
  'has_addons' => false,
76
  'has_paid_plans' => true,
77
- 'has_affiliation' => 'selected',
78
  'menu' => array(
79
  'slug' => 'wp_encryption',
80
  'contact' => false,
7
  * Plugin Name: WP Encryption - One Click SSL & Force HTTPS
8
  * Plugin URI: https://wpencryption.com
9
  * Description: Secure your WordPress site with free SSL certificate and force HTTPS throughout the site. Just activating this plugin won't help! - Please run the SSL install form of WP Encryption found on left panel.
10
+ * Version: 5.7.2
11
  * Author: Go Web Smarty
12
  * Author URI: https://wpencryption.com
13
  * License: GNU General Public License v3.0
33
  /**
34
  * Definitions
35
  */
36
+ define( 'WPLE_PLUGIN_VERSION', '5.7.2' );
37
  define( 'WPLE_BASE', plugin_basename( __FILE__ ) );
38
  define( 'WPLE_DIR', plugin_dir_path( __FILE__ ) );
39
  define( 'WPLE_URL', plugin_dir_url( __FILE__ ) );
74
  'is_premium' => false,
75
  'has_addons' => false,
76
  'has_paid_plans' => true,
77
+ 'has_affiliation' => 'all',
78
  'menu' => array(
79
  'slug' => 'wp_encryption',
80
  'contact' => false,