")};return(e,n)=>(a(),r(m,null,[v("h4",wN,b(w(t)("WHOIS LOOKUP")),1),_.value?(a(!0),r(m,{key:0},g(w(h).rawdata,e=>(a(),l(w(Jg),{unsafeHTML:T(e),key:e,allowedTags:["div","br","a","span"],allowedAttributes:{div:["class"],a:["href","target","rel","class"],span:["class"]}},null,8,["unsafeHTML"]))),128)):(a(),r("span",vN,b(w(t)("Sorry, but no data for that IP or domain was found.")),1))],64))}},yN={class:"wf-no-top"},kN={key:0,class:"wf-recent-traffic-table"},_N={key:0},xN=["href"],SN={key:0,class:"wf-error-text"},TN={key:1},CN={key:1},MN=["href"],LN={key:2},AN=["href"],DN={key:0,class:"wfAvatar"},PN={key:3},ON=["title"],$N={key:1,class:"wf-error-text"},IN={__name:"LiveTrafficRecentTraffic",props:{recentTrafficResponse:{type:[Object,null],default:null}},setup(e){const t=u("__"),n=u("$dataStore"),{$avatarLookup:l}=RE(),o=e,{recentTrafficResponse:s}=c(o);f(s,e=>{if(null===e||!e.result)return;const t=e.result.filter(e=>!!e.user).map(e=>e.user.ID);l(t)},{deep:!0});const d=e=>{let t=[];return t.push("wf-flag"),t.push(`wf-flag-${e.countryCode?.toLowerCase()}`),t};return(e,l)=>(a(),r(m,null,[v("h4",yN,b(w(t)("Recent Activity")),1),w(s)&&w(s).result?(a(),r("table",kN,[(a(!0),r(m,null,g(w(s).result,e=>{return a(),r(m,{key:e.ctime},[v("tr",null,[v("th",null,b(w(t)("Time"))+":",1),v("td",null,[M(w(kp),{timestamp:e.ctime},null,8,["timestamp"]),l[0]||(l[0]=x(" (",-1)),M(w(gR),{timestamp:e.ctime},null,8,["timestamp"]),l[1]||(l[1]=x(")",-1))])]),e.timeSinceLastHit?(a(),r("tr",_N,[v("th",null,b(w(t)("Seconds since last hit"))+":",1),v("td",null,b(e.timeSinceLastHit),1)])):i("",!0),v("tr",null,[v("th",null,b(w(t)("URL"))+":",1),v("td",null,[v("a",{href:e.URL,target:"_blank",rel:"noopener noreferrer"},[x(b(e.URL),1),M(w(Bi))],8,xN)])]),v("tr",null,[v("th",null,b(w(t)("Type"))+":",1),v("td",null,[404===e.statusCode?(a(),r("span",SN,b(w(t)("Page not found")),1)):"hit"===e.type?(a(),r("span",TN,b(w(t)("Normal request")),1)):i("",!0)])]),e.referer?(a(),r("tr",CN,[v("th",null,b(w(t)("Referrer"))+":",1),v("td",null,[v("a",{href:e.referer,target:"_blank",rel:"noopener noreferrer"},[x(b(e.referer),1),M(w(Bi))],8,MN)])])):i("",!0),v("tr",null,[v("th",null,b(w(t)("User Agent"))+":",1),v("td",null,b(e.UA),1)]),e.user?(a(),r("tr",LN,[v("th",null,b(w(t)("User"))+":",1),v("td",null,[v("a",{href:e.user.editLink,target:"_blank",rel:"noopener noreferrer"},[w(n).$wordpress.avatars[e.user.ID]?(a(),r("span",DN,[M(w(Jg),{unsafeHTML:w(n).$wordpress.avatars[e.user.ID],allowedTags:["img"],allowedAttributes:{img:["src","alt","srcset","class","height","width","loading","fetchpriority","decoding"]}},null,8,["unsafeHTML"])])):i("",!0),x(" "+b(e.user.display_name),1),M(w(Bi))],8,AN)])])):i("",!0),e.loc?(a(),r("tr",PN,[v("th",null,b(w(t)("Location"))+":",1),v("td",null,[v("span",{class:k(d(e.loc)),title:e.loc.countryName},null,10,ON),x(" "+b((o=e.loc,(o.city?`${o.city}, `:"")+(o.region?`${o.region}, `:"")+(o.countryName??""))),1)])])):i("",!0),l[2]||(l[2]=v("tr",{class:"wf-recent-traffic-table-row-border"},[v("td",{colspan:"2"},[v("div")])],-1))],64);var o}),128))])):(a(),r("span",$N,b(w(s)?.errorMsg),1))],64))}},EN={class:"wf-section-title"},RN=["href"],NN={class:"wf-fa wf-fa-external-link"},BN={key:0,id:"wfLiveTrafficOverlayAnchor"},VN={key:1,id:"wfLiveTrafficDisabledMessage"},FN={class:"wf-limited-width"},HN={class:"wf-limited-width"},UN={id:"wf-live-traffic-options",class:"wf-row"},qN={class:"wf-col-xs-12"},jN={class:"wf-limited-width"},WN={key:0,id:"wordfenceLiveActivitySecurityOnly"},zN={key:0},YN=["href"],GN={key:1,id:"wordfenceLiveActivityAll"},KN={key:0},ZN=["href"],QN={class:"wf-col-xs-12"},XN={class:"wf-block wf-active"},JN={class:"wf-block-content"},eB={class:"wf-container-fluid"},tB={class:"wf-row"},nB={class:"wf-col-xs-12"},aB={class:"wfHuman"},lB={class:"wfBot"},oB={class:"wfNotice"},sB={class:"wfBlocked"},rB={class:"wf-row wf-add-bottom-small"},iB={class:"wf-col-xs-12",id:"wf-live-traffic-legend-wrapper"},uB={class:"wf-live-traffic-controls"},cB={class:"wf-live-traffic-filter"},dB={class:"wf-padding-no-left"},pB=["value"],fB={for:"wf-live-traffic-filter-show-advanced"},hB={class:"wf-live-traffic-show-expanded"},mB={key:0,id:"wf-lt-advanced-filters"},gB={class:"wf-live-traffic-filter-detail"},wB={class:"wf-live-traffic-filter-item"},vB={class:"wf-live-traffic-filter-item-parameters"},bB=["onUpdate:modelValue"],yB={value:""},kB=["value"],_B={key:0},xB=["onUpdate:modelValue"],SB=["value"],TB={class:"wf-lt-advanced-filters-value-cell"},CB=["onUpdate:modelValue"],MB=["value"],LB=["onUpdate:modelValue"],AB={key:2,class:"wf-option wf-option-switch"},DB={class:"wf-option-content wf-add-right-large"},PB={class:"wf-option-switch"},OB={class:"wf-switch"},$B=["onClick","onKeydown"],IB=["onClick","onKeydown"],EB=["onClick"],RB={class:"wf-ion-trash-a"},NB={class:"wf-pad-small"},BB={key:0,class:"wf-notice wf-info"},VB={class:"wf-form wf-form-horizontal"},FB={class:"wf-form-group"},HB={for:"wf-live-traffic-from",class:"wf-col-sm-2"},UB={class:"wf-col-sm-10"},qB={class:"wf-form-group"},jB={for:"wf-live-traffic-group-by",class:"wf-col-sm-2"},WB={class:"wf-col-sm-10"},zB=["value"],YB={id:"wf-live-traffic-filtering-bar"},GB={class:"wf-row"},KB={class:"wf-col-xs-12"},ZB={key:0,id:"wf-live-traffic-group-by",class:"wf-block"},QB={class:"wf-filtered-traffic wf-block-list","data-bind":"foreach: listings"},XB={key:1,id:"wf-live-traffic-no-group-by"},JB={class:"wf-striped-table"},eV={id:"wf-lt-listings",class:"wf-filtered-traffic"},tV={key:2,class:"wf-live-traffic-none"},nV={class:"wf-live-traffic-util-overlay-header"},aV={class:"wf-live-traffic-util-overlay-body"},lV={__name:"LiveTraffic",setup(o){const c=u("__"),d=u("$"),p=u("wfconstants"),y=u("$dataStore"),C=window.wordfenceAdmin,{$ajax:L,$ajaxErrorMessage:A}=yi(),{$reverseIPs:O}=Vc(),{$errorModal:I}=Ii(),{$setOption:R}=Ei(),{$hasOwn:N}=ai(),{$avatarLookup:B}=RE(),F=t(!1),H=t(!1),U=t(!1),q=t("all"),j=e([{id:"all",label:c("All Hits"),filter:[]},{id:"humans",label:c("Humans"),filter:[{param:"type",value:"human",operator:"="}]},{id:"users",label:c("Registered Users"),filter:[{param:"userID",value:0,operator:"!="}]},{id:"crawlers",label:c("Crawlers"),filter:[{param:"type",value:"bot",operator:"="}]},{id:"google",label:c("Google Crawlers"),filter:[{param:"isGoogle",value:!0,operator:"="}]},{id:"404s",label:c("Pages Not Found"),filter:[{param:"statusCode",value:404,operator:"="}]},{id:"logins",label:c("Logins and Logouts"),filter:[{param:"action",value:"login",operator:"contains"},{param:"action",value:"logout",operator:"contains"}]},{id:"lockedOut",label:c("Locked Out"),filter:[{param:"action",value:"lockedOut",operator:"="}]},{id:"blocked",label:c("Blocked"),filter:[{param:"action",value:"blocked",operator:"contains"}]},{id:"blocked:waf",label:c("Blocked By Firewall"),filter:[{param:"action",value:"blocked:waf",operator:"="}]}]),W=t(!1),z=e([]),G=e([{value:"=",label:"=",default:!0},{value:"!=",label:"≠"},{value:"contains",label:c("contains")},{value:"match",label:c("matches")},{value:"!contains",label:c("does not contain")},{value:"!match",label:c("does not match")}]),K=e([{param:"type",label:c("Type"),type:"enum",default:"human",options:[{value:"human",label:c("Human")},{value:"bot",label:c("Bot")}]},{param:"user_login",label:c("Username"),type:"text",default:""},{param:"userID",label:c("User ID"),type:"text",default:""},{param:"isGoogle",label:c("Google Bot"),type:"bool",default:!0},{param:"ip",label:c("IP"),type:"text",default:""},{param:"ua",label:c("User Agent"),type:"text",default:""},{param:"referer",label:c("Referer"),type:"text",default:""},{param:"url",label:c("URL"),type:"text",default:""},{param:"statusCode",label:c("HTTP Response Code"),type:"text",default:""},{param:"action.firewall",label:c("Request Response"),type:"enum",default:"",options:[{value:"",label:c("OK"),allowed:["=","!="]},{value:"lockedOut",label:c("Locked Out"),allowed:["=","!="]},{value:"blocked:*",label:c("Blocked"),allowed:["match","!match"]},{value:"blocked:waf",label:c("Blocked (WAF)"),allowed:["=","!="]},{value:"blocked:wfsn*",label:c("Blocked (Brute Force)"),allowed:["match","!match"]}]},{param:"action.login",label:c("Logins"),type:"enum",default:"loginOK",options:[{value:"loginOK",label:c("Logged In")},{value:"loginFail",label:c("Failed Login")},{value:"loginFailInvalidUsername",label:c("Failed Login: Invalid Username")},{value:"loginFailValidUsername",label:c("Failed Login: Valid Username")}]},{param:"action.other",label:c("Security Event"),type:"text",default:""}]),Z=t("none"),Q=e([{param:"none",value:c("None")},{param:"type",value:c("Type")},{param:"user_login",value:c("Username")},{param:"statusCode",value:c("HTTP Response Code")},{param:"action",value:c("Firewall Response"),type:"enum",options:["ok","throttled","lockedOut","blocked","blocked:waf"]},{param:"ip",value:c("IP")},{param:"url",value:c("URL")}]),X=t(),J=e=>{const t=K.findIndex(t=>t.param===e);return t>-1?K[t]:null},ee=e=>{const t=K.findIndex(t=>t.param===e);return t>-1?K[t].options:[]},te=e=>{const t=J(e?.param);if(!t)return G;let n=Array.isArray(t.allowed)?t.allowed:null;if("enum"===t.type){const a=ee(t.param).find(t=>t.value===e.value);a&&Array.isArray(a.allowed)&&(n=a.allowed)}if(!n||0===n.length)return G;const a=G.filter(e=>n.includes(e.value));return a.length?a:G},ne=e=>{const t=te(e),n=J(e?.param);return n?.operator&&t.some(e=>e.value===n.operator)?n.operator:t[0]?.value??"="};let ae=0;const le=()=>{z.push({id:++ae,param:"",value:"",operator:"="})};f(q,e=>{P(Se)}),f(Z,e=>{P(Se)}),f(z,e=>{P(xe)},{deep:!0}),f(X,e=>{P(xe)},{deep:!0});const oe=/* @__PURE__ */new WeakMap;f(z,e=>{e.forEach(e=>{const t=oe.get(e);if(void 0!==t){if(e.param!==t){const t=J(e.param);e.operator=ne(e),e.value=t?.default??""}te(e).some(t=>t.value===e.operator)||(e.operator=ne(e)),oe.set(e,e.param)}else oe.set(e,e.param)})},{deep:!0});const se=n(()=>z.some(e=>"action.firewall"===e.param&&""===e.value)),re=n(()=>se.value&&!p.livetraffic.recording.record_all),ue=t(!1),ce=t(0),de=t(!0),pe=t(null);let fe=null;const he=(e=null)=>{if(ue.value||!de.value||0===y.livetraffic.entries.length)return;const t=y.livetraffic.entries.length;ue.value=!0,Me(n=>{const a=y.livetraffic.entries.length-t;de.value=n.length>0,n.length>0&&a<=0&&(de.value=!1),ue.value=!1,P(ge),"function"==typeof e&&e(n,a)},()=>{ue.value=!1})},me=()=>{(()=>{const e=d("div#wf-live-traffic-group-by:visible");if(e.length)return e[0].getBoundingClientRect().bottom<=window.innerHeight+200;const t=d("#wf-lt-listings").children().filter(":visible").last();return!!t.length&&t[0].getBoundingClientRect().bottom<=window.innerHeight+200})()&&he((e,t)=>{t>0&&P(me)})},ge=()=>{fe&&pe.value&&(fe.disconnect(),fe.observe(pe.value))},we=e=>{e.some(e=>e.isIntersecting)&&he()};T(()=>{document.title=c("Live Traffic")+" ‹ "+C.basePageName,d(window).on("scroll",ke),fe=new IntersectionObserver(we,{root:null,rootMargin:"0px 0px 200px 0px"}),y.livetraffic.updateTick&&(clearInterval(y.livetraffic.updateTick),y.livetraffic.updateTick=!1),y.livetraffic.updateTick=setInterval(be,p.plugin.update_interval),P(Se)}),D(()=>{d(window).off("scroll",ke),fe?.disconnect(),fe=null,y.livetraffic.updateTick&&(clearInterval(y.livetraffic.updateTick),y.livetraffic.updateTick=!1),ce.value&&(clearTimeout(ce.value),ce.value=0)});const ve=t(!1),be=(e=!1)=>{e||!(ve.value||!document.hasFocus()&&y.$options.liveActivityPauseEnabled)?(d("body").hasClass("wordfenceLiveActivityPaused")&&d("body").removeClass("wordfenceLiveActivityPaused"),y.mode!==p.plugin.mode.livetraffic.active||ce.value||(ve.value=!0,_e({since:Te.value},e=>{Ce(e),ve.value=!1}))):d("body").hasClass("wordfenceLiveActivityPaused")||ve.value||d("body").addClass("wordfenceLiveActivityPaused")},ye=t(!1),ke=()=>{const e=d("#wf-live-traffic-legend-wrapper"),t=d("#wpadminbar"),n=d("#wf-lt-listings"),a=d("div#wf-live-traffic-group-by"),l=n.children().filter(":visible").first();ye.value=y.isSmallScreen?e.offset().top0&&l.offset().top+l.height()0?y.mode!==p.plugin.mode.livetraffic.paused&&(y.mode=p.plugin.mode.livetraffic.paused):y.mode!==p.plugin.mode.livetraffic.active&&(y.mode=p.plugin.mode.livetraffic.active)},_e=(e,t,n=null)=>{let a=(()=>{let e={};return j.filter(e=>e.id===q.value).forEach(t=>{t.filter.forEach(t=>{N(e,"param")||(e.param=[],e.value=[],e.operator=[]),e.param.push(t.param),e.value.push(t.value),e.operator.push(t.operator)})}),z.forEach(t=>{K.findIndex(e=>e.param===t.param)<0||G.findIndex(e=>e.value===t.operator)<0||(N(e,"param")||(e.param=[],e.value=[],e.operator=[]),e.param.push(t.param.replace(/\..+/g,"")),e.value.push(t.value),e.operator.push(t.operator))}),e.groupby=Z.value,null!==X.value&&Array.isArray(X.value)&&X.value[0]&&(e.startDate=Math.floor(X.value[0].getTime()/1e3)),null!==X.value&&Array.isArray(X.value)&&X.value[1]&&(e.endDate=Math.floor(X.value[1].getTime()/1e3)),e})();const l={since:null,limit:y.livetraffic.limit.value,offset:0};for(const o in l)a[o]=e&&"object"==typeof e&&N(e,o)?e[o]:l[o];L("wordfence_loadLiveTraffic",a,e=>{e?.serverMicrotime&&(y.time.serverMicrotime=e?.serverMicrotime),e&&e.success?"function"==typeof t&&t(e.data,e):"function"==typeof n&&n(e)},e=>{"function"==typeof n&&n(e)},!0)},xe=e=>{ce.value&&clearTimeout(ce.value),ce.value=setTimeout(Se,2e3,e)},Se=e=>{ce.value&&(clearTimeout(ce.value),ce.value=0),ue.value=!0,de.value=!0,y.livetraffic.entries.splice(0,y.livetraffic.entries.length),_e(e,e=>{"none"!==Z.value?y.mode=p.plugin.mode.livetraffic.paused:y.mode=p.plugin.mode.livetraffic.active,Ce(e),de.value=e.length>0,ue.value=!1,P(()=>{ge(),me()})},()=>{ue.value=!1})},Te=n(()=>y.livetraffic.entries.length?y.livetraffic.entries[0].ctime:0),Ce=e=>{const t=y.livetraffic.entries.map(e=>e.id),n=e.filter(e=>!t.includes(e.id));if(n.length){y.livetraffic.entries.push(...n),y.livetraffic.entries.sort((e,t)=>e.ctime>t.ctime?-1:e.ctimet.id?-1:e.ide.IP);O(e);const t=n.map(e=>e.userID);B(t)}y.livetraffic.recent.splice(0,y.livetraffic.recent.length,...n.map(e=>e.id))},Me=(e,t=null)=>{_e({offset:y.livetraffic.entries.length},t=>{Ce(t),"function"==typeof e&&e(t)},t)},Le=e=>{R("liveTraf_displayExpandedRecords",e.new,()=>{y.$options.liveTraf_displayExpandedRecords=e.new})},Ae=e=>{let t={id:0,ctime:0,IP:"",jsRun:!1,statusCode:200,isGoogle:!1,userID:0,URL:"",referer:"",UA:"",loc:!1,type:"",blocked:!1,rangeBlocked:!1,ipRangeID:-1,extReferer:null,browser:null,user:null,hitCount:0,username:"",action:"",actionDescription:null,actionData:null};for(const n in t)N(e,n)&&(t[n]=e[n]);return t};S("unblockIPHandler",e=>{L("wordfence_unblockIP",{IP:e},t=>{t.ok&&y.livetraffic.entries.forEach((t,n)=>{t.IP===e&&(y.livetraffic.entries[n].blocked=!1)})})}),S("blockIPHandler",e=>{L("wordfence_blockIP",{IP:e,reason:c("Manual block by administrator")},t=>{t.ok&&y.livetraffic.entries.forEach((t,n)=>{t.IP===e&&(y.livetraffic.entries[n].blocked=!0)})},e=>{I(A(e))})}),S("unblockNetworkHandler",e=>{L("wordfence_unblockRange",{id:e},t=>{t.ok&&y.livetraffic.entries.forEach((t,n)=>{t.ipRangeID===e&&(y.livetraffic.entries[n].blocked=!1,y.livetraffic.entries[n].ipRangeID=-1)})})}),S("showWhoisHandler",e=>{const t=++De.value;H.value=!1,U.value=!1,L("wordfence_whois",{val:w(e).IP},n=>{t===De.value&&(H.value=n.result?n.result:null,F.value=w(e))})}),S("showRecentTrafficHandler",e=>{const t=++De.value;H.value=!1,U.value=!1,L("wordfence_recentTraffic",{ip:w(e).IP},n=>{t===De.value&&(U.value=n,F.value=w(e))})}),S("whitelistWAFParamHandler",(e,t,n)=>{L("wordfence_whitelistWAFParamKey",{path:e,paramKey:t,failedRules:n},()=>{})});const De=t(0),Pe=()=>{F.value=!1};return(e,t)=>{const n=h("aria"),o=h("visible");return a(),r(m,null,[v("div",EN,[v("h2",null,b(w(c)("Live Traffic")),1),v("span",null,[v("a",{href:w(p).support.url.tools_live_traffic,target:"_blank",rel:"noopener noreferrer",class:"wf-help-link"},[M(w(Ic),{text:w(c)("Learn more about Live Traffic"),xs:w(c)("Learn More")},null,8,["text","xs"]),M(w(Bi))],8,RN),t[4]||(t[4]=x()),_(v("i",NN,null,512),[[n,{hidden:!0}]])])]),w(y).$options.liveActivityPauseEnabled?(a(),r("div",BN)):i("",!0),w(y).$options.liveActivityPauseEnabled?(a(),r("div",VN,[v("h2",null,[x(b(w(c)("Live Updates Paused")),1),t[5]||(t[5]=v("br",null,null,-1)),v("small",null,b(w(c)("Click inside window to resume")),1)])])):i("",!0),v("p",FN,b(w(c)("Wordfence Live Traffic shows you what is happening on your site in real-time, including user logins, hack attempts, and requests that were blocked by the Wordfence Firewall. You can choose to log security-related traffic only or all traffic. Traffic is logged directly on the server, which means it includes visits that don't execute JavaScript. Google and other JavaScript-based analytics packages typically only show visits from browsers that are operated by a human, while Live Traffic can show visits from crawlers like Google and Bing.")),1),t[12]||(t[12]=v("div",{class:"wordfenceModeElem",id:"wordfenceMode_liveTraffic"},null,-1)),v("div",HN,[v("div",UN,[v("div",qN,[M(w(hR),{stateKey:"live-traffic-options",showControls:!0})])])]),v("div",jN,[w(p).livetraffic.recording.record_all?(a(),r("div",GN,[v("p",null,[v("strong",null,[x(b(w(c)("Traffic logging mode: All traffic")),1),w(p).livetraffic.recording.host_setting?(a(),r("span",KN,[x(" ("+b(w(c)("host setting"))+" ",1),v("a",{href:w(p).support.url.tools_live_traffic_option_enable,class:"wfhelp",target:"_blank",rel:"noopener noreferrer"},[M(w(Bi))],8,ZN),t[8]||(t[8]=x(")",-1))])):i("",!0),t[9]||(t[9]=x(".",-1))]),x(" "+b(w(c)("Regular traffic and security-related traffic will appear below.")),1)])])):(a(),r("div",WN,[v("p",null,[v("strong",null,[x(b(w(c)("Traffic logging mode: Security-related traffic only")),1),w(p).livetraffic.recording.host_setting?(a(),r("span",zN,[x(" ("+b(w(c)("host setting"))+" ",1),v("a",{href:w(p).support.url.tools_live_traffic_option_enable,class:"wfhelp",target:"_blank",rel:"noopener noreferrer"},[M(w(Bi))],8,YN),t[6]||(t[6]=x(")",-1))])):i("",!0),t[7]||(t[7]=x(".",-1))]),x(" "+b(w(c)("Login and firewall activity will appear below.")),1)])]))]),v("div",{id:"wf-live-traffic",class:k({"wf-row":!0,"wf-live-traffic-display-expanded":w(y).$options.liveTraf_displayExpandedRecords})},[v("div",QN,[v("div",XN,[v("div",JN,[v("div",eB,[v("div",tB,[v("div",nB,[v("div",{id:"wf-live-traffic-legend",class:k({sticky:ye.value})},[v("ul",null,[v("li",aB,b(w(c)("Human")),1),v("li",lB,b(w(c)("Bot")),1),v("li",oB,b(w(c)("Warning")),1),v("li",sB,b(w(c)("Blocked")),1)])],2),v("div",rB,[v("div",iB,[v("ul",uB,[v("li",cB,[v("div",dB,[_(v("select",{id:"wf-lt-preset-filters","onUpdate:modelValue":t[0]||(t[0]=e=>q.value=e)},[(a(!0),r(m,null,g(j,e=>(a(),r("option",{key:e.id,value:e.id},b(e.label),9,pB))),128))],512),[[Y,q.value]])]),t[10]||(t[10]=x(" ",-1)),_(v("input",{id:"wf-live-traffic-filter-show-advanced",class:"wf-option-checkbox",type:"checkbox","onUpdate:modelValue":t[1]||(t[1]=e=>W.value=e)},null,512),[[ie,W.value]]),v("label",fB,b(w(c)("Show Advanced Filters")),1)]),v("li",hB,[M(w(cp),{optionName:"liveTraf_displayExpandedRecords",title:w(c)("Expand All Results"),enabledValue:!0,disabledValue:!1,value:w(y).$options.liveTraf_displayExpandedRecords,onChange:Le},null,8,["title","value"])])]),M(w(Hc),null,{default:s(()=>[W.value?(a(),r("div",mB,[v("div",gB,[v("div",null,[(a(!0),r(m,null,g(z,(e,t)=>(a(),r("div",{key:e.id},[v("div",wB,[v("div",vB,[v("div",null,[_(v("select",{class:"wf-lt-advanced-filters-param","onUpdate:modelValue":e=>z[t].param=e},[v("option",yB,b(w(c)("Filter...")),1),(a(!0),r(m,null,g(K,e=>(a(),r("option",{key:e.param,value:e.param},b(e.label),9,kB))),128))],8,bB),[[Y,z[t].param]])]),J(e.param)?(a(),r(m,{key:0},["bool"!==J(e.param).type?(a(),r("div",_B,[_(v("select",{class:"wf-lt-advanced-filters-operator","onUpdate:modelValue":e=>z[t].operator=e},[(a(!0),r(m,null,g(te(z[t]),e=>(a(),r("option",{key:e.value,value:e.value},b(e.label),9,SB))),128))],8,xB),[[Y,z[t].operator]])])):i("",!0),v("div",TB,["enum"===J(e.param).type?_((a(),r("select",{key:0,"onUpdate:modelValue":e=>z[t].value=e},[(a(!0),r(m,null,g(ee(e.param),e=>(a(),r("option",{key:e.value,value:e.value},b(e.label),9,MB))),128))],8,CB)),[[Y,z[t].value]]):"text"===J(e.param).type?_((a(),r("input",{key:1,type:"text","onUpdate:modelValue":e=>z[t].value=e},null,8,LB)),[[V,z[t].value]]):"bool"===J(e.param).type?(a(),r("ul",AB,[v("li",DB,[v("ul",null,[v("li",PB,[_((a(),r("ul",OB,[_((a(),r("li",{class:k({"wf-active":z[t].value,"wf-center":!0}),tabindex:"0",onClick:$(e=>z[t].value=!0,["stop","prevent"]),onKeydown:E($(e=>z[t].value=!0,["stop","prevent"]),["space"])},[x(b(w(c)("Yes")),1)],42,$B)),[[n,{role:"radio",checked:z[t].value}]]),_((a(),r("li",{class:k({"wf-active":!z[t].value,"wf-center":!0}),tabindex:"0",onClick:$(e=>z[t].value=!1,["stop","prevent"]),onKeydown:E($(e=>z[t].value=!1,["stop","prevent"]),["space"])},[x(b(w(c)("No")),1)],42,IB)),[[n,{role:"radio",checked:!z[t].value}]])])),[[n,{role:"radiogroup",label:J(z[t].param).label}]])])])])])):i("",!0)])],64)):i("",!0)]),v("div",null,[_((a(),r("a",{href:"#",onClick:$(e=>(e=>{z.splice(e,1)})(t),["stop","prevent"]),class:"wf-live-traffic-filter-remove"},[_(v("i",RB,null,512),[[n,{hidden:!0}]])],8,EB)),[[n,{role:"button",label:w(c)("Delete")}]])])])]))),128)),v("div",null,[v("div",NB,[v("button",{type:"button",class:"wf-btn wf-btn-default",onClick:$(le,["stop","prevent"])},b(w(c)("Add Filter")),1)]),re.value?(a(),r("div",BB,[v("strong",null,b(w(c)("NOTE"))+":",1),x(" "+b(w(c)("Live Traffic is currently configured to show only security-related traffic. Filtering to show allowed traffic may not have any results.")),1)])):i("",!0)])]),v("div",VB,[v("div",FB,[v("label",HB,b(w(c)("Date Range"))+": ",1),v("div",UB,[M(w(zP),{id:"wf-filter-date-range",modelValue:X.value,"onUpdate:modelValue":t[2]||(t[2]=e=>X.value=e),timeConfig:{enableTimePicker:!0,timePickerInline:!0},teleport:!0,"auto-apply":!0,range:!0,"multi-calendars":!0},null,8,["modelValue"])])]),v("div",qB,[v("label",jB,b(w(c)("Group By"))+": ",1),v("div",WB,[_(v("select",{id:"wf-live-traffic-group-by",class:"wf-lt-advanced-filters-groupby","onUpdate:modelValue":t[3]||(t[3]=e=>Z.value=e)},[(a(!0),r(m,null,g(Q,e=>(a(),r("option",{key:e.param,value:e.param},b(e.value),9,zB))),128))],512),[[Y,Z.value]])])])])]),_((a(),r("div",YB,[...t[11]||(t[11]=[v("div",{id:"wf-live-traffic-filtering-bar-pill"},null,-1)])])),[[o,ce.value]])])):i("",!0)]),_:1})])]),v("div",GB,[v("div",KB,["none"!==Z.value?(a(),r("div",ZB,[v("ul",QB,[(a(!0),r(m,null,g(w(y).livetraffic.entries,(e,t)=>(a(),l(w(gN),{entry:Ae(e),entryIndex:t,groupBy:Z.value,key:e.id},null,8,["entry","entryIndex","groupBy"]))),128))])])):(a(),r("div",XB,[v("table",JB,[v("thead",null,[v("tr",null,[v("th",null,b(w(c)("Type")),1),v("th",null,b(w(c)("Location")),1),v("th",null,b(w(c)("Page Visited")),1),v("th",null,b(w(c)("Time")),1),v("th",null,b(w(c)("IP Address")),1),v("th",null,b(w(c)("Hostname")),1),v("th",null,b(w(c)("Response")),1),v("th",null,b(w(c)("View")),1)])]),v("tbody",eV,[(a(!0),r(m,null,g(w(y).livetraffic.entries,(e,t)=>(a(),l(w(gN),{entry:e,entryIndex:t,groupBy:Z.value,highlighted:w(y).livetraffic.recent.includes(e.id),key:e.id},null,8,["entry","entryIndex","groupBy","highlighted"]))),128))])])])),0===w(y).livetraffic.entries.length?(a(),r("div",tV,b(w(c)("No requests to report yet.")),1)):(a(),r("div",{key:3,ref_key:"paginationSentinel",ref:pe,"aria-hidden":"true",style:{height:"1px"}},null,512))])])])])])])])])],2),M(w(kx),{showDrawer:!!F.value,onCloseDrawer:Pe,id:"wf-live-traffic-drawer"},{default:s(()=>[v("div",nV,[M(w(ER),{entry:F.value},null,8,["entry"])]),v("div",aV,[!1!==H.value?(a(),l(w(bN),{key:0,whoisResponse:H.value},null,8,["whoisResponse"])):!1!==U.value?(a(),l(w(IN),{key:1,recentTrafficResponse:U.value},null,8,["recentTrafficResponse"])):i("",!0)])]),_:1},8,["showDrawer"])],64)}}},oV={__name:"NewTour1",setup(e){const t=u("__");return(e,n)=>(a(),r("p",null,b(w(t)("Live traffic defaults to a summary view of all security-related traffic. Details are viewable by clicking anywhere within the summary record. To switch to the expanded view, click the Expand All Records switch.")),1))}},sV={__name:"LiveTrafficNewTour",setup(e){const n=u("__"),o=u("wfconstants"),s=t(!1),r=t(0);S("tourName",o.tour.types.livetraffic),T(()=>{o.tour.new.livetraffic&&(s.value=!0)});const i=[{title:n("Live Traffic"),content:oV,anchor:{selector:"#wf-live-traffic",pointer:{edge:"bottom",align:"bottom"}}}],c=()=>{o.tour.new.livetraffic=!1,s.value=!1};return(e,t)=>(a(),l(C,{to:"#wpwrap"},[M(w(bi),{show:s.value},null,8,["show"]),M(w(Pi),{show:s.value,selectedIndex:r.value,slides:i,onCloseTour:c},null,8,["show","selectedIndex"])]))}},rV=["href"],iV={__name:"NewTour1",setup(e){const t=u("__"),n=u("wfconstants");return(e,l)=>(a(),r(m,null,[v("p",null,b(w(t)("We are excited to announce the release of a completely rebuilt two-factor authentication (2FA) feature within Wordfence. 2FA is an important layer of security that protects you from password guessing and credential stuffing attacks. Previously a Premium-only feature, it is now available for sites running the free version of Wordfence. You are now able to enable 2FA for any role, we’ve added a number of important security features, and we’ve significantly improved the admin interface.")),1),v("p",null,[v("a",{href:w(n).support.url.module_login_security_2fa,target:"_blank",rel:"noopener noreferrer"},[x(b(w(t)("Learn More")),1),M(w(Bi))],8,rV)])],64))}},uV={__name:"NewTour2",setup(e){const t=u("__");return(e,n)=>(a(),r("div",null,[v("p",null,b(w(t)("Two-factor authentication now has its own IP allowlist. If necessary, you can allow specific IP addresses or ranges to skip 2FA when logging in.")),1)]))}},cV=["href"],dV={__name:"NewTour3",setup(e){const t=u("__"),n=u("wfconstants");return(e,l)=>(a(),r("div",null,[v("p",null,b(w(t)("Wordfence now includes the option to enable Google reCaptcha v3 on your WordPress login and registration pages. This adds a powerful new layer of protection against password guessing and credential stuffing attacks from bots without slowing down real users.")),1),v("p",null,[v("a",{href:w(n).support.url.module_login_security_captcha,target:"_blank",rel:"noopener noreferrer"},[x(b(w(t)("Learn More")),1),M(w(Bi))],8,cV)])]))}},pV={__name:"LoginSecurityNewTour",setup(e){const n=u("__"),o=u("$"),s=u("wfconstants"),r=t(!1),i=t(0);S("tourName",s.tour.types.loginsecurity),T(()=>{o("#settings").hasClass("wfls-active")?d("settings"):o(window).on("wfls-tab-change",c)}),D(()=>{o(window).off("wfls-tab-change",c)});const c=(e,t)=>{d(t)},d=e=>{"settings"===e&&s.tour.new.loginsecurity&&(s.tour.new.loginsecurity=!1,r.value=!0)},p=[{title:n("Introducing the New Wordfence 2FA"),content:iV,anchor:{selector:"#wfls-tab-manage",pointer:{edge:"top",align:"left"}}},{title:n("Individual Allowlisting"),content:uV,anchor:{selector:"#wfls-option-whitelisted",pointer:{edge:"bottom",align:"right"}}},{title:n("New Login Page Captcha Feature"),content:dV,anchor:{selector:"#wfls-option-enable-auth-captcha",pointer:{edge:"bottom",align:"left"}}}],f=()=>{s.tour.new.loginsecurity=!1,r.value=!1};return(e,t)=>(a(),l(C,{to:"#wpwrap"},[M(w(bi),{show:r.value},null,8,["show"]),M(w(Pi),{show:r.value,selectedIndex:i.value,slides:p,onCloseTour:f},null,8,["show","selectedIndex"])]))}},fV={class:"wf-onboarding-registration-prompt"},hV={key:0,class:"wf-onboarding-install-new wf-onboarding-install-type"},mV=["href"],gV=["data-attempt","data-option-value-emails","data-option-value-license"],wV={class:"wf-onboarding-form-group"},vV={for:"wf-onboarding-email-input"},bV=["title"],yV={class:"wf-onboarding-form-group"},kV={for:"wf-onboarding-license-input"},_V={key:0,class:"wf-onboarding-form-group wf-onboarding-consent-group"},xV={id:"wf-onboarding-subscription-options-label"},SV={class:"wf-onboarding-subscription-options"},TV={class:"wf-switch"},CV={key:0,class:"wf-onboarding-subscription-option-required"},MV=["disabled"],LV={key:0},AV=["href"],DV={__name:"RegistrationPrompt",props:{attempt:{type:Number,default:1},existing:{type:Boolean,default:!1},processing:{type:Boolean,default:!1},email:{type:[String,null],default:null},license:{type:[String,null],default:null}},emits:"installLicense",setup(e,{emit:l}){const c=u("__"),d=u("wfconstants"),{$hasHash:p}=li(),f=l,g=e,y=t(!1),S=t(""),C=t(""),L=t("none"),A=t(!1);T(()=>{S.value=g.email??"",C.value=g.license??"",p("installExisting")?(y.value=!0,history.replaceState("",document.title,window.location.pathname+window.location.search)):y.value=g.existing});const D=n(()=>g.existing&&g.email&&g.license),P=e=>{L.value=e,A.value=!1},O=()=>{let e={email:S.value,license:C.value};if(!D.value){if("none"===L.value)return void(A.value=!0);e.subscription=L.value}f("installLicense",e)};return(t,n)=>{const l=h("aria");return a(),r("div",fV,[v("p",null,[y.value?(a(),r(m,{key:0},[x(b(w(c)("Install your license to finish activating Wordfence.")),1)],64)):(a(),r(m,{key:1},[x(b(w(c)("Register with Wordfence to secure your site with the latest threat intelligence.")),1)],64))]),y.value?i("",!0):(a(),r("div",hV,[v("div",null,[v("a",{class:"wf-btn wf-btn-primary wf-onboarding-register",href:w(d).plugin.onboarding.registration_link,target:"_blank"},b(w(c)("Get Your Wordfence License")),9,mV)]),v("div",null,[v("a",{class:"wf-onboarding-install-type-toggle",href:"#",onClick:n[0]||(n[0]=$(e=>y.value=!0,["stop","prevent"]))},b(w(c)("Install an existing license")),1)])])),y.value?(a(),r("div",{key:1,class:"wf-onboarding-install-existing wf-onboarding-install-type","data-attempt":e.attempt,"data-option-value-emails":w(d).plugin.onboarding.stages.emails,"data-option-value-license":w(d).plugin.onboarding.stages.license},[v("form",{class:"wf-onboarding-form",onSubmit:$(O,["prevent"])},[v("div",wV,[v("label",vV,b(w(c)("Email")),1),_(v("input",{id:"wf-onboarding-email-input",type:"email","onUpdate:modelValue":n[1]||(n[1]=e=>S.value=e),pattern:"^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",title:w(c)("Please enter a valid email address"),required:""},null,8,bV),[[V,S.value]]),v("small",null,b(w(c)("This is where future security alerts for your website will be sent. This can also be changed in Global Options.")),1)]),v("div",yV,[v("label",kV,b(w(c)("License Key"))+" — "+b(w(c)("each Wordfence installation should have a unique key")),1),_(v("textarea",{id:"wf-onboarding-license-input",rows:"3","onUpdate:modelValue":n[2]||(n[2]=e=>C.value=e),required:""},null,512),[[V,C.value]])]),D.value?i("",!0):(a(),r("div",_V,[v("label",xV,b(w(c)("Would you like WordPress security and vulnerability alerts sent to you via email?")),1),_((a(),r("div",SV,[v("ul",TV,[_((a(),r("li",{class:k({"wf-active":!0===L.value}),"data-value":!0,tabindex:"0",onClick:n[3]||(n[3]=$(e=>P(!0),["stop","prevent"]))},[x(b(w(c)("Yes")),1)],2)),[[l,{role:"radio",checked:!0===L.value}]]),_((a(),r("li",{class:k({"wf-active":!1===L.value}),"data-value":!1,tabindex:"0",onClick:n[4]||(n[4]=$(e=>P(!1),["stop","prevent"]))},[x(b(w(c)("No")),1)],2)),[[l,{role:"radio",checked:!1===L.value}]])]),M(o,{name:"wf-fade"},{default:s(()=>[A.value?(a(),r("small",CV,b(w(c)('You must select either "Yes" or "No"')),1)):i("",!0)]),_:1})])),[[l,{role:"radiogroup",labelledby:"wf-onboarding-subscription-options-label"}]])])),v("button",{class:"wf-btn wf-btn-primary wf-onboarding-install-license",type:"submit",disabled:e.processing||!S.value||!C.value,onClick:$(O,["stop","prevent"])},b(w(c)("Install License")),9,MV)],32),D.value?i("",!0):(a(),r("div",LV,[v("a",{class:"wf-onboarding-link",href:w(d).plugin.onboarding.registration_link,target:"_blank"},b(w(c)("Get a new license")),9,AV)]))],8,gV)):i("",!0)])}}},PV={class:"wf-padding-add-left-small wf-modal-header-action-close"},OV=["href"],$V={class:"wf-fa wf-fa-times-circle"},IV={key:0,id:"wf-onboarding-final-attempt-1",class:"wf-onboarding-modal-content"},EV={key:1,id:"wf-onboarding-final-attempt-2",class:"wf-onboarding-modal-content"},RV={id:"wf-onboarding-license"},NV=["placeholder"],BV={id:"wf-onboarding-or"},VV={id:"wf-onboarding-premium-cta"},FV={id:"wf-onboarding-license-footer"},HV={href:"https://www.wordfence.com/gnl1onboardingFinalGet/wordfence-signup/#premium-order-form",class:"wf-onboarding-btn wf-onboarding-btn-primary",id:"wf-onboarding-get",target:"_blank",rel:"noopener noreferrer"},UV={href:"https://www.wordfence.com/gnl1onboardingFinalLearn/wordfence-signup/",class:"wf-onboarding-btn wf-onboarding-btn-default",id:"wf-onboarding-learn",target:"_blank",rel:"noopener noreferrer"},qV="final-onboarding-modal",jV={__name:"FinalOnboardingModal",props:{show:{type:Boolean,default:!1}},setup(e){const n=u("$"),c=u("__"),d=u("$mitt"),p=u("wfconstants"),{$ajax:g,$ajaxErrorMessage:y}=yi(),{$modal:T}=Ii(),{$setOption:C}=Ei();S("modalName",qV);const L=e,A=t(""),D=t(!1),P=t(!1),O=(e,t,n)=>{const a=(t,n,a)=>g("wordfence_installLicense",{license:e,status_change:t},n,a);a(!1,e=>{e.success?a(!0,()=>{"function"==typeof t&&t(e)},n):"function"==typeof n&&n(e)},n)},I=t(!1);f(()=>L.show,e=>{e&&(A.value="",D.value=!1,P.value=!1,I.value=!1)});const E=e=>{D.value=!1,P.value=!1,I.value=!0,O(e.license,t=>{C("onboardingAttempt3",p.plugin.onboarding.stages.license,n=>{((e,n)=>{let a=1+(n?1:0),l=!1,o=!1;const s=e=>{o||(0===--a||l)&&(o=!0,(e=>{if(!e)return d.emit("closeModal",qV),T("onboarding-license-failure-modal"),void(I.value=!1);let n=t.isPaid?p.license.types.premium:p.license.types.free;!t.isPaid||t.type!==p.license.types.care&&t.type!==p.license.types.response||(n=t.type),d.emit("closeModal",qV),T("onboarding-license-type-success-modal",{licenseType:n,showInUse:t.inUse}),I.value=!1})(!l,e.error))},r=()=>{l=!0,s({})};C("alertEmails",e.join(", "),s,r),n&&g("wordfence_mailingSignup",{emails:JSON.stringify(e)},s,r)})([e.email],e.subscription)},()=>{d.emit("closeModal",qV),T("onboarding-license-failure-modal"),I.value=!1})},e=>{d.emit("closeModal",qV),T("onboarding-license-failure-modal"),I.value=!1})},R=()=>{A.value&&(D.value=!1,P.value=!1,O(A.value,e=>{e.isPaid?(C("onboardingAttempt3",p.plugin.onboarding.stages.license),n("#wf-onboarding-banner").slideUp(),d.emit("closeModal",qV),T("onboarding-license-type-success-modal",{licenseType:p.license.types.premium})):D.value="free"},e=>{P.value=y(e,!1)??!0}))},N=()=>{p.plugin.onboarding.attempts[3]===p.plugin.onboarding.stages.emails&&(C("onboardingAttempt3",p.plugin.onboarding.stages.license),n("#wf-onboarding-banner").slideUp()),d.emit("closeModal",qV)};return(t,n)=>{const u=h("aria");return a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0,noX:!0,noFooter:!0,modalSize:"md"},{header:s(()=>[v("strong",null,b(w(c)("Please Complete Wordfence Installation")),1)]),headerAction:s(()=>[v("div",PV,[v("a",{href:w(p).plugin.url.dashboard,onClick:$(N,["stop","prevent"])},[_(v("i",$V,null,512),[[u,{hidden:!0}]])],8,OV)])]),body:s(()=>[w(p).plugin.onboarding.attempts[3]!==w(p).plugin.onboarding.stages.emails?(a(),r("div",IV,[M(w(DV),{attempt:3,processing:I.value,onInstallLicense:E},null,8,["processing"])])):(a(),r("div",EV,[v("h3",null,b(w(c)("Activate Premium")),1),v("p",null,b(w(c)("Enter your premium license key to enable real-time protection for your website.")),1),M(o,{name:"wf-fade"},{default:s(()=>[!1!==D.value||!1!==P.value?(a(),r("div",{key:0,id:"wf-onboarding-license-status",class:k({"wf-green-dark":"premium"===D.value,"wf-yellow-dark":"free"===D.value,"wf-red-dark":!1!==P.value})},["free"===D.value?(a(),r(m,{key:0},[x(b(w(c)("You have successfully installed a free license.")),1)],64)):!0===P.value?(a(),r(m,{key:1},[x(b(w(c)("An unknown error occurred.")),1)],64)):P.value?(a(),r(m,{key:2},[x(b(P.value),1)],64)):i("",!0)],2)):i("",!0)]),_:1}),v("div",RV,[_(v("input",{type:"text",placeholder:w(c)("Enter Premium Key"),"onUpdate:modelValue":n[0]||(n[0]=e=>A.value=e)},null,8,NV),[[V,A.value]]),_((a(),r("a",{href:"#",class:k(["wf-onboarding-btn wf-onboarding-btn-primary",{"wf-disabled":!A.value}]),id:"wf-onboarding-license-install",onClick:$(R,["stop","prevent"])},[x(b(w(c)("Install")),1)],2)),[[u,{role:"button",disabled:!A.value}]])]),v("div",BV,[v("span",null,b(w(c)("or")),1)]),v("p",VV,b(w(c)("If you don't have one, you can purchase one now.")),1),v("div",FV,[v("ul",null,[v("li",null,[v("a",HV,[x(b(w(c)("Upgrade to Premium")),1),M(w(Bi))])]),v("li",null,[v("a",UV,[x(b(w(c)("Learn More")),1),M(w(Bi))])]),v("li",null,[_((a(),r("a",{href:"#",id:"wf-onboarding-no-thanks",onClick:$(N,["stop","prevent"])},[x(b(w(c)("No Thanks")),1)])),[[u,{role:"button"}]])])])])]))]),_:1})):i("",!0)]),_:1})}}},WV={__name:"OnboardingModals",props:{allowOnboardingAutoOpen:{type:Boolean,default:!0}},setup(t){const l=u("$mitt"),o=u("wfconstants"),{$hasOwn:s}=ai(),i=t,c=e({"final-onboarding-modal":{show:!1,configurator:e=>{}}}),d=n(()=>Object.values(c).some(e=>e.show));T(()=>{l.on("showModal",p),l.on("closeModal",f),i.allowOnboardingAutoOpen&&o.plugin.onboarding.should_show[3]&&P(()=>{l.emit("showModal",{name:"final-onboarding-modal"})})}),D(()=>{l.off("showModal",p),l.off("closeModal",f)});const p=e=>{for(const t of Object.keys(c))t!==e.name&&c[t].show&&(c[t].show=!1);s(c,e.name)&&(c[e.name].configurator(e),c[e.name].show=!0)},f=e=>{s(c,e)&&(c[e].show=!1)};return(e,t)=>(a(),r("div",null,[M(w(Of),{show:d.value},null,8,["show"]),M(w(jV),{show:c["final-onboarding-modal"].show},null,8,["show"])]))}},zV={class:"wf-row"},YV={class:"wf-col-xs-12"},GV={class:"wf-block-list"},KV={key:0},ZV={__name:"OptionsGroupAuditLog",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0},showControls:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},tabIndex:{type:Number,default:0},hideShowMenuItem:{type:Boolean,default:!1}},setup(e){const t=u("__"),n=u("wfconstants"),o=u("$dataStore"),{$updatePendingValue:c}=Ei();return(u,d)=>(a(),l(w(Vv),{stateKey:e.stateKey,collapseable:e.collapseable,disabled:e.disabled,tabIndex:e.tabIndex},{title:s(()=>[x(b(w(t)("Audit Log Options")),1)]),default:s(()=>[e.showControls?(a(),r(m,{key:0},[v("p",null,[M(w(Jg),{allowedTags:["b","strong"],unsafeHTML:w(t)('These options let you choose which site events to record in the audit log. When enabled and your site is connected to Wordfence Central, these events are automatically sent to Central to prevent any tampering by an attacker. When Audit Log logging mode is set to "Significant Events", all events except content changes will be recorded. "All Events" will include content-related events and may be used to monitor for unauthorized post or page changes. "Preview" and "Disabled" modes do not send any events to Central.')},null,8,["unsafeHTML"])]),v("div",zV,[v("div",YV,[M(w(uR),{suppressLogo:!0,section:w(n).options.section.auditlog,sectionTitle:w(t)("Audit Log")},null,8,["section","sectionTitle"])])])],64)):i("",!0),v("ul",GV,[v("li",null,[M(w(h$),{optionName:"auditLogMode",value:w(o).$options.auditLogMode,title:w(t)("Audit Log logging mode"),states:[{value:w(n).auditlog.modes.disabled,label:w(t)("Disabled")},{value:w(n).auditlog.modes.preview,label:w(t)("Preview"),disabled:w(n).auditlog.wpTooOld},{value:w(n).auditlog.modes.significant,label:w(t)("Significant Events"),xs:w(t)("Significant"),disabled:w(n).auditlog.wpTooOld},{value:w(n).auditlog.modes.all,label:w(t)("All Events"),xs:w(t)("All"),disabled:w(n).auditlog.wpTooOld}],helpLink:w(n).support.url.tools_audit_log_option_enable,alignment:"right",noSpacer:!0,onChange:d[0]||(d[0]=e=>w(c)("auditLogMode",e.new,w(o).$options.auditLogMode))},null,8,["value","title","states","helpLink"])]),e.hideShowMenuItem?i("",!0):(a(),r("li",KV,[M(w(mb),{optionName:"displayTopLevelAuditLog",value:w(o).$options.displayTopLevelAuditLog,enabledValue:!0,disabledValue:!1,title:w(t)("Display Audit Log menu option"),onChange:d[1]||(d[1]=e=>w(c)("displayTopLevelAuditLog",e.new,w(o).$options.displayTopLevelAuditLog))},null,8,["value","title"])]))])]),_:1},8,["stateKey","collapseable","disabled","tabIndex"]))}},QV={key:0,class:"wf-block-list"},XV={class:"wf-option wf-option-bypass-redirect"},JV={class:"wf-option-content"},eF={class:"wf-option-title"},tF=["href"],nF={class:"wf-fa wf-fa-question-circle-o"},aF={class:"wf-option-fields"},lF={class:"wf-full-width"},oF={class:"wf-right wf-padding-add-right"},sF={id:"wf-option-cbl-bypassRedirURL",class:"wf-option-text"},rF=["placeholder"],iF={class:"wf-right wf-padding-add-right wf-padding-add-top-small"},uF={id:"wf-option-cbl-bypassRedirDest",class:"wf-option-text wf-padding-add-top-small"},cF=["placeholder"],dF={class:"wf-padding-add-top-small"},pF={id:"wf-option-cbl-bypassViewURL",class:"wf-option wf-option-bypass-cookie"},fF={class:"wf-option-content"},hF={class:"wf-option-title"},mF=["href"],gF={class:"wf-fa wf-fa-question-circle-o"},wF={class:"wf-option-fields"},vF={class:"wf-full-width"},bF={class:"wf-right wf-padding-add-right"},yF={class:"wf-option-text"},kF=["placeholder"],_F={colspan:"2",class:"wf-right wf-padding-add-top-small"},xF={key:1,class:"wf-flex-vertical wf-padding-add-right-large wf-padding-add-bottom-large"},SF={class:"wf-no-top"},TF={class:"wf-btn wf-btn-primary wf-btn-callout-subtle",href:"https://www.wordfence.com/gnl1countryBlockUpgrade/wordfence-signup/",target:"_blank",rel:"noopener noreferrer"},CF={__name:"OptionsGroupCountryAdvanced",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),n=u("$mitt"),o=u("wfconstants"),i=u("$dataStore"),{$isPaid:d}=Fc(),{$updatePendingValue:p}=Ei(),m=e,{stateKey:g,collapseable:y}=c(m);T(()=>{n.on("resetOptionControls",k)}),D(()=>{n.off("resetOptionControls",k)});const k=()=>{},{$pendingValue:S}=Kd("cbl_bypassRedirURL",i.$options.cbl_bypassRedirURL);f(S,e=>{p("cbl_bypassRedirURL",e,i.$options.cbl_bypassRedirURL)},{deep:!0});const{$pendingValue:C}=Kd("cbl_bypassRedirDest",i.$options.cbl_bypassRedirDest);f(C,e=>{p("cbl_bypassRedirDest",e,i.$options.cbl_bypassRedirDest)},{deep:!0});const{$pendingValue:L}=Kd("cbl_bypassViewURL",i.$options.cbl_bypassViewURL);return f(L,e=>{p("cbl_bypassViewURL",e,i.$options.cbl_bypassViewURL)},{deep:!0}),Zd({cbl_bypassRedirURL:"wf-option-cbl-bypassRedirURL",cbl_bypassRedirDest:"wf-option-cbl-bypassRedirDest",cbl_bypassViewURL:"wf-option-cbl-bypassViewURL"},g),(e,n)=>{const u=h("aria");return a(),l(w(Vv),{stateKey:w(g),collapseable:w(y)},{title:s(()=>[x(b(w(t)("Advanced Country Blocking Options")),1)]),default:s(()=>[w(d)?(a(),r("ul",QV,[v("li",null,[M(w(T$),{optionName:"cbl_action",value:w(i).$options.cbl_action,title:w(t)("What to do when we block someone"),helpLink:w(o).support.url.firewall_blocking_option_what_to_do,onChange:n[0]||(n[0]=e=>w(p)("cbl_action",e.new,w(i).$options.cbl_action)),selectOptions:[{value:"block",label:w(t)("Show the standard Wordfence blocked message")},{value:"redir",label:w(t)("Redirect to the URL below")}]},null,8,["value","title","helpLink","selectOptions"])]),v("li",null,[M(w(Eb),{optionName:"cbl_redirURL",value:w(i).$options.cbl_redirURL,title:w(t)("URL to redirect blocked users to"),placeholder:w(t)("Enter a full URL (e.g., http://example.com/blocked/)"),helpLink:w(o).support.url.firewall_blocking_option_redirect,onChange:n[1]||(n[1]=e=>w(p)("cbl_redirURL",e.new,w(i).$options.cbl_redirURL))},null,8,["value","title","placeholder","helpLink"])]),v("li",null,[M(w(mb),{optionName:"cbl_loggedInBlocked",value:w(i).$options.cbl_loggedInBlocked,enabledValue:!0,disabledValue:!1,title:w(t)("Block countries even if they are logged in"),helpLink:w(o).support.url.firewall_blocking_option_block_logged_in,onChange:n[2]||(n[2]=e=>w(p)("cbl_loggedInBlocked",e.new,w(i).$options.cbl_loggedInBlocked))},null,8,["value","title","helpLink"])]),v("li",null,[v("ul",XV,[n[7]||(n[7]=v("li",{class:"wf-option-spacer"},null,-1)),v("li",JV,[v("ul",null,[v("li",eF,[x(b(w(t)("Bypass Redirect"))+" ",1),v("a",{href:w(o).support.url.firewall_blocking_bypass_redirect,target:"_blank",rel:"noopener noreferrer",class:"wf-inline-help"},[_(v("i",nF,null,512),[[u,{hidden:!0}]]),M(w(Bi))],8,tF)]),v("li",aF,[v("table",lF,[v("tr",null,[v("td",oF,b(w(t)("If user hits the relative URL")),1),v("td",sF,[_(v("input",{id:"wf-bypass-redir-url",type:"text","onUpdate:modelValue":n[3]||(n[3]=e=>W(S)?S.value=e:null),placeholder:w(t)("/bypassurl/")},null,8,rF),[[V,w(S)]])])]),v("tr",null,[v("td",iF,b(w(t)("then redirect that user to")),1),v("td",uF,[_(v("input",{id:"wf-bypass-redir-dest",type:"text","onUpdate:modelValue":n[4]||(n[4]=e=>W(C)?C.value=e:null),placeholder:w(t)("/page-name/")},null,8,cF),[[V,w(C)]])])]),v("tr",null,[n[6]||(n[6]=v("td",null,null,-1)),v("td",dF,b(w(t)("and set a cookie that will bypass all country blocking.")),1)])])])])])])]),v("li",null,[v("ul",pF,[n[8]||(n[8]=v("li",{class:"wf-option-spacer"},null,-1)),v("li",fF,[v("ul",null,[v("li",hF,[x(b(w(t)("Bypass Cookie"))+" ",1),v("a",{href:w(o).support.url.firewall_blocking_bypass_cookie,target:"_blank",rel:"noopener noreferrer",class:"wf-inline-help"},[_(v("i",gF,null,512),[[u,{hidden:!0}]]),M(w(Bi))],8,mF)]),v("li",wF,[v("table",vF,[v("tr",null,[v("td",bF,b(w(t)("If user who is allowed to access the site views the relative URL")),1),v("td",yF,[_(v("input",{id:"wf-bypass-view-url",type:"text","onUpdate:modelValue":n[5]||(n[5]=e=>W(L)?L.value=e:null),placeholder:w(t)("/set-country-bypass/")},null,8,kF),[[V,w(L)]])])]),v("tr",null,[v("td",_F,b(w(t)("then set a cookie that will bypass country blocking in the future in case that user hits the site from a blocked country.")),1)])])])])])])])])):(a(),r("ul",xF,[v("li",null,[v("h3",null,b(w(t)("Put Geographic Protection In Place With Country Blocking")),1)]),v("li",null,[v("p",SF,b(w(t)("Wordfence country blocking is designed to stop an attack, prevent content theft, or end malicious activity that originates from a geographic region in less than 1/300,000th of a second. Blocking countries who are regularly creating failed logins, a large number of page not found errors, and are clearly engaged in malicious activity is an effective way to protect your site during an attack.")),1)]),v("li",null,[M(w(Bc))]),v("li",null,[v("a",TF,[x(b(w(t)("Upgrade to Premium")),1),M(w(Bi))])])]))]),_:1},8,["stateKey","collapseable"])}}},MF={class:"wf-block-list"},LF={__name:"OptionsGroupDiagnostics",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),n=u("$mitt"),o=u("wfconstants"),r=u("$dataStore"),{$updatePendingValue:i}=Ei(),d=e,{stateKey:p,collapseable:f}=c(d);T(()=>{n.on("resetOptionControls",h)}),D(()=>{n.off("resetOptionControls",h)});const h=()=>{};return(e,n)=>(a(),l(w(Vv),{stateKey:w(p),collapseable:w(f)},{title:s(()=>[x(b(w(t)("Debugging Options")),1)]),default:s(()=>[v("ul",MF,[v("li",null,[M(w(mb),{optionName:"debugOn",value:w(r).$options.debugOn,enabledValue:!0,disabledValue:!1,title:w(t)("Enable debugging mode (increases database load)"),helpLink:w(o).support.url.diagnostics_option_debugging_mode,onChange:n[0]||(n[0]=e=>w(i)("debugOn",e.new,w(r).$options.debugOn))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"startScansRemotely",value:w(r).$options.startScansRemotely,enabledValue:!0,disabledValue:!1,title:w(t)("Start all scans remotely (Try this if your scans aren't starting and your site is publicly accessible)"),helpLink:w(o).support.url.diagnostics_option_remote_scans,onChange:n[1]||(n[1]=e=>w(i)("startScansRemotely",e.new,w(r).$options.startScansRemotely))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"ssl_verify",value:w(r).$options.ssl_verify,enabledValue:!0,disabledValue:!1,title:w(t)("Enable SSL Verification (Disable this if you are consistently unable to connect to the Wordfence servers.)"),helpLink:w(o).support.url.diagnostics_option_ssl_verification,onChange:n[2]||(n[2]=e=>w(i)("ssl_verify",e.new,w(r).$options.ssl_verify))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"avoid_php_input",value:w(r).$options.avoid_php_input,enabledValue:!0,disabledValue:!1,title:w(t)("Disable reading of php://input"),helpLink:w(o).support.url.diagnostics_option_disable_php_input,onChange:n[3]||(n[3]=e=>w(i)("avoid_php_input",e.new,w(r).$options.avoid_php_input))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"wordfenceI18n",value:w(r).$options.wordfenceI18n,enabledValue:!0,disabledValue:!1,title:w(t)("Enable Wordfence translations"),helpLink:w(o).support.url.diagnostics_option_wordfence_translations,onChange:n[4]||(n[4]=e=>w(i)("wordfenceI18n",e.new,w(r).$options.wordfenceI18n))},null,8,["value","title","helpLink"])]),v("li",null,[v("p",null,[M(w(X_),{section:w(o).options.section.diagnostics,sectionTitle:w(t)("Diagnostics")},null,8,["section","sectionTitle"])])])])]),_:1},8,["stateKey","collapseable"]))}},AF={class:"wf-block-list"},DF={__name:"OptionsGroupGeneralBlocking",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),n=u("$mitt"),o=u("$dataStore"),{$updatePendingValue:r}=Ei(),i=e,{stateKey:d,collapseable:p}=c(i);T(()=>{n.on("resetOptionControls",f)}),D(()=>{n.off("resetOptionControls",f)});const f=()=>{};return(e,n)=>(a(),l(w(Vv),{stateKey:w(d),collapseable:w(p)},{title:s(()=>[x(b(w(t)("General")),1)]),default:s(()=>[v("ul",AF,[v("li",null,[M(w(mb),{optionName:"displayTopLevelBlocking",value:w(o).$options.displayTopLevelBlocking,enabledValue:!0,disabledValue:!1,title:w(t)("Display Blocking menu option"),onChange:n[0]||(n[0]=e=>w(r)("displayTopLevelBlocking",e.new,w(o).$options.displayTopLevelBlocking))},null,8,["value","title"])])])]),_:1},8,["stateKey","collapseable"]))}},PF={class:"wf-block-list"},OF={id:"wf-option-exportOptions",class:"wf-flex-horizontal wf-flex-vertical-xs wf-flex-full-width wf-add-top wf-add-bottom"},$F=["href"],IF={class:"wf-fa wf-fa-question-circle-o"},EF={class:"wf-right wf-left-xs wf-padding-add-top-xs-small"},RF={id:"wf-option-importOptions",class:"wf-flex-vertical wf-flex-full-width wf-add-bottom"},NF={class:"wf-option wf-option-text"},BF={class:"wf-option-content"},VF={class:"wf-option-title"},FF=["href"],HF={class:"wf-fa wf-fa-question-circle-o"},UF={class:"wf-option-text wf-option-full-width wf-no-right"},qF={class:"wf-flex-horizontal wf-flex-full-width"},jF={class:"wf-right wf-left-xs",id:"wf-license-controls"},WF={__name:"OptionsGroupImport",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const o=u("__"),i=u("wfconstants"),{$ajax:d,$ajaxErrorMessage:p}=yi(),{$modal:f}=Ii(),m=e,{stateKey:g,collapseable:y}=c(m),S=t(""),T=n(()=>{let e=[];return e.push("wf-btn"),e.push("wf-btn-primary"),e.push("wf-btn-callout-subtle"),S.value||e.push("wf-disabled"),e}),C=()=>{d("wordfence_exportSettings",{},e=>{e.ok&&e.token&&f("options-export-success-modal",{token:e.token})},e=>{f("options-export-error-modal",{message:p(e)})})},L=()=>{S.value&&d("wordfence_importSettings",{token:S.value},e=>{e.ok&&f("options-import-success-modal")},e=>{f("options-import-error-modal",{message:p(e)})})};return Zd({exportOptions:"wf-option-exportOptions",importOptions:"wf-option-importOptions"},g),(e,t)=>{const n=h("aria");return a(),l(w(Vv),{stateKey:w(g),collapseable:w(y)},{title:s(()=>[x(b(w(o)("Import/Export Options")),1)]),default:s(()=>[v("ul",PF,[v("li",null,[v("ul",OF,[v("li",null,[x(b(w(o)("Export this site's Wordfence options for import on another site"))+" ",1),v("a",{href:w(i).support.url.dashboard_option_export,target:"_blank",rel:"noopener noreferrer",class:"wf-inline-help"},[_(v("i",IF,null,512),[[n,{hidden:!0}]]),M(w(Bi))],8,$F)]),v("li",EF,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-primary wf-btn-callout-subtle",id:"wf-export-options",onClick:$(C,["stop","prevent"])},[M(w(Ic),{text:w(o)("Export Wordfence Options"),xs:w(o)("Export Options")},null,8,["text","xs"])])),[[n,{role:"button"}]])])])]),v("li",null,[v("ul",RF,[v("li",null,[v("ul",NF,[v("li",BF,[v("ul",null,[v("li",VF,[x(b(w(o)("Import Wordfence options from another site using a token"))+" ",1),v("a",{href:w(i).support.url.dashboard_option_import,target:"_blank",rel:"noopener noreferrer",class:"wf-inline-help"},[_(v("i",HF,null,512),[[n,{hidden:!0}]]),M(w(Bi))],8,FF)]),v("li",UF,[_(v("input",{type:"text",value:"",id:"wf-import-token","onUpdate:modelValue":t[0]||(t[0]=e=>S.value=e)},null,512),[[V,S.value]])])])])])]),v("li",null,[v("ul",qF,[v("li",jF,[_((a(),r("a",{href:"#",class:k(T.value),id:"wf-import-options",onClick:$(L,["stop","prevent"])},[M(w(Ic),{text:w(o)("Import Wordfence Options"),xs:w(o)("Import Options")},null,8,["text","xs"])],2)),[[n,{role:"button"}]])])])])])])])]),_:1},8,["stateKey","collapseable"])}}},zF={class:"wf-block-list"},YF={__name:"OptionsGroupScanAdvanced",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),o=u("$mitt"),r=u("wfconstants"),i=u("$dataStore"),{$updatePendingValue:d}=Ei(),p=e,{stateKey:f,collapseable:h}=c(p);T(()=>{o.on("resetOptionControls",m)}),D(()=>{o.off("resetOptionControls",m)});const m=()=>{},g=n(()=>{let e=[{value:0,label:t("0 (Disabled)")}];for(let t=1;t<=r.scanner.limit.max_resume_attempts;t++)e.push({value:t,label:`${t}`});return e});return(e,n)=>(a(),l(w(Vv),{stateKey:w(f),collapseable:w(h)},{title:s(()=>[x(b(w(t)("Advanced Scan Options")),1)]),default:s(()=>[v("ul",zF,[v("li",null,[M(w(Vk),{optionName:"scan_exclude",value:w(i).$options.scan_exclude,title:w(t)("Exclude files from scan that match these wildcard patterns (one per line)"),helpLink:w(r).support.url.scan_option_exclude_patterns,noSpacer:!0,onChange:n[0]||(n[0]=e=>w(d)("scan_exclude",e.new,w(i).$options.scan_exclude))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(Vk),{optionName:"scan_include_extra",value:w(i).$options.scan_include_extra,title:w(t)("Additional scan signatures (one per line)"),helpLink:w(r).support.url.scan_option_custom_malware_signatures,noSpacer:!0,onChange:n[1]||(n[1]=e=>w(d)("scan_include_extra",e.new,w(i).$options.scan_include_extra))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scan_force_ipv4_start",value:w(i).$options.scan_force_ipv4_start,enabledValue:!0,disabledValue:!1,title:w(t)("Use only IPv4 to start scans"),subtitle:w(t)("This option requires cURL. (This may have no effect on some old PHP or cURL versions.)"),helpLink:w(r).support.url.scan_option_use_only_ipv4,disabled:!w(r).plugin.server.curl.supported,onChange:n[2]||(n[2]=e=>w(d)("scan_force_ipv4_start",e.new,w(i).$options.scan_force_ipv4_start))},null,8,["value","title","subtitle","helpLink","disabled"])]),v("li",null,[M(w(T$),{optionName:"scan_max_resume_attempts",value:w(i).$options.scan_max_resume_attempts,title:w(t)("Maximum number of attempts to resume each scan stage"),helpLink:w(r).support.url.scan_option_max_resume_attempts,onChange:n[3]||(n[3]=e=>w(d)("scan_max_resume_attempts",e.new,w(i).$options.scan_max_resume_attempts)),selectOptions:g.value},null,8,["value","title","helpLink","selectOptions"])])])]),_:1},8,["stateKey","collapseable"]))}},GF={id:"wf-option-scanType",class:"wf-scan-type-controls"},KF={class:"wf-scan-type-selector wf-overflow-x-auto-xs"},ZF=["data-original-value"],QF=["data-option-value","data-selected-options"],XF={class:"wf-scan-type-option-name"},JF={class:"wf-option-checkbox",tabindex:"0"},eH={class:"wf-ion-ios-checkmark-empty"},tH={class:"wf-scan-type-option-description"},nH=["data-option-value","data-selected-options"],aH={class:"wf-scan-type-option-name"},lH={class:"wf-option-checkbox",tabindex:"0"},oH={class:"wf-ion-ios-checkmark-empty"},sH={class:"wf-scan-type-option-description"},rH=["data-option-value","data-selected-options"],iH={class:"wf-scan-type-option-name"},uH={class:"wf-option-checkbox",tabindex:"0"},cH={class:"wf-ion-ios-checkmark-empty"},dH={class:"wf-scan-type-option-description"},pH=["data-option-value"],fH={class:"wf-scan-type-option-name"},hH={class:"wf-scan-type-option-description"},mH={__name:"OptionsGroupScanBasic",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const n=u("__"),o=u("$mitt"),i=u("wfconstants"),d=u("$dataStore"),{$updatePendingValue:p}=Ei(),{$hasOwn:f}=ai(),m=e,{stateKey:g,collapseable:y}=c(m);T(()=>{o.on("resetOptionControls",S),o.on("pendingOptionChanged",C)}),D(()=>{o.off("resetOptionControls",S),o.off("pendingOptionChanged",C)});const S=()=>{},C=e=>{if(L.value)return;let t={};switch(M.value){case i.scanner.type.limited:t=i.scanner.type_preset_options.limited;break;case i.scanner.type.standard:t=i.scanner.type_preset_options.standard;break;case i.scanner.type.highsensitivity:t=i.scanner.type_preset_options.highsensitivity}f(t,e.name)&&p("scanType",i.scanner.type.custom,d.$options.scanType)},{$pendingValue:M}=Kd("scanType",d.$options.scanType),L=t(!1),A=e=>{L.value=!0,p("scanType",e,d.$options.scanType);let t={};switch(e){case i.scanner.type.limited:t=i.scanner.type_preset_options.limited;break;case i.scanner.type.standard:t=i.scanner.type_preset_options.standard;break;case i.scanner.type.highsensitivity:t=i.scanner.type_preset_options.highsensitivity}for(const n in t)p(n,t[n],d.$options[n]);P(()=>{L.value=!1})};return Zd({scanType:"wf-option-scanType"},g),(e,t)=>{const o=h("aria");return a(),l(w(Vv),{stateKey:w(g),collapseable:w(y)},{title:s(()=>[x(b(w(n)("Basic Scan Type Options")),1)]),default:s(()=>[v("ul",GF,[v("li",KF,[_((a(),r("ul",{class:"wf-scan-type","data-option-name":"scanType","data-original-value":w(d).$options.scanType},[v("li",null,[v("ul",{class:k(["wf-scan-type-option",{"wf-active":w(M)===w(i).scanner.type.limited}]),"data-option-value":w(i).scanner.type.limited,"data-selected-options":w(i).scanner.type_preset_options.limited,onClick:t[0]||(t[0]=$(e=>A(w(i).scanner.type.limited),["stop","prevent"])),onKeydown:t[1]||(t[1]=E($(e=>A(w(i).scanner.type.limited),["stop","prevent"]),["space"]))},[v("li",XF,[_((a(),r("div",JF,[_(v("i",eH,null,512),[[o,{hidden:!0}]])])),[[o,{role:"radio",checked:w(M)===w(i).scanner.type.limited}]]),v("span",null,b(w(n)("Limited Scan")),1)]),v("li",tH,b(w(n)("For entry-level hosting plans. Provides limited detection capability with very low resource utilization.")),1)],42,QF)]),v("li",null,[v("ul",{class:k(["wf-scan-type-option",{"wf-active":w(M)===w(i).scanner.type.standard}]),"data-option-value":w(i).scanner.type.standard,"data-selected-options":w(i).scanner.type_preset_options.standard,onClick:t[2]||(t[2]=$(e=>A(w(i).scanner.type.standard),["stop","prevent"])),onKeydown:t[3]||(t[3]=E($(e=>A(w(i).scanner.type.standard),["stop","prevent"]),["space"]))},[v("li",aH,[_((a(),r("div",lH,[_(v("i",oH,null,512),[[o,{hidden:!0}]])])),[[o,{role:"radio",checked:w(M)===w(i).scanner.type.standard}]]),v("span",null,b(w(n)("Standard Scan")),1)]),v("li",sH,b(w(n)("Our recommendation for all websites. Provides the best detection capability in the industry.")),1)],42,nH)]),v("li",null,[v("ul",{class:k(["wf-scan-type-option",{"wf-active":w(M)===w(i).scanner.type.highsensitivity}]),"data-option-value":w(i).scanner.type.highsensitivity,"data-selected-options":w(i).scanner.type_preset_options.highsensitivity,onClick:t[4]||(t[4]=$(e=>A(w(i).scanner.type.highsensitivity),["stop","prevent"])),onKeydown:t[5]||(t[5]=E($(e=>A(w(i).scanner.type.highsensitivity),["stop","prevent"]),["space"]))},[v("li",iH,[_((a(),r("div",uH,[_(v("i",cH,null,512),[[o,{hidden:!0}]])])),[[o,{role:"radio",checked:w(M)===w(i).scanner.type.highsensitivity}]]),v("span",null,b(w(n)("High Sensitivity")),1)]),v("li",dH,b(w(n)("For site owners who think they may have been hacked. More thorough but may produce false positives.")),1)],42,rH)]),v("li",null,[v("ul",{class:k(["wf-scan-type-option wf-scan-type-option-custom",{"wf-active":w(M)===w(i).scanner.type.custom}]),"data-option-value":w(i).scanner.type.custom},[v("li",fH,[v("span",null,b(w(n)("Custom Scan")),1)]),v("li",hH,b(w(n)("Selected automatically when General Options have been customized for this website.")),1)],10,pH)])],8,ZF)),[[o,{role:"radiogroup"}]])])])]),_:1},8,["stateKey","collapseable"])}}},gH={class:"wf-block-list"},wH={__name:"OptionsGroupScanGeneral",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),n=u("$mitt"),o=u("wfconstants"),r=u("$dataStore"),{$updatePendingValue:i}=Ei(),d=e,{stateKey:p,collapseable:f}=c(d);T(()=>{n.on("resetOptionControls",h)}),D(()=>{n.off("resetOptionControls",h)});const h=()=>{};return(e,n)=>(a(),l(w(Vv),{stateKey:w(p),collapseable:w(f)},{title:s(()=>[x(b(w(t)("General Options")),1)]),default:s(()=>[v("ul",gH,[v("li",null,[M(w(mb),{optionName:"scansEnabled_checkGSB",value:w(r).$options.scansEnabled_checkGSB,enabledValue:!0,disabledValue:!1,title:w(t)("Check if this website is on a domain blocklist"),helpLink:w(o).support.url.scan_option_check_site_blacklisted,premium:!0,onChange:n[0]||(n[0]=e=>w(i)("scansEnabled_checkGSB",e.new,w(r).$options.scansEnabled_checkGSB))},{subtitle:s(()=>[v("em",null,b(w(t)("Reputation check")),1)]),_:1},8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"spamvertizeCheck",value:w(r).$options.spamvertizeCheck,enabledValue:!0,disabledValue:!1,title:w(t)('Check if this website is being "Spamvertised"'),helpLink:w(o).support.url.scan_option_check_site_spamvertized,premium:!0,onChange:n[1]||(n[1]=e=>w(i)("spamvertizeCheck",e.new,w(r).$options.spamvertizeCheck))},{subtitle:s(()=>[v("em",null,b(w(t)("Reputation check")),1)]),_:1},8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"checkSpamIP",value:w(r).$options.checkSpamIP,enabledValue:!0,disabledValue:!1,title:w(t)("Check if this website IP is generating spam"),helpLink:w(o).support.url.scan_option_check_ip_spamming,premium:!0,onChange:n[2]||(n[2]=e=>w(i)("checkSpamIP",e.new,w(r).$options.checkSpamIP))},{subtitle:s(()=>[v("em",null,b(w(t)("Reputation check")),1)]),_:1},8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_checkHowGetIPs",value:w(r).$options.scansEnabled_checkHowGetIPs,enabledValue:!0,disabledValue:!1,title:w(t)("Scan for misconfigured How does Wordfence get IPs"),helpLink:w(o).support.url.scan_option_check_misconfigured_how_get_ips,onChange:n[3]||(n[3]=e=>w(i)("scansEnabled_checkHowGetIPs",e.new,w(r).$options.scansEnabled_checkHowGetIPs))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_checkReadableConfig",value:w(r).$options.scansEnabled_checkReadableConfig,enabledValue:!0,disabledValue:!1,title:w(t)("Scan for publicly accessible configuration, backup, or log files"),helpLink:w(o).support.url.scan_option_public_config,onChange:n[4]||(n[4]=e=>w(i)("scansEnabled_checkReadableConfig",e.new,w(r).$options.scansEnabled_checkReadableConfig))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_suspectedFiles",value:w(r).$options.scansEnabled_suspectedFiles,enabledValue:!0,disabledValue:!1,title:w(t)("Scan for publicly accessible quarantined files"),helpLink:w(o).support.url.scan_option_public_quarantined,onChange:n[5]||(n[5]=e=>w(i)("scansEnabled_suspectedFiles",e.new,w(r).$options.scansEnabled_suspectedFiles))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_core",value:w(r).$options.scansEnabled_core,enabledValue:!0,disabledValue:!1,title:w(t)("Scan core files against repository versions for changes"),helpLink:w(o).support.url.scan_option_core_changes,onChange:n[6]||(n[6]=e=>w(i)("scansEnabled_core",e.new,w(r).$options.scansEnabled_core))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_themes",value:w(r).$options.scansEnabled_themes,enabledValue:!0,disabledValue:!1,title:w(t)("Scan theme files against repository versions for changes"),helpLink:w(o).support.url.scan_option_theme_changes,onChange:n[7]||(n[7]=e=>w(i)("scansEnabled_themes",e.new,w(r).$options.scansEnabled_themes))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_plugins",value:w(r).$options.scansEnabled_plugins,enabledValue:!0,disabledValue:!1,title:w(t)("Scan plugin files against repository versions for changes"),helpLink:w(o).support.url.scan_option_plugin_changes,onChange:n[8]||(n[8]=e=>w(i)("scansEnabled_plugins",e.new,w(r).$options.scansEnabled_plugins))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_coreUnknown",value:w(r).$options.scansEnabled_coreUnknown,enabledValue:!0,disabledValue:!1,title:w(t)("Scan wp-admin and wp-includes for files not bundled with WordPress"),helpLink:w(o).support.url.scan_option_unknown_core,onChange:n[9]||(n[9]=e=>w(i)("scansEnabled_coreUnknown",e.new,w(r).$options.scansEnabled_coreUnknown))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_malware",value:w(r).$options.scansEnabled_malware,enabledValue:!0,disabledValue:!1,title:w(t)("Scan for signatures of known malicious files"),helpLink:w(o).support.url.scan_option_malware_hashes,onChange:n[10]||(n[10]=e=>w(i)("scansEnabled_malware",e.new,w(r).$options.scansEnabled_malware))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_fileContents",value:w(r).$options.scansEnabled_fileContents,enabledValue:!0,disabledValue:!1,title:w(t)("Scan file contents for backdoors, trojans and suspicious code"),helpLink:w(o).support.url.scan_option_malware_signatures,onChange:n[11]||(n[11]=e=>w(i)("scansEnabled_fileContents",e.new,w(r).$options.scansEnabled_fileContents))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_fileContentsGSB",value:w(r).$options.scansEnabled_fileContentsGSB,enabledValue:!0,disabledValue:!1,title:w(t)("Scan file contents for malicious URLs"),helpLink:w(o).support.url.scan_option_malware_urls,onChange:n[12]||(n[12]=e=>w(i)("scansEnabled_fileContentsGSB",e.new,w(r).$options.scansEnabled_fileContentsGSB))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_posts",value:w(r).$options.scansEnabled_posts,enabledValue:!0,disabledValue:!1,title:w(t)("Scan posts for known dangerous URLs and suspicious content"),helpLink:w(o).support.url.scan_option_post_urls,onChange:n[13]||(n[13]=e=>w(i)("scansEnabled_posts",e.new,w(r).$options.scansEnabled_posts))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_comments",value:w(r).$options.scansEnabled_comments,enabledValue:!0,disabledValue:!1,title:w(t)("Scan comments for known dangerous URLs and suspicious content"),helpLink:w(o).support.url.scan_option_comment_urls,onChange:n[14]||(n[14]=e=>w(i)("scansEnabled_comments",e.new,w(r).$options.scansEnabled_comments))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_suspiciousOptions",value:w(r).$options.scansEnabled_suspiciousOptions,enabledValue:!0,disabledValue:!1,title:w(t)("Scan WordPress core, plugin, and theme options for known dangerous URLs and suspicious content"),helpLink:w(o).support.url.scan_option_malware_options,onChange:n[15]||(n[15]=e=>w(i)("scansEnabled_suspiciousOptions",e.new,w(r).$options.scansEnabled_suspiciousOptions))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_oldVersions",value:w(r).$options.scansEnabled_oldVersions,enabledValue:!0,disabledValue:!1,title:w(t)("Scan for out of date, abandoned, and vulnerable plugins, themes, and WordPress versions"),helpLink:w(o).support.url.scan_option_updates,onChange:n[16]||(n[16]=e=>w(i)("scansEnabled_oldVersions",e.new,w(r).$options.scansEnabled_oldVersions))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_suspiciousAdminUsers",value:w(r).$options.scansEnabled_suspiciousAdminUsers,enabledValue:!0,disabledValue:!1,title:w(t)("Scan for suspicious admin users created outside of WordPress"),helpLink:w(o).support.url.scan_option_unknown_admins,onChange:n[17]||(n[17]=e=>w(i)("scansEnabled_suspiciousAdminUsers",e.new,w(r).$options.scansEnabled_suspiciousAdminUsers))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_passwds",value:w(r).$options.scansEnabled_passwds,enabledValue:!0,disabledValue:!1,title:w(t)("Check the strength of passwords"),helpLink:w(o).support.url.scan_option_password_strength,onChange:n[18]||(n[18]=e=>w(i)("scansEnabled_passwds",e.new,w(r).$options.scansEnabled_passwds))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_diskSpace",value:w(r).$options.scansEnabled_diskSpace,enabledValue:!0,disabledValue:!1,title:w(t)("Monitor disk space"),helpLink:w(o).support.url.scan_option_disk_space,onChange:n[19]||(n[19]=e=>w(i)("scansEnabled_diskSpace",e.new,w(r).$options.scansEnabled_diskSpace))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_wafStatus",value:w(r).$options.scansEnabled_wafStatus,enabledValue:!0,disabledValue:!1,title:w(t)("Monitor Web Application Firewall status"),helpLink:w(o).support.url.scan_option_waf_status,onChange:n[20]||(n[20]=e=>w(i)("scansEnabled_wafStatus",e.new,w(r).$options.scansEnabled_wafStatus))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"other_scanOutside",value:w(r).$options.other_scanOutside,enabledValue:!0,disabledValue:!1,title:w(t)("Scan files outside your WordPress installation"),helpLink:w(o).support.url.scan_option_outside_wordpress,onChange:n[21]||(n[21]=e=>w(i)("other_scanOutside",e.new,w(r).$options.other_scanOutside))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(mb),{optionName:"scansEnabled_scanImages",value:w(r).$options.scansEnabled_scanImages,enabledValue:!0,disabledValue:!1,title:w(t)("Scan images, binary, and other files as if they were executable"),helpLink:w(o).support.url.scan_option_images_executable,onChange:n[22]||(n[22]=e=>w(i)("scansEnabled_scanImages",e.new,w(r).$options.scansEnabled_scanImages))},null,8,["value","title","helpLink"])])])]),_:1},8,["stateKey","collapseable"]))}},vH={class:"wf-block-list"},bH={__name:"OptionsGroupScanPerformance",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),n=u("sprintf"),o=u("$mitt"),r=u("wfconstants"),i=u("$dataStore"),{$updatePendingValue:d}=Ei(),{$makeDuration:p}=Ri(),f=e,{stateKey:h,collapseable:m}=c(f);T(()=>{o.on("resetOptionControls",g)}),D(()=>{o.off("resetOptionControls",g)});const g=()=>{};return(e,o)=>(a(),l(w(Vv),{stateKey:w(h),collapseable:w(m)},{title:s(()=>[x(b(w(t)("Performance Options")),1)]),default:s(()=>[v("ul",vH,[v("li",null,[M(w(mb),{optionName:"lowResourceScansEnabled",value:w(i).$options.lowResourceScansEnabled,enabledValue:!0,disabledValue:!1,title:w(t)("Use low resource scanning (reduces server load by lengthening the scan duration)"),helpLink:w(r).support.url.scan_option_low_resource,onChange:o[0]||(o[0]=e=>w(d)("lowResourceScansEnabled",e.new,w(i).$options.lowResourceScansEnabled))},null,8,["value","title","helpLink"])]),v("li",null,[M(w(Eb),{optionName:"scan_maxIssues",value:w(i).$options.scan_maxIssues,title:w(t)("Limit the number of issues sent in the scan results email"),subtitle:w(t)("0 or empty means unlimited issues will be sent"),helpLink:w(r).support.url.scan_option_limit_issues,onChange:o[1]||(o[1]=e=>w(d)("scan_maxIssues",e.new,w(i).$options.scan_maxIssues))},null,8,["value","title","subtitle","helpLink"])]),v("li",null,[M(w(Eb),{optionName:"scan_maxDuration",value:w(i).$options.scan_maxDuration,title:w(t)("Time limit that a scan can run in seconds"),subtitle:w(n)(w(t)("0 or empty means the default of %s will be used"),w(p)(w(r).scanner.limit.default_max_scan_time)),helpLink:w(r).support.url.scan_option_overall_time_limit,onChange:o[2]||(o[2]=e=>w(d)("scan_maxDuration",e.new,w(i).$options.scan_maxDuration))},null,8,["value","title","subtitle","helpLink"])]),v("li",null,[M(w(Eb),{optionName:"maxMem",value:w(i).$options.maxMem,title:w(t)("How much memory should Wordfence request when scanning"),subtitle:w(t)("Memory size in megabytes"),helpLink:w(r).support.url.scan_option_memory_limit,onChange:o[3]||(o[3]=e=>w(d)("maxMem",e.new,w(i).$options.maxMem))},null,8,["value","title","subtitle","helpLink"])]),v("li",null,[M(w(Eb),{optionName:"maxExecutionTime",value:w(i).$options.maxExecutionTime,title:w(t)("Maximum execution time for each scan stage"),subtitle:w(n)(w(t)("0 for default. Must be %d or greater and 10-20 or higher is recommended for most servers"),w(r).scanner.limit.min_execution_time),helpLink:w(r).support.url.scan_option_stage_time_limit,onChange:o[4]||(o[4]=e=>w(d)("maxExecutionTime",e.new,w(i).$options.maxExecutionTime))},null,8,["value","title","subtitle","helpLink"])])])]),_:1},8,["stateKey","collapseable"]))}},yH={class:"wf-block-list"},kH=["data-original-value"],_H=["data-option-value"],xH={class:"wf-option-radio-container"},SH=["value","disabled"],TH={id:"wf-scheduling-mode-automatic-label",class:"wf-option-title"},CH=["data-option-value"],MH={class:"wf-option-radio-container"},LH=["value","disabled"],AH={id:"wf-scheduling-mode-manual-label",class:"wf-option-title"},DH={key:0,href:"https://www.wordfence.com/gnl1optionUpgrade/wordfence-signup/",target:"_blank",rel:"noopener noreferrer",class:"wf-premium-link"},PH={class:"wf-scan-scheduling-manual-presets-label"},OH=["data-original-value"],$H=["data-option-value"],IH=["data-option-value"],EH=["data-option-value"],RH=["data-option-value"],NH=["data-option-value"],BH=["data-option-value"],VH=["data-option-value"],FH={key:0,class:"wf-scan-scheduling-manual-preset-options wf-active"},HH=["data-original-select-value"],UH={class:"wf-option-title"},qH={class:"wf-option-select"},jH=["disabled"],WH=["value"],zH={key:1,class:"wf-scan-scheduling-manual-custom-options wf-overflow-x-auto-xs wf-active"},YH=["data-original-value"],GH={class:"wf-visible-xs"},KH={class:"wf-scan-schedule-period-spacer"},ZH={class:"wf-schedule-day"},QH={class:"wf-hidden-xs"},XH={class:"wf-schedule-times-wrapper"},JH={class:"wf-schedule-period"},eU={class:"wf-schedule-times"},tU=["data-hour","onClick","onKeydown"],nU={class:"wf-schedule-times-wrapper"},aU={class:"wf-schedule-period"},lU={class:"wf-schedule-times"},oU=["data-hour","onClick","onKeydown"],sU={__name:"OptionsGroupScanSchedule",props:{stateKey:{type:String,required:!0},collapseable:{type:Boolean,default:!0}},setup(e){const t=u("__"),o=u("sprintf"),d=u("$mitt"),p=u("wfconstants"),y=u("$dataStore"),{$isPaid:S}=Fc(),{$updatePendingValue:C,$resolvePendingOption:L}=Ei(),A=e,{stateKey:P,collapseable:O}=c(A);T(()=>{d.on("resetOptionControls",I)}),D(()=>{d.off("resetOptionControls",I)});const I=()=>{},{$pendingValue:R}=Kd("schedMode",y.$options.schedMode);f(R,e=>{C("schedMode",e,y.$options.schedMode)});const{$pendingValue:N}=Kd("manualScanType",y.$options.manualScanType),{$pendingValue:B}=Kd("schedStartHour",y.$options.schedStartHour);f(B,e=>{C("schedStartHour",e,y.$options.schedStartHour)});const{$pendingValue:V}=Kd("scanSched",y.$options.scanSched);f(V,e=>{C("scanSched",e,y.$options.scanSched)},{deep:!0});const F=n(()=>L.value("scheduledScansEnabled")&&S),H=e=>{F.value&&C("manualScanType",e,y.$options.manualScanType)},U=(e,t)=>{F.value&&(V.value[e][t]=!V.value[e][t])},q=n(()=>{let e=[];for(let n=1;n<=24;n++){const a=(n+10)%12+1;e.push({value:n-1,label:o(t(n<=12?"%s AM":"%s PM"),`${a}:00`)})}return e}),j=n(()=>[{value:1,label:t("Monday")},{value:2,label:t("Tuesday")},{value:3,label:t("Wednesday")},{value:4,label:t("Thursday")},{value:5,label:t("Friday")},{value:6,label:t("Saturday")},{value:0,label:t("Sunday")}]);return Zd({schedMode:"wf-option-schedMode",manualScanType:"wf-option-manualScanType"},P),(e,n)=>{const o=h("aria");return a(),l(w(Vv),{stateKey:w(P),collapseable:w(O)},{title:s(()=>[x(b(w(t)("Scan Scheduling")),1)]),default:s(()=>[v("ul",yH,[v("li",null,[M(w(h$),{optionName:"scheduledScansEnabled",value:w(y).$options.scheduledScansEnabled,title:w(t)("Schedule Wordfence Scans"),states:[{value:!1,label:w(t)("Disabled")},{value:!0,label:w(t)("Enabled")}],helpLink:w(p).support.url.scan_scheduling,onChange:n[0]||(n[0]=e=>w(C)("scheduledScansEnabled",e.new,w(y).$options.scheduledScansEnabled))},null,8,["value","title","states","helpLink"])]),v("li",null,[v("ul",{id:"wf-option-schedMode",class:"wf-scan-scheduling","data-option":"schedMode","data-original-value":w(y).$options.schedMode},[v("li",null,[v("ul",{class:k(["wf-option wf-option-scan-schedule-mode",{"wf-disabled":!w(L)("scheduledScansEnabled")}]),"data-option-value":w(p).scanner.schedule.mode.automatic},[_((a(),r("li",xH,[_(v("input",{class:"wf-option-radio",type:"radio",name:"wf-scheduling-mode",id:"wf-scheduling-mode-automatic",value:w(p).scanner.schedule.mode.automatic,"onUpdate:modelValue":n[1]||(n[1]=e=>W(R)?R.value=e:null),disabled:!w(L)("scheduledScansEnabled"),"aria-labelledby":"wf-scheduling-mode-automatic-label"},null,8,SH),[[z,w(R)]]),n[18]||(n[18]=v("label",{for:"wf-scheduling-mode-automatic"},null,-1))])),[[o,{role:"radiogroup"}]]),v("li",TH,b(w(t)("Let Wordfence choose when to scan my site (recommended)")),1)],10,_H)]),v("li",null,[v("ul",{class:k(["wf-option wf-option-scan-schedule-mode",{"wf-option-premium":!w(S),"wf-disabled":!w(L)("scheduledScansEnabled")}]),"data-option-value":w(p).scanner.schedule.mode.manual},[v("li",MH,[_(v("input",{class:"wf-option-radio",type:"radio",name:"wf-scheduling-mode",id:"wf-scheduling-mode-manual",value:w(p).scanner.schedule.mode.manual,"onUpdate:modelValue":n[2]||(n[2]=e=>W(R)?R.value=e:null),disabled:!w(L)("scheduledScansEnabled")||!w(S),"aria-labelledby":"wf-scheduling-mode-manual-label"},null,8,LH),[[z,w(R)]]),n[19]||(n[19]=v("label",{for:"wf-scheduling-mode-manual"},null,-1))]),v("li",AH,[x(b(w(t)("Manually schedule scans"))+" ",1),w(S)?i("",!0):(a(),r("a",DH,[x(b(w(t)("Premium Feature")),1),M(w(Bi))]))])],10,CH),M(w(Hc),null,{default:s(()=>[w(R)===w(p).scanner.schedule.mode.manual?(a(),r("ul",{key:0,class:k(["wf-scan-scheduling-manual wf-active",{"wf-disabled":!F.value}])},[v("li",null,[v("strong",PH,b(w(t)("Shortcuts")),1),_((a(),r("ul",{id:"wf-option-manualScanType",class:"wf-scan-scheduling-manual-presets wf-overflow-x-auto-xs","data-option-name":"manualScanType","data-original-value":w(y).$options.manualScanType},[_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.onceDaily}]),"data-option-value":w(p).scanner.schedule.manual.onceDaily,tabindex:"0",onClick:n[3]||(n[3]=$(e=>H(w(p).scanner.schedule.manual.onceDaily),["stop","prevent"])),onKeydown:n[4]||(n[4]=E($(e=>H(w(p).scanner.schedule.manual.onceDaily),["stop","prevent"]),["space"]))},[x(b(w(t)("Once Daily")),1)],42,$H)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.onceDaily}]]),_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.twiceDaily}]),"data-option-value":w(p).scanner.schedule.manual.twiceDaily,tabindex:"0",onClick:n[5]||(n[5]=$(e=>H(w(p).scanner.schedule.manual.twiceDaily),["stop","prevent"])),onKeydown:n[6]||(n[6]=E($(e=>H(w(p).scanner.schedule.manual.twiceDaily),["stop","prevent"]),["space"]))},[x(b(w(t)("Twice Daily")),1)],42,IH)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.twiceDaily}]]),_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.everyOtherDay}]),"data-option-value":w(p).scanner.schedule.manual.everyOtherDay,tabindex:"0",onClick:n[7]||(n[7]=$(e=>H(w(p).scanner.schedule.manual.everyOtherDay),["stop","prevent"])),onKeydown:n[8]||(n[8]=E($(e=>H(w(p).scanner.schedule.manual.everyOtherDay),["stop","prevent"]),["space"]))},[x(b(w(t)("Every Other Day")),1)],42,EH)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.everyOtherDay}]]),_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.weekdays}]),"data-option-value":w(p).scanner.schedule.manual.weekdays,tabindex:"0",onClick:n[9]||(n[9]=$(e=>H(w(p).scanner.schedule.manual.weekdays),["stop","prevent"])),onKeydown:n[10]||(n[10]=E($(e=>H(w(p).scanner.schedule.manual.weekdays),["stop","prevent"]),["space"]))},[x(b(w(t)("Weekdays")),1)],42,RH)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.weekdays}]]),_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.weekends}]),"data-option-value":w(p).scanner.schedule.manual.weekends,tabindex:"0",onClick:n[11]||(n[11]=$(e=>H(w(p).scanner.schedule.manual.weekends),["stop","prevent"])),onKeydown:n[12]||(n[12]=E($(e=>H(w(p).scanner.schedule.manual.weekends),["stop","prevent"]),["space"]))},[x(b(w(t)("Weekends")),1)],42,NH)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.weekends}]]),_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.oddDaysWE}]),"data-option-value":w(p).scanner.schedule.manual.oddDaysWE,tabindex:"0",onClick:n[13]||(n[13]=$(e=>H(w(p).scanner.schedule.manual.oddDaysWE),["stop","prevent"])),onKeydown:n[14]||(n[14]=E($(e=>H(w(p).scanner.schedule.manual.oddDaysWE),["stop","prevent"]),["space"]))},[x(b(w(t)("Odd Days & Weekends")),1)],42,BH)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.oddDaysWE}]]),_((a(),r("li",{class:k(["wf-nowrap",{"wf-active":w(N)===w(p).scanner.schedule.manual.custom}]),"data-option-value":w(p).scanner.schedule.manual.custom,tabindex:"0",onClick:n[15]||(n[15]=$(e=>H(w(p).scanner.schedule.manual.custom),["stop","prevent"])),onKeydown:n[16]||(n[16]=E($(e=>H(w(p).scanner.schedule.manual.custom),["stop","prevent"]),["space"]))},[x(b(w(t)("Custom")),1)],42,VH)),[[o,{role:"radio",checked:w(N)===w(p).scanner.schedule.manual.custom}]])],8,OH)),[[o,{role:"radiogroup"}]])]),M(w(Hc),null,{default:s(()=>[w(N)!==w(p).scanner.schedule.manual.custom?(a(),r("li",FH,[v("ul",{class:"wf-option wf-option-select","data-select-option":"schedStartHour","data-original-select-value":w(y).$options.schedStartHour},[v("li",UH,[M(w(Ic),{text:w(t)("Use preferred start time"),xs:w(t)("Start time")},null,8,["text","xs"])]),v("li",qH,[_(v("select",{disabled:!F.value,"onUpdate:modelValue":n[17]||(n[17]=e=>W(B)?B.value=e:null)},[(a(!0),r(m,null,g(q.value,e=>(a(),r("option",{class:"wf-option-select-option",value:e.value,key:e.value},b(e.label),9,WH))),128))],8,jH),[[Y,w(B)]])])],8,HH)])):(a(),r("li",zH,[v("table",{class:"wf-scan-schedule","data-original-value":w(y).$options.scanSched},[(a(!0),r(m,null,g(j.value,e=>(a(),r(m,{key:`day-${e.value}`},[v("tr",GH,[v("th",KH,b(e.label),1)]),v("tr",ZH,[v("th",QH,b(e.label),1),v("td",null,[v("div",XH,[v("div",JH,b(w(t)("AM")),1),v("ul",eU,[(a(),r(m,null,g(12,t=>_(v("li",{key:`day-${e.value}-${t-1}`,class:k(["wf-schedule-time",{"wf-active":w(V)[e.value][t-1]}]),"data-hour":t-1,tabindex:"0",onClick:$(n=>U(e.value,t-1),["stop","prevent"]),onKeydown:E($(n=>U(e.value,t-1),["stop","prevent"]),["space"])},[x(b((""+((t+10)%12+1)).padStart(2,"0")),1)],42,tU),[[o,{role:"checkbox",checked:w(V)[e.value][t-1]}]])),64))])]),v("div",nU,[v("div",aU,b(w(t)("PM")),1),v("ul",lU,[(a(),r(m,null,g(12,t=>_(v("li",{key:`day-${e.value}-${t+11}`,class:k(["wf-schedule-time",{"wf-active":w(V)[e.value][t+11]}]),"data-hour":t+11,tabindex:"0",onClick:$(n=>U(e.value,t+11),["stop","prevent"]),onKeydown:E($(n=>U(e.value,t+11),["stop","prevent"]),["space"])},[x(b((""+((t+10)%12+1)).padStart(2,"0")),1)],42,oU),[[o,{role:"checkbox",checked:w(V)[e.value][t+11]}]])),64))])])])])],64))),128))],8,YH)]))]),_:1})],2)):i("",!0)]),_:1})])],8,kH)])])]),_:1},8,["stateKey","collapseable"])}}},rU={__name:"OptionsLinkBlock",setup:e=>(function(){const e=u("$"),t=u("$mitt"),{$parseHashes:n}=li();T(()=>{P(()=>{if(window.location.hash){const a=n(),l=a[a.length-1];let o=!0;a.length>1&&e("#"+a[a.length-2]).hasClass("wf-option")&&(o="#"+a[a.length-2]),t.emit("expandDisclosureBlock",{key:l,scrollTo:o,onComplete:()=>history.replaceState("",document.title,window.location.pathname+window.location.search)})}})})}(),(e,t)=>_((a(),r("div",null,null,512)),[[F,!1]]))},iU="options-export-success-modal",uU={__name:"ExportSuccessModal",props:{show:{type:Boolean,default:!1},token:{type:String,default:""}},setup(e){const t=u("__"),n=u("$mitt");return S("modalName",iU),(r,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0},{header:s(()=>[v("strong",null,b(w(t)("Export Successful")),1)]),body:s(()=>[v("p",null,b(w(t)("We successfully exported your site options. To import your site options on another site, copy and paste the token below into the import text box on the destination site. Keep this token secret – it is like a password. If anyone else discovers the token it will allow them to import your options excluding your license.")),1),v("p",null,[M(w(PS),{class:"wf-full-width",text:e.token},null,8,["text"])])]),"primary-button":s(()=>[M(w(nw),{onClick:u[0]||(u[0]=e=>w(n).emit("closeModal",iU)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Close")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},cU="options-export-error-modal",dU={__name:"ExportErrorModal",props:{show:{type:Boolean,default:!1},message:{type:[String,null],default:null}},setup(e){const t=u("__"),n=u("$mitt");return S("modalName",cU),(r,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0},{header:s(()=>[v("strong",null,b(w(t)("Error during Export")),1)]),body:s(()=>[x(b(e.message?e.message:w(t)("An unknown error occurred during the export. We received an undefined error from your web server.")),1)]),"primary-button":s(()=>[M(w(nw),{onClick:u[0]||(u[0]=e=>w(n).emit("closeModal",cU)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Close")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},pU={__name:"ImportSuccessModal",props:{show:{type:Boolean,default:!1}},setup(e){const t=u("__");S("modalName","options-import-success-modal");const n=()=>{window.location.reload(!0)};return(r,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0},{header:s(()=>[v("strong",null,b(w(t)("Import Successful")),1)]),body:s(()=>[x(b(w(t)("We successfully imported the site options.")),1)]),"primary-button":s(()=>[M(w(nw),{onClick:n,"is-primary":!0},{default:s(()=>[x(b(w(t)("Reload")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},fU="options-import-error-modal",hU={__name:"ImportErrorModal",props:{show:{type:Boolean,default:!1},message:{type:[String,null],default:null}},setup(e){const t=u("__"),n=u("$mitt");return S("modalName",fU),(r,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0},{header:s(()=>[v("strong",null,b(w(t)("Error during Import")),1)]),body:s(()=>[x(b(e.message?e.message:w(t)("An unknown error occurred during the import.")),1)]),"primary-button":s(()=>[M(w(nw),{onClick:u[0]||(u[0]=e=>w(n).emit("closeModal",fU)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Close")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},mU="options-downgrade-license-modal",gU={__name:"DowngradeLicenseModal",props:{show:{type:Boolean,default:!1}},setup(e){const t=u("__"),n=u("$mitt"),{$ajax:r,$ajaxErrorMessage:c}=yi(),{$modal:d}=Ii();S("modalName",mU);const p=()=>{r("wordfence_downgradeLicense",{},e=>{e.ok&&window.location.reload(!0)},e=>{n.emit("closeModal",mU),P(()=>{d("options-downgrade-license-error-modal",{downgradeError:c(e,!0,"downgradeErrorMsg"),registrationLink:e.registrationLink??null})})})};return(r,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0},{header:s(()=>[v("strong",null,b(w(t)("Confirm Reset")),1)]),body:s(()=>[v("p",null,b(w(t)("Are you sure you want to reset this site's Wordfence License? This will disable Premium features and return the site to the free version of Wordfence. Your settings will still be retained when reinstalling a license.")),1),v("p",null,b(w(t)("If autorenew is enabled for the current license, the license will renew at the next expiration date. If you would like to turn renewal off or assign the license to another site, log into wordfence.com to change it.")),1)]),"primary-button":s(()=>[M(w(nw),{onClick:u[0]||(u[0]=e=>w(n).emit("closeModal",mU)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Cancel")),1)]),_:1})]),"secondary-buttons":s(()=>[M(w(nw),{onClick:p,"button-type":"wf-btn-danger"},{default:s(()=>[x(b(w(t)("Reset")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},wU=["href"],vU="options-downgrade-license-error-modal",bU={__name:"DowngradeLicenseErrorModal",props:{show:{type:Boolean,default:!1},downgradeError:{type:String},registrationLink:{type:String}},setup(e){const t=u("__"),n=u("$mitt");return S("modalName",vU),(r,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0},{header:s(()=>[v("strong",null,b(w(t)("Error")),1)]),body:s(()=>[v("p",null,b(w(t)("There was an error while downgrading to a free license.")),1),v("p",null,b(e.downgradeError),1),v("p",null,b(w(t)("You may close this alert and try again later, or click the button below to register for a new free Wordfence license.")),1),v("p",null,[v("a",{href:e.registrationLink,class:"wf-btn wf-btn-primary",target:"_blank",rel:"nofollow noreferrer"},b(w(t)("Get a new license")),9,wU)])]),"primary-button":s(()=>[M(w(nw),{onClick:u[0]||(u[0]=e=>w(n).emit("closeModal",vU)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Close")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},yU={__name:"OptionsModals",setup(t){const l=u("$mitt"),{$hasOwn:o}=ai(),s=e({"options-export-success-modal":{show:!1,token:"",configurator:e=>{s[e.name].token=e.token??""}},"options-export-error-modal":{show:!1,message:"",configurator:e=>{s[e.name].message=e.message??null}},"options-import-success-modal":{show:!1,configurator:e=>{}},"options-import-error-modal":{show:!1,message:"",configurator:e=>{s[e.name].message=e.message??null}},"options-downgrade-license-modal":{show:!1,configurator:e=>{}},"options-downgrade-license-error-modal":{show:!1,downgradeError:"",registrationLink:"",configurator:e=>{s[e.name].downgradeError=e.downgradeError??"",s[e.name].registrationLink=e.registrationLink??""}}}),i=n(()=>Object.values(s).some(e=>e.show));T(()=>{l.on("showModal",c),l.on("closeModal",d)}),D(()=>{l.off("showModal",c),l.off("closeModal",d)});const c=e=>{for(const t of Object.keys(s))t!==e.name&&s[t].show&&(s[t].show=!1);o(s,e.name)&&(s[e.name].configurator(e),s[e.name].show=!0)},d=e=>{o(s,e)&&(s[e].show=!1)};return(e,t)=>(a(),r("div",null,[M(w(Of),{show:i.value},null,8,["show"]),M(w(uU),{show:s["options-export-success-modal"].show,token:s["options-export-success-modal"].token},null,8,["show","token"]),M(w(dU),{show:s["options-export-error-modal"].show,message:s["options-export-error-modal"].message},null,8,["show","message"]),M(w(pU),{show:s["options-import-success-modal"].show},null,8,["show"]),M(w(hU),{show:s["options-import-error-modal"].show,message:s["options-import-error-modal"].message},null,8,["show","message"]),M(w(gU),{show:s["options-downgrade-license-modal"].show},null,8,["show"]),M(w(bU),{show:s["options-downgrade-license-error-modal"].show,downgradeError:s["options-downgrade-license-error-modal"].downgradeError,registrationLink:s["options-downgrade-license-error-modal"].registrationLink},null,8,["show","downgradeError","registrationLink"])]))}},kU={class:"wf-scan-step-icon"},_U={key:0,class:"wf-scan-step-premium"},xU={key:1,class:"wf-scan-step-pending"},SU={key:2,class:"wf-scan-step-running"},TU={key:3,class:"wf-scan-step-complete-success"},CU={key:4,class:"wf-scan-step-complete-warning"},MU={key:5,class:"wf-scan-step-disabled"},LU={class:"wf-scan-step-title"},AU={key:0,class:"wf-scan-step-subtitle"},DU={href:"https://www.wordfence.com/gnl1scanUpgrade/wordfence-signup/",target:"_blank",rel:"noopener noreferrer"},PU={__name:"ScanProgressStageElement",props:{status:{type:String,default:null,required:!1}},setup(e){const t=u("__"),l=u("wfconstants"),o=e,{status:s}=c(o),d=n(()=>{let e=[];switch(e.push("wf-scan-step"),s.value){case l.scanner.stage_status.pending:break;case l.scanner.stage_status.running:case l.scanner.stage_status.running_warning:e.push("wf-scan-step-running");break;case l.scanner.stage_status.complete_success:e.push("wf-scan-step-complete-success");break;case l.scanner.stage_status.complete_warning:e.push("wf-scan-step-complete-warning");break;case l.scanner.stage_status.premium:e.push("wf-scan-step-premium");break;case l.scanner.stage_status.disabled:e.push("wf-scan-step-disabled")}return e});return(e,n)=>(a(),r("li",{class:k(d.value)},[v("div",kU,[w(s)===w(l).scanner.stage_status.premium?(a(),r("div",_U)):w(s)===w(l).scanner.stage_status.pending?(a(),r("div",xU)):w(s)===w(l).scanner.stage_status.running||w(s)===w(l).scanner.stage_status.running_warning?(a(),r("div",SU,[M(w(mp),{size:"50"})])):w(s)===w(l).scanner.stage_status.complete_success?(a(),r("div",TU)):w(s)===w(l).scanner.stage_status.complete_warning?(a(),r("div",CU)):(a(),r("div",MU))]),v("div",LU,[I(e.$slots,"title")]),w(s)===w(l).scanner.stage_status.premium?(a(),r("div",AU,[v("a",DU,[x(b(w(t)("Upgrade")),1),M(w(Bi))])])):i("",!0)],2))}},OU={class:"wf-scanner-progress"},$U={__name:"ScanProgressStages",setup(e){const t=u("__"),n=u("wfconstants"),l=u("$dataStore");return(e,o)=>(a(),r("ul",OU,[M(w(PU),{id:"wf-scan-spamvertising",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.spamvertising]},{title:s(()=>[x(b(w(t)("Spamvertising Checks")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-spam",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.spam]},{title:s(()=>[x(b(w(t)("Spam Check")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-blacklist",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.blacklist]},{title:s(()=>[x(b(w(t)("Blocklist Check")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-server",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.server]},{title:s(()=>[x(b(w(t)("Server State")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-changes",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.changes]},{title:s(()=>[x(b(w(t)("File Changes")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-malware",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.malware]},{title:s(()=>[x(b(w(t)("Malware Scan")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-content",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.content]},{title:s(()=>[x(b(w(t)("Content Safety")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-public",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.public]},{title:s(()=>[x(b(w(t)("Public Files")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-password",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.password]},{title:s(()=>[x(b(w(t)("Password Strength")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-vulnerability",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.vulnerability]},{title:s(()=>[x(b(w(t)("Vulnerability Scan")),1)]),_:1},8,["status"]),M(w(PU),{id:"wf-scan-options",status:w(l).scanner.state.$scanStages[w(n).scanner.stage.options]},{title:s(()=>[x(b(w(t)("User & Option Audit")),1)]),_:1},8,["status"])]))}};function IU(e,t,n){let a,l=n.initialDeps??[],o=!0;function s(){var s,r,i;let u;n.key&&(null==(s=n.debug)?void 0:s.call(n))&&(u=Date.now());const c=e();if(c.length===l.length&&!c.some((e,t)=>l[t]!==e))return a;let d;return l=c,n.key&&(null==(r=n.debug)?void 0:r.call(n))&&(d=Date.now()),a=t(...c),n.key&&(null==(i=n.debug)?void 0:i.call(n))&&(Math.round(100*(Date.now()-u)),Math.round(100*(Date.now()-d))),!(null==n?void 0:n.onChange)||o&&n.skipInitialOnChange||n.onChange(a),o=!1,a}return s.updateDeps=e=>{l=e},s}function EU(e,t){if(void 0===e)throw new Error("Unexpected undefined");return e}const RU=(e,t,n)=>{let a;return function(...l){e.clearTimeout(a),a=e.setTimeout(()=>t.apply(this,l),n)}},NU=e=>{const{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},BU=e=>e,VU=e=>{const t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),a=[];for(let l=t;l<=n;l++)a.push(l);return a},FU=(e,t)=>{const n=e.scrollElement;if(!n)return;const a=e.targetWindow;if(!a)return;const l=e=>{const{width:n,height:a}=e;t({width:Math.round(n),height:Math.round(a)})};if(l(NU(n)),!a.ResizeObserver)return()=>{};const o=new a.ResizeObserver(t=>{const a=()=>{const e=t[0];if(null==e?void 0:e.borderBoxSize){const t=e.borderBoxSize[0];if(t)return void l({width:t.inlineSize,height:t.blockSize})}l(NU(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(a):a()});return o.observe(n,{box:"border-box"}),()=>{o.unobserve(n)}},HU={passive:!0},UU="undefined"==typeof window||"onscrollend"in window,qU=(e,t)=>{const n=e.scrollElement;if(!n)return;const a=e.targetWindow;if(!a)return;let l=0;const o=e.options.useScrollendEvent&&UU?()=>{}:RU(a,()=>{t(l,!1)},e.options.isScrollingResetDelay),s=a=>()=>{const{horizontal:s,isRtl:r}=e.options;l=s?n.scrollLeft*(r?-1:1):n.scrollTop,o(),t(l,a)},r=s(!0),i=s(!1);n.addEventListener("scroll",r,HU);const u=e.options.useScrollendEvent&&UU;return u&&n.addEventListener("scrollend",i,HU),()=>{n.removeEventListener("scroll",r),u&&n.removeEventListener("scrollend",i)}},jU=(e,t,n)=>{if(null==t?void 0:t.borderBoxSize){const e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?"inlineSize":"blockSize"])}return e[n.options.horizontal?"offsetWidth":"offsetHeight"]},WU=(e,{adjustments:t=0,behavior:n},a)=>{var l,o;const s=e+t;null==(o=null==(l=a.scrollElement)?void 0:l.scrollTo)||o.call(l,{[a.options.horizontal?"left":"top"]:s,behavior:n})};class zU{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=/* @__PURE__ */new Map,this.laneAssignments=/* @__PURE__ */new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=/* @__PURE__ */new Map,this.observer=/* @__PURE__ */(()=>{let e=null;const t=()=>e||(this.targetWindow&&this.targetWindow.ResizeObserver?e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{const t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}):null);return{disconnect:()=>{var n;null==(n=t())||n.disconnect(),e=null},observe:e=>{var n;return null==(n=t())?void 0:n.observe(e,{box:"border-box"})},unobserve:e=>{var n;return null==(n=t())?void 0:n.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{void 0===n&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:BU,rangeExtractor:VU,onChange:()=>{},measureElement:jU,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;null==(n=(t=this.options).onChange)||n.call(t,this,e)},this.maybeNotify=IU(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t)return void this.maybeNotify();this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(e=this.scrollElement)?void 0:e.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{const n=/* @__PURE__ */new Map,a=/* @__PURE__ */new Map;for(let l=t-1;l>=0;l--){const t=e[l];if(n.has(t.lane))continue;const o=a.get(t.lane);if(null==o||t.end>o.end?a.set(t.lane,t):t.ende.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=IU(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,a,l,o)=>(void 0!==this.prevLanes&&this.prevLanes!==o&&(this.lanesChangedFlag=!0),this.prevLanes=o,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:a,enabled:l,lanes:o}),{key:!1}),this.getMeasurements=IU(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:a,enabled:l,lanes:o},s)=>{if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(const c of this.laneAssignments.keys())c>=e&&this.laneAssignments.delete(c);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));const r=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);const i=this.measurementsCache.slice(0,r),u=new Array(o).fill(void 0);for(let c=0;c1){o=l;const e=u[o],a=void 0!==e?i[e]:void 0;r=a?a.end+this.options.gap:t+n}else{const e=1===this.options.lanes?i[c-1]:this.getFurthestMeasurement(i,c);r=e?e.end+this.options.gap:t+n,o=e?e.lane:c%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(c,o)}const d=s.get(e),p="number"==typeof d?d:this.options.estimateSize(c),f=r+p;i[c]={index:c,start:r,size:p,end:f,key:e,lane:o},u[o]=c}return this.measurementsCache=i,i},{key:!1,debug:()=>this.options.debug}),this.calculateRange=IU(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,a)=>this.range=e.length>0&&t>0?function({measurements:e,outerSize:t,scrollOffset:n,lanes:a}){const l=e.length-1;if(e.length<=a)return{startIndex:0,endIndex:l};let o=YU(0,l,t=>e[t].start,n),s=o;if(1===a)for(;s1){const r=Array(a).fill(0);for(;se=0&&i.some(e=>e>=n);){const t=e[o];i[t.lane]=t.start,o--}o=Math.max(0,o-o%a),s=Math.min(l,s+(a-1-s%a))}return{startIndex:o,endIndex:s}}({measurements:e,outerSize:t,scrollOffset:n,lanes:a}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=IU(()=>{let e=null,t=null;const n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,a,l)=>null===a||null===l?[]:e({startIndex:a,endIndex:l,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):-1},this._measureElement=(e,t)=>{const n=this.indexFromElement(e),a=this.measurementsCache[n];if(!a)return;const l=a.key,o=this.elementsCache.get(l);o!==e&&(o&&this.observer.unobserve(o),this.observer.observe(e),this.elementsCache.set(l,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{const n=this.measurementsCache[e];if(!n)return;const a=t-(this.itemSizeCache.get(n.key)??n.size);0!==a&&((void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(n,a,this):n.start{e?this._measureElement(e,void 0):this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))})},this.getVirtualItems=IU(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{const n=[];for(let a=0,l=e.length;athis.options.debug}),this.getVirtualItemForOffset=e=>{const t=this.getMeasurements();if(0!==t.length)return EU(t[YU(0,t.length-1,e=>EU(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;const a=this.getSize(),l=this.getScrollOffset();"auto"===t&&(t=e>=l+a?"end":"start"),"center"===t?e+=(n-a)/2:"end"===t&&(e-=a);const o=this.getMaxScrollOffset();return Math.max(Math.min(o,e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const n=this.measurementsCache[e];if(!n)return;const a=this.getSize(),l=this.getScrollOffset();if("auto"===t)if(n.end>=l+a-this.options.scrollPaddingEnd)t="end";else{if(!(n.start<=l+this.options.scrollPaddingStart))return[l,t];t="start"}if("end"===t&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];const o="end"===t?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(o,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t="start",behavior:n}={})=>{"smooth"===n&&this.isDynamicMode(),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t="auto",behavior:n}={})=>{"smooth"===n&&this.isDynamicMode(),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let a=0;const l=t=>{if(!this.targetWindow)return;const a=this.getOffsetForIndex(e,t);if(!a)return;const[l,s]=a;this._scrollToOffset(l,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{if(!this.targetWindow)return;const t=()=>{if(this.currentScrollToIndex!==e)return;const t=this.getScrollOffset(),n=this.getOffsetForIndex(e,s);var a,l;n&&(a=n[0],l=t,Math.abs(a-l)<1.01||o(s))};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(t):t()})},o=t=>{this.targetWindow&&this.currentScrollToIndex===e&&(a++,a<10&&this.targetWindow.requestAnimationFrame(()=>l(t)))};l(t)},this.scrollBy=(e,{behavior:t}={})=>{"smooth"===t&&this.isDynamicMode(),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{var e;const t=this.getMeasurements();let n;if(0===t.length)n=this.options.paddingStart;else if(1===this.options.lanes)n=(null==(e=t[t.length-1])?void 0:e.end)??0;else{const e=Array(this.options.lanes).fill(null);let a=t.length-1;for(;a>=0&&e.some(e=>null===e);){const n=t[a];null===e[n.lane]&&(e[n.lane]=n.end),a--}n=Math.max(...e.filter(e=>null!==e))}return Math.max(n-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=/* @__PURE__ */new Map,this.laneAssignments=/* @__PURE__ */new Map,this.notify(!1)},this.setOptions(e)}}const YU=(e,t,n,a)=>{for(;e<=t;){const l=(e+t)/2|0,o=n(l);if(oa))return l;t=l-1}}return e>0?e-1:0};function GU(){const e=A(),t=u("$"),n=u("__"),a=u("wfconstants"),l=u("$mitt"),o=u("$dataStore"),{$ajax:s}=yi(),{$hasOwn:r}=ai(),{$camelCase2SnakeCase:i}=Ri(),c=()=>{const e=(e,t)=>{const n=e.severity,l=t.severity;if(n>l)return-1;if(n-1&&i>-1?ri?1:0:r>-1?-1:i>-1?1:os?1:0};o.scanner.issues.$new.sort(e),o.scanner.issues.$ignored.sort(e)},d=(e,t,n,i,u=!1,d=null)=>{e=e||0,t=t||a.scanner.limit.issues_per_page,n=n||0,i=i||a.scanner.limit.issues_per_page,e>=o.scanner.issues.$newCount&&n>=o.scanner.issues.$ignoredCount?"function"==typeof d&&d(!0):s("wordfence_loadIssues",{offset:e,limit:t,ignoredOffset:n,ignoredLimit:i},e=>{l.emit("issueCountsUpdated",e.issueCounts),u||(o.scanner.issues.$new.splice(0,o.scanner.issues.$new.length),o.scanner.issues.$ignored.splice(0,o.scanner.issues.$ignored.length)),e.issues&&r(e.issues,"new")&&o.scanner.issues.$new.push(...e.issues.new),e.issues&&r(e.issues,"ignored")&&o.scanner.issues.$ignored.push(...e.issues.ignored),c(),"function"==typeof d&&d(!0)},()=>{"function"==typeof d&&d(!1)})},p=e?.appContext?.config?.globalProperties?.$dismissIssue,f=/* @__PURE__ */new Map,h=e=>{const t=m(e.message);t&&(f.has(t)||f.set(t,[]),f.get(t).push(e))},m=e=>String(e??"").trim().replace(/\s+/g," "),g=()=>{o.scanner.activityLog.$updatePending||!document.hasFocus()&&o.$options.liveActivityPauseEnabled?o.scanner.activityLog.$updatesPaused||o.scanner.activityLog.$updatePending||(o.scanner.activityLog.$updatesPaused=!0,t("body").addClass("wordfenceLiveActivityPaused")):(o.scanner.activityLog.$updatesPaused&&(o.scanner.activityLog.$updatesPaused=!1,t("body").removeClass("wordfenceLiveActivityPaused")),o.scanner.activityLog.$updatePending=!0,s("wordfence_activityLogUpdate",{lastid:o.scanner.activityLog.$lastID,lastissuetime:o.scanner.activityLog.$lastIssueTime},e=>{if(o.scanner.activityLog.$nextUpdateAt=/* @__PURE__ */(new Date).getTime()+a.plugin.update_interval,e.ok){if(e.items.length>0){let t=!1;e.items.filter(e=>!!e.msg).forEach(e=>{if(0===e.msg.indexOf("SUM_")){let a={summary:!0,timestamp:e.ctime,level:e.level,type:e.type,message:e.msg.replace(/^SUM_[^:]*:/,""),result:{type:"",message:"",premium:!1,loading:!1}};-1!==e.msg.indexOf("SUM_START:")?(a.result.loading=!0,h(a),o.scanner.activityLog.$queue.push(a)):-1!==e.msg.indexOf("SUM_ENDBAD")?w(a,"bad",n("Problems found.")):-1!==e.msg.indexOf("SUM_ENDFAILED")?w(a,"bad",n("Failed.")):-1!==e.msg.indexOf("SUM_ENDOK")?w(a,"ok",n("Secure.")):-1!==e.msg.indexOf("SUM_ENDSUCCESS")?w(a,"ok",n("Success.")):-1!==e.msg.indexOf("SUM_ENDERR")?w(a,"err",n("An error occurred.")):-1!==e.msg.indexOf("SUM_ENDSKIPPED")?w(a,"skipped",n("Skipped.")):-1!==e.msg.indexOf("SUM_ENDIGNORED")?w(a,"ignored",n("Ignored.")):-1!==e.msg.indexOf("SUM_DISABLED:")?(a.result.message=n("Disabled"),o.scanner.activityLog.$queue.push(a)):-1!==e.msg.indexOf("SUM_PAIDONLY:")?(a.result.premium=!0,o.scanner.activityLog.$queue.push(a)):-1!==e.msg.indexOf("SUM_FINAL:")?(a.final=!0,a.result.type="ok",a.result.message=n("Scan Complete."),o.scanner.activityLog.$queue.push(a),t=!0):-1!==e.msg.indexOf("SUM_PREP:")?(a.result.loading=!0,h(a),o.scanner.activityLog.$queue.push(a)):-1!==e.msg.indexOf("SUM_KILLED:")&&(a.result.type="ok",a.result.message=n("Scan Complete."),o.scanner.activityLog.$queue.push(a),t=!0)}else(a.debug||e.level<4)&&o.scanner.activityLog.$queue.push({timestamp:e.ctime,level:e.level,type:e.type,message:e.msg})}),o.scanner.activityLog.$lastID=e.items[e.items.length-1].id,v(),t&&d()}o.scanner.state.$scanStalled=!!parseInt(e.scanStalled),o.scanner.state.$scanRunning=!!parseInt(e.scanRunning),o.scanner.state.$scanFailed=e.scanFailed,o.scanner.activityLog.$lastStatusMessage=e.lastMessage,o.scanner.state.$lastScanStatusUpdate=1e3*e.lastScanStatusUpdate,o.scanner.state.$lastScanCompleted=e.lastScanCompleted,e.issues&&(o.scanner.activityLog.$lastIssueTime=e.issueUpdateTimestamp,o.scanner.issues.$new.splice(0,o.scanner.issues.$new.length),o.scanner.issues.$ignored.splice(0,o.scanner.issues.$ignored.length),r(e.issues,"new")&&o.scanner.issues.$new.push(...e.issues.new),r(e.issues,"ignored")&&o.scanner.issues.$ignored.push(...e.issues.ignored),c()),e.issueCounts&&l.emit("issueCountsUpdated",e.issueCounts),e.scanStats&&Object.keys(o.scanner.issues.$summary).forEach(t=>{const n=i(t);o.scanner.issues.$summary[t]=e.scanStats[t]??e.scanStats[n]??0}),e.scanStages&&Object.keys(e.scanStages).forEach(t=>{o.scanner.state.$scanStages[t]=e.scanStages[t]})}o.scanner.activityLog.$updatePending=!1},()=>{o.scanner.activityLog.$updatePending=!1},!0))},w=(e,t,n)=>{let a=null;const l=m(e.message),s=f.get(l);s&&s.length>0&&(a=s[s.length-1]),a||["$queue","$log"].forEach(e=>{if(!a)for(let t=o.scanner.activityLog[e].length-1;t>=0;t-=1){const n=o.scanner.activityLog[e][t];if(n.summary&&m(n.message)===l){a=n;break}}}),a&&(a.result={...a.result,loading:!1,type:t,message:n},(e=>{const t=m(e.message);if(!t||!f.has(t))return;const n=f.get(t),a=n.lastIndexOf(e);a>-1&&n.splice(a,1),0===n.length&&f.delete(t)})(a))},v=()=>{if(0===o.scanner.activityLog.$queue.length)return;const e=Math.max(1,o.scanner.activityLog.$nextUpdateAt-/* @__PURE__ */(new Date).getTime());let t=[];const n=Math.floor(.05*e),a=Math.max(1,o.scanner.activityLog.$queue.length-n);o.scanner.activityLog.$queue.length>0&&(t=o.scanner.activityLog.$queue.splice(0,Math.min(a,o.scanner.activityLog.$queue.length))),t.length>200&&t.splice(0,t.length-200),o.scanner.activityLog.$log.length+t.length>200&&o.scanner.activityLog.$log.splice(0,o.scanner.activityLog.$log.length+t.length-200),o.scanner.activityLog.$log.push(...t);let l=100;e>=1&&o.scanner.activityLog.$queue.length&&(l=Math.max(100,Math.round(e/o.scanner.activityLog.$queue.length))),setTimeout(v,l)};return{$loadIssues:d,$changeIssueStatus:(e,t)=>{s("wordfence_updateIssueStatus",{id:e,status:t},n=>{if(n.ok){l.emit("issueCountsUpdated",n.issueCounts);const s=o.scanner.issues.$new.findIndex(t=>t.id===e);if(s>-1)if(t===a.scanner.status.ignorep||t===a.scanner.status.ignorec){const e=o.scanner.issues.$new.splice(s,1)[0];e.status=t,o.scanner.issues.$ignored.push(e),c()}else"delete"===t&&p(e);else{const n=o.scanner.issues.$ignored.findIndex(t=>t.id===e);if(n>-1)if(t===a.scanner.status.new){const e=o.scanner.issues.$ignored.splice(n,1)[0];e.status=t,o.scanner.issues.$new.push(e),c()}else"delete"===t&&p(e)}}})},$dismissIssue:p,$startScan:()=>{o.scanner.state.$scanStalled||s("wordfence_scan",{},e=>{e.ok&&(o.scanner.state.$scanRunning=!0,o.scanner.issues.$new.splice(0,o.scanner.issues.$new.length),o.scanner.issues.$ignored.splice(0,o.scanner.issues.$ignored.length),f.clear(),l.emit("scanStarted"),l.emit("issueCountsUpdated",e.issueCounts))})},$killScan:(e=null)=>{s("wordfence_killScan",{},t=>{t.ok?(o.scanner.state.$scanRunning=!1,o.scanner.state.$scanFailed=!1,f.clear(),l.emit("scanStopped"),"function"==typeof e&&e(!0)):"function"==typeof e&&e(!1)},t=>{"function"==typeof e&&e(!1)})},$startActivityLogUpdates:()=>{o.scanner.activityLog.$updateInterval&&clearInterval(o.scanner.activityLog.$updateInterval),o.scanner.activityLog.$updateInterval=setInterval(()=>{g()},a.plugin.update_interval)},$stopActivityLogUpdates:()=>{o.scanner.activityLog.$updateInterval&&(clearInterval(o.scanner.activityLog.$updateInterval),o.scanner.activityLog.$updateInterval=!1)},$updateActivityLog:g}}const KU={key:0,class:"wf-flex-horizontal wf-flex-full-width wf-no-top"},ZU=["href"],QU={class:"wf-right wf-padding-add-left"},XU=["href"],JU={class:"wf-right wf-padding-add-left"},eq=["href"],tq={class:"wf-fa wf-fa-question-circle-o"},nq={class:"wf-right wf-padding-add-left"},aq={class:"wf-right wf-padding-add-left"},lq={key:0},oq={key:1},sq=["href"],rq={class:"wf-right wf-padding-add-left"},iq={class:"wf-right wf-padding-add-left"},uq=["href"],cq={href:"https://status.wordfence.com",target:"_blank",rel:"noopener noreferrer"},dq={class:"wf-add-top"},pq={class:"wf-right wf-padding-add-left"},fq=["href"],hq={href:"https://status.wordfence.com",target:"_blank",rel:"noopener noreferrer"},mq={class:"wf-add-top"},gq={class:"wf-right wf-padding-add-left"},wq={__name:"ScanFailed",setup(e){const l=u("__"),o=u("sprintf"),s=u("wfconstants"),c=u("$dataStore"),{$killScan:d}=GU(),{$timeAgo:p,$makeDuration:f}=Ri(),g=t(0),y=t(Date.now());T(()=>{g.value=setInterval(()=>{y.value=Date.now()},3e4)}),D(()=>{clearInterval(g.value)});const k=n(()=>{const e=(y.value-c.scanner.state.$lastScanStatusUpdate)/1e3;return e>s.scanner.limit.duration?p(s.scanner.limit.duration):p(e)});return(e,t)=>{const n=h("aria");return w(c).scanner.state.$scanFailed?(a(),r("ul",KU,[t[11]||(t[11]=v("li",null,[v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 116.93 108.46"},[v("path",{d:"M115.82,96.14,65.76,4.37a8.33,8.33,0,0,0-3.06-3.2,8.24,8.24,0,0,0-8.47,0,8.34,8.34,0,0,0-3.07,3.2L1.11,96.14a7.78,7.78,0,0,0,.13,8.21,8.16,8.16,0,0,0,3,3,8.13,8.13,0,0,0,4.14,1.11H108.52a8.36,8.36,0,0,0,7.17-4.11,7.78,7.78,0,0,0,.13-8.21Zm-49-6.52a2.09,2.09,0,0,1-.62,1.53,2,2,0,0,1-1.46.62H52.21a2,2,0,0,1-1.46-.62,2.08,2.08,0,0,1-.62-1.53V77.24a2.08,2.08,0,0,1,.62-1.53,2,2,0,0,1,1.46-.62H64.72a2,2,0,0,1,1.47.62,2.09,2.09,0,0,1,.62,1.53V89.62Zm-.13-24.37A1.45,1.45,0,0,1,66,66.32a2.66,2.66,0,0,1-1.53.42H52.4a2.81,2.81,0,0,1-1.56-.42,1.25,1.25,0,0,1-.65-1.08L49.08,35.46a1.56,1.56,0,0,1,.65-1.37,2.52,2.52,0,0,1,1.56-.72H65.64a2.51,2.51,0,0,1,1.57.72,1.43,1.43,0,0,1,.65,1.24Zm0,0"})])],-1)),w(c).scanner.state.$scanFailed===w(s).scanner.failure.general||w(c).scanner.state.$scanFailed===w(s).scanner.failure.forkfailed?(a(),r(m,{key:0},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,[x(b(w(l)("The previous scan has failed. Some sites may need adjustments to run scans reliably."))+" ",1),v("a",{href:w(s).support.url.scan_fails,target:"_blank",rel:"noopener noreferrer"},[x(b(w(l)("Click here for steps you can try.")),1),M(w(Bi))],8,ZU)])]),v("li",QU,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[0]||(t[0]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.timeout?(a(),r(m,{key:1},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,[x(b(w(o)(w(l)("The current scan looks like it has failed. Its last status update was more than %s ago. You may continue to wait in case it resumes or stop and restart the scan. Some sites may need adjustments to run scans reliably."),k.value))+" ",1),v("a",{href:w(s).support.url.scan_fails,target:"_blank",rel:"noopener noreferrer"},[x(b(w(l)("Click here for steps you can try.")),1),M(w(Bi))],8,XU)])]),v("li",JU,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[1]||(t[1]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Cancel Scan")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.duration?(a(),r(m,{key:2},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,[x(b(w(o)(w(l)("The previous scan has terminated because the time limit of %s was reached. This limit can be customized on the options page."),w(f)(w(s).scanner.limit.duration)))+" ",1),v("a",{href:w(s).support.url.scan_option_overall_time_limit,target:"_blank",rel:"noopener noreferrer",class:"wf-inline-help"},[_(v("i",tq,null,512),[[n,{hidden:!0}]]),M(w(Bi))],8,eq)])]),v("li",nq,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[2]||(t[2]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.versionchange?(a(),r(m,{key:3},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,b(w(l)("The previous scan has terminated because we detected an update occurring during the scan.")),1)]),v("li",aq,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[3]||(t[3]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.starttimeout||w(c).scanner.state.$scanFailed===w(s).scanner.failure.callbackfailed?(a(),r(m,{key:4},[v("li",null,[v("h4",null,b(w(l)("Scan Stage Failed")),1),v("p",null,[x(b(w(l)("A scan stage has failed to start. This is often because the site either cannot make outbound requests or is blocked from connecting to itself."))+" ",1),1===w(s).scanner.limit.resume_attempts?(a(),r("span",lq,b(w(l)("Wordfence will make one attempt to resume each failed scan stage. This scan may recover if this attempt is successful.")),1)):(a(),r("span",oq,b(w(o)(w(l)("Wordfence will make up to %d attempts to resume each failed scan stage. This scan may recover if one of these attempts is successful."),w(s).scanner.limit.resume_attempts)),1)),t[8]||(t[8]=x()),v("a",{href:w(s).support.url.scan_failed_start,target:"_blank",rel:"noopener noreferrer"},[x(b(w(l)("Click here for steps you can try.")),1),M(w(Bi))],8,sq)])]),v("li",rq,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[4]||(t[4]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.sslunavailable?(a(),r(m,{key:5},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,b(w(l)("Scans are not functional because SSL is unavailable.")),1)]),v("li",iq,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[5]||(t[5]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.apifailed?(a(),r(m,{key:6},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,[x(b(w(l)("The scan has failed because we were unable to contact the Wordfence servers. Some sites may need adjustments to run scans reliably."))+" ",1),v("a",{href:w(s).support.url.scan_fails,target:"_blank",rel:"noopener noreferrer"},[x(b(w(l)("Click here for steps you can try.")),1),M(w(Bi))],8,uq),t[9]||(t[9]=x()),v("a",cq,[x(b(w(l)("Check for a server outage.")),1),M(w(Bi))])]),v("p",dq,b(w(l)("The error returned was:")),1),v("pre",null,[M(w(Jg),{unsafeHTML:w(c).scanner.state.$lastScanCompleted},null,8,["unsafeHTML"])])]),v("li",pq,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[6]||(t[6]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):w(c).scanner.state.$scanFailed===w(s).scanner.failure.apiinvalid||w(c).scanner.state.$scanFailed===w(s).scanner.failure.apierror?(a(),r(m,{key:7},[v("li",null,[v("h4",null,b(w(l)("Scan Failed")),1),v("p",null,[x(b(w(l)("The scan has failed because we received an unexpected response from the Wordfence servers. This may be a temporary error, though some sites may need adjustments to run scans reliably."))+" ",1),v("a",{href:w(s).support.url.scan_fails,target:"_blank",rel:"noopener noreferrer"},[x(b(w(l)("Click here for steps you can try.")),1),M(w(Bi))],8,fq),t[10]||(t[10]=x()),v("a",hq,[x(b(w(l)("Check for a server outage.")),1),M(w(Bi))])]),v("p",mq,b(w(l)("The error returned was:")),1),v("pre",null,[M(w(Jg),{unsafeHTML:w(c).scanner.state.$lastScanCompleted},null,8,["unsafeHTML"])])]),v("li",gq,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:t[7]||(t[7]=$((...e)=>w(d)&&w(d)(...e),["prevent","stop"]))},[x(b(w(l)("Close")),1)])),[[n,{role:"button"}]])])],64)):i("",!0)])):i("",!0)}}},vq={class:"wfSummaryDate"},bq={key:0,href:"https://www.wordfence.com/wordfence-signup/",target:"_blank",rel:"noopener noreferrer"},yq={key:1,class:"wfSummaryLoading"},kq={__name:"ActivityLogEntry",props:{item:{type:Object,required:!0},measureRef:{type:Function,default:null}},setup(e){const l=u("__"),o=u("wfconstants"),{$isDisclosureActive:s}=Dv(),{$hasOwn:d}=ai(),p=t(!1),f=e,{item:h}=c(f);T(()=>{p.value=s("wf-scan-activity-log")});const m=n(()=>{let e=[];return e.push("wfActivityLine"),o.debug&&e.push("wf"+h.value.type),e}),g=n(()=>{let e=[];return e.push("wfSummaryMsg"),h.value.final&&e.push("wfSummaryFinal"),e}),y=n(()=>{let e=[];switch(e.push("wfSummaryResult"),h.value.result?.type){case"ok":case"result":e.push("wfSummaryOK");break;case"bad":e.push("wfSummaryBad");break;case"error":e.push("wfSummaryErr");break;case"ignored":e.push("wfSummaryIgnored")}return e});return(t,n)=>(a(),r("li",{class:k(m.value),ref:e.measureRef},[v("div",vq,[n[0]||(n[0]=x("[",-1)),M(w(kp),{timestamp:w(h).timestamp,dateFormat:"%b %d %H:%M:%S"},null,8,["timestamp"]),n[1]||(n[1]=x("]",-1))]),v("div",{class:k(g.value)},[M(w(Jg),{unsafeHTML:w(h).message},null,8,["unsafeHTML"])],2),w(d)(w(h),"result")?(a(),r("div",{key:0,class:k(y.value)},[x(b(w(h).result.message),1),w(h).result.premium?(a(),r("a",bq,b(w(l)("Paid Members Only"))+" ("+b(w(l)("opens in new tab"))+")",1)):i("",!0),w(h).result.loading?(a(),r("div",yq)):i("",!0)],2)):i("",!0)],2))}},_q={key:0,class:"wf-alert wf-alert-danger",id:"wf-scan-failed"},xq={class:"wf-flex-horizontal wf-flex-vertical-xs wf-flex-full-width wf-no-top wf-no-bottom"},Sq={id:"wf-scan-last-status"},Tq={id:"wf-scan-activity-log-controls"},Cq=["href"],Mq={class:"wf-scan-activity-log-visible"},Lq={class:"wf-scan-activity-log-hidden"},Aq={key:1,id:"wf-scan-running-bar"},Dq={key:0},Pq={__name:"ScanProgressDetailed",setup(e){const o=u("__"),c=u("$mitt"),p=u("wfconstants"),y=u("$dataStore"),{$isDisclosureActive:S,$setDisclosureActive:C}=Dv(),{$startActivityLogUpdates:A,$updateActivityLog:D}=GU(),{$addQueryArg:O}=Ri(),I=t(!1);T(()=>{I.value=S("wf-scan-activity-log"),D(),A()});const E=()=>{I.value=!I.value,C("wf-scan-activity-log",I.value),I.value&&j()},R=d("activityLogScroll"),N=n(()=>y.scanner.activityLog.$log.length),B=n(()=>{const e=y.scanner.activityLog.$log,t=e.at(-1);return t?[e.length,t.timestamp,t.message,t.result?.message??"",t.result?.loading?1:0,t.final?1:0].join("|"):""}),V=(F=n(()=>({count:N.value,getScrollElement:()=>R.value,estimateSize:()=>19,measureElement:e=>e.getBoundingClientRect().height,overscan:12})),function(e){const t=new zU(w(e)),n=L(t),a=t._didMount();return f(()=>w(e).getScrollElement(),e=>{e&&t._willUpdate()},{immediate:!0}),f(()=>w(e),e=>{t.setOptions({...e,onChange:(t,a)=>{var l;ue(n),null==(l=e.onChange)||l.call(e,t,a)}}),t._willUpdate(),ue(n)},{immediate:!0}),Z(a),n}(n(()=>({observeElementRect:FU,observeElementOffset:qU,scrollToFn:WU,...w(F)}))));var F;let U=!1,q=!1;const j=()=>{U?q=!0:(U=!0,P(()=>{requestAnimationFrame(()=>{const e=y.scanner.activityLog.$log.length-1;U=!1,e>=0&&V.value.scrollToIndex(e,{align:"end"}),q&&(q=!1,j())})}))};f(B,(e,t)=>{I.value&&e&&e!==t&&(()=>{const e=R.value;return!e||e.scrollHeight-(e.scrollTop+e.clientHeight)<=e.clientHeight})()&&j()});const W=e=>{e&&V.value.measureElement(e)},z=n(()=>O(p.plugin.url.scan_activity_log,{nonce:y.$wordfence.nonce["wp-ajax"]}));return(e,t)=>{const n=h("aria");return a(),r("div",null,[w(y).scanner.state.$scanFailed?(a(),r("div",_q,[M(w(wq))])):i("",!0),v("ul",xq,[v("li",Sq,b(w(y).scanner.activityLog.$lastStatusMessage),1),v("li",Tq,[_((a(),r("a",{href:"#",id:"wf-scan-email-activity-log",onClick:t[0]||(t[0]=$(e=>w(c).emit("showModal",{name:"scanner-email-activity-log-modal"}),["stop","prevent"]))},[M(w(Ic),{text:w(o)("Email activity log"),xs:w(o)("Email log")},null,8,["text","xs"])])),[[n,{role:"button"}]]),t[1]||(t[1]=x(" ",-1)),v("a",{href:z.value,id:"wf-scan-full-activity-log",target:"_blank"},[M(w(Ic),{text:w(o)("View full log"),xs:w(o)("View log")},null,8,["text","xs"]),M(w(Bi))],8,Cq),t[2]||(t[2]=x(" ",-1)),_((a(),r("a",{href:"#",id:"wf-scan-toggle-activity-log",class:k({"wf-active":I.value}),onClick:$(E,["stop","prevent"])},[v("span",Mq,b(w(o)("Hide log")),1),v("span",Lq,b(w(o)("Show log")),1)],2)),[[n,{role:"button"}]])])]),w(y).scanner.state.$scanRunning?(a(),r("div",Aq,[...t[3]||(t[3]=[v("div",{id:"wf-scan-running-bar-pill"},null,-1)])])):i("",!0),M(w(Hc),null,{default:s(()=>[I.value?(a(),r("div",Dq,[v("div",{id:"wf-scan-activity-log-scroll",ref_key:"activityLogScroll",ref:R},[v("ul",{id:"wf-scan-activity-log",ref:"activityLog",style:H({height:`${w(V).getTotalSize()}px`})},[(a(!0),r(m,null,g(w(V).getVirtualItems(),e=>(a(),l(w(kq),{item:w(y).scanner.activityLog.$log[e.index],key:w(y).scanner.activityLog.$log[e.index]?.ctime??e.index,style:H({transform:`translateY(${e.start}px)`}),"measure-ref":W,"data-index":e.index},null,8,["item","style","data-index"]))),128))],4)],512)])):i("",!0)]),_:1})])}}},Oq={class:"wf-issue-site-cleaning"},$q={class:"wf-issue-summary"},Iq={key:0,class:"wf-issue-short"},Eq={key:1,class:"wf-issue-short"},Rq={key:2,class:"wf-issue-short"},Nq={key:0},Bq={key:3,class:"wf-issue-controls"},Vq=["href"],Fq={key:4,class:"wf-issue-controls"},Hq=["href"],Uq={__name:"SiteCleaningCallout",props:{highSense:{default:!1},betaSigs:{default:!1}},setup(e){const t=u("__"),n=u("wfconstants"),{$isAtLeastCare:l,$isBelowCare:o}=Fc();return(s,u)=>(a(),r("ul",Oq,[v("li",$q,[v("ul",null,[u[0]||(u[0]=U('',1)),e.betaSigs?(a(),r("li",Iq,[v("p",null,[v("strong",null,b(w(t)("The results of your scan may indicate that you could benefit from Wordfence Site Cleaning")),1)]),v("p",null,b(w(t)("Since you have the beta threat defense feed enabled, there is a high likelihood that your results could include false positives. If you think you have indeed been hacked, our team of security experts can help.","wordfence")),1)])):e.highSense?(a(),r("li",Eq,[v("p",null,[v("strong",null,b(w(t)("The results of your scan may indicate that you could benefit from Wordfence Site Cleaning")),1)]),v("p",null,b(w(t)("Since you have High Sensitivity scanning enabled, there is a very high likelihood that your results will include false positives. If you think you have indeed been hacked, our team of security experts can help.","wordfence")),1)])):(a(),r("li",Rq,[v("p",null,[v("strong",null,b(w(t)("Need help with a security issue?")),1)]),w(o)?(a(),r("p",Nq,b(w(t)("Sign up for Wordfence Care and we'll take care of it. Our security experts will clean your site, resolve the infection, and perform a security audit. Get hands-on support with any security issue including help installing, configuring and optimizing Wordfence.")),1)):i("",!0)])),w(l)?(a(),r("li",Bq,[v("a",{class:"wf-btn wf-btn-primary wf-btn-callout-subtle",href:w(n).marketing.url.scanGetHelp,target:"_blank",rel:"noopener noreferrer"},[x(b(w(t)("Get Help")),1),M(w(Bi))],8,Vq)])):(a(),r("li",Fq,[v("a",{class:"wf-btn wf-btn-primary wf-btn-callout-subtle",href:w(n).marketing.url.scanGetHelpWordfenceCare,target:"_blank",rel:"noopener noreferrer"},[x(b(w(t)("Learn More About Wordfence Care","wordfence")),1),M(w(Bi))],8,Hq)]))])])]))}},qq=["data-issue-id","data-issue-type","data-issue-severity","data-high-sensitivity"],jq={class:"wf-issue-icon"},Wq={class:"wf-issue-short wf-hidden-xs"},zq={class:"wf-issue-message"},Yq={class:"wf-issue-type"},Gq={class:"wf-issue-stats wf-hidden-xs"},Kq={class:"wf-issue-time"},Zq={key:0,class:"wf-issue-severity-critical"},Qq={key:1,class:"wf-issue-severity-high"},Xq={key:2,class:"wf-issue-severity-medium"},Jq={key:3,class:"wf-issue-severity-low"},ej={class:"wf-issue-short-stats wf-hidden-sm wf-hidden-md wf-hidden-lg"},tj={class:"wf-issue-message wf-split-word-xs"},nj={class:"wf-issue-type"},aj={class:"wf-issue-time"},lj={key:0,class:"wf-issue-severity-critical"},oj={key:1,class:"wf-issue-severity-high"},sj={key:2,class:"wf-issue-severity-medium"},rj={key:3,class:"wf-issue-severity-low"},ij={class:"wf-issue-detail"},uj={__name:"ScanIssue",setup(e){const l=u("issueType"),o=u("issueTypeDisplay"),c=u("issueData"),d=u("__"),p=u("$mitt"),f=u("wfconstants");T(()=>{p.on("showDetails",S),h.value=y(c.value.id)}),D(()=>{p.off("showDetails",S)});const h=t(!1),m=n(()=>{let e=[];e.push(`wf-issue-${l}`);const t="wf-issue-severity-";switch(c.value.severity){case f.scanner.severity.critical:e.push(t+"critical");break;case f.scanner.severity.high:e.push(t+"high");break;case f.scanner.severity.medium:e.push(t+"medium");break;case f.scanner.severity.low:e.push(t+"low");break;default:e.push(t+"none")}return h.value&&e.push("wf-active"),e}),g=e=>`wf-scan-issue-expanded-${e}`,y=e=>{const t=g(e);return!!window.localStorage&&!!parseInt(window.localStorage.getItem(t))},S=e=>{if(c.value.id===e&&(h.value=!h.value,window.localStorage)){const t=g(e);window.localStorage.setItem(t,h.value?1:0)}};return(e,t)=>(a(),r("ul",{class:k(["wf-issue",m.value]),"data-issue-id":w(c).id,"data-issue-type":w(l),"data-issue-severity":w(c).severity,"data-high-sensitivity":w(c).data&&w(c).data.highSense?1:0},[v("li",{class:"wf-issue-summary",onClick:t[2]||(t[2]=$(e=>w(p).emit("showDetails",w(c).id),["stop","prevent"]))},[v("ul",null,[v("li",jq,[I(e.$slots,"icon")]),v("li",Wq,[v("div",zq,[I(e.$slots,"short-message",{},()=>[x(b(w(c).shortMsg),1)])]),v("div",Yq,b(w(d)("Type"))+": "+b(w(o)),1)]),v("li",Gq,[v("div",Kq,[x(b(w(d)("Issue Found"))+" ",1),M(w(kp),{timestamp:w(c).time},null,8,["timestamp"])]),w(c).severity==w(f).scanner.severity.critical?(a(),r("div",Zq,b(w(d)("Critical")),1)):w(c).severity==w(f).scanner.severity.high?(a(),r("div",Qq,b(w(d)("High")),1)):w(c).severity==w(f).scanner.severity.medium?(a(),r("div",Xq,b(w(d)("Medium")),1)):w(c).severity==w(f).scanner.severity.low?(a(),r("div",Jq,b(w(d)("Low")),1)):i("",!0)]),v("li",ej,[v("div",tj,[I(e.$slots,"short-message",{},()=>[x(b(w(c).shortMsg),1)])]),v("div",nj,b(w(d)("Type"))+": "+b(w(o)),1),v("div",aj,[x(b(w(d)("Found"))+" ",1),M(w(kp),{timestamp:w(c).time},null,8,["timestamp"])]),w(c).severity==w(f).scanner.severity.critical?(a(),r("div",lj,b(w(d)("Critical")),1)):w(c).severity==w(f).scanner.severity.high?(a(),r("div",oj,b(w(d)("High")),1)):w(c).severity==w(f).scanner.severity.medium?(a(),r("div",sj,b(w(d)("Medium")),1)):w(c).severity==w(f).scanner.severity.low?(a(),r("div",rj,b(w(d)("Low")),1)):i("",!0),v("div",{class:"wf-issue-controls",onClick:t[0]||(t[0]=$(()=>{},["stop"]))},[I(e.$slots,"issue-controls")])]),v("li",{class:"wf-issue-controls wf-hidden-xs",onClick:t[1]||(t[1]=$(()=>{},["stop"]))},[I(e.$slots,"issue-controls")])])]),M(w(Hc),null,{default:s(()=>[_(v("li",ij,[I(e.$slots,"issue-details")],512),[[F,h.value]])]),_:3})],10,qq))}},cj=(e,t)=>{const n=e.__vccOpts||e;for(const[a,l]of t)n[a]=l;return n},dj={viewBox:"0 0 106.37 106.37"},pj=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",dj,[...t[0]||(t[0]=[v("path",{d:"M100.89,64.92,87.34,51.36a18.89,18.89,0,0,0-26.85.26l-5.74-5.73a18.34,18.34,0,0,0,5.74-13.62A18,18,0,0,0,55.07,19L41.65,5.54A17.86,17.86,0,0,0,28.35,0,18,18,0,0,0,15.12,5.41L5.54,14.93A17.79,17.79,0,0,0,0,28.16a18.09,18.09,0,0,0,5.48,13.3L19,55a18.12,18.12,0,0,0,13.3,5.48,18.27,18.27,0,0,0,13.56-5.74l5.73,5.74a18.32,18.32,0,0,0-5.73,13.62A18,18,0,0,0,51.3,87.34l13.43,13.49a18.81,18.81,0,0,0,26.53.13l9.58-9.52a17.79,17.79,0,0,0,5.54-13.23,18.1,18.1,0,0,0-5.48-13.3ZM45.89,37l-1.21-1.24c-.67-.7-1.14-1.16-1.4-1.4s-.68-.56-1.24-1a5.26,5.26,0,0,0-1.66-.85,6.64,6.64,0,0,0-1.79-.23,6.24,6.24,0,0,0-6.26,6.26,6.6,6.6,0,0,0,.23,1.79A5.19,5.19,0,0,0,33.41,42a14.48,14.48,0,0,0,1,1.24c.24.26.71.73,1.4,1.4L37,45.89a6.3,6.3,0,0,1-4.7,2,6,6,0,0,1-4.43-1.76L14.34,32.59a6,6,0,0,1-1.82-4.43,5.94,5.94,0,0,1,1.82-4.36l9.58-9.52a6.3,6.3,0,0,1,4.43-1.76,6,6,0,0,1,4.43,1.83L46.21,27.83A6,6,0,0,1,48,32.26,6.33,6.33,0,0,1,45.89,37ZM92,82.58,82.45,92.1A6.28,6.28,0,0,1,78,93.79,6,6,0,0,1,73.59,92L60.16,78.54a6,6,0,0,1-1.82-4.43,6.33,6.33,0,0,1,2.15-4.76l1.21,1.24c.67.69,1.14,1.16,1.4,1.4a15,15,0,0,0,1.24,1,5.18,5.18,0,0,0,1.66.85,6.6,6.6,0,0,0,1.79.23A6.23,6.23,0,0,0,74,67.79,6.76,6.76,0,0,0,73.82,66,5.34,5.34,0,0,0,73,64.33c-.41-.56-.74-1-1-1.24s-.71-.73-1.4-1.4l-1.24-1.2A6.2,6.2,0,0,1,74,58.4a6,6,0,0,1,4.43,1.82L92,73.78a6,6,0,0,1,1.83,4.43A6,6,0,0,1,92,82.58Zm0,0"},null,-1)])])}]]),fj={class:"wf-issue-control-label"},hj={__name:"IgnoreIssue",props:{ignoreC:{type:[String,null],default:null},ignoreP:{type:[String,null],default:null}},setup(e){const t=e,l=d("choiceMenu"),o=u("issueData"),s=u("$"),p=u("__"),f=u("$mitt"),g=u("wfconstants");T(()=>{s(l.value).menu().hide()});const{ignoreC:y,ignoreP:k}=c(t),x=n(()=>{if(w(o).status===g.scanner.status.new){if(y.value&&k.value)return"choice";if(y.value)return g.scanner.status.ignorec;if(k.value)return g.scanner.status.ignorep}return g.scanner.status.new}),S=n(()=>{if(w(o).status===g.scanner.status.new){if(y.value&&k.value);else{if(y.value)return y.value;if(k.value)return k.value}return p("Ignore")}return p("Stop Ignoring")}),C=(e,t)=>{"choice"===t?(s(l.value).menu().show().position({my:"left top",at:"left bottom",of:e.target}),s(document).on("click",()=>{s(l.value).menu().hide()})):(f.emit("changeIgnore",{issueID:w(o).id,ignoreAction:t}),s(l.value).menu().hide())};return(e,t)=>{const n=h("aria");return a(),r(m,null,[_((a(),r("a",{href:"#",class:"wf-issue-control wf-issue-control-ignore",onClick:t[0]||(t[0]=$(e=>C(e,x.value),["prevent","stop"]))},[t[3]||(t[3]=v("svg",{class:"wf-issue-control-icon",viewBox:"0 0 116.8 87.6"},[v("path",{d:"M82.45,52A28.43,28.43,0,0,0,87.6,35.46,31.39,31.39,0,0,0,87.08,30L68.83,62.7A28.69,28.69,0,0,0,82.45,52Zm0,0"}),v("path",{d:"M85.12,6.91a1.64,1.64,0,0,0,.06-.59,2,2,0,0,0-1-1.76l-1.27-.75Q81.8,3.2,80.82,2.61c-.65-.39-1.37-.79-2.15-1.2s-1.45-.75-2-1A3.5,3.5,0,0,0,75.48,0a2,2,0,0,0-1.83,1L70.13,7.37A63.82,63.82,0,0,0,58.4,6.26a61.76,61.76,0,0,0-32.33,8.86A76,76,0,0,0,1.3,39.3a8.4,8.4,0,0,0,0,9,77.76,77.76,0,0,0,13.59,16A67.46,67.46,0,0,0,32.07,75.54q-2.87,4.89-2.87,5.67a2,2,0,0,0,1,1.83q8,4.56,8.74,4.56a2,2,0,0,0,1.82-1L44,80.76q6.91-12.32,20.6-37T85.12,6.91ZM36.18,68.25q-17-7.63-27.83-24.44a64,64,0,0,1,24.83-23,29,29,0,0,0-.78,27.89,28.73,28.73,0,0,0,8.86,10.36ZM60.62,21a3,3,0,0,1-2.22.91A13.58,13.58,0,0,0,44.84,35.46a3.13,3.13,0,1,1-6.26,0,19.07,19.07,0,0,1,5.83-14,19.07,19.07,0,0,1,14-5.83A3.14,3.14,0,0,1,60.62,21Zm0,0"}),v("path",{d:"M115.5,39.3a64.55,64.55,0,0,0-9.42-12,77.27,77.27,0,0,0-11.89-10l-4.11,7.3A66.76,66.76,0,0,1,108.46,43.8a67.26,67.26,0,0,1-19.65,20,54.11,54.11,0,0,1-25.59,8.93l-4.83,8.6a62.26,62.26,0,0,0,27.34-6.19,70.17,70.17,0,0,0,22.65-17.4,73,73,0,0,0,7.1-9.45,8.4,8.4,0,0,0,0-9Zm0,0"})],-1)),v("span",fj,b(S.value),1)])),[[n,{role:"button"}]]),w(y)&&w(k)?(a(),r("ul",{key:0,class:"wf-issue-control-ignore-menu",ref_key:"choiceMenu",ref:l},[v("li",{class:"wf-issue-control-ignore-menu-ignorec",onClick:t[1]||(t[1]=$(e=>C(e,w(g).scanner.status.ignorec),["prevent","stop"]))},[v("div",null,b(w(y)),1)]),v("li",{class:"wf-issue-control-ignore-menu-ignorep",onClick:t[2]||(t[2]=$(e=>C(e,w(g).scanner.status.ignorep),["prevent","stop"]))},[v("div",null,b(w(k)),1)])],512)):i("",!0)],64)}}},mj={class:"wf-issue-control-label"},gj={__name:"ShowDetails",setup(e){const t=u("__"),n=u("$mitt"),l=u("issueData");return(e,o)=>{const s=h("aria");return _((a(),r("a",{href:"#",class:"wf-issue-control wf-issue-control-show-details",onClick:o[0]||(o[0]=$(e=>w(n).emit("showDetails",w(l).id),["prevent","stop"]))},[o[1]||(o[1]=U('',2)),v("span",mj,b(w(t)("Details")),1)])),[[s,{role:"button"}]])}}},wj={__name:"MarkAsFixed",setup(e){const t=u("__"),n=u("$mitt"),l=u("issueData");return(e,o)=>{const s=h("aria");return _((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle wf-issue-control-mark-fixed",onClick:o[0]||(o[0]=$(e=>w(n).emit("markFixed",w(l).id),["prevent","stop"]))},[x(b(w(t)("Mark as Fixed")),1)])),[[s,{role:"button"}]])}}},vj={key:0},bj={class:"wfWarn wf-split-word"},yj={class:"wf-issue-detail-controls"},kj={__name:"IssueCheckGSB",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","checkGSB"),S("issueTypeDisplay",t("URL")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pj))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.badURL?(a(),r("li",vj,[v("strong",null,b(w(t)("Bad URL"))+": ",1),v("strong",bj,b(w(o).data.badURL),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",yj,[M(w(wj))])])]),_:1}))}},_j={viewBox:"0 0 20 20"},xj=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",_j,[...t[0]||(t[0]=[v("g",null,[v("path",{d:"M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z"})],-1)])])}]]),Sj={class:"wf-issue-detail-controls"},Tj={__name:"IssueCheckHowGetIPs",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("$"),n=u("__"),o=u("$mitt"),{$ajax:i}=yi(),{$modalNotice:d}=Ii(),p=e,{issueData:f}=c(p);S("issueData",f),S("issueType","checkHowGetIPs"),S("issueTypeDisplay",n("IP Detection"));const m=()=>{i("wordfence_misconfiguredHowGetIPsChoice",{issueID:f.value.id,choice:"yes"},e=>{e.ok&&(t("#wordfenceMisconfiguredHowGetIPsNotice").fadeOut(),d(n("Success updating option"),n("The 'How does Wordfence get IPs' option was successfully updated to the recommended value.")),o.emit("dismissIssue",f.value.id))})};return(e,t)=>{const o=h("aria");return a(),l(w(uj),null,{icon:s(()=>[M(w(xj))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(n)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(n)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(f).longMsg},null,8,["unsafeHTML"])]),v("li",Sj,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:$(m,["prevent","stop"])},[x(b(w(n)("Use Recommended Value")),1)])),[[o,{role:"button"}]]),M(w(wj))])])]),_:1})}}},Cj={class:"wf-issue-detail-controls"},Mj={__name:"IssueCheckSpamIP",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","checkSpamIP"),S("issueTypeDisplay",t("Spam")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(xj))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",Cj,[M(w(wj))])])]),_:1}))}},Lj=["href"],Aj={class:"wf-issue-control-label"},Dj={__name:"EditComment",setup(e){const t=u("__"),n=u("issueData");return(e,l)=>w(n).data?.editCommentLink?(a(),r("a",{key:0,href:w(n).data?.editCommentLink,class:"wf-issue-control wf-issue-control-edit-comment"},[l[0]||(l[0]=v("svg",{class:"wf-issue-control-icon",viewBox:"0 0 20 20"},[v("rect",{x:"0",fill:"none",width:"20",height:"20"}),v("g",null,[v("path",{d:"M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z"})])],-1)),v("span",Aj,b(w(t)("Edit")),1)],8,Lj)):i("",!0)}},Pj={key:0},Oj={key:1},$j={class:"wfWarn wf-split-word"},Ij={key:2},Ej={key:3},Rj={key:4},Nj={key:5},Bj={class:"wf-issue-detail-controls"},Vj={__name:"IssueCommentBadURL",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","commentBadURL"),S("issueTypeDisplay",t("URL")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pj))]),"issue-controls":s(()=>[M(w(Dj)),M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.author?(a(),r("li",Pj,[v("strong",null,b(w(t)("Author"))+": ",1),x(b(w(o).data.author),1)])):i("",!0),w(o).data?.badURL?(a(),r("li",Oj,[v("strong",null,b(w(t)("Bad URL"))+": ",1),v("strong",$j,b(w(o).data.badURL),1)])):i("",!0),w(o).data?.commentDate?(a(),r("li",Ij,[v("strong",null,b(w(t)("Posted on"))+": ",1),x(b(w(o).data.commentDate),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.isMultisite&&w(o).data?.blog_id?(a(),r("li",Ej,[v("strong",null,b(w(t)("Multisite Blog ID"))+": ",1),x(b(w(o).data.blog_id),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.domain?(a(),r("li",Rj,[v("strong",null,b(w(t)("Multisite Blog Domain"))+": ",1),x(b(w(o).data.domain),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.path?(a(),r("li",Nj,[v("strong",null,b(w(t)("Multisite Blog Path"))+": ",1),x(b(w(o).data.path),1)])):i("",!0),v("li",Bj,[M(w(wj))])])]),_:1}))}},Fj={class:"wf-issue-control-icon",viewBox:"0 0 46 55",style:{"fill-rule":"evenodd","clip-rule":"evenodd","stroke-linejoin":"round","stroke-miterlimit":"1.41421"}},Hj=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",Fj,[...t[0]||(t[0]=[v("path",{d:"M43.557,13.609l-11.214,-11.175c-1.303,-1.246 -2.962,-2.058 -4.747,-2.324l0,18.223l18.294,0c-0.269,-1.777 -1.084,-3.427 -2.333,-4.724l0,0Z",style:{"fill-rule":"nonzero"}},null,-1),v("path",{d:"M45.994,22.921l0,28.645c0.001,0.006 0.001,0.011 0.001,0.017c0,1.877 -1.551,3.423 -3.435,3.423c-0.004,0 -0.008,0 -0.012,-0.001l-39.102,0c-0.919,0.018 -1.804,-0.347 -2.443,-1.005c-0.658,-0.637 -1.022,-1.519 -1.003,-2.434l0,-48.127c-0.019,-0.914 0.345,-1.797 1.003,-2.434c0.64,-0.659 1.528,-1.024 2.449,-1.005l19.562,0l0,19.482c0,0.005 0,0.011 0,0.016c0,1.878 1.55,3.423 3.435,3.423l0.016,0l19.529,0Zm-15.947,6.153c0.015,-0.05 0.02,-0.103 0.016,-0.155c0.002,-0.191 -0.099,-0.369 -0.264,-0.464l-0.335,-0.198c-0.195,-0.107 -0.378,-0.213 -0.551,-0.316c-0.171,-0.103 -0.361,-0.208 -0.567,-0.317c-0.205,-0.108 -0.382,-0.197 -0.527,-0.263c-0.097,-0.055 -0.203,-0.092 -0.314,-0.108c-0.197,-0.01 -0.383,0.092 -0.482,0.263l-0.928,1.68c-1.02,-0.193 -2.055,-0.291 -3.092,-0.293c-3.002,-0.022 -5.952,0.786 -8.524,2.336c-2.638,1.594 -4.872,3.776 -6.53,6.374c-0.458,0.723 -0.458,1.65 0,2.373c0.998,1.562 2.204,2.981 3.583,4.218c1.35,1.213 2.877,2.213 4.529,2.964c-0.504,0.859 -0.756,1.357 -0.756,1.494c-0.01,0.198 0.092,0.384 0.263,0.483c1.406,0.801 2.174,1.202 2.304,1.202c0.197,0.009 0.382,-0.093 0.48,-0.264l0.854,-1.539c1.215,-2.166 3.025,-5.417 5.431,-9.755c2.406,-4.337 4.21,-7.576 5.41,-9.715Zm8.009,8.539c-0.7,-1.149 -1.533,-2.21 -2.483,-3.163c-0.954,-0.982 -2.004,-1.865 -3.135,-2.636l-1.083,1.924c1.938,1.345 3.586,3.067 4.845,5.062c-1.337,2.102 -3.102,3.898 -5.18,5.273c-2.013,1.344 -4.335,2.154 -6.747,2.354l-1.273,2.267c2.495,0.011 4.961,-0.547 7.208,-1.632c2.284,-1.103 4.316,-2.665 5.971,-4.587c0.69,-0.779 1.316,-1.612 1.872,-2.491c0.458,-0.723 0.458,-1.65 0,-2.373l0.005,0.002Zm-20.911,7.633c-2.988,-1.341 -5.434,-3.489 -7.337,-6.444c1.598,-2.571 3.859,-4.666 6.546,-6.063c-1.319,2.252 -1.397,5.03 -0.206,7.353c0.548,1.084 1.35,2.021 2.336,2.731l-1.339,2.423Zm12.198,-4.284c0.895,-1.277 1.37,-2.802 1.358,-4.361c-0.004,-0.483 -0.05,-0.964 -0.137,-1.439l-4.812,8.621c1.459,-0.548 2.713,-1.534 3.591,-2.821Zm-5.755,-8.173c-0.153,0.158 -0.365,0.245 -0.585,0.24c-1.959,0.003 -3.571,1.613 -3.575,3.572c0,0.453 -0.373,0.825 -0.825,0.825c-0.453,0 -0.826,-0.372 -0.826,-0.825c-0.019,-1.389 0.537,-2.726 1.537,-3.691c0.965,-1 2.302,-1.557 3.691,-1.537c0.454,0 0.828,0.374 0.828,0.828c0,0.221 -0.088,0.433 -0.245,0.588l0,0Z"},null,-1)])])}]]),Uj={class:"wf-issue-control-label"},qj={__name:"HideFile",setup(e){const t=u("__"),n=u("$mitt"),l=u("issueData");return(e,o)=>{const s=h("aria");return _((a(),r("a",{href:"#",class:"wf-issue-control wf-issue-control-hide-file",onClick:o[0]||(o[0]=$(e=>w(n).emit("hideFile",w(l).id),["prevent","stop"]))},[M(w(Hj)),v("span",Uj,b(w(t)("Hide File")),1)])),[[s,{role:"button"}]])}}};function jj(){const e=u("wfconstants"),t=u("$dataStore"),{$addQueryArg:n}=Ri(),a=(e,t)=>"realFile"in t?n(e,{realFile:t.realFile??"",realFileToken:t.realFileToken??""}):e;return{$insertRealFileParameters:a,$makeDiffLink:l=>a(n(e.plugin.url.diff_file,{nonce:t.$wordfence.nonce["wp-ajax"],file:l.file??"",cType:l.cType??"",cKey:l.cKey??"",cName:l.cName??"",cVersion:l.cVersion??""}),l),$makeViewFileLink:l=>a(n(e.plugin.url.view_file,{nonce:t.$wordfence.nonce["wp-ajax"],file:l.file??""}),l),$makeDownloadFileLink:l=>a(n(e.plugin.url.download_file,{nonce:t.$wordfence.nonce["wp-ajax"],file:l.file??""}),l),$makeDownloadHtaccessFileLink:a=>n(e.plugin.url.download_htaccess_file,{nonce:t.$wordfence.nonce["wp-ajax"]}),$makeViewOptionLink:(a,l)=>n(e.plugin.url.view_option,{nonce:t.$wordfence.nonce["wp-ajax"],option:a,site_id:l})}}const Wj=["href"],zj={__name:"ViewFile",setup(e){const t=u("__"),l=u("issueData"),{$makeViewFileLink:o}=jj(),{$hasOwn:s}=ai(),i=n(()=>l.value.data&&s(l.value.data,"file")?o(l.value.data):"");return(e,n)=>(a(),r("a",{target:"_blank",class:"wf-btn wf-btn-default wf-btn-callout-subtle",rel:"noopener noreferrer",href:i.value},[x(b(w(t)("View File")),1),M(w(Bi))],8,Wj))}},Yj={__name:"DeleteFile",setup(e){const t=u("__"),n=u("$mitt"),l=u("issueData");return(e,o)=>{const s=h("aria");return _((a(),r("a",{target:"_blank",class:"wf-btn wf-btn-default wf-btn-callout-subtle wf-issue-control-delete-file",rel:"noopener noreferrer",href:"#",onClick:o[0]||(o[0]=$(e=>w(n).emit("deleteFile",w(l).id),["prevent","stop"]))},[x(b(w(t)("Delete File")),1)])),[[s,{role:"button"}]])}}},Gj={key:0},Kj=["href"],Zj={class:"wf-issue-detail-controls"},Qj={__name:"IssueConfigReadable",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","configReadable"),S("issueTypeDisplay",t("URL")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pj))]),"issue-controls":s(()=>[M(w(qj)),M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.url?(a(),r("li",Gj,[v("strong",null,b(w(t)("URL"))+": ",1),v("a",{href:w(o).data.url,target:"_blank",rel:"noopener noreferrer"},[x(b(w(o).data.url),1),M(w(Bi))],8,Kj)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",Zj,[w(o).data?.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(o).data?.canDelete?(a(),l(w(Yj),{key:1})):i("",!0),M(w(wj))])])]),_:1}))}},Xj={viewBox:"0 0 46 55"},Jj=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",Xj,[...t[0]||(t[0]=[v("path",{d:"M43.557,13.609l-11.214,-11.175c-1.303,-1.246 -2.962,-2.058 -4.747,-2.324l0,18.223l18.294,0c-0.269,-1.777 -1.084,-3.427 -2.333,-4.724l0,0Z"},null,-1),v("path",{d:"M26.465,22.921c-0.005,0 -0.011,0 -0.016,0c-1.885,0 -3.435,-1.545 -3.435,-3.423c0,-0.005 0,-0.011 0,-0.016l0,-19.482l-19.562,0c-0.921,-0.019 -1.809,0.346 -2.449,1.005c-0.658,0.637 -1.022,1.52 -1.003,2.434l0,48.127c-0.019,0.915 0.345,1.797 1.003,2.434c0.639,0.658 1.524,1.023 2.443,1.005l39.102,0c0.004,0.001 0.008,0.001 0.012,0.001c1.884,0 3.435,-1.546 3.435,-3.423c0,-0.006 0,-0.011 -0.001,-0.017l0,-28.645l-19.529,0Z"},null,-1)])])}]]),eW={class:"wf-issue-detail-controls"},tW={__name:"IssueCoreUnknown",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","coreUnknown"),S("issueTypeDisplay",t("Unknown Core File")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(Jj))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Always Ignore Version"),"ignore-c":w(t)("Ignore Until Version Changes")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",eW,[w(o).data.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(o).data.canDelete?(a(),l(w(Yj),{key:1})):i("",!0),M(w(wj))])])]),_:1}))}},nW={viewBox:"0 0 20 20"},aW=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",nW,[...t[0]||(t[0]=[v("g",null,[v("path",{d:"M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z"})],-1)])])}]]),lW=["href"],oW={__name:"ViewWordPressOption",setup(e){const t=u("__"),l=u("issueData"),{$makeViewOptionLink:o}=jj(),{$hasOwn:s}=ai(),i=n(()=>l.value.data&&s(l.value.data,"option_name")&&s(l.value.data,"site_id")?o(l.value.data.option_name,l.value.data.site_id):"");return(e,n)=>(a(),r("a",{target:"_blank",class:"wf-btn wf-btn-default wf-btn-callout-subtle",rel:"noopener noreferrer",href:i.value},[x(b(w(t)("View Option")),1),M(w(Bi))],8,lW))}},sW={key:0},rW={key:1},iW={class:"wfWarn wf-split-word"},uW={class:"wf-issue-detail-controls"},cW={__name:"IssueDatabase",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=u("sprintf"),o=u("$mitt"),{$ajax:d,$ajaxErrorMessage:p}=yi(),{$modalNotice:f,$errorModal:m}=Ii(),g=e,{issueData:y}=c(g);S("issueData",y),S("issueType","database"),S("issueTypeDisplay",t("Option"));const k=()=>{d("wordfence_deleteDatabaseOption",{issueID:y.value.id},e=>{e.ok&&(f(t("Success removing option"),n(t("The option %s was successfully removed."),e.option_name)),o.emit("dismissIssue",y.value.id))},e=>{m(n(t("Error removing option: %s"),p(e)))})};return(e,n)=>{const o=h("aria");return a(),l(w(uj),null,{icon:s(()=>[M(w(aW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore Option"),"ignore-c":w(t)("Ignore Value")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(y).data?.option_name?(a(),r("li",sW,[v("strong",null,b(w(t)("Option Name"))+": ",1),x(b(w(y).data.option_name),1)])):i("",!0),w(y).data?.badURL?(a(),r("li",rW,[v("strong",null,b(w(t)("Bad URL"))+": ",1),v("strong",iW,b(w(y).data.badURL),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(y).longMsg},null,8,["unsafeHTML"])]),v("li",uW,[w(y).data.optionExists?(a(),l(w(oW),{key:0})):i("",!0),w(y).data?.canDelete?_((a(),r("a",{key:1,href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:$(k,["prevent","stop"])},[x(b(w(t)("Delete Option")),1)])),[[o,{role:"button"}]]):i("",!0),M(w(wj))])])]),_:1})}}},dW={viewBox:"0 0 116.8 91.77"},pW=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",dW,[...t[0]||(t[0]=[v("path",{d:"M112.17,35.72A57.35,57.35,0,0,0,81.08,4.63a57.88,57.88,0,0,0-45.36,0A57.38,57.38,0,0,0,4.63,35.72,58.26,58.26,0,0,0,9.19,89.88a4,4,0,0,0,3.52,1.89h91.38a4,4,0,0,0,3.52-1.89,58.25,58.25,0,0,0,4.56-54.16ZM52.5,10.79a8.34,8.34,0,0,1,14.24,5.9,8,8,0,0,1-2.44,5.9,8.34,8.34,0,0,1-11.8,0,8,8,0,0,1-2.44-5.9,8,8,0,0,1,2.44-5.9ZM22.59,64.3a8,8,0,0,1-5.9,2.45,8,8,0,0,1-5.9-2.45,8.34,8.34,0,0,1,0-11.8,8,8,0,0,1,5.9-2.45,8,8,0,0,1,5.9,2.45,8.35,8.35,0,0,1,0,11.8ZM35.1,35.1a8.34,8.34,0,0,1-11.8,0,8.34,8.34,0,0,1,0-11.8,8.35,8.35,0,0,1,11.8,0,8.34,8.34,0,0,1,0,11.8ZM72,35.65l-6.59,24.9a12.39,12.39,0,0,1,4.7,5.93,12.54,12.54,0,0,1-5.41,15.25A12.2,12.2,0,0,1,55.21,83a12,12,0,0,1-7.63-5.8,12.49,12.49,0,0,1,2.8-15.94,12.42,12.42,0,0,1,7-2.84l6.59-24.9a4.1,4.1,0,0,1,2-2.57A3.88,3.88,0,0,1,69,30.57a4.27,4.27,0,0,1,3,5.08Zm9.68-.56a8.34,8.34,0,0,1,0-11.8,8.34,8.34,0,0,1,14.24,5.9A8.34,8.34,0,0,1,81.7,35.1ZM106,64.3a8.34,8.34,0,1,1-11.8-11.8A8.34,8.34,0,1,1,106,64.3Zm0,0"},null,-1)])])}]]),fW={key:0},hW={class:"wf-issue-detail-controls"},mW={__name:"IssueDiskSpace",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","diskSpace"),S("issueTypeDisplay",t("Disk Space")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.spaceLeft?(a(),r("li",fW,[v("strong",null,b(w(t)("Space Remaining"))+": ",1),x(b(w(o).data.spaceLeft),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",hW,[M(w(wj))])])]),_:1}))}},gW={viewBox:"0 0 91.77 100.11"},wW=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",gW,[...t[0]||(t[0]=[v("path",{d:"M45.89,50.06a24.1,24.1,0,0,0,17.69-7.34A24.1,24.1,0,0,0,70.91,25a24.11,24.11,0,0,0-7.33-17.7A24.12,24.12,0,0,0,45.89,0a24.12,24.12,0,0,0-17.7,7.33A24.11,24.11,0,0,0,20.86,25a24.1,24.1,0,0,0,7.33,17.7,24.11,24.11,0,0,0,17.7,7.34Zm0,0"},null,-1),v("path",{d:"M91.54,76.49a66.22,66.22,0,0,0-.91-7.1,54.55,54.55,0,0,0-1.73-7.07A33.35,33.35,0,0,0,86.1,56a22.92,22.92,0,0,0-4-5.28,17,17,0,0,0-5.57-3.49,19.61,19.61,0,0,0-7.27-1.3,8,8,0,0,0-2.74,1.4q-2.15,1.41-4.86,3.13a30.77,30.77,0,0,1-7,3.13,27.68,27.68,0,0,1-17.4,0,30.59,30.59,0,0,1-7-3.13q-2.71-1.72-4.86-3.13a8,8,0,0,0-2.74-1.4,19.6,19.6,0,0,0-7.27,1.3,17,17,0,0,0-5.57,3.49,22.9,22.9,0,0,0-4,5.28,33.29,33.29,0,0,0-2.8,6.35,55.38,55.38,0,0,0-1.73,7.07,66.22,66.22,0,0,0-.91,7.1Q0,79.78,0,83.24q0,7.82,4.76,12.35t12.64,4.53h57q7.89,0,12.65-4.53t4.76-12.35q0-3.46-.23-6.75Zm0,0"},null,-1)])])}]]),vW={key:0},bW={key:1},yW={key:2},kW={class:"wf-issue-detail-controls"},_W={__name:"IssueEasyPassword",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","easyPassword"),S("issueTypeDisplay",t("Insecure Password")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(wW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore All for User"),"ignore-c":w(t)("Ignore Only this Password")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.user_login?(a(),r("li",vW,[v("strong",null,b(w(t)("Login Name"))+": ",1),x(b(w(o).data.user_login),1)])):i("",!0),w(o).data?.user_email?(a(),r("li",bW,[v("strong",null,b(w(t)("User Email"))+": ",1),x(b(w(o).data.user_email),1)])):i("",!0),w(o).data?.first_name?(a(),r("li",yW,[v("strong",null,b(w(t)("Full Name"))+": ",1),x(b(w(o).data.first_name)+" "+b(w(o).data.last_name),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",kW,[M(w(wj))])])]),_:1}))}},xW=["href"],SW={__name:"ViewDiff",setup(e){const t=u("__"),l=u("issueData"),{$makeDiffLink:o}=jj(),{$hasOwn:s}=ai(),i=n(()=>l.value.data&&s(l.value.data,"file")?o(l.value.data):"");return(e,n)=>(a(),r("a",{target:"_blank",class:"wf-btn wf-btn-default wf-btn-callout-subtle",rel:"noopener noreferrer",href:i.value},[x(b(w(t)("View Differences")),1),M(w(Bi))],8,xW))}},TW={class:"wf-split-word-xs"},CW={key:0},MW={class:"wf-issue-detail-controls"},LW={__name:"IssueFile",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),{$ucfirst:n}=Ri(),o=e,{issueData:d}=c(o);return S("issueData",d),S("issueType","file"),S("issueTypeDisplay",t("File")),(e,o)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(Jj))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Always Ignore"),"ignore-c":w(t)("Ignore Until File Changes")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Filename"))+": ",1),v("span",TW,b(w(d).data?.realFile),1)]),v("li",null,[v("strong",null,b(w(t)("File Type"))+": ",1),w(d).data?.cType?(a(),r(m,{key:0},[x(b(w(n)(w(d).data?.cType)),1)],64)):w(d).data?.wpconfig?(a(),r(m,{key:1},[x(b(w(t)("WordPress Configuration File")),1)],64)):(a(),r(m,{key:2},[x(b(w(t)("Not a core, theme, or plugin file from wordpress.org","wordfence")),1)],64))]),w(d).data?.badURL?(a(),r("li",CW,[v("strong",null,b(w(t)("Bad URL"))+": ",1),x(b(w(d).data?.badURL),1)])):i("",!0),o[2]||(o[2]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(d).longMsg},null,8,["unsafeHTML"]),w(d).data?.wpconfig?(a(),r(m,{key:0},[o[0]||(o[0]=v("br",null,null,-1)),o[1]||(o[1]=v("br",null,null,-1)),x(b(w(t)("This is your main configuration file and cannot be deleted. It must be cleaned manually.")),1)],64)):i("",!0)]),v("li",MW,[w(d).data?.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(d).data?.canDiff?(a(),l(w(SW),{key:1})):i("",!0),w(d).data?.canDelete?(a(),l(w(Yj),{key:2})):i("",!0),M(w(wj))])])]),_:1}))}},AW={class:"wf-issue-detail-controls"},DW={__name:"IssueGeoipSupport",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","geoipSupport"),S("issueTypeDisplay",t("Server Update")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(wW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",AW,[M(w(wj))])])]),_:1}))}},PW={class:"wf-issue-control-icon",viewBox:"0 0 106.7 106.7"},OW=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",PW,[...t[0]||(t[0]=[U('',5)])])}]]),$W={class:"wf-issue-control-label"},IW={__name:"RepairFile",setup(e){const t=u("__"),n=u("$mitt"),l=u("issueData");return(e,o)=>{const s=h("aria");return _((a(),r("a",{href:"#",class:"wf-issue-control wf-issue-control-repair",onClick:o[0]||(o[0]=$(e=>w(n).emit("repairFile",w(l)),["prevent","stop"]))},[M(w(OW)),v("span",$W,b(w(t)("Repair")),1)])),[[s,{role:"button"}]])}}},EW={class:"wf-split-word-xs"},RW={key:0},NW={class:"wf-issue-detail-controls"},BW={__name:"IssueKnownfile",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),{$ucfirst:n}=Ri(),o=e,{issueData:d}=c(o);return S("issueData",d),S("issueType","knownfile"),S("issueTypeDisplay",t("File")),(e,o)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(Jj))]),"issue-controls":s(()=>[w(d).data?.canFix?(a(),l(w(IW),{key:0})):i("",!0),M(w(hj),{"ignore-p":w(t)("Always Ignore"),"ignore-c":w(t)("Ignore Until File Changes")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Filename"))+": ",1),v("span",EW,b(w(d).data?.realFile),1)]),v("li",null,[v("strong",null,b(w(t)("File Type"))+": ",1),w(d).data?.cType?(a(),r(m,{key:0},[x(b(w(n)(w(d).data?.cType)),1)],64)):(a(),r(m,{key:1},[x(b(w(t)("Not a core, theme, or plugin file from wordpress.org","wordfence")),1)],64))]),w(d).data?.badURL?(a(),r("li",RW,[v("strong",null,b(w(t)("Bad URL"))+": ",1),x(b(w(d).data?.badURL),1)])):i("",!0),o[0]||(o[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(d).longMsg},null,8,["unsafeHTML"])]),v("li",NW,[w(d).data?.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(d).data?.canDiff?(a(),l(w(SW),{key:1})):i("",!0),w(d).data?.canDelete?(a(),l(w(Yj),{key:2})):i("",!0),M(w(wj))])])]),_:1}))}},VW={key:0},FW={key:1},HW={class:"wfWarn wf-split-word"},UW={key:2},qW={key:3},jW={key:4},WW={class:"wf-issue-detail-controls"},zW={__name:"IssueOptionBadURL",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","optionBadURL"),S("issueTypeDisplay",t("URL")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(aW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore Option"),"ignore-c":w(t)("Ignore URL")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.optionKey?(a(),r("li",VW,[v("strong",null,b(w(t)("Option Name"))+": ",1),x(b(w(o).data.optionKey),1)])):i("",!0),w(o).data?.badURL?(a(),r("li",FW,[v("strong",null,b(w(t)("Bad URL"))+": ",1),v("strong",HW,b(w(o).data.badURL),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.isMultisite&&w(o).data?.blog_id?(a(),r("li",UW,[v("strong",null,b(w(t)("Multisite Blog ID"))+": ",1),x(b(w(o).data.blog_id),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.domain?(a(),r("li",qW,[v("strong",null,b(w(t)("Multisite Blog Domain"))+": ",1),x(b(w(o).data.domain),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.path?(a(),r("li",jW,[v("strong",null,b(w(t)("Multisite Blog Path"))+": ",1),x(b(w(o).data.path),1)])):i("",!0),v("li",WW,[M(w(wj))])])]),_:1}))}},YW={viewBox:"0 0 20 20"},GW=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",YW,[...t[0]||(t[0]=[v("rect",{x:"0",fill:"none",width:"20",height:"20"},null,-1),v("g",null,[v("path",{d:"M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z"})],-1)])])}]]),KW=["href"],ZW={class:"wf-issue-control-label"},QW={__name:"EditPost",setup(e){const t=u("__"),n=u("issueData");return(e,l)=>w(n).data?.editPostLink?(a(),r("a",{key:0,href:w(n).data?.editPostLink,class:"wf-issue-control wf-issue-control-edit-post"},[l[0]||(l[0]=v("svg",{class:"wf-issue-control-icon",viewBox:"0 0 20 20"},[v("rect",{x:"0",fill:"none",width:"20",height:"20"}),v("g",null,[v("path",{d:"M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z"})])],-1)),v("span",ZW,b(w(t)("Edit")),1)],8,KW)):i("",!0)}},XW={key:0},JW={class:"wfWarn"},ez={key:1},tz={key:2},nz={key:3},az={key:4},lz={class:"wf-issue-detail-controls"},oz={__name:"IssuePostBadTitle",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","postBadTitle"),S("issueTypeDisplay",t("Post")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(GW))]),"issue-controls":s(()=>[M(w(QW)),M(w(hj),{"ignore-p":w(t)("Always Ignore"),"ignore-c":w(t)("Ignore Only this Title")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.postTitle?(a(),r("li",XW,[v("strong",null,b(w(t)("Title"))+": ",1),v("strong",JW,b(w(o).data.postTitle),1)])):i("",!0),w(o).data?.postDate?(a(),r("li",ez,[v("strong",null,b(w(t)("Posted on"))+": ",1),x(b(w(o).data.postDate),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.isMultisite&&w(o).data?.blog_id?(a(),r("li",tz,[v("strong",null,b(w(t)("Multisite Blog ID"))+": ",1),x(b(w(o).data.blog_id),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.domain?(a(),r("li",nz,[v("strong",null,b(w(t)("Multisite Blog Domain"))+": ",1),x(b(w(o).data.domain),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.path?(a(),r("li",az,[v("strong",null,b(w(t)("Multisite Blog Path"))+": ",1),x(b(w(o).data.path),1)])):i("",!0),v("li",lz,[M(w(wj))])])]),_:1}))}},sz={key:0},rz={class:"wfWarn"},iz={key:1},uz={class:"wfWarn wf-split-word"},cz={key:2},dz={key:3},pz={key:4},fz={key:5},hz={class:"wf-issue-detail-controls"},mz={__name:"IssuePostBadURL",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","postBadURL"),S("issueTypeDisplay",t("URL")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pj))]),"issue-controls":s(()=>[M(w(QW)),M(w(hj),{"ignore-p":w(t)("Always Ignore"),"ignore-c":w(t)("Ignore this URL")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.postTitle?(a(),r("li",sz,[v("strong",null,b(w(t)("Title"))+": ",1),v("strong",rz,b(w(o).data.postTitle),1)])):i("",!0),w(o).data?.badURL?(a(),r("li",iz,[v("strong",null,b(w(t)("Bad URL"))+": ",1),v("strong",uz,b(w(o).data.badURL),1)])):i("",!0),w(o).data?.postDate?(a(),r("li",cz,[v("strong",null,b(w(t)("Posted on"))+": ",1),x(b(w(o).data.postDate),1)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.isMultisite&&w(o).data?.blog_id?(a(),r("li",dz,[v("strong",null,b(w(t)("Multisite Blog ID"))+": ",1),x(b(w(o).data.blog_id),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.domain?(a(),r("li",pz,[v("strong",null,b(w(t)("Multisite Blog Domain"))+": ",1),x(b(w(o).data.domain),1)])):i("",!0),w(o).data?.isMultisite&&w(o).data?.path?(a(),r("li",fz,[v("strong",null,b(w(t)("Multisite Blog Path"))+": ",1),x(b(w(o).data.path),1)])):i("",!0),v("li",hz,[M(w(wj))])])]),_:1}))}},gz={key:0},wz=["href"],vz={class:"wf-issue-detail-controls"},bz={__name:"IssuePubliclyAccessible",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","publiclyAccessible"),S("issueTypeDisplay",t("Quarantined File")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(aW))]),"issue-controls":s(()=>[M(w(qj)),M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.url?(a(),r("li",gz,[v("strong",null,b(w(t)("URL"))+": ",1),v("a",{href:w(o).data.url,target:"_blank",rel:"noopener noreferrer"},[x(b(w(o).data.url),1),M(w(Bi))],8,wz)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",vz,[w(o).data?.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(o).data?.canDelete?(a(),l(w(Yj),{key:1})):i("",!0),M(w(wj))])])]),_:1}))}},yz=["href"],kz={__name:"OptionLink",props:{optionName:{type:String,default:""}},setup(e){const t=u("__"),l=u("wfconstants"),{$hasOwn:o}=ai(),s=e,{optionName:i}=c(s),d=n(()=>o(l.options.url,i.value)?l.options.url[i.value]:"#unknown-option-"+i.value);return(e,n)=>(a(),r("a",{href:d.value,class:"wf-btn wf-btn-default wf-btn-callout-subtle"},b(w(t)("Go To Option")),9,yz))}},_z={class:"wf-issue-detail-controls"},xz={__name:"IssueSkippedPaths",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","skippedPaths"),S("issueTypeDisplay",t("Skipped Paths")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(aW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Always Ignore Version"),"ignore-c":w(t)("Ignore Until Version Changes")},null,8,["ignore-p","ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",_z,[M(w(kz),{optionName:"other_scanOutside"}),M(w(wj))])])]),_:1}))}},Sz={class:"wf-issue-detail-controls"},Tz={__name:"IssueSpamvertizeCheck",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","spamvertizeCheck"),S("issueTypeDisplay",t("Spam")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(xj))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",Sz,[M(w(wj))])])]),_:1}))}},Cz={class:"wf-issue-detail-controls"},Mz={__name:"IssueSuspiciousAdminUsers",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=u("sprintf"),o=u("$mitt"),{$ajax:i}=yi(),{$modalNotice:d}=Ii(),p=e,{issueData:f}=c(p);S("issueData",f),S("issueType","suspiciousAdminUsers"),S("issueTypeDisplay",t("Unknown Administrator"));const m=()=>{i("wordfence_deleteAdminUser",{issueID:f.value.id},e=>{e.ok&&(d(t("Successfully deleted admin"),n(t("The admin user %s was successfully deleted."),e.user_login)),o.emit("dismissIssue",f.value.id))})},g=()=>{i("wordfence_revokeAdminUser",{issueID:f.value.id},e=>{e.ok&&(d(t("Successfully revoked admin"),n(t("All capabilities of admin user %s were successfully revoked."),e.user_login)),o.emit("dismissIssue",f.value.id))})},y=()=>{i("wordfence_acknowledgeAdminUser",{issueID:f.value.id},e=>{e.ok&&(d(t("Successfully acknowledged admin"),n(t("The admin user %s will no longer show up in future scans."),e.user_login)),o.emit("dismissIssue",f.value.id))})};return(e,n)=>{const o=h("aria");return a(),l(w(uj),null,{icon:s(()=>[M(w(wW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(f).longMsg},null,8,["unsafeHTML"])]),v("li",Cz,[_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:$(m,["prevent","stop"])},[x(b(w(t)("Delete User")),1)])),[[o,{role:"button"}]]),_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:$(g,["prevent","stop"])},[x(b(w(t)("Revoke Capabilities")),1)])),[[o,{role:"button"}]]),_((a(),r("a",{href:"#",class:"wf-btn wf-btn-default wf-btn-callout-subtle",onClick:$(y,["prevent","stop"])},[x(b(w(t)("Acknowledge User")),1)])),[[o,{role:"button"}]]),M(w(wj))])])]),_:1})}}},Lz={class:"wf-issue-detail-controls"},Az={__name:"IssueTimelimit",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","timelimit"),S("issueTypeDisplay",t("Time Limit")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",Lz,[M(w(wj))])])]),_:1}))}},Dz={class:"wf-issue-detail-controls"},Pz={__name:"IssueWafStatus",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wafStatus"),S("issueTypeDisplay",t("WAF Status")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(pW))]),"issue-controls":s(()=>[M(w(hj),{"ignore-p":w(t)("Ignore")},null,8,["ignore-p"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Status"))+": ",1),x(b(w(o).data.wafStatusDisplay),1)]),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",Dz,[M(w(wj))])])]),_:1}))}},Oz={viewBox:"0 0 20 20"},$z=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",Oz,[...t[0]||(t[0]=[v("g",null,[v("path",{d:"M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z"})],-1)])])}]]),Iz={href:"https://www.wordfence.com/help/scan/scan-results/#assistant-plugin-removed",target:"_blank"},Ez={class:"screen-reader-text"},Rz={class:"wf-issue-detail-controls"},Nz={__name:"IssueWfAssistantPresent",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wfAssistantPresent"),S("issueTypeDisplay",t("Wordfence Assistant Present")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w($z))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Plugin Name"))+": ",1),x(b(w(t)("Wordfence Assistant")),1)]),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"]),n[0]||(n[0]=v("br",null,null,-1)),v("a",Iz,[x(b(w(t)("Click here to learn more"))+" ",1),v("span",Ez,"("+b(w(t)("opens in new tab"))+")",1)])]),v("li",Rz,[M(w(wj))])])]),_:1}))}},Bz=["href"],Vz={__name:"WordPressLink",props:{pageName:{type:String,default:""}},setup(e){const t=u("wfconstants"),{$hasOwn:l}=ai(),o=e,{pageName:s}=c(o),i=n(()=>l(t.wordpress.url,s.value)?t.wordpress.url[s.value]:"#unknown-page-"+s.value);return(e,t)=>(a(),r("a",{href:i.value,class:"wf-btn wf-btn-default wf-btn-callout-subtle"},[I(e.$slots,"default")],8,Bz))}},Fz={key:0},Hz={key:1},Uz={key:2},qz={key:0},jz={key:3},Wz=["href"],zz={key:4},Yz=["href"],Gz={key:5},Kz=["href"],Zz={key:6},Qz={class:"wf-issue-detail-controls"},Xz={__name:"IssueWfPluginAbandoned",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wfPluginAbandoned"),S("issueTypeDisplay",t("Plugin Abandoned")),(e,n)=>{const u=h("tooltip");return a(),l(w(uj),null,{icon:s(()=>[M(w($z))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.name?(a(),r("li",Fz,[v("strong",null,b(w(t)("Plugin Name"))+": ",1),x(b(w(o).data.name),1)])):i("",!0),w(o).data?.version?(a(),r("li",Hz,[v("strong",null,b(w(t)("Current Plugin Version"))+": ",1),x(b(w(o).data.version),1)])):i("",!0),w(o).data?.dateUpdated?(a(),r("li",Uz,[v("strong",null,b(w(t)("Last Updated"))+": ",1),x(b(w(o).data.dateUpdated),1)])):i("",!0),n[2]||(n[2]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),w(o).data?.vulnerable?(a(),r("strong",qz,[x(b(w(t)("Plugin has unpatched security issues.")),1),n[0]||(n[0]=v("br",null,null,-1))])):i("",!0),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[3]||(n[3]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.homepage?(a(),r("li",jz,[v("strong",null,b(w(t)("Plugin URL"))+": ",1),v("a",{href:w(o).data.homepage,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.homepage,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,Wz)])):i("",!0),w(o).data?.wpURL?(a(),r("li",zz,[v("strong",null,b(w(t)("Repository URL"))+": ",1),v("a",{href:w(o).data.wpURL,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.wpURL,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,Yz)])):i("",!0),w(o).data?.vulnerabilityLink?(a(),r("li",Gz,[v("strong",null,b(w(t)("Vulnerability Information"))+": ",1),v("a",{href:w(o).data.vulnerabilityLink,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.vulnerabilityLink,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,Kz)])):i("",!0),w(o).data?.cvssScore?(a(),r("li",Zz,[v("strong",null,b(w(t)("Vulnerability Severity"))+": ",1),x(b(w(o).data.cvssScore)+"/10.0 (",1),_((a(),r("span",{class:k(w(o).data.severityClass)},[x(b(w(o).data.severityLabel),1)],2)),[[u,w(t)("This is the severity of the vulnerability itself, which can differ from the scan result severity. Some lower-severity vulnerabilities may still be important to address depending on your site's configuration and user base, so they are still important for you to review.")]]),n[1]||(n[1]=x(")",-1))])):i("",!0),v("li",Qz,[M(w(wj)),M(w(Vz),{"page-name":"plugins"},{default:s(()=>[x(b(w(t)("Manage Plugins")),1)]),_:1})])])]),_:1})}}},Jz={key:0},eY={key:1},tY={key:2},nY=["href"],aY={key:3},lY=["href"],oY={key:4},sY={class:"wf-issue-detail-controls"},rY={__name:"IssueWfPluginRemoved",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wfPluginRemoved"),S("issueTypeDisplay",t("Plugin Removed")),(e,n)=>{const u=h("tooltip");return a(),l(w(uj),null,{icon:s(()=>[M(w($z))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.Name?(a(),r("li",Jz,[v("strong",null,b(w(t)("Plugin Name"))+": ",1),x(b(w(o).data.Name),1)])):i("",!0),w(o).data?.Version?(a(),r("li",eY,[v("strong",null,b(w(t)("Current Plugin Version"))+": ",1),x(b(w(o).data.Version),1)])):i("",!0),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[2]||(n[2]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.PluginURI?(a(),r("li",tY,[v("strong",null,b(w(t)("Plugin URL"))+": ",1),v("a",{href:w(o).data.PluginURI,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.PluginURI,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,nY)])):i("",!0),w(o).data?.vulnerabilityLink?(a(),r("li",aY,[v("strong",null,b(w(t)("Vulnerability Information"))+": ",1),v("a",{href:w(o).data.vulnerabilityLink,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.vulnerabilityLink,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,lY)])):i("",!0),w(o).data?.cvssScore?(a(),r("li",oY,[v("strong",null,b(w(t)("Vulnerability Severity"))+": ",1),x(b(w(o).data.cvssScore)+"/10.0 (",1),_((a(),r("span",{class:k(w(o).data.severityClass)},[x(b(w(o).data.severityLabel),1)],2)),[[u,w(t)("This is the severity of the vulnerability itself, which can differ from the scan result severity. Some lower-severity vulnerabilities may still be important to address depending on your site's configuration and user base, so they are still important for you to review.")]]),n[0]||(n[0]=x(")",-1))])):i("",!0),v("li",sY,[M(w(wj)),M(w(Vz),{"page-name":"plugins"},{default:s(()=>[x(b(w(t)("Manage Plugins")),1)]),_:1})])])]),_:1})}}},iY={key:0},uY={key:1},cY={key:2},dY={key:0},pY=["href"],fY={key:3},hY=["href"],mY={key:4},gY=["href"],wY={key:5},vY=["href"],bY={key:6},yY={class:"wf-issue-detail-controls"},kY={__name:"IssueWfPluginUpgrade",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=u("wfconstants"),o=e,{issueData:d}=c(o);return S("issueData",d),S("issueType","wfPluginUpgrade"),S("issueTypeDisplay",t("Plugin Upgrade")),(e,o)=>{const u=h("tooltip");return a(),l(w(uj),null,{icon:s(()=>[M(w($z))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(d).data?.Name?(a(),r("li",iY,[v("strong",null,b(w(t)("Plugin Name"))+": ",1),x(b(w(d).data.Name),1)])):i("",!0),w(d).data?.Version?(a(),r("li",uY,[v("strong",null,b(w(t)("Current Plugin Version"))+": ",1),x(b(w(d).data.Version),1)])):i("",!0),w(d).data?.newVersion?(a(),r("li",cY,[v("strong",null,b(w(t)("New Plugin Version"))+": ",1),x(b(w(d).data.newVersion),1)])):i("",!0),o[3]||(o[3]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),w(d).data?.vulnerable?(a(),r("strong",dY,[x(b(w(t)("Update includes security-related fixes.")),1),o[0]||(o[0]=v("br",null,null,-1))])):i("",!0),M(w(Jg),{unsafeHTML:w(d).longMsg},null,8,["unsafeHTML"]),o[1]||(o[1]=v("br",null,null,-1)),v("a",{href:w(n).wordpress.url.updates},b(w(t)("Click here to update now")),9,pY)]),o[4]||(o[4]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(d).data?.PluginURI?(a(),r("li",fY,[v("strong",null,b(w(t)("Plugin URL"))+": ",1),v("a",{href:w(d).data.PluginURI,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(d).data.PluginURI,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,hY)])):i("",!0),w(d).data?.wpURL?(a(),r("li",mY,[v("strong",null,b(w(t)("Changelog"))+": ",1),v("a",{href:w(d).data.wpURL+"/#developers",target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(d).data.wpURL+"/#developers",xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,gY)])):i("",!0),w(d).data?.vulnerabilityLink?(a(),r("li",wY,[v("strong",null,b(w(t)("Vulnerability Information"))+": ",1),v("a",{href:w(d).data.vulnerabilityLink,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(d).data.vulnerabilityLink,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,vY)])):i("",!0),w(d).data?.cvssScore?(a(),r("li",bY,[v("strong",null,b(w(t)("Vulnerability Severity"))+": ",1),x(b(w(d).data.cvssScore)+"/10.0 (",1),_((a(),r("span",{class:k(w(d).data.severityClass)},[x(b(w(d).data.severityLabel),1)],2)),[[u,w(t)("This is the severity of the vulnerability itself, which can differ from the scan result severity. Some lower-severity vulnerabilities may still be important to address depending on your site's configuration and user base, so they are still important for you to review.")]]),o[2]||(o[2]=x(")",-1))])):i("",!0),v("li",yY,[M(w(wj)),M(w(Vz),{"page-name":"updates"},{default:s(()=>[x(b(w(t)("View Updates")),1)]),_:1})])])]),_:1})}}},_Y={key:0},xY={key:1},SY={key:2},TY=["href"],CY={key:3},MY=["href"],LY={key:4},AY={class:"wf-issue-detail-controls"},DY={__name:"IssueWfPluginVulnerable",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wfPluginVulnerable"),S("issueTypeDisplay",t("Plugin Vulnerable")),(e,n)=>{const u=h("tooltip");return a(),l(w(uj),null,{icon:s(()=>[M(w($z))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.Name?(a(),r("li",_Y,[v("strong",null,b(w(t)("Plugin Name"))+": ",1),x(b(w(o).data.Name),1)])):i("",!0),w(o).data?.Version?(a(),r("li",xY,[v("strong",null,b(w(t)("Current Plugin Version"))+": ",1),x(b(w(o).data.Version),1)])):i("",!0),n[1]||(n[1]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),n[2]||(n[2]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(o).data?.wpURL?(a(),r("li",SY,[v("strong",null,b(w(t)("Repository URL"))+": ",1),v("a",{href:w(o).data.wpURL,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.wpURL,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,TY)])):i("",!0),w(o).data?.vulnerabilityLink?(a(),r("li",CY,[v("strong",null,b(w(t)("Vulnerability Information"))+": ",1),v("a",{href:w(o).data.vulnerabilityLink,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(o).data.vulnerabilityLink,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,MY)])):i("",!0),w(o).data?.cvssScore?(a(),r("li",LY,[v("strong",null,b(w(t)("Vulnerability Severity"))+": ",1),x(b(w(o).data.cvssScore)+"/10.0 (",1),_((a(),r("span",{class:k(w(o).data.severityClass)},[x(b(w(o).data.severityLabel),1)],2)),[[u,w(t)("This is the severity of the vulnerability itself, which can differ from the scan result severity. Some lower-severity vulnerabilities may still be important to address depending on your site's configuration and user base, so they are still important for you to review.")]]),n[0]||(n[0]=x(")",-1))])):i("",!0),v("li",AY,[M(w(wj)),M(w(Vz),{"page-name":"plugins"},{default:s(()=>[x(b(w(t)("Manage Plugins")),1)]),_:1})])])]),_:1})}}},PY={viewBox:"0 0 20 20"},OY=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",PY,[...t[0]||(t[0]=[v("g",null,[v("path",{d:"M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z"})],-1)])])}]]),$Y={key:0},IY={key:1},EY={key:2},RY={key:0},NY=["href"],BY={key:3},VY=["href"],FY={key:4},HY=["href"],UY={key:5},qY={class:"wf-issue-detail-controls"},jY={__name:"IssueWfThemeUpgrade",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=u("wfconstants"),o=e,{issueData:d}=c(o);return S("issueData",d),S("issueType","wfThemeUpgrade"),S("issueTypeDisplay",t("Theme Upgrade")),(e,o)=>{const u=h("tooltip");return a(),l(w(uj),null,{icon:s(()=>[M(w(OY))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(d).data?.name?(a(),r("li",$Y,[v("strong",null,b(w(t)("Theme Name"))+": ",1),x(b(w(d).data.name),1)])):i("",!0),w(d).data?.version?(a(),r("li",IY,[v("strong",null,b(w(t)("Current Theme Version"))+": ",1),x(b(w(d).data.version),1)])):i("",!0),w(d).data?.newVersion?(a(),r("li",EY,[v("strong",null,b(w(t)("New Theme Version"))+": ",1),x(b(w(d).data.newVersion),1)])):i("",!0),o[3]||(o[3]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),w(d).data?.vulnerable?(a(),r("strong",RY,[x(b(w(t)("Update includes security-related fixes.")),1),o[0]||(o[0]=v("br",null,null,-1))])):i("",!0),M(w(Jg),{unsafeHTML:w(d).longMsg},null,8,["unsafeHTML"]),o[1]||(o[1]=v("br",null,null,-1)),v("a",{href:w(n).wordpress.url.updates},b(w(t)("Click here to update now")),9,NY)]),o[4]||(o[4]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(d).data?.URL?(a(),r("li",BY,[v("strong",null,b(w(t)("Theme URL"))+": ",1),v("a",{href:w(d).data.URL,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(d).data.URL,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,VY)])):i("",!0),w(d).data?.vulnerabilityLink?(a(),r("li",FY,[v("strong",null,b(w(t)("Vulnerability Information"))+": ",1),v("a",{href:w(d).data.vulnerabilityLink,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(d).data.vulnerabilityLink,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,HY)])):i("",!0),w(d).data?.cvssScore?(a(),r("li",UY,[v("strong",null,b(w(t)("Vulnerability Severity"))+": ",1),x(b(w(d).data.cvssScore)+"/10.0 (",1),_((a(),r("span",{class:k(w(d).data.severityClass)},[x(b(w(d).data.severityLabel),1)],2)),[[u,w(t)("This is the severity of the vulnerability itself, which can differ from the scan result severity. Some lower-severity vulnerabilities may still be important to address depending on your site's configuration and user base, so they are still important for you to review.")]]),o[2]||(o[2]=x(")",-1))])):i("",!0),v("li",qY,[M(w(wj)),M(w(Vz),{"page-name":"updates"},{default:s(()=>[x(b(w(t)("View Updates")),1)]),_:1})])])]),_:1})}}},WY={viewBox:"0 0 20 20"},zY=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("svg",WY,[...t[0]||(t[0]=[v("g",null,[v("path",{d:"M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z"})],-1)])])}]]),YY={key:0},GY={key:1},KY={key:0},ZY=["href"],QY={key:2},XY=["href"],JY={key:3},eG={class:"wf-issue-detail-controls"},tG={__name:"IssueWfUpgrade",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=u("wfconstants"),o=e,{issueData:d}=c(o);return S("issueData",d),S("issueType","wfUpgrade"),S("issueTypeDisplay",t("Core Upgrade")),(e,o)=>{const u=h("tooltip");return a(),l(w(uj),null,{icon:s(()=>[M(w(zY))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(d).data?.currentVersion?(a(),r("li",YY,[v("strong",null,b(w(t)("Current WordPress Version"))+": ",1),x(b(w(d).data.currentVersion),1)])):i("",!0),w(d).data?.newVersion?(a(),r("li",GY,[v("strong",null,b(w(t)("New WordPress Version"))+": ",1),x(b(w(d).data.newVersion),1)])):i("",!0),o[3]||(o[3]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),w(d).data?.vulnerable?(a(),r("strong",KY,[x(b(w(t)("Update includes security-related fixes.")),1),o[0]||(o[0]=v("br",null,null,-1))])):i("",!0),M(w(Jg),{unsafeHTML:w(d).longMsg},null,8,["unsafeHTML"]),o[1]||(o[1]=v("br",null,null,-1)),v("a",{href:w(n).wordpress.url.updates},b(w(t)("Click here to update now")),9,ZY)]),o[4]||(o[4]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),w(d).data?.vulnerabilityLink?(a(),r("li",QY,[v("strong",null,b(w(t)("Vulnerability Information"))+": ",1),v("a",{href:w(d).data.vulnerabilityLink,target:"_blank",rel:"noopener noreferrer"},[M(w(Ic),{textClass:"wf-split-word",text:w(d).data.vulnerabilityLink,xs:w(t)("View")},null,8,["text","xs"]),M(w(Bi))],8,XY)])):i("",!0),w(d).data?.cvssScore?(a(),r("li",JY,[v("strong",null,b(w(t)("Vulnerability Severity"))+": ",1),x(b(w(d).data.cvssScore)+"/10.0 (",1),_((a(),r("span",{class:k(w(d).data.severityClass)},[x(b(w(d).data.severityLabel),1)],2)),[[u,w(t)("This is the severity of the vulnerability itself, which can differ from the scan result severity. Some lower-severity vulnerabilities may still be important to address depending on your site's configuration and user base, so they are still important for you to review.")]]),o[2]||(o[2]=x(")",-1))])):i("",!0),v("li",eG,[M(w(wj)),M(w(Vz),{"page-name":"updates"},{default:s(()=>[x(b(w(t)("View Updates")),1)]),_:1})])])]),_:1})}}},nG={class:"wf-issue-detail-controls"},aG={__name:"IssueWfUpgradeError",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wfUpgradeError"),S("issueTypeDisplay",t("Update Check Error")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w($z))]),"issue-controls":s(()=>[M(w(hj),{"ignore-c":w(t)("Ignore Update")},null,8,["ignore-c"]),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",nG,[M(w(wj)),M(w(Vz),{"page-name":"updates"},{default:s(()=>[x(b(w(t)("View Updates")),1)]),_:1})])])]),_:1}))}},lG={key:0},oG=["href"],sG={class:"wf-issue-detail-controls"},rG={__name:"IssueWpscanDirectoryList",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wpscan_directoryList"),S("issueTypeDisplay",t("Directory Listing Enabled")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(Jj))]),"issue-controls":s(()=>[M(w(hj)),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.url?(a(),r("li",lG,[v("strong",null,b(w(t)("URL"))+": ",1),v("a",{href:w(o).data.url,target:"_blank",rel:"noopener noreferrer"},[x(b(w(o).data.url),1),M(w(Bi))],8,oG)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",sG,[w(o).data.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(o).data.canDelete?(a(),l(w(Yj),{key:1})):i("",!0),M(w(wj))])])]),_:1}))}},iG={key:0},uG=["href"],cG={class:"wf-issue-detail-controls"},dG={__name:"IssueWpscanFullPathDiscl",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__"),n=e,{issueData:o}=c(n);return S("issueData",o),S("issueType","wpscan_fullPathDiscl"),S("issueTypeDisplay",t("Full Path Disclosure")),(e,n)=>(a(),l(w(uj),null,{icon:s(()=>[M(w(Jj))]),"issue-controls":s(()=>[M(w(hj)),M(w(gj))]),"issue-details":s(()=>[v("ul",null,[w(o).data?.url?(a(),r("li",iG,[v("strong",null,b(w(t)("URL"))+": ",1),v("a",{href:w(o).data.url,target:"_blank",rel:"noopener noreferrer"},[x(b(w(o).data.url),1),M(w(Bi))],8,uG)])):i("",!0),n[0]||(n[0]=v("li",{class:"wf-issue-detail-spacer"},null,-1)),v("li",null,[v("strong",null,b(w(t)("Details"))+": ",1),M(w(Jg),{unsafeHTML:w(o).longMsg},null,8,["unsafeHTML"])]),v("li",cG,[w(o).data.fileExists?(a(),l(w(zj),{key:0})):i("",!0),w(o).data.canDelete?(a(),l(w(Yj),{key:1})):i("",!0),M(w(wj))])])]),_:1}))}},pG={class:"wf-issue wf-issue-severity-good","data-issue-id":"issue-type-unknown"},fG={class:"wf-issue-summary"},hG={class:"wf-issue-short"},mG={class:"wf-issue-message"},gG={__name:"IssueDefault",props:{issueData:{type:Object,default:()=>({})}},setup(e){const t=u("__");return(n,l)=>(a(),r("ul",pG,[v("li",fG,[v("ul",null,[v("li",hG,[v("div",mG,b(w(t)("An unknown issue type was found:"))+" "+b(e.issueData.type)+" ("+b(e.issueData.id)+")",1)]),l[0]||(l[0]=v("li",{class:"wf-issue-stats"},null,-1)),l[1]||(l[1]=v("li",{class:"wf-issue-controls"},null,-1))])])]))}},wG={id:"wf-scan-results-container"},vG={class:"wf-scan-tabs"},bG=["aria-selected"],yG=["aria-selected"],kG={id:"wf-scan-bulk-buttons"},_G={class:"wf-hidden-xs"},xG={class:"wf-scan-results"},SG={class:"wf-scan-results-stats"},TG={class:"wf-block wf-active"},CG={class:"wf-block-content"},MG={class:"wf-block-list wf-block-list-horizontal wf-block-list-horizontal-5 wf-block-list-equal wf-hidden-xs"},LG={class:"wf-flex-horizontal wf-flex-full-width"},AG={class:"wf-scan-results-stats-postscommentsfiles"},DG={class:"wf-flex-horizontal wf-flex-full-width"},PG={class:"wf-scan-results-stats-themesplugins"},OG={class:"wf-flex-horizontal wf-flex-full-width"},$G={class:"wf-scan-results-stats-users"},IG={class:"wf-flex-horizontal wf-flex-full-width"},EG={class:"wf-scan-results-stats-urls"},RG={class:"wf-flex-horizontal wf-flex-full-width"},NG={class:"wf-scan-results-stats-issues"},BG={class:"wf-block-list wf-hidden-sm wf-hidden-md wf-hidden-lg"},VG={class:"wf-flex-horizontal wf-flex-full-width"},FG={class:"wf-scan-results-stats-postscommentsfiles"},HG={class:"wf-flex-horizontal wf-flex-full-width"},UG={class:"wf-scan-results-stats-themesplugins"},qG={class:"wf-flex-horizontal wf-flex-full-width"},jG={class:"wf-scan-results-stats-users"},WG={class:"wf-flex-horizontal wf-flex-full-width"},zG={class:"wf-scan-results-stats-urls"},YG={class:"wf-flex-horizontal wf-flex-full-width"},GG={class:"wf-scan-results-stats-issues"},KG={key:0,class:"wf-issue wf-issue-severity-good","data-issue-id":"no-issues-new"},ZG={class:"wf-issue-summary"},QG={class:"wf-issue-short"},XG={class:"wf-issue-message"},JG={key:0,class:"wf-issue wf-issue-severity-good","data-issue-id":"no-issues-ignored"},eK={class:"wf-issue-summary"},tK={class:"wf-issue-short"},nK={class:"wf-issue-message"},aK={__name:"ScanResults",props:{issueType:{type:String,default:"new"}},setup(e){const o={IssueCheckGSB:kj,IssueCheckHowGetIPs:Tj,IssueCheckSpamIP:Mj,IssueCommentBadURL:Vj,IssueConfigReadable:Qj,IssueCoreUnknown:tW,IssueDatabase:cW,IssueDiskSpace:mW,IssueEasyPassword:_W,IssueFile:LW,IssueGeoipSupport:DW,IssueKnownfile:BW,IssueOptionBadURL:zW,IssuePostBadTitle:oz,IssuePostBadURL:mz,IssuePubliclyAccessible:bz,IssueSkippedPaths:xz,IssueSpamvertizeCheck:Tz,IssueSuspiciousAdminUsers:Mz,IssueTimelimit:Az,IssueWafStatus:Pz,IssueWfAssistantPresent:Nz,IssueWfPluginAbandoned:Xz,IssueWfPluginRemoved:rY,IssueWfPluginUpgrade:kY,IssueWfPluginVulnerable:DY,IssueWfThemeUpgrade:jY,IssueWfUpgrade:tG,IssueWfUpgradeError:aG,IssueWpscanDirectoryList:rG,IssueWpscanFullPathDiscl:dG,IssueDefault:gG},s=u("__"),c=u("sprintf"),d=u("$mitt"),p=u("wfconstants"),C=u("$dataStore"),{$hasOwn:L}=ai(),A=t("new"),O=t(null),I=t(!1),E=t(null),R=t(null),{$loadIssues:N,$changeIssueStatus:B,$dismissIssue:V}=GU();S("summary",ne(C.scanner.issues.$summary)),S("newIssueCount",ne(C.scanner.issues.$newCount)),S("ignoredIssueCount",ne(C.scanner.issues.$ignoredCount));const{$ajax:F,$ajaxErrorMessage:H}=yi(),{$modal:U,$modalNotice:q,$modalNoticeHTML:j,$errorModalHTML:W}=Ii(),{$snakeCase2PascalCase:z}=Ri();T(()=>{d.on("changeIgnore",ce),d.on("deleteFile",de),d.on("hideFile",pe),d.on("repairFile",he),d.on("markFixed",me),d.on("confirmBulkDelete",ge),d.on("confirmBulkRepair",we),X(),N()}),D(()=>{d.off("changeIgnore",ce),d.off("deleteFile",de),d.off("hideFile",pe),d.off("repairFile",he),d.off("markFixed",me),d.off("confirmBulkDelete",ge),d.off("confirmBulkRepair",we),O.value&&(O.value.disconnect(),O.value=null)});const Y=e=>e===A.value,G=e=>{A.value=e},K=n(()=>"ignored"===A.value?C.scanner.issues.$ignored.length{if(I.value||!K.value)return;const e="new"===A.value?C.scanner.issues.$new.length:C.scanner.issues.$newCount,t="ignored"===A.value?C.scanner.issues.$ignored.length:C.scanner.issues.$ignoredCount;I.value=!0,N(e,void 0,t,void 0,!0,()=>{I.value=!1,P(()=>Q())})},Q=()=>{if(I.value||!K.value)return;const e="ignored"===A.value?R.value:E.value;if(!e)return;const t=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight;t.top<=n+50&&Z()},X=()=>{O.value=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e.target===E.value&&"new"!==A.value||e.target===R.value&&"ignored"!==A.value||Z())})},{threshold:0,rootMargin:"100px 0px"}),E.value&&O.value.observe(E.value),R.value&&O.value.observe(R.value)};f(()=>[A.value,C.scanner.issues.$new.length,C.scanner.issues.$newCount,C.scanner.issues.$ignored.length,C.scanner.issues.$ignoredCount],()=>{P(()=>Q())});const J=e=>{const t="Issue"+z(e);return L(o,t)?o[t]:o.IssueDefault},ee=n(()=>C.scanner.issues.$new.reduce((e,t)=>e||t.data?.canDelete,!1)),te=n(()=>C.scanner.issues.$new.reduce((e,t)=>e||t.data?.canFix,!1)),ae=n(()=>C.scanner.issues.$new.some(e=>p.scanner.site_cleaning_issue_types.includes(e.type))),le=n(()=>C.scanner.issues.$new.reduce((e,t)=>e||t.data?.highSense,!1)),oe=n(()=>C.scanner.issues.$new.reduce((e,t)=>e||t.data?.betaSignatures,!1)),se=n(()=>(C.scanner.issues.$summary[p.scanner.summary.scanned_posts]??0)+(C.scanner.issues.$summary[p.scanner.summary.scanned_comments]??0)+(C.scanner.issues.$summary[p.scanner.summary.scanned_files]??0)),re=n(()=>(C.scanner.issues.$summary[p.scanner.summary.scanned_plugins]??0)+(C.scanner.issues.$summary[p.scanner.summary.scanned_themes]??0)),ie=n(()=>C.scanner.issues.$summary[p.scanner.summary.scanned_users]??0),ue=n(()=>C.scanner.issues.$summary[p.scanner.summary.scanned_urls]??0),ce=e=>{const{issueID:t,ignoreAction:n}=e;B(t,n)},de=e=>{F("wordfence_deleteFile",{issueID:e,forceDelete:!1},t=>{t.needsCredentials?document.location.href=t.redirect:t.ok&&(V(e),d.emit("issueCountsUpdated",t.issueCounts),q(s("Success deleting file"),c(s("The file %s was successfully deleted."),t.file)))})},pe=e=>{F("wordfence_checkHtaccess",{},t=>{t.ok?U("fix-htaccess-modal",{onConfirm:()=>{F("wordfence_hideFileHtaccess",{issueID:e},t=>{t.ok&&(V(e),d.emit("issueCountsUpdated",t.issueCounts),q(s("File hidden successfully"),s("The file was successfully hidden from public view.")))})}}):t.nginx&&q(s("Unable to automatically hide file"),s("You are using an Nginx web server and using a FastCGI processor like PHP5-FPM. You will need to manually delete or hide those files."))},e=>{W(c(s("We can't modify your .htaccess file for you because: %s"),H(e)))})},fe=e=>{F("wordfence_restoreFile",{issueID:e},t=>{t.needsCredentials?document.location.href=t.redirect:t.ok&&(V(e),d.emit("issueCountsUpdated",t.issueCounts),q(s("Success restoring file"),c(s("The file %s was successfully restored."),t.file)))})},he=e=>{if(window.localStorage){const t=window.localStorage.getItem("wf-repair-file-sudo");if(t&&parseInt(t,10)>/* @__PURE__ */(new Date).getTime())return void fe(e.id)}U("scanner-single-repair-modal",{issueData:e,onConfirm:t=>{w(t.dontPromptAgain)&&window.localStorage&&window.localStorage.setItem("wf-repair-file-sudo",/* @__PURE__ */(new Date).getTime()+864e5),fe(e.id)}})},me=e=>{B(e,"delete")},ge=()=>{d.emit("closeModal","scanner-bulk-delete-modal"),F("wordfence_bulkOperation",{op:"del"},e=>{if(e.ok){for(const t of e.idsRemoved)V(t);d.emit("issueCountsUpdated",e.issueCounts),j(e.bulkHeading,e.bulkBody)}})},we=()=>{d.emit("closeModal","scanner-bulk-repair-modal"),F("wordfence_bulkOperation",{op:"repair"},e=>{if(e.ok){for(const t of e.idsRemoved)V(t);d.emit("issueCountsUpdated",e.issueCounts),j(e.bulkHeading,e.bulkBody)}})};return(e,t)=>{const n=h("aria");return a(),r("div",wG,[_((a(),r("ul",vG,[v("li",{class:k(["wf-tab",{"wf-active":Y("new")}]),id:"wf-scan-tab-new"},[_((a(),r("a",{href:"#new","aria-selected":Y("new"),onClick:t[0]||(t[0]=$(e=>G("new"),["prevent"]))},[M(w(Ic),{text:w(s)("Results Found"),xs:w(s)("Results")},null,8,["text","xs"]),x(" ("+b(w(C).scanner.issues.$newCount)+")",1)],8,bG)),[[n,{role:"tab"}]])],2),v("li",{class:k(["wf-tab",{"wf-active":Y("ignored")}]),id:"wf-scan-tab-ignored"},[_((a(),r("a",{href:"#ignored","aria-selected":Y("ignored"),onClick:t[1]||(t[1]=$(e=>G("ignored"),["prevent"]))},[M(w(Ic),{text:w(s)("Ignored Results"),xs:w(s)("Ignored")},null,8,["text","xs"]),x(" ("+b(w(C).scanner.issues.$ignoredCount)+")",1)],8,yG)),[[n,{role:"tab"}]])],2),v("li",kG,[v("span",_G,[_((a(),r("a",{href:"#",id:"wf-scan-bulk-buttons-delete",class:k(["wf-btn wf-btn-default wf-btn-callout-subtle",{"wf-disabled":!ee.value}]),onClick:t[2]||(t[2]=$(e=>w(U)("scanner-bulk-delete-modal"),["prevent","stop"]))},[x(b(w(s)("Delete All Deletable Files")),1)],2)),[[n,{role:"button"}]]),t[4]||(t[4]=x(" ",-1)),_((a(),r("a",{href:"#",id:"wf-scan-bulk-buttons-repair",class:k(["wf-btn wf-btn-default wf-btn-callout-subtle",{"wf-disabled":!te.value}]),onClick:t[3]||(t[3]=$(e=>w(U)("scanner-bulk-repair-modal"),["prevent","stop"]))},[x(b(w(s)("Repair All Repairable Files")),1)],2)),[[n,{role:"button"}]])])])])),[[n,{role:"tablist"}]]),v("ul",xG,[v("li",SG,[v("div",TG,[v("div",CG,[v("ul",MG,[v("li",null,[v("ul",LG,[v("li",null,b(w(s)("Posts, Comments, & Files")),1),v("li",AG,b(se.value),1)])]),v("li",null,[v("ul",DG,[v("li",null,b(w(s)("Themes & Plugins")),1),v("li",PG,b(re.value),1)])]),v("li",null,[v("ul",OG,[v("li",null,b(w(s)("Users Checked")),1),v("li",$G,b(ie.value),1)])]),v("li",null,[v("ul",IG,[v("li",null,b(w(s)("URLs Checked")),1),v("li",EG,b(ue.value),1)])]),v("li",null,[v("ul",RG,[v("li",null,b(w(s)("Results Found")),1),v("li",NG,b(w(C).scanner.issues.$newCount),1)])])]),v("ul",BG,[v("li",null,[v("ul",VG,[v("li",null,b(w(s)("Posts, Comments, & Files")),1),v("li",FG,b(se.value),1)])]),v("li",null,[v("ul",HG,[v("li",null,b(w(s)("Themes & Plugins")),1),v("li",UG,b(re.value),1)])]),v("li",null,[v("ul",qG,[v("li",null,b(w(s)("Users Checked")),1),v("li",jG,b(ie.value),1)])]),v("li",null,[v("ul",WG,[v("li",null,b(w(s)("URLs Checked")),1),v("li",zG,b(ue.value),1)])]),v("li",null,[v("ul",YG,[v("li",null,b(w(s)("Results Found")),1),v("li",GG,b(w(C).scanner.issues.$newCount),1)])])])])])]),v("li",{class:k(["wf-scan-results-issues",{"wf-active":Y("new")}]),id:"wf-scan-results-new","data-issue-type":"new"},[w(C).scanner.issues.$newCount?i("",!0):(a(),r("ul",KG,[v("li",ZG,[v("ul",null,[v("li",QG,[v("div",XG,b(w(s)("No new issues have been found.")),1)]),t[5]||(t[5]=v("li",{class:"wf-issue-stats"},null,-1)),t[6]||(t[6]=v("li",{class:"wf-issue-controls"},null,-1))])])])),(a(!0),r(m,null,g(w(C).scanner.issues.$new.slice(0,1),e=>(a(),l(y(J(e.type)),{key:e.id,"issue-data":ne(e)},null,8,["issue-data"]))),128)),ae.value?(a(),l(w(Uq),{key:1,"high-sense":le.value,"beta-sigs":oe.value},null,8,["high-sense","beta-sigs"])):i("",!0),(a(!0),r(m,null,g(w(C).scanner.issues.$new.slice(1),e=>(a(),l(y(J(e.type)),{key:e.id,"issue-data":ne(e)},null,8,["issue-data"]))),128)),v("div",{ref_key:"newIssuesSentinel",ref:E,class:"wf-scan-results-sentinel"},null,512)],2),v("li",{class:k(["wf-scan-results-issues",{"wf-active":Y("ignored")}]),id:"wf-scan-results-ignored","data-issue-type":"ignored"},[w(C).scanner.issues.$ignoredCount?i("",!0):(a(),r("ul",JG,[v("li",eK,[v("ul",null,[v("li",tK,[v("div",nK,b(w(s)("No issues have been ignored.")),1)]),t[7]||(t[7]=v("li",{class:"wf-issue-stats"},null,-1)),t[8]||(t[8]=v("li",{class:"wf-issue-controls"},null,-1))])])])),(a(!0),r(m,null,g(w(C).scanner.issues.$ignored,e=>(a(),l(y(J(e.type)),{key:e.id,"issue-data":ne(e)},null,8,["issue-data"]))),128)),v("div",{ref_key:"ignoredIssuesSentinel",ref:R,class:"wf-scan-results-sentinel"},null,512)],2)])])}}},lK={id:"wf-scan-starter",class:"wf-block-navigation-option"},oK={class:"wf-block-navigation-option-content"},sK={__name:"ScanStarter",setup(e){const t=u("__"),l=u("$dataStore"),{$modalNotice:o,$errorModal:s}=Ii(),{$startScan:i,$killScan:c}=GU(),d=()=>{c(e=>{e?o(t("Scan Stopping"),t("A termination request has been sent to stop any running scans.")):s(t("We failed to send a termination request."))})},p=n(()=>{let e=[];return e.push("wf-btn"),e.push("wf-btn-primary"),e.push("wf-btn-callout-subtle"),e.push("wf-scan-starter-idle"),l.scanner.state.$scanStalled&&e.push("wf-disabled"),e});return(e,n)=>{const o=h("aria");return a(),r("div",lK,[v("div",oK,[w(l).scanner.state.$scanRunning?_((a(),r("a",{key:1,href:"#",class:"wf-btn wf-btn-primary wf-btn-callout-subtle wf-scan-starter-running",onClick:$(d,["stop","prevent"])},[x(b(w(t)("Stop Scan")),1)])),[[o,{role:"button"}]]):_((a(),r("a",{key:0,href:"#",class:k(p.value),onClick:n[0]||(n[0]=$((...e)=>w(i)&&w(i)(...e),["stop","prevent"]))},[x(b(w(t)("Start New Scan")),1)],2)),[[o,{role:"button"}]])])])}}},rK={class:"wf-col-xs-12"},iK={class:"wf-block wf-active"},uK={class:"wf-block-content"},cK={class:"wf-block-list"},dK={key:0},pK={class:"wf-block-list wf-block-list-horizontal"},fK={key:0},hK={class:"wf-block-labeled-value wf-scan-status wf-scan-status-full-enabled"},mK={class:"wf-block-labeled-value-label"},gK={key:0,class:"wf-scan-status-disabled"},wK={key:1,class:"wf-block-labeled-value wf-scan-status wf-scan-status-enabled"},vK={class:"wf-block-labeled-value-value"},bK={class:"wf-fa wf-fa-check"},yK={class:"wf-block-labeled-value-label"},kK={key:0},_K={class:"wf-btn wf-btn-primary wf-btn-callout-subtle",href:"https://www.wordfence.com/gnl1scanUpgrade/wordfence-signup/#premium-order-form",target:"_blank",rel:"noopener noreferrer"},xK={class:"wf-btn wf-btn-callout-subtle wf-btn-default",href:"https://www.wordfence.com/gnl1scanLearn/wordfence-signup/",target:"_blank",rel:"noopener noreferrer"},SK={key:1,class:"wf-block-labeled-value wf-protection-status wf-protection-status-premium"},TK={class:"wf-block-labeled-value-value"},CK={class:"wf-fa wf-fa-check"},MK={class:"wf-block-labeled-value-label"},LK={class:"wf-block-list wf-block-list-horizontal wf-block-list-nowrap wf-scanner-coverage"},AK={__name:"ScannerHeader",props:{showScanStatus:{type:Boolean,default:!0},showOptionsLinks:{type:Boolean,default:!0}},setup(e){const t=u("__"),n=u("wfconstants"),{$setOption:l}=Ei(),o=()=>{l("scheduledScansEnabled",!0,()=>{window.location.reload(!0)})};return(l,s)=>{const u=h("aria");return a(),r("div",rK,[v("div",iK,[v("div",uK,[v("ul",cK,[e.showScanStatus?(a(),r("li",dK,[v("ul",pK,[w(n).scanner.enabled&&w(n).scanner.signatureMode===w(n).scanner.signatureModes.premium?(a(),r("li",fK,[v("div",hK,[v("div",mK,[w(n).license.current.type===w(n).license.types.response?(a(),r(m,{key:0},[x(b(w(t)("Wordfence Scan & Response License Enabled")),1)],64)):w(n).license.current.type===w(n).license.types.care?(a(),r(m,{key:1},[x(b(w(t)("Wordfence Scan & Care License Enabled")),1)],64)):(a(),r(m,{key:2},[x(b(w(t)("Wordfence Scan & Premium Enabled")),1)],64))])])])):(a(),r(m,{key:1},[v("li",null,[w(n).scanner.enabled?(a(),r("div",wK,[v("div",vK,[_(v("i",bK,null,512),[[u,{hidden:!0}]])]),v("div",yK,b(w(t)("Wordfence Scan Enabled")),1)])):(a(),r("div",gK,[v("h3",null,b(w(t)("Wordfence Scan Deactivated")),1),v("p",null,b(w(t)("A Wordfence scan examines all files, posts, pages, and comments on your WordPress website looking for malware, known malicious URLs, and known patterns of infections. It also does several other reputation and server checks.")),1),v("p",null,[_((a(),r("a",{class:"wf-btn wf-btn-primary wf-btn-callout-subtle",href:"#",id:"wf-scan-top-enable-scans",onClick:$(o,["stop","prevent"])},[x(b(w(t)("Enable Automatic Scans")),1)])),[[u,{role:"button"}]])])]))]),v("li",null,[w(n).scanner.signatureMode===w(n).scanner.signatureModes.community?(a(),r("div",kK,[v("h3",null,b(w(t)("Premium Protection Disabled")),1),v("p",null,b(w(t)("As a free Wordfence user, you are currently using the Community version of the Threat Defense Feed. Premium users are protected by additional firewall rules and malware signatures as well as the Wordfence real-time IP blocklist. Upgrade to Premium today to improve your protection.")),1),v("p",null,[v("a",_K,b(w(t)("Upgrade to Premium")),1),s[0]||(s[0]=x(" ",-1)),v("a",xK,[x(b(w(t)("Learn More")),1),M(w(Bi))])])])):(a(),r("div",SK,[v("div",TK,[_(v("i",CK,null,512),[[u,{hidden:!0}]])]),v("div",MK,b(w(t)("Premium Protection Enabled")),1)]))])],64))])])):i("",!0),v("li",null,[v("ul",LK,[v("li",null,[M(w(Pw),{id:"wf-scanner-type",percentage:w(n).scanner.scanTypePercentage,activeColorOverride:w(n).scanner.enabled?null:"#ececec",title:`${w(t)("Scan Type")}: ${w(n).scanner.current.display_type}`,subtitle:w(n).scanner.current.display_detail,link:w(n).plugin.url.scan_options,linkLabel:e.showOptionsLinks?w(t)("Manage Scan"):null,statusTitle:w(t)("Scan Status"),statusList:w(n).scanner.scanTypeStatusList,helpLink:"https://www.wordfence.com/help/scan/#scan-status"},null,8,["percentage","activeColorOverride","title","subtitle","link","linkLabel","statusTitle","statusList"])]),v("li",null,[M(w(Pw),{id:"wf-scanner-malware-type",percentage:w(n).scanner.signatureMode===w(n).scanner.signatureModes.premium?1:.7,activeColorOverride:w(n).scanner.enabled?null:"#ececec",title:w(t)("Malware Signatures")+": "+(w(n).scanner.signatureMode===w(n).scanner.signatureModes.premium?w(t)("Premium"):w(t)("Community")),subtitle:w(n).scanner.signatureMode===w(n).scanner.signatureModes.premium?w(t)("Signatures updated in real-time"):w(t)("Signature updates delayed by 30 days"),link:"https://www.wordfence.com/gnl1scanUpgrade/wordfence-signup/",linkLabel:e.showOptionsLinks?w(n).scanner.signatureMode===w(n).scanner.signatureModes.premium?w(t)("Protect More Sites"):w(t)("Upgrade to Premium"):null,linkNewWindow:!0,statusTitle:w(t)("Malware Signatures Status"),statusList:w(n).scanner.signatureMode===w(n).scanner.signatureModes.premium?[]:[{percentage:.3,title:w(t)("Enable Premium Scan Signatures.")}],helpLink:"https://www.wordfence.com/help/scan/#scan-status"},null,8,["percentage","activeColorOverride","title","subtitle","linkLabel","statusTitle","statusList"])]),v("li",null,[M(w(Pw),{id:"wf-scanner-reputation",percentage:w(n).scanner.reputationPercentage,activeColorOverride:w(n).scanner.enabled?null:"#ececec",title:w(t)("Reputation Checks"),subtitle:w(t)("Check spam & spamvertising blocklists"),link:w(n).plugin.url.general_scan_options,linkLabel:e.showOptionsLinks?w(t)("Manage Options"):null,statusTitle:w(t)("Reputation Check Status"),statusList:w(n).scanner.reputationStatusList,helpLink:"https://www.wordfence.com/help/scan/#scan-status"},null,8,["percentage","activeColorOverride","title","subtitle","link","linkLabel","statusTitle","statusList"])])])])])])])])}}},DK=["href"],PK="fix-htaccess-modal",OK={__name:"FixHtaccessModal",props:{show:{type:Boolean,default:!1},issueID:{type:Number,default:0},issueData:{type:Object,default:()=>({})}},emits:["confirm"],setup(e,{emit:n}){const{$makeDownloadHtaccessFileLink:r}=jj(),c=u("__"),d=u("$mitt");S("modalName",PK);const p=n,h=t(!1),m=e;f(()=>m.show,e=>{e&&(h.value=!1)});const g=()=>{p("confirm"),d.emit("closeModal",PK)};return(t,n)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0,modalSize:"md"},{header:s(()=>[v("strong",null,b(w(c)(".htaccess change")),1)]),body:s(()=>[v("p",null,[M(w(Jg),{unsafeHTML:w(c)("We are about to change your .htaccess file. Please make a backup of this file before proceeding.")},null,8,["unsafeHTML"])]),n[2]||(n[2]=v("br",null,null,-1)),v("p",null,[v("a",{href:w(r)(),onClick:n[0]||(n[0]=e=>h.value=!0)},b(w(c)("Click here to download a backup copy of your .htaccess file now")),9,DK)])]),"primary-button":s(()=>[M(w(nw),{onClick:n[1]||(n[1]=e=>w(d).emit("closeModal",PK)),"is-primary":!0},{default:s(()=>[x(b(w(c)("Cancel")),1)]),_:1})]),"secondary-buttons":s(()=>[M(w(nw),{onClick:g,"button-type":"wf-btn-danger",enabled:h.value},{default:s(()=>[x(b(w(c)("Fix .htaccess")),1)]),_:1},8,["enabled"])]),_:1})):i("",!0)]),_:1}))}},$K={class:"wf-callout-warning"},IK={class:"wf-fa wf-fa-exclamation-triangle"},EK=["href"],RK="scanner-bulk-delete-modal",NK={__name:"ScannerBulkDeleteModal",props:{show:{type:Boolean,default:!1}},setup(e){const t=u("__"),n=u("$mitt"),r=u("wfconstants");return S("modalName",RK),(u,c)=>{const d=h("aria");return a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0,modalSize:"md"},{header:s(()=>[v("strong",null,b(w(t)("Are you sure you want to delete?")),1)]),body:s(()=>[v("p",$K,[_(v("i",IK,null,512),[[d,{hidden:!0}]]),c[2]||(c[2]=x()),v("strong",null,b(w(t)("WARNING"))+":",1),x("' "+b(w(t)("If you delete the wrong file, it could cause your WordPress website to stop functioning, and you will probably have to restore from a backup.")),1)]),v("p",null,[x(b(w(t)("Do not delete files on your system unless you're ABSOLUTELY sure you know what you're doing. If you delete the wrong file it could cause your WordPress website to stop functioning and you will probably have to restore from backups. If you're unsure, Cancel and work with your hosting provider to clean your system of infected files."))+" ",1),v("a",{href:w(r).support.url.scan_bulk_delete_warning,target:"_blank",rel:"noopener noreferrer"},[x(b(w(t)("Click here for our help article")),1),M(w(Bi))],8,EK),c[3]||(c[3]=x(".",-1))])]),"primary-button":s(()=>[M(w(nw),{onClick:c[0]||(c[0]=e=>w(n).emit("closeModal",RK)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Cancel")),1)]),_:1})]),"secondary-buttons":s(()=>[M(w(nw),{onClick:c[1]||(c[1]=e=>w(n).emit("confirmBulkDelete")),"button-type":"wf-btn-danger"},{default:s(()=>[x(b(w(t)("Delete Files")),1)]),_:1})]),_:1})):i("",!0)]),_:1})}}},BK={class:"wf-callout-warning"},VK={class:"wf-fa wf-fa-exclamation-triangle"},FK="scanner-bulk-repair-modal",HK={__name:"ScannerBulkRepairModal",props:{show:{type:Boolean,default:!1}},setup(e){const t=u("__"),n=u("$mitt");return S("modalName",FK),(r,u)=>{const c=h("aria");return a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0,modalSize:"md"},{header:s(()=>[v("strong",null,b(w(t)("Are you sure you want to repair?")),1)]),body:s(()=>[v("p",BK,[_(v("i",VK,null,512),[[c,{hidden:!0}]]),u[2]||(u[2]=x()),v("strong",null,b(w(t)("WARNING"))+":",1),x("' "+b(w(t)("If you delete the wrong file, it could cause your WordPress website to stop functioning, and you will probably have to restore from a backup.")),1)]),v("p",null,b(w(t)("Do not repair files on your system unless you're ABSOLUTELY sure you know what you're doing. If you repair the wrong file it could cause your WordPress website to stop functioning and you will probably have to restore from backups. If you're unsure, Cancel and work with your hosting provider to clean your system of infected files.")),1)]),"primary-button":s(()=>[M(w(nw),{onClick:u[0]||(u[0]=e=>w(n).emit("closeModal",FK)),"is-primary":!0},{default:s(()=>[x(b(w(t)("Cancel")),1)]),_:1})]),"secondary-buttons":s(()=>[M(w(nw),{onClick:u[1]||(u[1]=e=>w(n).emit("confirmBulkRepair")),"button-type":"wf-btn-danger"},{default:s(()=>[x(b(w(t)("Repair Files")),1)]),_:1})]),_:1})):i("",!0)]),_:1})}}},UK="scanner-email-activity-log-modal",qK={__name:"ScannerEmailActivityLogModal",props:{show:{type:Boolean,default:!1}},setup(e){const r=u("__"),c=u("sprintf"),d=u("$mitt");S("modalName",UK);const{$ajax:p}=yi(),{$modalNotice:f}=Ii(),h=t("wftest@wordfence.com"),m=n(()=>/^[^@]+@[^@]+$/.test(h.value)),g=()=>{p("wordfence_sendActivityLog",{email:h.value},e=>{e.ok&&f(r("Activity Log Sent"),c(r("Your Wordfence activity log was sent to %s"),h.value))}),d.emit("closeModal",UK)};return(t,n)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0,modalSize:"md"},{header:s(()=>[v("strong",null,b(w(r)("Email Wordfence Activity Log")),1)]),body:s(()=>[v("p",null,b(w(r)("Enter the email address you would like to send the Wordfence activity log to. Note that the activity log may contain thousands of lines of data. This log is usually only sent to a member of the Wordfence support team. It also contains your PHP configuration from the phpinfo() function for diagnostic data.")),1),v("p",null,[_(v("input",{type:"text","onUpdate:modelValue":n[0]||(n[0]=e=>h.value=e),size:"20"},null,512),[[V,h.value]])])]),"primary-button":s(()=>[M(w(nw),{onClick:g,"is-primary":!0,enabled:m.value},{default:s(()=>[x(b(w(r)("Send")),1)]),_:1},8,["enabled"])]),"secondary-buttons":s(()=>[M(w(nw),{onClick:n[1]||(n[1]=e=>w(d).emit("closeModal",UK))},{default:s(()=>[x(b(w(r)("Cancel")),1)]),_:1})]),_:1})):i("",!0)]),_:1}))}},jK={class:"wf-padding-add-top-medium"},WK=["href"],zK={class:"wordfenceHelpLink"},YK=["href"],GK={class:"wfhelpextra"},KK="scanner-single-repair-modal",ZK={__name:"ScannerSingleRepairModal",props:{show:{type:Boolean,default:!1},issueData:{type:Object,default:()=>({})}},emits:["confirmRepair"],setup(e,{emit:n}){const{$makeDownloadFileLink:c}=jj(),d=u("__"),p=u("$mitt"),m=u("wfconstants");S("modalName",KK);const g=n,y=t(!1),k=t(!1),T=e;f(()=>T.show,e=>{e&&(y.value=!1,k.value=!1)});const C=()=>{g("confirmRepair",{dontPromptAgain:k}),p.emit("closeModal",KK)};return(t,n)=>{const u=h("aria");return a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(Yf),{key:0,modalSize:"md"},{header:s(()=>[v("strong",null,b(w(d)("Download Backup File")),1)]),body:s(()=>[v("p",null,b(w(d)("Please make a backup of this file before proceeding. If you need to restore this backup file, you can copy it to the following path from your site's root:")),1),v("p",jK,[v("code",null,b(e.issueData.data?.file),1)]),v("p",null,[_((a(),r("a",{href:w(c)(e.issueData.data),onClick:n[0]||(n[0]=e=>y.value=!0),class:"wf-btn wf-btn-default"},[x(b(w(d)("Download File")),1)],8,WK)),[[u,{role:"button"}]]),n[3]||(n[3]=x()),v("span",zK,[v("a",{href:w(m).support.url.scan_result_repair_modified_files,target:"_blank",rel:"noopener noreferrer",class:"wfhelp"},[v("span",GK,[x(b(w(d)("Learn more about repairing modified files.")),1),M(w(Bi))])],8,YK)])])]),accessory:s(()=>[v("label",null,[_(v("input",{type:"checkbox","onUpdate:modelValue":n[1]||(n[1]=e=>k.value=e)},null,512),[[ie,k.value]]),x(b(w(d)("Don't ask again")),1)])]),"primary-button":s(()=>[M(w(nw),{onClick:n[2]||(n[2]=e=>w(p).emit("closeModal",KK)),"is-primary":!0},{default:s(()=>[x(b(w(d)("Cancel")),1)]),_:1})]),"secondary-buttons":s(()=>[M(w(nw),{onClick:C,"button-type":"wf-btn-danger",enabled:y.value},{default:s(()=>[x(b(w(d)("Repair File")),1)]),_:1},8,["enabled"])]),_:1})):i("",!0)]),_:1})}}},QK={__name:"ScannerModals",setup(t){const l=u("$mitt"),{$hasOwn:o}=ai(),s=e({"fix-htaccess-modal":{show:!1,confirmHandler:()=>{},configurator:e=>{s[e.name].confirmHandler=()=>{o(e,"onConfirm")&&"function"==typeof e.onConfirm&&e.onConfirm()}}},"scanner-bulk-delete-modal":{show:!1,configurator:e=>{}},"scanner-bulk-repair-modal":{show:!1,configurator:e=>{}},"scanner-email-activity-log-modal":{show:!1,configurator:e=>{}},"scanner-single-repair-modal":{show:!1,issueData:{},confirmHandler:()=>{},configurator:e=>{s[e.name].issueData=o(e,"issueData")?e.issueData:{},s[e.name].confirmHandler=t=>{o(e,"onConfirm")&&"function"==typeof e.onConfirm&&e.onConfirm(t)}}}}),i=n(()=>Object.values(s).some(e=>e.show));T(()=>{l.on("showModal",c),l.on("closeModal",d)}),D(()=>{l.off("showModal",c),l.off("closeModal",d)});const c=e=>{for(const t of Object.keys(s))t!==e.name&&s[t].show&&(s[t].show=!1);o(s,e.name)&&(s[e.name].configurator(e),s[e.name].show=!0)},d=e=>{o(s,e)&&(s[e].show=!1)};return(e,t)=>(a(),r("div",null,[M(w(Of),{show:i.value},null,8,["show"]),M(w(OK),{show:s["fix-htaccess-modal"].show,onConfirm:s["fix-htaccess-modal"].confirmHandler},null,8,["show","onConfirm"]),M(w(NK),{show:s["scanner-bulk-delete-modal"].show},null,8,["show"]),M(w(HK),{show:s["scanner-bulk-repair-modal"].show},null,8,["show"]),M(w(qK),{show:s["scanner-email-activity-log-modal"].show},null,8,["show"]),M(w(ZK),{show:s["scanner-single-repair-modal"].show,issueData:s["scanner-single-repair-modal"].issueData,onConfirmRepair:s["scanner-single-repair-modal"].confirmHandler},null,8,["show","issueData","onConfirmRepair"])]))}},XK={__name:"NewTour1",setup(e){const t=u("__");return(e,n)=>(a(),r("p",null,b(w(t)("A Wordfence scan looks for malware, malicious URLs, and patterns of infections by examining all of the files, posts, and comments on your WordPress website. It also checks your server and monitors your site's online reputation.")),1))}},JK={__name:"NewTour2",setup(e){const t=u("__");return(e,n)=>(a(),r("div",null,[n[0]||(n[0]=v("p",{class:"wf-center"},[v("svg",{viewBox:"0 0 100.11 100.11",class:"wf-icon"},[v("path",{d:"M99.59,41.42a2.06,2.06,0,0,0-1.37-.82L86.3,38.78a39.34,39.34,0,0,0-2.67-6.39q1.17-1.63,3.52-4.6t3.32-4.33A2.52,2.52,0,0,0,91,22a2.1,2.1,0,0,0-.46-1.43Q88.18,17.2,79.78,9.45a2.52,2.52,0,0,0-1.63-.65,2.12,2.12,0,0,0-1.57.59l-9.25,7a40.09,40.09,0,0,0-5.87-2.41L59.64,2a1.92,1.92,0,0,0-.75-1.4A2.46,2.46,0,0,0,57.29,0H42.82a2.19,2.19,0,0,0-2.34,1.82,106,106,0,0,0-1.89,12.12,37.62,37.62,0,0,0-5.93,2.48l-9-7A2.78,2.78,0,0,0,22,8.8q-1.44,0-6.16,4.66a64.88,64.88,0,0,0-6.42,7A2.75,2.75,0,0,0,8.8,22a2.44,2.44,0,0,0,.65,1.56q4.37,5.28,7,9a32.38,32.38,0,0,0-2.54,6L1.76,40.34a2,2,0,0,0-1.24.85A2.5,2.5,0,0,0,0,42.69V57.16a2.44,2.44,0,0,0,.52,1.53,2,2,0,0,0,1.37.82l11.93,1.76a31.91,31.91,0,0,0,2.67,6.45Q15.31,69.35,13,72.31T9.65,76.65a2.54,2.54,0,0,0-.07,3q2.54,3.52,10.75,11a2.25,2.25,0,0,0,1.63.71,2.35,2.35,0,0,0,1.63-.59l9.19-7a40.54,40.54,0,0,0,5.87,2.41l1.82,12a1.92,1.92,0,0,0,.75,1.4,2.45,2.45,0,0,0,1.6.55H57.29a2.2,2.2,0,0,0,2.35-1.82,107.41,107.41,0,0,0,1.89-12.12,37.19,37.19,0,0,0,5.93-2.48l9,7a3.18,3.18,0,0,0,1.69.59q1.43,0,6.13-4.62a65.86,65.86,0,0,0,6.45-7,2.16,2.16,0,0,0,.59-1.5,2.51,2.51,0,0,0-.65-1.63q-4.69-5.74-7-9a41.57,41.57,0,0,0,2.54-5.93l12.06-1.82a2,2,0,0,0,1.3-.85,2.52,2.52,0,0,0,.52-1.5V43a2.46,2.46,0,0,0-.52-1.53ZM61.85,61.86a16.08,16.08,0,0,1-11.8,4.89A16.69,16.69,0,0,1,33.37,50.06,16.69,16.69,0,0,1,50.06,33.37,16.69,16.69,0,0,1,66.74,50.06a16.08,16.08,0,0,1-4.89,11.8Zm0,0"})])],-1)),v("p",null,b(w(t)("Set up the way you want the scan to monitor your site security including custom scan configurations and scheduling.")),1)]))}},eZ={__name:"NewTour3",setup(e){const t=u("__");return(e,n)=>(a(),r("div",null,[v("p",null,b(w(t)("By default, Wordfence will scan your site daily. Start your first scan now to see if your site has any security issues that need to be addressed. From here you can run manual scans any time you like.")),1)]))}},tZ={__name:"ScannerNewTour",setup(e){const n=u("__"),o=u("wfconstants"),s=t(!1),r=t(0);S("tourName",o.tour.types.scan),T(()=>{o.tour.new.scan&&(s.value=!0)});const i=[{title:n("Scan"),content:XK,anchor:{selector:"#wf-section-scan",pointer:{edge:"top",align:"left"}}},{title:n("Manage Scan Settings"),content:JK,anchor:{selector:"#wf-scan-option-all-options",pointer:{edge:"right",align:"right"}}},{title:n("Start Your First Scan"),content:eZ,anchor:{selector:"#wf-scan-starter",pointer:{edge:"left",align:"left"}}}],c=()=>{o.tour.new.scan=!1,s.value=!1};return(e,t)=>(a(),l(C,{to:"#wpwrap"},[M(w(bi),{show:s.value},null,8,["show"]),M(w(Pi),{show:s.value,selectedIndex:r.value,slides:i,onCloseTour:c},null,8,["show","selectedIndex"])]))}},nZ={key:0,class:"wf-scrollTop"},aZ={__name:"ScrollTop",setup(e){const n=u("$");T(()=>{n(window).on("scroll",d)}),D(()=>{n(window).off("scroll",d)});const c=t(!1),d=()=>{const e=n(window).scrollTop();c.value=e>200},p=()=>{window.scrollTo({top:0,behavior:"smooth"})};return(e,t)=>(a(),l(o,{name:"wf-fade"},{default:s(()=>[c.value?(a(),r("div",nZ,[v("a",{href:"#",onClick:$(p,["stop","prevent"])},[...t[0]||(t[0]=[v("i",{class:"wf-ionicons wf-ion-chevron-up"},null,-1)])])])):i("",!0)]),_:1}))}},lZ={class:"wf-col-xs-12"},oZ={key:0,class:"wf-onboarding-error"},sZ={__name:"StandaloneInstall",props:{errorMessage:{type:[String,null],default:null},shouldShowOnboarding:{type:Boolean,default:!0},initialState:{type:Object,default:()=>({})}},setup(e){const t=u("wfconstants"),{$ajax:n}=yi(),{$modal:o}=Ii(),{$setOption:s}=Ei(),c=e=>{((e,t,a)=>{const l=(t,a,l)=>n("wordfence_installLicense",{license:e,status_change:t},a,l);l(!1,e=>{e.success?l(!0,()=>{t(e)},a):a(e.error)},a)})(e.license,a=>{s("onboardingAttempt1",t.plugin.onboarding.stages.license,l=>{((e,l)=>{let r=1+(l?1:0),i=!1,u=!1;const c=e=>{u||(0===--r||i)&&(u=!0,(e=>{if(!e)return void o("onboarding-license-failure-modal");let n=a.isPaid?t.license.types.premium:t.license.types.free;!a.isPaid||a.type!==t.license.types.care&&a.type!==t.license.types.response||(n=a.type),o("onboarding-license-type-success-modal",{licenseType:n,showInUse:a.inUse})})(!i,e.error))},d=()=>{i=!0,c({})};s("alertEmails",e.join(", "),c,d),l&&n("wordfence_mailingSignup",{emails:JSON.stringify(e)},c,d)})([e.email],e.subscription)},()=>{o("onboarding-license-failure-modal")})},e=>{o("onboarding-license-failure-modal")})};return(t,n)=>(a(),r("div",lZ,[e.errorMessage?(a(),r("p",oZ,b(e.errorMessage),1)):i("",!0),e.shouldShowOnboarding?(a(),l(w(DV),{key:1,attempt:1,existing:!0,license:e.initialState.license??null,email:e.initialState.email??null,onInstallLicense:c},null,8,["license","email"])):i("",!0)]))}},rZ={id:"wf-tour-container"},iZ=/* @__PURE__ */cj({},[["render",function(e,t){return a(),r("div",rZ)}]]),uZ={id:"wf-tools-two-factor"},cZ={key:0,class:"wf-row"},dZ={class:"wf-col-xs-12"},pZ={id:"wordfenceTwoFactorLegacy"},fZ={key:1,class:"wf-row"},hZ={class:"wf-col-xs-12"},mZ={id:"wordfenceTwoFactorModern"},gZ=["href"],wZ={key:0,class:"wf-row"},vZ={class:"wf-col-xs-12"},bZ={id:"wfTwoFacUsers"},yZ={class:"wf-striped-table wf-table-twofactor"},kZ={class:"wf-nowrap"},_Z={key:0,class:"wf-nowrap"},xZ={key:1,class:"wf-nowrap"},SZ={class:"wf-nowrap"},TZ={key:0,class:"wf-green-dark"},CZ={key:1,class:"wf-green-dark"},MZ={key:0,id:"twoFactorUser-none"},LZ={colspan:"3"},AZ={__name:"TwoFactorNotice",setup(e){const t=u("__"),n=u("sprintf"),l=u("$mitt"),o=u("wfconstants"),{$modal:s}=Ii(),{$setOption:c}=Ei(),d=()=>{s("simple-confirmation-modal",{title:t("Confirm 2FA Switch"),message:t("Please confirm the switch to the new 2FA mode. This change will be permanent."),options:{additionalButtons:[{title:t("Use New 2FA"),onClick:()=>{l.emit("closeModal","simple-confirmation-modal"),P(()=>{c("disableLegacy2FA",!0,()=>{window.location.href=o.plugin.url.login_security})})}}]}})};return(e,l)=>{const s=h("aria");return a(),r(m,null,[v("div",uZ,[w(o).twofactor.using_legacy?(a(),r("div",cZ,[v("div",dZ,[v("div",pZ,[v("p",null,[v("strong",null,b(w(t)("2FA Mode: Legacy"))+".",1),x(" "+b(w(t)('Management of legacy two-factor authentication using SMS-based codes is deprecated, and the old method of appending "wf" and a code will not be supported in the future. An improved interface and usage by non-administrators is available by activating the login security module. Users who have legacy 2FA enabled will still be required to enter a code while logging in currently, but legacy 2FA users can no longer be added or removed.')),1)]),v("p",null,b(w(t)("If you need to continue using the legacy 2FA mode, you will need to downgrade to the 8.1.4 version of Wordfence temporarily. This feature will be discontinued around July 1, 2026, and legacy 2FA codes will no longer be required at that time, even when using an old plugin version.")),1),v("p",null,[_((a(),r("a",{id:"wf-migrate2fanew-start",class:"wf-btn wf-btn-default wf-btn-sm wf-dismiss-link",href:"#",onClick:$(d,["stop","prevent"])},[x(b(w(t)("Switch to New 2FA")),1)])),[[s,{role:"button"}]])])])])])):(a(),r("div",fZ,[v("div",hZ,[v("div",mZ,[v("p",null,[v("strong",null,b(w(t)("2FA Mode: Normal"))+".",1),x(" "+b(w(t)("Legacy support for SMS-based two-factor authentication has been phased out, as it is less secure than using a modern authenticator app.")),1)]),v("p",null,[v("a",{id:"wf-migrate2faold-start",class:"wf-btn wf-btn-default wf-btn-sm wf-dismiss-link",href:w(o).plugin.url.login_security,role:"button"},b(w(t)("Go to Login Security")),9,gZ)])])])]))]),w(o).twofactor.using_legacy?(a(),r("div",wZ,[v("div",vZ,[v("h2",null,b(w(t)("Legacy Two-Factor Authentication Users")),1),v("div",bZ,[v("table",yZ,[v("thead",null,[v("tr",null,[v("th",null,b(w(t)("User")),1),v("th",null,b(w(t)("Mode")),1),v("th",null,b(w(t)("Status")),1)])]),v("tbody",null,[(a(!0),r(m,null,g(w(o).twofactor.legacy_users,e=>(a(),r("tr",{key:e.userID},[v("td",kZ,b(e.username),1),"phone"===e.mode?(a(),r("td",_Z,b(w(n)(w(t)("Phone (%s)"),e.phone)),1)):(a(),r("td",xZ,b(w(t)("Authenticator")),1)),v("td",SZ,["activated"===e.status?(a(),r("span",TZ,b(w(t)("Cellphone Sign-in Enabled")),1)):(a(),r("span",CZ,b(w(t)("Not Active")),1))])]))),128)),0===w(o).twofactor.legacy_users.length?(a(),r("tr",MZ,[v("td",LZ,b(w(t)("No users currently have legacy cellphone sign-in enabled.")),1)])):i("",!0)])])])])])):i("",!0)],64)}}},DZ={class:"wf-form wf-flex-row"},PZ={class:"wf-flex-row-1"},OZ=["onKeydown"],$Z={class:"wf-flex-row-0 wf-padding-add-left"},IZ=["value","disabled"],EZ={key:0,class:"wf-block wf-active wf-padding-add-top"},RZ={class:"wf-block-content wf-clearfix"},NZ={class:"wf-block-list"},BZ={class:"wf-padding-add-top"},VZ={__name:"WhoisForm",setup(e){const l=u("__"),{$ajax:o}=yi(),s=t(""),c=t(!1),d=()=>{p.value&&(c.value=!1,o("wordfence_whois",{val:p.value},e=>{c.value=e.result?e.result:null}))},p=n(()=>s.value.replace(/\s+/g,""));return(e,t)=>(a(),r(m,null,[v("div",DZ,[v("div",PZ,[_(v("input",{type:"text",class:"wf-form-control",name:"whois",id:"wfwhois","onUpdate:modelValue":t[0]||(t[0]=e=>s.value=e),onInput:t[1]||(t[1]=e=>s.value=e.target.value.replace(/\s+/g,"")),maxlength:"255",onKeydown:E($(d,["stop","prevent"]),["enter"])},null,40,OZ),[[V,s.value]])]),v("div",$Z,[v("input",{type:"button",name:"whoisbutton",id:"whoisbutton",class:"wf-btn wf-btn-primary",value:w(l)("Look up IP or Domain"),onClick:$(d,["stop","prevent"]),disabled:!p.value},null,8,IZ)])]),!1!==c.value?(a(),r("div",EZ,[v("div",RZ,[v("ul",NZ,[v("li",null,[v("div",BZ,[M(w(bN),{whoisResponse:c.value},null,8,["whoisResponse"])])])])])])):i("",!0)],64))}},FZ={class:"wf-table wf-table-hover"},HZ={colspan:"2"},UZ=["title"],qZ={__name:"WidgetContentIPs",props:{dashboardData:{type:Array,default:()=>[]}},setup(e){const t=u("__"),n=e=>{let t=[];return t.push("wf-flag"),t.push("wf-flag-"+e.toLowerCase()),t};return(l,o)=>(a(),r("table",FZ,[v("thead",null,[v("tr",null,[v("th",null,b(w(t)("IP")),1),v("th",HZ,b(w(t)("Country")),1),v("th",null,b(w(t)("Block Count")),1)])]),v("tbody",null,[(a(!0),r(m,null,g(e.dashboardData,e=>{return a(),r("tr",{key:e.IP},[v("td",null,b(e.IP),1),v("td",null,b(e.countryName),1),v("td",null,[v("span",{class:k(n(e.countryCode)),title:e.countryName},null,10,UZ)]),v("td",null,b((t=e.blockCount,new Intl.NumberFormat(void 0,{style:"decimal",maximumFractionDigits:0}).format(t))),1)]);var t}),128))])]))}},jZ={class:"wf-row"},WZ={class:"wf-col-xs-12"},zZ={class:"wf-dashboard-item active"},YZ={class:"wf-dashboard-item-inner"},GZ={class:"wf-dashboard-item-content"},KZ={class:"wf-dashboard-item-title"},ZZ={class:"wf-dashboard-item-extra"},QZ={key:0,class:"wf-widget-learning-mode"},XZ={key:1,class:"wf-dashboard-item-list"},JZ={class:"wf-dashboard-toggle-btns"},eQ={class:"wf-pagination wf-pagination-sm"},tQ={key:0,class:"wf-dashboard-item-list-text"},nQ={key:0,class:"wf-dashboard-item-list-text"},aQ={class:"wf-dashboard-show-more","data-grouping":"ips","data-period":"24h"},lQ={key:0,class:"wf-dashboard-item-list-text"},oQ={key:0,class:"wf-dashboard-item-list-text"},sQ={class:"wf-dashboard-show-more","data-grouping":"ips","data-period":"7d"},rQ={key:0,class:"wf-dashboard-item-list-text"},iQ={key:0,class:"wf-dashboard-item-list-text"},uQ={class:"wf-dashboard-show-more","data-grouping":"ips","data-period":"30d"},cQ={__name:"WidgetIPs",props:{dashboardData:{type:Object,default:()=>({})},limit:{type:Number,default:10}},setup(e){const d=u("__"),p=u("wfconstants"),{$ajax:f}=yi(),{$errorModal:m}=Ii(),g=e,{dashboardData:y,limit:S}=c(g),T=t("24h"),C=t(!1),L=n(()=>y.value.ips24h?.length>S.value),A=n(()=>C.value?y.value.ips24h??[]:(y.value.ips24h??[]).slice(0,S.value)),D=n(()=>{let e=[];return e.push("wf-ips"),e.push("wf-ips-24h"),"24h"!==T.value&&e.push("wf-hidden"),e}),P=t(!1),O=n(()=>y.value.ips7d?.length>S.value),I=n(()=>P.value?y.value.ips7d??[]:(y.value.ips7d??[]).slice(0,S.value)),E=n(()=>{let e=[];return e.push("wf-ips"),e.push("wf-ips-7d"),"7d"!==T.value&&e.push("wf-hidden"),e}),R=t(!1),N=n(()=>y.value.ips30d?.length>S.value),B=n(()=>R.value?y.value.ips30d??[]:(y.value.ips30d??[]).slice(0,S.value)),V=n(()=>{let e=[];return e.push("wf-ips"),e.push("wf-ips-30d"),"30d"!==T.value&&e.push("wf-hidden"),e}),F=(e,t)=>{f("wordfence_dashboardShowMore",{grouping:e,period:t},e=>{if(e.ok)switch(t){case"24h":y.value.ips24h=e.data,C.value=!0;break;case"7d":y.value.ips7d=e.data,P.value=!0;break;case"30d":y.value.ips30d=e.data,R.value=!0}},e=>{m(d("We encountered an error trying load more data."))})};return(e,t)=>{const n=h("aria");return a(),r("div",jZ,[v("div",WZ,[v("div",zZ,[v("div",YZ,[v("div",GZ,[v("div",KZ,[v("strong",null,b(w(d)("Top IPs Blocked")),1)]),t[6]||(t[6]=v("div",{class:"wf-dashboard-item-action"},[v("div",{class:"wf-dashboard-item-action-disclosure"})],-1))])]),v("div",ZZ,[!1!==w(p).waf.learning_mode?(a(),r("div",QZ,[t[7]||(t[7]=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100.11 100.44"},[v("path",{d:"M96.14,30.67a50.7,50.7,0,0,0-10.66-16A50,50,0,0,0,69.51,4,49.57,49.57,0,0,0,30.6,4a50,50,0,0,0-16,10.69A50.69,50.69,0,0,0,4,30.67,50,50,0,0,0,4,69.74a50.62,50.62,0,0,0,10.66,16,50,50,0,0,0,16,10.69,49.54,49.54,0,0,0,38.91,0,50,50,0,0,0,16-10.69,50.56,50.56,0,0,0,10.66-16,50,50,0,0,0,0-39.07Zm-75.74,39a35.77,35.77,0,0,1-1-37.35,35.21,35.21,0,0,1,12.91-13A34.65,34.65,0,0,1,50.06,14.6a34.22,34.22,0,0,1,19.55,5.93ZM82.71,64a35.4,35.4,0,0,1-7.56,11.37A36,36,0,0,1,63.84,83a34.32,34.32,0,0,1-13.79,2.84A34.85,34.85,0,0,1,30.7,80L79.84,31a34.57,34.57,0,0,1,5.67,19.23A35.17,35.17,0,0,1,82.71,64Zm0,0"})],-1)),v("span",null,b(w(d)("No Data Available During Learning Mode")),1)])):(a(),r("ul",XZ,[v("li",null,[v("div",null,[v("div",JZ,[v("ul",eQ,[v("li",{class:k({"wf-active":"24h"===T.value})},[_((a(),r("a",{href:"#",class:"wf-dashboard-ips","data-grouping":"24h",onClick:t[0]||(t[0]=$(e=>T.value="24h",["stop","prevent"]))},[x(b(w(d)("24 Hours")),1)])),[[n,{role:"button"}]])],2),v("li",{class:k({"wf-active":"7d"===T.value})},[_((a(),r("a",{href:"#",class:"wf-dashboard-ips","data-grouping":"7d",onClick:t[1]||(t[1]=$(e=>T.value="7d",["stop","prevent"]))},[x(b(w(d)("7 Days")),1)])),[[n,{role:"button"}]])],2),v("li",{class:k({"wf-active":"30d"===T.value})},[_((a(),r("a",{href:"#",class:"wf-dashboard-ips","data-grouping":"30d",onClick:t[2]||(t[2]=$(e=>T.value="30d",["stop","prevent"]))},[x(b(w(d)("30 Days")),1)])),[[n,{role:"button"}]])],2)])]),v("div",{class:k(D.value)},[A.value.length?(a(),l(w(qZ),{key:1,dashboardData:A.value},null,8,["dashboardData"])):(a(),r("div",tQ,[v("p",null,[v("em",null,b(w(d)("No blocks have been recorded.")),1)])])),M(o,{name:"wf-fade"},{default:s(()=>[L.value&&!C.value?(a(),r("div",nQ,[v("div",aQ,[_((a(),r("a",{href:"#",onClick:t[3]||(t[3]=$(e=>F("ips","24h"),["stop","prevent"]))},[x(b(w(d)("Show more")),1)])),[[n,{role:"button"}]])])])):i("",!0)]),_:1})],2),v("div",{class:k(E.value)},[I.value.length?(a(),l(w(qZ),{key:1,dashboardData:I.value},null,8,["dashboardData"])):(a(),r("div",lQ,[v("p",null,[v("em",null,b(w(d)("No blocks have been recorded.")),1)])])),M(o,{name:"wf-fade"},{default:s(()=>[O.value&&!P.value?(a(),r("div",oQ,[v("div",sQ,[_((a(),r("a",{href:"#",onClick:t[4]||(t[4]=$(e=>F("ips","7d"),["stop","prevent"]))},[x(b(w(d)("Show more")),1)])),[[n,{role:"button"}]])])])):i("",!0)]),_:1})],2),v("div",{class:k(V.value)},[B.value.length?(a(),l(w(qZ),{key:1,dashboardData:B.value},null,8,["dashboardData"])):(a(),r("div",rQ,[v("p",null,[v("em",null,b(w(d)("No blocks have been recorded.")),1)])])),M(o,{name:"wf-fade"},{default:s(()=>[N.value&&!R.value?(a(),r("div",iQ,[v("div",uQ,[_((a(),r("a",{href:"#",onClick:t[5]||(t[5]=$(e=>F("ips","30d"),["stop","prevent"]))},[x(b(w(d)("Show more")),1)])),[[n,{role:"button"}]])])])):i("",!0)]),_:1})],2)])])]))])])])])}}},dQ={class:"wf-table wf-table-hover"},pQ={key:0},fQ={key:1},hQ={__name:"WidgetContentLogins",props:{dashboardData:{type:Array,default:()=>[]}},setup(e){const t=u("__"),n=u("sprintf"),{$timeAgo:l}=Ri();return(o,s)=>(a(),r("table",dQ,[v("thead",null,[v("tr",null,[v("th",null,b(w(t)("Username")),1),v("th",null,b(w(t)("IP")),1),v("th",null,b(w(t)("Date")),1)])]),v("tbody",null,[(a(!0),r(m,null,g(e.dashboardData,e=>(a(),r("tr",{key:`${e.t}-${e.name}-${e.ip}`},[v("td",null,b(e.name),1),v("td",null,b(e.ip),1),Date.now()/1e3-e.t<86400?(a(),r("td",pQ,b(w(n)(w(t)("%s ago"),w(l)(Date.now()/1e3-e.t))),1)):(a(),r("td",fQ,[M(w(kp),{timestamp:e.t},null,8,["timestamp"])]))]))),128))])]))}},mQ={class:"wf-row"},gQ={class:"wf-col-xs-12"},wQ={class:"wf-dashboard-item active"},vQ={class:"wf-dashboard-item-inner"},bQ={class:"wf-dashboard-item-content"},yQ={class:"wf-dashboard-item-title"},kQ={class:"wf-dashboard-item-extra"},_Q={class:"wf-dashboard-item-list"},xQ={class:"wf-dashboard-toggle-btns"},SQ={class:"wf-pagination wf-pagination-sm"},TQ={key:0,class:"wf-dashboard-item-list-text"},CQ={key:0,class:"wf-dashboard-item-list-text"},MQ={class:"wf-dashboard-show-more","data-grouping":"logins","data-period":"success"},LQ={key:0,class:"wf-dashboard-item-list-text"},AQ={key:0,class:"wf-dashboard-item-list-text"},DQ={class:"wf-dashboard-show-more","data-grouping":"logins","data-period":"fail"},PQ={__name:"WidgetLogins",props:{dashboardData:{type:Object,default:()=>({})},limit:{type:Number,default:10}},setup(e){const d=u("__"),{$ajax:p}=yi(),{$errorModal:f}=Ii(),m=e,{dashboardData:g,limit:y}=c(m),S=t("success"),T=t(!1),C=n(()=>g.value.loginsSuccess?.length>y.value),L=n(()=>T.value?g.value.loginsSuccess??[]:(g.value.loginsSuccess??[]).slice(0,y.value)),A=n(()=>{let e=[];return e.push("wf-recent-logins"),e.push("wf-recent-logins-success"),"success"!==S.value&&e.push("wf-hidden"),e}),D=t(!1),P=n(()=>g.value.loginsFail?.length>y.value),O=n(()=>D.value?g.value.loginsFail??[]:(g.value.loginsFail??[]).slice(0,y.value)),I=n(()=>{let e=[];return e.push("wf-recent-logins"),e.push("wf-recent-logins-fail"),"fail"!==S.value&&e.push("wf-hidden"),e}),E=(e,t)=>{p("wordfence_dashboardShowMore",{grouping:e,period:t},e=>{if(e.ok)switch(t){case"success":g.value.loginsSuccess=e.data,T.value=!0;break;case"fail":g.value.loginsFail=e.data,D.value=!0}},e=>{f(d("We encountered an error trying load more data."))})};return(e,t)=>{const n=h("aria");return a(),r("div",mQ,[v("div",gQ,[v("div",wQ,[v("div",vQ,[v("div",bQ,[v("div",yQ,[v("strong",null,b(w(d)("Login Attempts")),1)]),t[4]||(t[4]=v("div",{class:"wf-dashboard-item-action"},[v("div",{class:"wf-dashboard-item-action-disclosure"})],-1))])]),v("div",kQ,[v("ul",_Q,[v("li",null,[v("div",null,[v("div",xQ,[v("ul",SQ,[v("li",{class:k({"wf-active":"success"===S.value})},[_((a(),r("a",{href:"#",class:"wf-dashboard-login-attempts","data-grouping":"success",onClick:t[0]||(t[0]=$(e=>S.value="success",["stop","prevent"]))},[x(b(w(d)("Successful")),1)])),[[n,{role:"button"}]])],2),v("li",{class:k({"wf-active":"fail"===S.value})},[_((a(),r("a",{href:"#",class:"wf-dashboard-login-attempts","data-grouping":"fail",onClick:t[1]||(t[1]=$(e=>S.value="fail",["stop","prevent"]))},[x(b(w(d)("Failed")),1)])),[[n,{role:"button"}]])],2)])]),v("div",{class:k(A.value)},[L.value.length?(a(),l(w(hQ),{key:1,dashboardData:L.value},null,8,["dashboardData"])):(a(),r("div",TQ,[v("p",null,[v("em",null,b(w(d)("No successful logins have been recorded.")),1)])])),M(o,{name:"wf-fade"},{default:s(()=>[C.value&&!T.value?(a(),r("div",CQ,[v("div",MQ,[_((a(),r("a",{href:"#",onClick:t[2]||(t[2]=$(e=>E("logins","success"),["stop","prevent"]))},[x(b(w(d)("Show more")),1)])),[[n,{role:"button"}]])])])):i("",!0)]),_:1})],2),v("div",{class:k(I.value)},[O.value.length?(a(),l(w(hQ),{key:1,dashboardData:O.value},null,8,["dashboardData"])):(a(),r("div",LQ,[v("p",null,[v("em",null,b(w(d)("No failed logins have been recorded.")),1)])])),M(o,{name:"wf-fade"},{default:s(()=>[P.value&&!D.value?(a(),r("div",AQ,[v("div",DQ,[_((a(),r("a",{href:"#",onClick:t[3]||(t[3]=$(e=>E("logins","fail"),["stop","prevent"]))},[x(b(w(d)("Show more")),1)])),[[n,{role:"button"}]])])])):i("",!0)]),_:1})],2)])])])])])])])}}},OQ={class:"wf-dashboard-item active"},$Q={class:"wf-dashboard-item-inner"},IQ={class:"wf-dashboard-item-content"},EQ={class:"wf-dashboard-item-title"},RQ={key:0,class:"wf-dashboard-badge wf-notification-count-container wf-notification-count-value"},NQ={class:"wf-dashboard-item-extra"},BQ={class:"wf-dashboard-item-list wf-dashboard-item-list-striped"},VQ=["data-notification"],FQ={class:"wf-dashboard-item-list-title"},HQ=["href","target","rel"],UQ={class:"wf-dashboard-item-list-dismiss"},qQ=["onClick"],jQ={class:"wf-fa wf-fa-times-circle"},WQ={key:0,class:"wf-notifications-empty"},zQ={key:0,class:"wf-flex-col-xs-100 wf-flex-col-lg-50 wf-col-lg-half-padding-left wf-dashboard-item-flex-wrapper wf-central-connected"},YQ={class:"wf-dashboard-item active wf-flex-row-1"},GQ={class:"wf-central-dashboard"},KQ=["src","alt"],ZQ={class:"wf-central-dashboard-copy"},QQ={id:"wf-central-status"},XQ={key:0},JQ={key:1},eX={class:"wf-no-bottom"},tX={class:"wf-add-top-small wf-no-bottom"},nX=["href"],aX={class:"wf-flex-row"},lX={key:0},oX=["href"],sX={class:"wf-flex-row-1"},rX=["href"],iX={key:0},uX={key:1},cX={class:"wf-flex-row-1 wf-right wf-nowrap"},dX=["href"],pX={__name:"WidgetNotifications",props:{dashboardData:{type:Object,default:()=>({})}},setup(t){const o=u("__"),s=u("sprintf"),c=u("wfconstants"),d=u("$dataStore"),{$ajax:p}=yi(),{$modal:f}=Ii(),{$structuredClone:y}=ai(),S=e(y(t.dashboardData)),T=n(()=>{let e=[];return e.push("wf-flex-col-xs-100"),c.central.state.supported&&c.central.state.show_ui&&(e.push("wf-flex-col-lg-50"),e.push("wf-col-lg-half-padding-right"),e.push("wf-dashboard-item-flex-wrapper")),e}),C=n(()=>new Intl.NumberFormat(void 0,{style:"decimal",maximumFractionDigits:0}).format(S.notifications?.length)),L=e=>{let t=[];return t.push("wf-notification"),e.priority%10==1?t.push("wf-notification-critical"):e.priority%10==2&&t.push("wf-notification-warning"),t},A=n(()=>s(o("Connected by %1$s on %2$s"),S.wordfenceCentralConnectEmail,bp("%b %-d, %Y",new Date(1e3*S.wordfenceCentralConnectTime)))),D=n(()=>s(o("Disconnected on %1$s"),bp("%b %-d, %Y",new Date(1e3*S.wordfenceCentralDisconnectTime)))),P=n(()=>s(o("Disconnected by %1$s on %2$s"),o("a Wordfence Central user"),bp("%b %-d, %Y",new Date(1e3*S.wordfenceCentralDisconnectTime)))),O=n(()=>s(o("Disconnected by %1$s on %2$s"),o("Wordfence Central"),bp("%b %-d, %Y",new Date(1e3*S.wordfenceCentralDisconnectTime)))),I=n(()=>s(o("Disconnected by %1$s on %2$s"),S.wordfenceCentralDisconnectEmail,bp("%b %-d, %Y",new Date(1e3*S.wordfenceCentralDisconnectTime)))),E=()=>{f("disconnect-central-confirmation-modal")};return(e,t)=>{const n=h("aria");return a(),r(m,null,[v("div",{class:k(T.value)},[v("div",OQ,[v("div",$Q,[v("div",IQ,[v("div",EQ,[v("strong",null,b(w(o)("Notifications")),1),S.notifications?.length?(a(),r("span",RQ,b(C.value),1)):i("",!0)]),t[0]||(t[0]=v("div",{class:"wf-dashboard-item-action"},[v("div",{class:"wf-dashboard-item-action-disclosure"})],-1))])]),v("div",NQ,[v("ul",BQ,[(a(!0),r(m,null,g(S.notifications,e=>(a(),r("li",{class:k(L(e)),"data-notification":e.id,key:e.id},[v("div",FQ,[M(w(Jg),{unsafeHTML:e.html},null,8,["unsafeHTML"])]),(a(!0),r(m,null,g(e.links,e=>(a(),r("div",{class:"wf-dashboard-item-list-action",key:e.link},[v("a",{href:e.link,target:!!/^https?:\/\//i.test(e.link)&&"_blank",rel:!!/^https?:\/\//i.test(e.link)&&"noopener noreferrer"},[x(b(e.label),1),/^https?:\/\//i.test(e.link)?(a(),l(w(Bi),{key:0})):i("",!0)],8,HQ)]))),128)),v("div",UQ,[_((a(),r("a",{href:"#",class:"wf-dismiss-notification",onClick:$(t=>(e=>{const t=S.notifications.findIndex(t=>t.id===e.id);t>-1&&S.notifications.splice(t,1),p("wordfence_dismissNotification",{id:e.id})})(e),["stop","prevent"])},[_(v("i",jQ,null,512),[[n,{hidden:!0}]])],8,qQ)),[[n,{role:"button"}]])])],10,VQ))),128)),S.notifications?.length?i("",!0):(a(),r("li",WQ,b(w(o)("No notifications received")),1))])])])],2),w(c).central.state.supported&&w(c).central.state.show_ui?(a(),r("div",zQ,[v("div",YQ,[v("div",GQ,[v("img",{class:"wf-central-dashboard-logo",src:w(c).assets.images.central_logo,alt:w(o)("Wordfence Central")},null,8,KQ),v("div",ZQ,[v("p",QQ,[v("strong",null,b(w(o)("Wordfence Central Status")),1)]),S.wordfenceCentralConnected||S.wordfenceCentralDisconnected||!w(c).central.state.partial_connection?S.wordfenceCentralConnected||S.wordfenceCentralDisconnected?i("",!0):(a(),r("p",JQ,b(w(o)("Wordfence Central allows you to manage Wordfence on multiple sites from one location. It makes security monitoring and configuring Wordfence easier.")),1)):(a(),r("p",XQ,b(w(o)("It looks like you've tried to connect this site to Wordfence Central, but the installation did not finish.")),1)),v("p",eX,[v("strong",null,b(w(o)("Connection"))+":",1),t[1]||(t[1]=x(" ",-1)),S.wordfenceCentralConnected?(a(),r(m,{key:0},[x(b(A.value),1)],64)):S.wordfenceCentralDisconnected&&!S.wordfenceCentralDisconnectEmail?(a(),r(m,{key:1},[x(b(D.value),1)],64)):S.wordfenceCentralDisconnected&&S.wordfenceCentralDisconnectEmail===w(c).central.flag.marker_user?(a(),r(m,{key:2},[x(b(P.value),1)],64)):S.wordfenceCentralDisconnected&&S.wordfenceCentralDisconnectEmail===w(c).central.flag.marker_central?(a(),r(m,{key:3},[x(b(O.value),1)],64)):S.wordfenceCentralDisconnected&&S.wordfenceCentralDisconnectEmail?(a(),r(m,{key:4},[x(b(I.value),1)],64)):w(c).central.state.partial_connection?(a(),r(m,{key:5},[x(b(w(o)("Connection not finished")),1)],64)):(a(),r(m,{key:6},[x(b(w(o)("Not connected")),1)],64))]),v("p",tX,[v("strong",null,b(w(o)("Audit Log")),1),t[2]||(t[2]=x(": ",-1)),w(c).license.current.minimum_premium?S.wordfenceCentralConnected?w(d).$options.auditLogMode===w(c).auditlog.modes.disabled||w(d).$options.auditLogMode===w(c).auditlog.modes.preview?(a(),r(m,{key:2},[x(b(w(o)("Not recording")),1)],64)):w(d).$options.auditLogMode===w(c).auditlog.modes.significant?(a(),r(m,{key:3},[x(b(w(o)("Recording (significant events only)")),1)],64)):w(d).$options.auditLogMode===w(c).auditlog.modes.all?(a(),r(m,{key:4},[x(b(w(o)("Recording (all events)")),1)],64)):i("",!0):(a(),r(m,{key:1},[x(b(w(o)("Not recording (Central disconnected)")),1)],64)):(a(),r(m,{key:0},[x(b(w(o)("Disabled (premium feature)")),1)],64)),t[3]||(t[3]=x(" ",-1)),v("a",{href:w(c).auditlog.url.manage},b(w(o)("Manage")),9,nX)]),v("div",aX,[w(c).central.state.partial_connection?(a(),r("p",lX,[v("a",{href:w(c).central.url.resume,class:"wf-central-resume wf-btn wf-btn-sm wf-btn-primary"},b(w(o)("Resume Installation")),9,oX),_((a(),r("a",{href:"#",class:"wf-central-disconnect wf-btn wf-btn-sm wf-btn-default",onClick:$(E,["stop","prevent"])},[v("strong",null,b(w(o)("Disconnect This Site")),1)])),[[n,{role:"button"}]])])):(a(),r(m,{key:1},[v("p",sX,[S.wordfenceCentralConnected?_((a(),r("a",{key:0,href:"#",class:"wf-central-disconnect",onClick:$(E,["stop","prevent"])},[v("strong",null,b(w(o)("Disconnect This Site")),1)])),[[n,{role:"button"}]]):(a(),r("a",{key:1,href:w(c).central.url.connect},[S.wordfenceCentralDisconnected?(a(),r("strong",iX,b(w(o)("Reconnect This Site")),1)):(a(),r("strong",uX,b(w(o)("Connect This Site")),1))],8,rX))]),v("p",cX,[v("a",{href:w(c).central.url.main,target:"_blank",rel:"noopener noreferrer"},[v("strong",null,b(w(o)("Visit Wordfence Central")),1),M(w(Bi))],8,dX)])],64))])])])])])):i("",!0)],64)}}},fX={key:0,id:"wfls-cboxOverlay",class:"wfls-modal"},hX={__name:"ModalOverlay",props:{show:{type:Boolean,default:!1}},setup:e=>(S("modalName","wfls-modal-overlay"),(t,n)=>(a(),l(o,{name:"wfls-fade"},{default:s(()=>[e.show?(a(),r("div",fX)):i("",!0)]),_:1})))},mX={id:"wfls-cboxWrapper"},gX={id:"wfls-cboxContent"},wX={id:"wfls-cboxLoadedContent"},vX={class:"wfls-modal"},bX={class:"wfls-modal-header"},yX={class:"wfls-modal-header-content"},kX={class:"wfls-modal-title"},_X={class:"wfls-modal-header-action"},xX={key:0,class:"wfls-padding-add-left-small wfls-modal-header-action-close"},SX={class:"wfls-modal-content"},TX={key:0,class:"wfls-modal-footer"},CX={class:"wfls-flex-horizontal wfls-flex-align-right wfls-full-width"},MX={key:0,class:"wfls-modal-accessory"},LX={__name:"BaseModal",props:{modalSize:{type:[String,null],default:null,required:!1},noX:{type:Boolean,default:!1},noFooter:{type:Boolean,default:!1}},setup(e){const t=u("modalName","modal"),l=u("$mitt"),o=N(),s=e,{modalSize:d}=c(s),p=n(()=>{let e=[];return e.push("wfls-modal"),d.value&&e.push(`wfls-modal-${d.value}`),e});return(n,s)=>(a(),r("div",{id:"wfls-colorbox",class:k(p.value),role:"dialog",tabindex:"-1"},[v("div",mX,[v("div",gX,[v("div",wX,[v("div",vX,[v("div",bX,[v("div",yX,[v("div",kX,[v("strong",null,[I(n.$slots,"header")])])]),v("div",_X,[I(n.$slots,"headerAction"),e.noX?i("",!0):(a(),r("div",xX,[v("a",{href:"#",onClick:s[0]||(s[0]=$(e=>w(l).emit("closeModal",w(t)),["prevent","stop"])),role:"button"},[...s[1]||(s[1]=[v("i",{class:"wfls-fa wfls-fa-times-circle","aria-hidden":"true"},null,-1)])])]))])]),v("div",SX,[I(n.$slots,"body")]),e.noFooter?i("",!0):(a(),r("div",TX,[v("ul",CX,[w(o).accessory?(a(),r("li",MX,[I(n.$slots,"accessory")])):i("",!0),I(n.$slots,"secondary-buttons"),I(n.$slots,"primary-button")])]))])])])])],2))}},AX={class:"wfls-padding-add-left-small"},DX=["href","target","rel"],PX={__name:"ModalButton",props:{isPrimary:{default:!1},enabled:{default:!0},href:{type:[String,null],default:null,required:!1},buttonType:{type:[String,null],default:null,required:!1},target:{type:[String,null],default:null,required:!1},rel:{type:[String,null],default:null,required:!1}},emits:["click"],setup(e,{emit:t}){const l=t,o=e,{isPrimary:s,enabled:i,href:u,buttonType:d}=c(o),p=n(()=>{let e=[];return e.push("wfls-btn"),d.value?e.push(d.value):(s.value&&e.push("wfls-btn-primary"),e.push("wfls-btn-default")),e.push("wfls-btn-callout-subtle"),i.value||e.push("wfls-disabled"),e}),f=n(()=>u.value?{}:{click:$(()=>l("click"),["prevent","stop"])});return(t,n)=>(a(),r("li",AX,[v("a",O({href:w(u)??"#",class:p.value,target:e.target,rel:e.rel},ce(f.value,!0)),[I(t.$slots,"default")],16,DX)]))}},OX="wfls-simple-confirmation-modal",$X={__name:"SimpleConfirmationModal",props:{show:{type:Boolean,default:!1},title:{type:String,required:!0},titleIsHtml:{type:Boolean,default:!1},message:{type:String,required:!0},messageIsHtml:{type:Boolean,default:!1},options:{type:Object,default:()=>({})}},setup(e){const t=u("__"),d=u("$mitt");S("modalName",OX);const p=e,{options:f}=c(p),h=()=>{d.emit("closeModal",OX),"function"==typeof f.value.onClosed&&f.value.onClosed()},y=n(()=>f.value.additionalButtons??[]);return(n,u)=>(a(),l(o,{name:"wf-modal"},{default:s(()=>[e.show?(a(),l(w(LX),{key:0},q({"primary-button":s(()=>[M(w(PX),{onClick:h,"is-primary":!0},{default:s(()=>[x(b(w(t)("Close")),1)]),_:1})]),_:2},[e.titleIsHtml?{name:"header",fn:s(()=>[v("strong",null,[M(w(i_),{unsafeHTML:e.title},null,8,["unsafeHTML"])])]),key:"0"}:{name:"header",fn:s(()=>[v("strong",null,b(e.title),1)]),key:"1"},e.messageIsHtml?{name:"body",fn:s(()=>[M(w(i_),{unsafeHTML:e.message},null,8,["unsafeHTML"])]),key:"2"}:{name:"body",fn:s(()=>[x(b(e.message),1)]),key:"3"},y.value.length?{name:"secondary-buttons",fn:s(()=>[(a(!0),r(m,null,g(y.value,e=>(a(),l(w(PX),{key:e.title,onClick:e.onClick,"button-type":e.type??null},{default:s(()=>[x(b(e.title),1)]),_:2},1032,["onClick","button-type"]))),128))]),key:"4"}:void 0]),1024)):i("",!0)]),_:1}))}},IX={__name:"WFLSCommonModals",setup(t){const l=u("$mitt"),{$hasOwn:o}=s_(),s=e({"wfls-simple-confirmation-modal":{show:!1,title:"",titleIsHTML:!1,message:"",messageIsHTML:!1,options:{},configurator:e=>{s[e.name].title=e.title,s[e.name].titleIsHTML=e.titleIsHTML??!1,s[e.name].message=e.message,s[e.name].messageIsHTML=e.messageIsHTML??!1,s[e.name].options=e.options??{}}}}),i=n(()=>Object.values(s).some(e=>e.show));T(()=>{l.on("showModal",c),l.on("closeModal",d)}),D(()=>{l.off("showModal",c),l.off("closeModal",d)});const c=e=>{for(const t of Object.keys(s))t!==e.name&&s[t].show&&(s[t].show=!1);o(s,e.name)&&(s[e.name].configurator(e),s[e.name].show=!0)},d=e=>{o(s,e)&&(s[e].show=!1)};return(e,t)=>(a(),r("div",null,[M(w(hX),{show:i.value},null,8,["show"]),M(w($X),{show:s["wfls-simple-confirmation-modal"].show,title:s["wfls-simple-confirmation-modal"].title,titleIsHtml:s["wfls-simple-confirmation-modal"].titleIsHTML,message:s["wfls-simple-confirmation-modal"].message,messageIsHtml:s["wfls-simple-confirmation-modal"].messageIsHTML,options:s["wfls-simple-confirmation-modal"].options},null,8,["show","title","titleIsHtml","message","messageIsHtml","options"])]))}},EX={key:0,class:"wfls-visible-xs-inline"},RX={key:1,class:"wfls-visible-sm-inline"},NX={key:2,class:"wfls-visible-md-inline"},BX={key:3,class:"wfls-visible-lg-inline"},VX={__name:"ResponsiveText",props:{textClass:{type:[String,null],default:null},text:{type:String,required:!0},xs:{type:[String,null],default:null},sm:{type:[String,null],default:null},md:{type:[String,null],default:null},lg:{type:[String,null],default:null}},setup(e){const t=e,{textClass:l,xs:o,sm:s,md:u,lg:d}=c(t),p=n(()=>{let e=[];return l.value&&e.push(l.value),null!==o.value&&e.push("wfls-hidden-xs"),null!==s.value&&e.push("wfls-hidden-sm"),null!==u.value&&e.push("wfls-hidden-md"),null!==d.value&&e.push("wfls-hidden-lg"),e});return(t,n)=>(a(),r(m,null,[v("span",{class:k(p.value)},b(e.text),3),null!==w(o)?(a(),r("span",EX,b(w(o)),1)):i("",!0),null!==w(s)?(a(),r("span",RX,b(w(s)),1)):i("",!0),null!==w(u)?(a(),r("span",NX,b(w(u)),1)):i("",!0),null!==w(d)?(a(),r("span",BX,b(w(d)),1)):i("",!0)],64))}};function FX(){return{$ajax:(e,t,n,a,l)=>{window.WFLS.ajax(e,t,n,a,l)}}}function HX(){const e=u("__"),t=u("$mitt");return{$modal:(e,n={})=>{t.emit("showModal",Object.assign({},{name:e},n))},$modalNotice:(e,n,a=null,l=null)=>{t.emit("showModal",{name:"wfls-simple-confirmation-modal",title:e,message:n,modalSize:a,options:l})},$modalNoticeHTML:(e,n,a=null,l=null)=>{t.emit("showModal",{name:"wfls-simple-confirmation-modal",title:e,message:n,modalSize:a,options:l,titleIsHTML:!0,messageIsHTML:!0})},$errorModal:n=>{t.emit("showModal",{name:"wfls-simple-confirmation-modal",title:e("An error occurred"),message:n})},$errorModalHTML:n=>{t.emit("showModal",{name:"wfls-simple-confirmation-modal",title:e("An error occurred"),message:n,messageIsHTML:!0})},$drawer:(e,n={})=>{t.emit("showDrawer",Object.assign({},{name:e},n))}}}const UX={__name:"WFLSSettingsButtons",setup(e){const t=u("$"),n=u("__"),l=u("$mitt"),o=u("$dataStore"),{$ajax:s}=FX(),{$modalNotice:i}=HX();D(()=>{t(window).off("beforeunload",c)});const c=e=>{if(Object.keys(o.$pendingOptions).length){(e=e||window.event).preventDefault();const t=n("You have unsaved changes to your options. If you leave this page, those changes will be lost.");return e&&(e.returnValue=t),t}};f(()=>o.$pendingOptions,e=>{Object.keys(e).length?t(window).on("beforeunload",c):t(window).off("beforeunload",c)},{deep:!0});const d=()=>{Object.keys(o.$pendingOptions).forEach(e=>delete o.$pendingOptions[e]),l.emit("resetOptionControls")},p=()=>{if(!Object.keys(o.$pendingOptions).length)return;let e=Object.assign({},o.$pendingOptions);s("wordfence_ls_save_options",{changes:JSON.stringify(e)},e=>{e.success?(Object.keys(o.$pendingOptions).forEach(e=>delete o.$pendingOptions[e]),t(window).off("beforeunload",c),e.redirect?window.location.href=e.redirect:window.location.reload(!0)):i(n("Error Saving Options"),e.error)})};return(e,t)=>(a(),r(m,null,[v("a",{id:"wfls-cancel-changes",class:k(["wfls-btn wfls-btn-default wfls-btn-callout-subtle",{"wfls-disabled":0===Object.keys(w(o).$pendingOptions).length}]),href:"#",role:"button",onClick:$(d,["stop","prevent"])},[M(w(VX),{text:w(n)("Cancel Changes"),xs:w(n)("Cancel")},null,8,["text","xs"])],2),t[0]||(t[0]=x(" ",-1)),v("a",{id:"wfls-save-changes",class:k(["wfls-btn wfls-btn-primary wfls-btn-callout-subtle",{"wfls-disabled":0===Object.keys(w(o).$pendingOptions).length}]),href:"#",role:"button",onClick:$(p,["stop","prevent"])},[M(w(VX),{text:w(n)("Save Changes"),xs:w(n)("Save")},null,8,["text","xs"])],2)],64))}};function qX(){const e=u("__"),t=u("$mitt"),a=u("$dataStore"),{$ajax:l}=FX(),{$hasOwn:o}=s_(),s=n(()=>(a.$pendingOptions,a.$options,e=>e in a.$pendingOptions?a.$pendingOptions[e]:a.$options["wfls-"+e])),r=(e,t)=>{if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(const l of n){if(!o(t,l))return!1;if(!r(e[l],t[l]))return!1}return!0};return{$originalOptionValue:e=>w(a.$options["wfls-"+w(e)]),$setOption:(n,a,o,s,r=!1)=>{let i={[n]:a};l("wordfence_ls_save_options",{changes:JSON.stringify(i)},n=>{if(n.success)"function"==typeof o&&o(n);else{let a={name:"wfls-simple-confirmation-modal",title:e("Error Saving Option"),message:n.error};r&&(a.onClosed=s),t.emit("showModal",a),r||"function"==typeof s&&s(n)}})},$resolvePendingOption:s,$updatePendingValue:(e,n,l)=>{o(a.$pendingOptions,w(e))&&r(w(a.$pendingOptions[w(e)]),w(n))||(r(w(l),w(n))?delete a.$pendingOptions[w(e)]:a.$pendingOptions[w(e)]=n,t.emit("pendingOptionChanged",{name:w(e),value:w(n)}))},$clearPendingValue:e=>{delete a.$pendingOptions[w(e)]}}}const jX={key:0,id:"wfls-onboarding-standalone-modal"},WX={id:"wfls-onboarding-standalone-modal-header"},zX={id:"wfls-onboarding-standalone-modal-header-title"},YX={id:"wfls-onboarding-standalone-modal-header-accessory"},GX={id:"wfls-onboarding-standalone-modal-content"},KX={__name:"WFLSStandaloneHeader",setup(e){const n=u("__"),{$setOption:c}=qX(),d=t(!0),p=()=>{d.value=!1,c("dismissed-fresh-install-modal",!0)};return(e,t)=>(a(),l(o,{name:"wfls-slide-up"},{default:s(()=>[d.value?(a(),r("div",jX,[v("div",WX,[v("div",zX,b(w(n)("Wordfence Login Security Installed")),1),v("div",YX,[v("a",{href:"#",id:"wfls-onboarding-standalone-modal-dismiss",onClick:$(p,["stop","prevent"])},"×")])]),v("div",GX,[v("p",null,b(w(n)("You have just installed the Wordfence Login Security plugin. It contains a subset of the functionality found in the full Wordfence plugin: Two-factor Authentication, XML-RPC Protection and Login Page CAPTCHA.")),1),v("p",null,[M(w(i_),{unsafeHTML:w(n)('If you\'re looking for a more comprehensive solution, the full Wordfence plugin includes all of the features in this plugin as well as a full-featured WordPress firewall, a security scanner, live traffic, and more. The standard installation includes a robust set of free features that can be upgraded via a Premium license key.')},null,8,["unsafeHTML"])])])])):i("",!0)]),_:1}))}};function ZX(e,a,l=()=>{},o={},s="change",r=e=>e){const i=u("$mitt"),{$hasOwn:c,$structuredClone:d}=s_(),p=t("object"==typeof w(a)?d(w(a)):w(a));f(a,e=>{p.value="object"==typeof w(e)?d(w(e)):w(e)},{deep:!0}),f(p,(t,n)=>{h.value||l(s,{old:n,new:r(t),name:e})},{deep:!0});const h=t(!1);T(()=>{i.on("resetOptionControls",m),i.on("pendingOptionChanged",g)}),D(()=>{i.off("resetOptionControls",m),i.off("pendingOptionChanged",g)});const m=()=>{h.value=!0,p.value="object"==typeof w(a)?d(w(a)):w(a),h.value=!1},g=t=>{t.name===w(e)&&(h.value=!0,p.value=w(t.value),h.value=!1)},v=n(()=>"wfls-option-"+w(e).replace(/[^a-z0-9]/gi,"-")),b=n(()=>`${v.value}-label`),y=n(()=>{let e=[];return e.push("wfls-option"),c(o,"always")&&e.push(...w(o.always)),c(o,"noSpacer")&&w(o.noSpacer)&&e.push("wfls-option-no-spacing"),c(o,"disabled")&&w(o.disabled)&&e.push("wfls-disabled"),c(o,"child")&&w(o.child)&&e.push("wfls-child-option"),e});return{$elementID:v,$elementIDLabel:b,$elementClasses:y,$pendingValue:p}}function QX(e,t=!1){const n=u("$"),a=u("$mitt"),l=u("stateKey",t),o=t=>{for(const o in e){const s=w(e[o]);t!==w(o)||(w(l)?a.emit("expandDisclosureBlock",{key:w(l),scrollTo:"#"+s}):n("#"+s).length&&n("html, body").animate({scrollTop:n("#"+s).offset().top-100},1e3))}};T(()=>{a.on("scrollToOption",o)}),D(()=>{a.off("scrollToOption",o)})}const XX=["id"],JX={class:"wfls-option-title"},eJ={class:"wfls-option-content"},tJ=["for"],nJ=["id","name","onUpdate:modelValue","onChange"],aJ=["value","disabled"],lJ={key:0,id:"wfls-customer-2fa-required-warning",class:"wfls-notice"},oJ={key:1,class:"wfls-woocommerce-customer-integration-message"},sJ={class:"wfls-2fa-grace-period-container"},rJ={for:"wfls-2fa-grace-period",class:"wfls-primary-label"},iJ=["value"],uJ={for:"wfls-2fa-grace-period"},cJ={key:0,id:"wfls-grace-period-zero-warning"},dJ=["href"],pJ={key:0,class:"wfls-2fa-notification-action"},fJ=["href"],hJ=["value"],mJ=["placeholder"],gJ={__name:"OptionRoles",props:{noSpacer:{type:Boolean,default:!1},alignment:{type:[String,null],default:null}},emits:["change","changeGracePeriod","changeRoleRequired"],setup(l,{emit:o}){const s=o,{$ajax:d}=FX(),{$modal:p}=HX(),{$hasOwn:f}=s_(),h=u("__"),y=u("$mitt"),x=u("wfconstants"),S=u("$dataStore"),C=l,{noSpacer:M,alignment:L}=c(C),{$elementID:A,$elementClasses:O}=ZX("2fa-roles",null,s,{always:["wfls-option","wfls-option-2fa-roles"],noSpacer:M,alignment:L}),{$pendingValue:I}=ZX("2fa-user-grace-period",S.$options["wfls-2fa-user-grace-period"],s,{},"changeGracePeriod",parseInt);QX(Object.assign({},...x.options.roles.map(e=>({[e.name]:A})))),T(()=>{y.on("resetOptionControls",E)}),D(()=>{y.off("resetOptionControls",E)});const E=()=>{for(const e of x.options.roles)R[e.name]=e.state};let R=e({});for(const e of x.options.roles)R[e.name]=e.state;const N=t(""),B=t("");T(()=>{q.value.length&&(B.value=q.value[0].role)});const F=e=>{let t=Object.assign({},x.roles.labels);return e.allow_disabling||delete t[x.roles.states.disabled],t},H=n(()=>f(R,"enabled-roles.customer")&&R["enabled-roles.customer"]===x.roles.states.required),U=n(()=>{for(const e in x.options.roles)if(x.options.roles[e].state===x.roles.states.required)return!0;return!1}),q=n(()=>x.options.roles.filter(e=>e.state===x.roles.states.required)),j=e=>{d("wordfence_ls_send_grace_period_notification",{role:B.value,url:N.value,notify_all:e??!1},e=>{e.error?e.limit_exceeded?p("wfls-simple-confirmation-modal",{title:h("Error Sending Notification"),message:e.error,options:{additionalButtons:[{title:h("Send Anyway"),onClick:()=>{y.emit("closeModal","wfls-simple-confirmation-modal"),P(()=>j(!0))}}]}}):p("wfls-simple-confirmation-modal",{title:h("Error Sending Notification"),message:e.error}):p("wfls-simple-confirmation-modal",{title:h("Notification Results"),message:e.confirmation})},e=>{p("wfls-simple-confirmation-modal",{title:h("Error Sending Notification"),message:h("An error was encountered while trying to send the notification. Please try again.")})})},W=e=>{const t=String(e.target.value).replace(/\D+/g,"").slice(0,2);e.target.value=t.length?t:0,I.value=t.length?t:0};return(e,t)=>(a(),r("ul",{id:w(A),class:k(w(O))},[v("li",JX,[v("label",null,b(w(h)("2FA Roles")),1)]),v("li",eJ,[v("ul",null,[(a(!0),r(m,null,g(w(x).options.roles,e=>(a(),r("li",{key:e.name},[v("label",{for:`wfls-2fa-role-${e.role}`},b(e.title),9,tJ),_(v("select",{id:`wfls-2fa-role-${e.role}`,name:e.name,class:"wfls-option-select","onUpdate:modelValue":t=>w(R)[e.name]=t,onChange:t=>((e,t)=>{const n=R[e];R[e]=t,s("changeRoleRequired",{old:n,new:t,name:e})})(e.name,t.target.value)},[(a(!0),r(m,null,g(F(e),(t,n)=>(a(),r("option",{key:n,value:n,disabled:!e.editable},b(t),9,aJ))),128))],40,nJ),[[Y,w(R)[e.name]]])]))),128))]),H.value?(a(),r("p",lJ,b(w(h)('Requiring 2FA for customers is not recommended as some customers may experience difficulties setting up or using two-factor authentication. Instead, using the "Optional" mode for users with the customer role is recommended which will allow customers to enable 2FA, but will not require them to do so.')),1)):i("",!0),w(x).plugin.server.has_woocommerce&&!w(S).$options["wfls-enable-woocommerce-integration"]?(a(),r("p",oJ,[v("small",null,b(w(h)('In order to use 2FA with the WooCommerce customer role, you must either enable the "WooCommerce integration" option or use the "wordfence_2fa_management" shortcode to provide customers with access to the 2FA management interface. The default interface is only available through WordPress admin pages which are not accessible to users in the customer role.')),1)])):i("",!0)]),v("li",sJ,[v("label",rJ,b(w(h)("Grace Period")),1),v("input",{id:"wfls-2fa-grace-period",type:"text",pattern:"[0-9]+",inputmode:"numeric",value:w(I),onInput:W,class:"wfls-option-input wfls-option-input-required",maxlength:"2"},null,40,iJ),v("label",uJ," "+b(w(h)("days")),1),0===w(I)?(a(),r("div",cJ,[v("strong",null,b(w(h)("Setting the grace period to 0 will prevent users in roles where 2FA is required, including newly created users, from logging in if they have not already enabled two-factor authentication.")),1),v("a",{href:w(x).support.url.module_login_security_roles,target:"_blank",rel:"noopener noreferrer"},b(w(h)("Learn More")),9,dJ)])):i("",!0),v("small",null,b(w(h)("For roles that require 2FA, users will have this many days to set up 2FA. Failure to set up 2FA during this period will result in the user losing account access. This grace period will apply to new users from the time of account creation. For existing users, this grace period will apply relative to the time at which the requirement is implemented. This grace period will not automatically apply to admins and must be manually enabled for each admin user.")),1)]),U.value?(a(),r("li",pJ,[v("h4",null,b(w(h)("2FA Notifications")),1),v("p",null,[v("small",null,b(w(h)("Send an email to users with the selected role to notify them of the grace period for enabling 2FA. Select the desired role and optionally specify the URL to be sent in the email to setup 2FA. If left blank, the URL defaults to the standard wordpress login and Wordfence’s Two-Factor Authentication plugin page. For example, if using WooCommerce, input the relative URL of the account page.")),1),v("a",{href:w(x).support.url.module_login_security_2fa_notifications,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[v("i",{class:k(w(x).plugin.should_use_core_font_awesome?["wf-fa","wf-fa-question-circle-o"]:["wfls-fa","wfls-fa-question-circle-o"]),"aria-hidden":"true"},null,2)],8,fJ)]),v("div",null,[v("label",null,b(w(h)("2FA Role")),1),_(v("select",{id:"wfls-grace-period-notification-role","onUpdate:modelValue":t[0]||(t[0]=e=>B.value=e)},[(a(!0),r(m,null,g(q.value,e=>(a(),r("option",{key:e.name,value:e.role},b(e.title),9,hJ))),128))],512),[[Y,B.value]])]),v("div",null,[v("label",null,b(w(h)("2FA Relative URL (optional)")),1),_(v("input",{id:"wfls-grace-period-notification-url",type:"text",placeholder:w(h)("e.g., /my-account/"),"onUpdate:modelValue":t[1]||(t[1]=e=>N.value=e)},null,8,mJ),[[V,N.value]])]),v("button",{class:"wfls-btn wfls-btn-default wfls-btn-sm",id:"wfls-send-grace-period-notification",onClick:t[2]||(t[2]=$(e=>j(!1),["stop","prevent"]))},b(w(h)("Notify")),1)])):i("",!0)],10,XX))}},wJ={class:"screen-reader-text"},vJ={__name:"OpensInNewTab",setup(e){const t=u("__");return(e,n)=>(a(),r("span",wJ," ("+b(w(t)("opens in new tab"))+")",1))}},bJ=["id","data-option","data-enabled-value","data-disabled-value","data-original-value"],yJ=["aria-checked","aria-labelledby","onKeydown"],kJ={key:0,class:"wfls-option-title"},_J={class:"wfls-flex-vertical wfls-flex-align-left"},xJ=["id"],SJ=["href"],TJ={key:1,class:"wfls-option-title"},CJ=["id"],MJ=["href"],LJ={__name:"OptionToggled",props:{optionName:{type:String,required:!0},value:{default:null},enabledValue:{default:null},disabledValue:{default:null},title:{type:[String,null],default:null},subtitle:{type:[String,null],default:null},helpLink:{type:[String,null],default:null},disabled:{type:Boolean,default:!1},noSpacer:{type:Boolean,default:!1},child:{type:Boolean,default:!1},alignment:{type:[String,null],default:null}},emits:["change"],setup(e,{emit:t}){const n=t,l=N(),o=e,{optionName:s,value:u,enabledValue:d,disabledValue:p,disabled:f,noSpacer:h,alignment:m,child:g}=c(o),{$elementID:y,$elementIDLabel:_,$elementClasses:S,$pendingValue:T}=ZX(s,u,n,{always:["wfls-option-toggled"],disabled:f,noSpacer:h,alignment:m,child:g});QX({[o.optionName]:y});const C=()=>{f.value||(T.value===d.value?T.value=p.value:T.value=d.value)};return(t,n)=>(a(),r("ul",{id:w(y),class:k(w(S)),"data-option":w(s),"data-enabled-value":w(d),"data-disabled-value":w(p),"data-original-value":w(u)==w(d)?w(d):w(p)},[v("li",{class:k({"wfls-option-checkbox":!0,"wfls-checked":w(T)==w(d)}),role:"checkbox","aria-checked":w(T)==w(d)?"true":"false",tabindex:"0","aria-labelledby":w(_),onClick:$(C,["stop","prevent"]),onKeydown:E($(C,["stop","prevent"]),["space"])},[...n[0]||(n[0]=[v("i",{class:"wfls-ion-ios-checkmark-empty","aria-hidden":"true"},null,-1)])],42,yJ),e.subtitle||w(l).subtitle?(a(),r("li",kJ,[v("ul",_J,[v("li",null,[v("span",{id:w(_),class:"wfls-option-extended-toggle",onClick:$(C,["stop","prevent"])},[I(t.$slots,"title",{},()=>[x(b(e.title),1)])],8,xJ),n[2]||(n[2]=x()),e.helpLink?(a(),r("a",{key:0,href:e.helpLink,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[n[1]||(n[1]=v("i",{class:"wfls-fa wfls-fa-question-circle-o","aria-hidden":"true"},null,-1)),M(w(vJ))],8,SJ)):i("",!0)]),v("li",{class:"wfls-option-subtitle wfls-option-extended-toggle",onClick:$(C,["stop","prevent"])},[I(t.$slots,"subtitle",{},()=>[x(b(e.subtitle),1)])])])])):(a(),r("li",TJ,[v("span",{id:w(_),class:"wfls-option-extended-toggle",onClick:$(C,["stop","prevent"])},[I(t.$slots,"title",{},()=>[x(b(e.title),1)])],8,CJ),n[4]||(n[4]=x()),e.helpLink?(a(),r("a",{key:0,href:e.helpLink,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[n[3]||(n[3]=v("i",{class:"wfls-fa wfls-fa-question-circle-o","aria-hidden":"true"},null,-1)),M(w(vJ))],8,MJ)):i("",!0)]))],10,bJ))}},AJ=["id","data-option-name","data-original-value"],DJ={key:0,class:"wfls-option-spacer"},PJ={class:"wfls-option-content"},OJ={key:0,class:"wfls-option-title"},$J={class:"wfls-flex-vertical wfls-flex-align-left"},IJ=["id"],EJ=["href"],RJ={class:"wfls-option-subtitle"},NJ={key:1,class:"wfls-option-title"},BJ=["id"],VJ=["href"],FJ=["aria-labelledby"],HJ=["data-option-value","aria-checked","onClick","onKeydown"],UJ={__name:"OptionSwitch",props:{optionName:{type:String,required:!0},value:{default:null},title:{type:[String,null],default:null},subtitle:{type:[String,null],default:null},states:{type:Array,default:()=>[]},helpLink:{type:[String,null],default:null},disabled:{type:Boolean,default:!1},noSpacer:{type:Boolean,default:!1},alignment:{type:[String,null],default:null}},emits:["change"],setup(e,{emit:t}){const{$hasOwn:n}=s_(),o=t,s=N(),u=e,{optionName:d,value:p,disabled:f,noSpacer:h,alignment:y}=c(u),{$elementID:_,$elementIDLabel:S,$elementClasses:T,$pendingValue:C}=ZX(d,p,o,{always:["wfls-option-switch"],disabled:f,noSpacer:h,alignment:y});QX({[u.optionName]:_});const L=e=>{e.disabled||(C.value=e.value)};return(t,o)=>(a(),r("ul",{id:w(_),class:k(w(T)),"data-option-name":w(d),"data-original-value":w(p)},[w(h)?i("",!0):(a(),r("li",DJ)),v("li",PJ,[v("ul",null,[e.subtitle||w(s).subtitle?(a(),r("li",OJ,[v("ul",$J,[v("li",null,[v("span",{id:w(S)},[I(t.$slots,"title",{},()=>[x(b(e.title),1)])],8,IJ),o[1]||(o[1]=x()),e.helpLink?(a(),r("a",{key:0,href:e.helpLink,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[o[0]||(o[0]=v("i",{class:"wfls-fa wfls-fa-question-circle-o","aria-hidden":"true"},null,-1)),M(w(vJ))],8,EJ)):i("",!0)]),v("li",RJ,[I(t.$slots,"subtitle",{},()=>[x(b(e.subtitle),1)])])])])):(a(),r("li",NJ,[v("span",{id:w(S)},[I(t.$slots,"title",{},()=>[x(b(e.title),1)])],8,BJ),o[3]||(o[3]=x()),e.helpLink?(a(),r("a",{key:0,href:e.helpLink,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[o[2]||(o[2]=v("i",{class:"wfls-fa wfls-fa-question-circle-o","aria-hidden":"true"},null,-1)),M(w(vJ))],8,VJ)):i("",!0)])),v("li",{class:k({"wfls-option-switch":!0,"wfls-padding-add-top-xs-small":!0,"wfls-right":"right"===w(y)})},[v("ul",{class:"wfls-switch",role:"radiogroup","aria-labelledby":w(S)},[(a(!0),r(m,null,g(e.states,e=>(a(),r("li",{key:e.label,class:k({"wfls-active":e.value==w(C),"wfls-disabled":!!e.disabled}),"data-option-value":e.value,role:"radio","aria-checked":e.value==w(C)?"true":"false",tabindex:"0",onClick:$(t=>L(e),["stop","prevent"]),onKeydown:E($(t=>L(e),["stop","prevent"]),["space"])},[e.labelIsHTML?(a(),l(w(i_),{key:0,unsafeHTML:e.label},null,8,["unsafeHTML"])):w(n)(e,"xs")?(a(),l(w(VX),{key:1,text:e.label,xs:e.xs},null,8,["text","xs"])):(a(),r(m,{key:2},[x(b(e.label),1)],64))],42,HJ))),128))],8,FJ)],2)])])],10,AJ))}},qJ={class:"wfls-flex-row wfls-flex-row-equal-heights wfls-flex-item-xs-100"},jJ={class:"wfls-block wfls-always-active wfls-flex-item-full-width"},WJ={class:"wfls-block-header wfls-block-header-border-bottom"},zJ={class:"wfls-block-header-content"},YJ={class:"wfls-block-title"},GJ={class:"wfls-block-content"},KJ={class:"wfls-block-list"},ZJ={__name:"OptionsGroup2FA",setup(e){const t=u("__"),l=u("wfconstants"),o=u("$dataStore"),{$originalOptionValue:i,$updatePendingValue:c}=qX(),d=n(()=>Object.fromEntries(l.options.roles.map(e=>[e.name,e.state])));return(e,n)=>(a(),r("div",qJ,[v("div",jJ,[v("div",WJ,[v("div",zJ,[v("div",YJ,[v("h3",null,b(w(t)("2FA")),1)])])]),v("div",GJ,[v("ul",KJ,[v("li",null,[M(w(gJ),{onChangeGracePeriod:n[0]||(n[0]=e=>w(c)(e.name,e.new,w(i)(e.name))),onChangeRoleRequired:n[1]||(n[1]=e=>w(c)(e.name,e.new,d.value[e.name]))})]),v("li",null,[M(w(LJ),{optionName:"remember-device",value:w(o).$options["wfls-remember-device"],enabledValue:!0,disabledValue:!1,subtitle:w(t)("If enabled, users with 2FA enabled may choose to be prompted for a code only once every 30 days per device."),onChange:n[2]||(n[2]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Allow remembering device for 30 days")),1)]),_:1},8,["value","subtitle"])]),v("li",null,[M(w(UJ),{optionName:"xmlrpc-enabled",value:w(o).$options["wfls-xmlrpc-enabled"],subtitle:w(t)('If enabled, XML-RPC calls that require authentication will also require a valid 2FA code to be appended to the password. You must choose the "Skipped" option if you use the WordPress app, the Jetpack plugin, or other services that require XML-RPC.'),states:[{value:!1,label:w(t)("Skipped")},{value:!0,label:w(t)("Required")}],alignment:"right",onChange:n[3]||(n[3]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Require 2FA for XML-RPC call authentication")),1)]),_:1},8,["value","subtitle","states"])]),v("li",null,[M(w(LJ),{optionName:"allow-xml-rpc",value:w(o).$options["wfls-allow-xml-rpc"],enabledValue:!1,disabledValue:!0,subtitle:w(t)("If disabled, XML-RPC requests that attempt authentication will be rejected, whether the user has 2FA enabled or not."),onChange:n[4]||(n[4]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Disable XML-RPC authentication")),1)]),_:1},8,["value","subtitle"])])])])])]))}},QJ={class:"wfls-flex-row wfls-flex-row-equal-heights wfls-flex-item-xs-100"},XJ={class:"wfls-block wfls-always-active wfls-flex-item-full-width"},JJ={class:"wfls-block-header wfls-block-header-border-bottom"},e0={class:"wfls-block-header-content"},t0={class:"wfls-block-title"},n0={class:"wfls-block-content"},a0={class:"wfls-block-list"},l0={__name:"OptionsGroupWooCommerce",setup(e){const t=u("__"),l=u("wfconstants"),o=u("$dataStore"),{$originalOptionValue:i,$updatePendingValue:c,$resolvePendingOption:d}=qX(),p=n(()=>!!d.value("enable-woocommerce-integration"));return(e,n)=>(a(),r("div",QJ,[v("div",XJ,[v("div",JJ,[v("div",e0,[v("div",t0,[v("h3",null,b(w(t)("WooCommerce & Custom Integrations")),1)])])]),v("div",n0,[v("ul",a0,[v("li",null,[M(w(LJ),{optionName:"enable-woocommerce-integration",value:w(o).$options["wfls-enable-woocommerce-integration"],enabledValue:!0,disabledValue:!1,subtitle:w(t)("When enabled, reCAPTCHA and 2FA prompt support will be added to WooCommerce login and registration forms in addition to the default WordPress forms. Testing WooCommerce forms after enabling this feature is recommended to ensure plugin compatibility."),onChange:n[0]||(n[0]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("WooCommerce integration")),1)]),_:1},8,["value","subtitle"])]),v("li",null,[M(w(LJ),{optionName:"enable-woocommerce-account-integration",value:w(o).$options["wfls-enable-woocommerce-account-integration"],enabledValue:!0,disabledValue:!1,subtitle:w(t)("When enabled, a Wordfence 2FA tab will be added to the WooCommerce account menu which will provide access for users to manage 2FA settings outside of the WordPress admin area. Testing the WooCommerce account interface after enabling this feature is recommended to ensure theme compatibility."),helpLink:w(l).support.url.module_login_security_option_woocommerce_account_integration,disabled:!p.value,child:!0,onChange:n[1]||(n[1]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Show Wordfence 2FA menu on WooCommerce Account page")),1)]),_:1},8,["value","subtitle","helpLink","disabled"])]),v("li",null,[M(w(LJ),{optionName:"enable-shortcode",value:w(o).$options["wfls-enable-shortcode"],enabledValue:!0,disabledValue:!1,subtitle:w(t)('When enabled, the "wordfence_2fa_management" shortcode may be used to provide access for users to manage 2FA settings on custom pages.'),helpLink:w(l).support.url.module_login_security_option_shortcode,onChange:n[2]||(n[2]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("2FA management shortcode")),1)]),_:1},8,["value","subtitle","helpLink"])]),v("li",null,[M(w(LJ),{optionName:"stack-ui-columns",value:w(o).$options["wfls-stack-ui-columns"],enabledValue:!0,disabledValue:!1,subtitle:w(t)('When enabled, the 2FA management interface embedded through the WooCommerce integration or via a shortcode will use a vertical stacked layout as opposed to horizontal columns. Adjust this setting as appropriate to match your theme. This may be overridden using the "stacked" attribute for individual shortcodes.'),helpLink:w(l).support.url.module_login_security_option_stack_ui_columns,onChange:n[3]||(n[3]=e=>w(c)(e.name,e.new,w(i)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Use single-column layout for WooCommerce/shortcode 2FA management interface")),1)]),_:1},8,["value","subtitle","helpLink"])])])])])]))}},o0={id:"wfls-option-enable-auth-captcha"},s0={class:"wfls-option wfls-padding-add-bottom-small"},r0=["id","aria-checked","onKeydown"],i0=["aria-labelledby"],u0={class:"wfls-option-title"},c0={class:"wfls-flex-vertical wfls-flex-align-left"},d0=["id"],p0={class:"wfls-option-subtitle"},f0={key:0},h0={class:"wfls-option wfls-padding-no-top"},m0=["id"],g0=["id"],w0={class:"wfls-option-text wfls-padding-add-bottom"},v0=["id"],b0=["id"],y0={class:"wfls-option-text"},k0={class:"wfls-option wfls-padding-no-top"},_0={class:"wfls-option-title"},x0={class:"wfls-flex-vertical wfls-flex-align-left"},S0={class:"wfls-option-subtitle"},T0={__name:"OptionReCAPTCHA",emits:["changeCAPTCHAEnable","changeReCAPTCHASiteKey","changeReCAPTCHASecret"],setup(e,{emit:t}){const n=t,l=u("__"),c=u("sprintf"),d=u("wfconstants"),p=u("$dataStore"),{$elementID:f,$elementIDLabel:h,$pendingValue:m}=ZX("enable-auth-captcha",p.$options["wfls-enable-auth-captcha"],n,{},"changeCAPTCHAEnable"),{$elementID:g,$elementIDLabel:y,$pendingValue:x}=ZX("recaptcha-site-key",p.$options["wfls-recaptcha-site-key"],n,{},"changeReCAPTCHASiteKey"),{$elementID:S,$elementIDLabel:T,$pendingValue:C}=ZX("recaptcha-secret",p.$options["wfls-recaptcha-secret"],n,{},"changeReCAPTCHASecret");QX({"enable-auth-captcha":f,"recaptcha-site-key":g,"recaptcha-secret":S});const L=()=>{m.value=!m.value};return(e,t)=>(a(),r("ul",o0,[v("li",null,[v("ul",s0,[v("li",{id:w(f),class:k(["wfls-option-checkbox",{"wfls-checked":w(m)}]),role:"checkbox","aria-checked":w(m)?"true":"false",tabindex:"0",onClick:$(L,["stop","prevent"]),onKeydown:E($(L,["stop","prevent"]),["space"])},[v("i",{class:"wfls-ion-ios-checkmark-empty","aria-hidden":"true","aria-labelledby":w(h)},null,8,i0)],42,r0),v("li",u0,[v("ul",c0,[v("li",null,[v("strong",{id:w(h)},b(w(l)("Enable reCAPTCHA on the login and user registration pages")),9,d0)]),v("li",p0,[M(w(i_),{unsafeHTML:w(c)(w(l)('reCAPTCHA v3 does not make users solve puzzles or click a checkbox like previous versions. The only visible part is the reCAPTCHA logo. If a visitor\'s browser fails the CAPTCHA, Wordfence will send an email to the user\'s address with a link they can click to verify that they are a user of your site. You can read further details in our documentation.'),w(d).support.url.module_login_security_captcha)},null,8,["unsafeHTML"])])])])])]),M(o,{name:"wfls-slide-up"},{default:s(()=>[w(m)?(a(),r("li",f0,[v("ul",h0,[t[2]||(t[2]=v("li",{class:"wfls-option-spacer"},null,-1)),v("li",null,[v("table",null,[v("tr",{id:w(g),class:"wfls-option wfls-option-text"},[v("th",{id:w(y),class:"wfls-padding-add-bottom"},b(w(l)("reCAPTCHA v3 Site Key")),9,g0),v("td",w0,[_(v("input",{type:"text",name:"recaptchaSiteKey",id:"input-recaptchaSiteKey",class:"wfls-form-control","onUpdate:modelValue":t[0]||(t[0]=e=>W(x)?x.value=e:null)},null,512),[[V,w(x)]])])],8,m0),v("tr",{id:w(S),class:"wfls-option wfls-option-text"},[v("th",{id:w(T)},b(w(l)("reCAPTCHA v3 Secret")),9,b0),v("td",y0,[_(v("input",{type:"text",name:"recaptchaSecret",id:"input-recaptchaSecret",class:"wfls-form-control","onUpdate:modelValue":t[1]||(t[1]=e=>W(C)?C.value=e:null)},null,512),[[V,w(C)]])])],8,v0)])])]),v("ul",k0,[t[3]||(t[3]=v("li",{class:"wfls-option-spacer"},null,-1)),v("li",_0,[v("ul",x0,[v("li",S0,[M(w(i_),{unsafeHTML:w(l)('Note: This feature requires a free site key and secret for the Google reCAPTCHA v3 Service. To set up new reCAPTCHA keys, log into your Google account and go to the reCAPTCHA admin page.')},null,8,["unsafeHTML"])])])])])])):i("",!0)]),_:1})]))}},C0={class:"wfls-flex-vertical wfls-flex-align-left"},M0=["id"],L0={class:"wfls-option-content"},A0={class:"wfls-option-title"},D0={class:"wfls-flex-vertical wfls-flex-align-left"},P0=["id"],O0={class:"wfls-option-subtitle"},$0={class:"wfls-option-select wfls-padding-add-top-xs-small"},I0=["aria-labelledby"],E0=["value"],R0={class:"wfls-option"},N0={class:"wfls-recaptcha-score-history"},B0={class:"wfls-center"},V0={__name:"OptionReCAPTCHAThreshold",emits:["changeCAPTCHAThreshold"],setup(e,{emit:t}){const l=t,o=u("$"),s=u("__"),i=u("$dataStore"),c=window.Chart,{$ajax:d}=FX(),{$modal:p}=HX(),{$elementID:f,$elementIDLabel:h,$pendingValue:y}=ZX("recaptcha-threshold",i.$options["wfls-recaptcha-threshold"],l,{},"changeCAPTCHAThreshold"),{$hasOwn:k}=s_();QX({"recaptcha-threshold":f}),T(()=>{C()});const x=n(()=>[{label:`1.0 ${s("(definitely a human)")}`,value:1},{label:"0.9",value:.9},{label:"0.8",value:.8},{label:"0.7",value:.7},{label:"0.6",value:.6},{label:`0.5 ${s("(probably a human)")}`,value:.5},{label:"0.4",value:.4},{label:"0.3",value:.3},{label:"0.2",value:.2},{label:`0.1 ${s("(probably a bot)")}`,value:.1}]),S=()=>{d("wordfence_ls_reset_recaptcha_stats",{},e=>{e.success?window.location.reload(!0):k(e,"html")&&e.html?p("wfls-simple-confirmation-modal",{title:s("Error Resetting reCAPTCHA Statistics"),message:e.error,messageIsHTML:!0}):p("wfls-simple-confirmation-modal",{title:s("Error Resetting reCAPTCHA Statistics"),message:e.error})})},C=()=>{const e={labels:["0.0","0.1","0.2","0.3","0.4","0.5","0.6","0.7","0.8","0.9","1.0"],datasets:[{label:s("Requests"),backgroundColor:"rgba(75,192,192,0.4)",borderColor:"rgba(75,192,192,1.0)",borderWidth:1,data:i.$options["wfls-captcha-stats"].counts}]};new c(o("#wfls-recaptcha-score-history"),{type:"bar",data:e,options:{responsive:!0,legend:{display:!1},title:{display:!0,text:s("reCAPTCHA Score History")},scales:{y:{display:!0,title:{display:!0,text:s("Count")},ticks:{min:0,precision:0,stepSize:Math.max(10,Math.pow(10,Math.floor(Math.log10(i.$options["wfls-captcha-stats"].counts.reduce((e,t)=>e+t,0)/5))))}}}}})};return(e,t)=>(a(),r("ul",C0,[v("li",null,[v("ul",{id:w(f),class:"wfls-option wfls-option-select"},[t[1]||(t[1]=v("li",{class:"wfls-option-spacer"},null,-1)),v("li",L0,[v("ul",null,[v("li",A0,[v("ul",D0,[v("li",null,[v("span",{id:w(h)},[v("strong",null,b(w(s)("reCAPTCHA human/bot threshold score")),1)],8,P0)]),v("li",O0,b(w(s)("A reCAPTCHA score equal to or higher than this value will be considered human. Anything lower will be treated as a bot and require additional verification for login and registration.")),1)])]),v("li",$0,[_(v("select",{"aria-labelledby":w(h),"onUpdate:modelValue":t[0]||(t[0]=e=>W(y)?y.value=e:null)},[(a(!0),r(m,null,g(x.value,e=>(a(),r("option",{key:e.value,class:"wfls-option-select-option",value:e.value},b(e.label),9,E0))),128))],8,I0),[[Y,w(y)]])])])])],8,M0)]),v("li",null,[v("ul",R0,[t[3]||(t[3]=v("li",{class:"wfls-option-spacer"},null,-1)),v("li",N0,[t[2]||(t[2]=v("div",{class:"wfls-recaptcha-chart-container"},[v("canvas",{id:"wfls-recaptcha-score-history"})],-1)),v("div",B0,[v("a",{href:"#",id:"wfls-reset-recaptcha-score-stats",class:"wfls-text-small",onClick:$(S,["stop","prevent"])},b(w(s)("Reset Score Statistics")),1)])])])])]))}},F0={class:"wfls-flex-row wfls-flex-row-equal-heights wfls-flex-item-xs-100"},H0={class:"wfls-block wfls-always-active wfls-flex-item-full-width"},U0={class:"wfls-block-header wfls-block-header-border-bottom"},q0={class:"wfls-block-header-content"},j0={class:"wfls-block-title"},W0={class:"wfls-block-content"},z0={class:"wfls-block-list"},Y0={__name:"OptionsGroupCAPTCHA",setup(e){const t=u("__"),n=u("$dataStore"),{$originalOptionValue:l,$updatePendingValue:o}=qX();return(e,i)=>(a(),r("div",F0,[v("div",H0,[v("div",U0,[v("div",q0,[v("div",j0,[v("h3",null,b(w(t)("reCAPTCHA")),1)])])]),v("div",W0,[v("ul",z0,[v("li",null,[M(w(T0),{onChangeCAPTCHAEnable:i[0]||(i[0]=e=>w(o)(e.name,e.new,w(l)(e.name))),onChangeReCAPTCHASiteKey:i[1]||(i[1]=e=>w(o)(e.name,e.new,w(l)(e.name))),onChangeReCAPTCHASecret:i[2]||(i[2]=e=>w(o)(e.name,e.new,w(l)(e.name)))})]),v("li",null,[M(w(V0),{onChangeCAPTCHAThreshold:i[3]||(i[3]=e=>w(o)(e.name,e.new,w(l)(e.name)))})]),v("li",null,[M(w(LJ),{optionName:"recaptcha-test-mode",value:w(n).$options["wfls-recaptcha-test-mode"],enabledValue:!0,disabledValue:!1,subtitle:w(t)("While in test mode, reCAPTCHA will score login and registration requests but not actually block them. The scores will be recorded and can be used to select a human/bot threshold value."),onChange:i[4]||(i[4]=e=>w(o)(e.name,e.new,w(l)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Run reCAPTCHA in test mode")),1)]),_:1},8,["value","subtitle"])])])])])]))}},G0={id:"wfls-option-ntp",class:"wfls-option wfls-flex-vertical wfls-flex-align-left"},K0={class:"wfls-option-title"},Z0={class:"wfls-option-content"},Q0={key:0},X0={key:0},J0={key:1},e1={key:0},t1={__name:"OptionNTP",setup(e){const t=u("__"),n=u("sprintf"),l=u("wfconstants"),{$ajax:o}=FX(),{$modal:s}=HX(),c=()=>{o("wordfence_ls_reset_ntp_failure_count",{},e=>{e.error?s("wfls-simple-confirmation-modal",{title:t("Error Resetting NTP"),message:e.error??t("An error was encountered while trying to reset the NTP state. Please try again.")}):window.location.reload()},e=>{s("wfls-simple-confirmation-modal",{title:t("Error Resetting NTP"),message:t("An error was encountered while trying to reset the NTP state. Please try again.")})})},d=()=>{o("wordfence_ls_disable_ntp",{},function(e){e.error?s("wfls-simple-confirmation-modal",{title:t("Error Disabling NTP"),message:e.error??t("An error was encountered while trying to disable NTP. Please try again.")}):window.location.reload()},function(e){s("wfls-simple-confirmation-modal",{title:t("Error Disabling NTP"),message:t("An error was encountered while trying to disable NTP. Please try again.")})})};return(e,o)=>(a(),r("ul",G0,[v("li",K0,[v("strong",null,b(w(t)("NTP")),1)]),v("li",Z0,[v("p",null,b(w(t)("NTP is a protocol that allows for remote time synchronization. Wordfence Login Security uses this protocol to ensure that it has the most accurate time which is necessary for TOTP-based two-factor authentication.")),1),w(l).plugin.ntp.constant_disabled?(a(),r("p",Q0,b(w(t)("The constant WORDFENCE_LS_DISABLE_NTP is defined which disables NTP entirely. Remove this constant or set it to a falsy value to enable NTP.")),1)):w(l).plugin.ntp.cron_disabled?(a(),r(m,{key:1},[w(l).plugin.ntp.cron_failure_count?(a(),r("p",X0,[v("strong",null,b(w(n)(w(t)("NTP is currently disabled as %d subsequent attempts have failed."),w(l).plugin.ntp.max_failures)),1)])):(a(),r("p",J0,b(w(t)("NTP was manually disabled.")),1)),v("button",{id:"wfls-reset-ntp-failure-count",class:"wfls-btn wfls-btn-sm wfls-btn-default",onClick:$(c,["stop","prevent"])},b(w(t)("Reset")),1)],64)):(a(),r(m,{key:2},[v("p",null,[M(w(i_),{unsafeHTML:w(t)("NTP is currently enabled.")},null,8,["unsafeHTML"])]),w(l).plugin.ntp.cron_failure_count?(a(),r("p",e1,[v("strong",null,b(w(t)("NTP updates are currently failing.")),1),w(l).plugin.ntp.max_failures-w(l).plugin.ntp.cron_failure_count>1?(a(),r(m,{key:0},[x(b(w(n)(w(t)("NTP will be automatically disabled after %d more attempts."),w(l).plugin.ntp.max_failures-w(l).plugin.ntp.cron_failure_count)),1)],64)):(a(),r(m,{key:1},[x(b(w(t)("NTP will be automatically disabled after 1 more attempt.")),1)],64))])):i("",!0),v("button",{id:"wfls-disable-ntp",class:"wfls-btn wfls-btn-sm wfls-btn-default",onClick:$(d,["stop","prevent"])},b(w(t)("Disable")),1)],64))])]))}},n1=["id","data-option-name","data-original-value"],a1={key:0,class:"wfls-option-spacer"},l1={class:"wfls-option-content"},o1={class:"wfls-flex-vertical wfls-flex-align-left"},s1=["id"],r1=["href"],i1={class:"wfls-option-subtitle"},u1=["id"],c1=["href"],d1={class:"wfls-option-textarea"},p1={key:0,class:"wfls-flex-vertical wfls-flex-align-left wfls-flex-full-width"},f1=["disabled","aria-labelledby"],h1={class:"wfls-option-subtitle"},m1=["disabled","aria-labelledby"],g1={__name:"OptionTextArea",props:{optionName:{type:String,required:!0},value:{default:null},title:{type:[String,null],default:null},alignTitle:{type:[String,null],default:null},subtitle:{type:[String,null],default:null},subtitlePosition:{type:String,default:"title"},helpLink:{type:[String,null],default:null},disabled:{type:Boolean,default:!1},noLeftSpacer:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const n=t,l=N(),o=e,{value:s,optionName:u,disabled:d}=c(o),{$elementID:p,$elementIDLabel:f,$elementClasses:h,$pendingValue:m}=ZX(u,s,n,{always:["wfls-option-textarea"],disabled:d});return QX({[o.optionName]:p}),(t,n)=>(a(),r("ul",{id:w(p),class:k(w(h)),"data-option-name":w(u),"data-original-value":JSON.stringify(w(s))},[e.noLeftSpacer?i("",!0):(a(),r("li",a1)),v("li",l1,[v("ul",null,[(e.subtitle||w(l).subtitle)&&"title"===e.subtitlePosition?(a(),r("li",{key:0,class:k(["wfls-option-title",{"wfls-option-title-top":"top"===e.alignTitle,"wfls-option-title-bottom":"bottom"===e.alignTitle}])},[v("ul",o1,[v("li",null,[v("span",{id:w(f)},[I(t.$slots,"title",{},()=>[x(b(e.title),1)])],8,s1),n[3]||(n[3]=x()),e.helpLink?(a(),r("a",{key:0,href:e.helpLink,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[n[2]||(n[2]=v("i",{class:"wfls-fa wfls-fa-question-circle-o","aria-hidden":"true"},null,-1)),M(w(vJ))],8,r1)):i("",!0)]),v("li",i1,[I(t.$slots,"subtitle",{},()=>[x(b(e.subtitle),1)])])])],2)):(a(),r("li",{key:1,class:k(["wfls-option-title",{"wfls-option-title-top":"top"===e.alignTitle,"wfls-option-title-bottom":"bottom"===e.alignTitle}])},[v("span",{id:w(f)},[I(t.$slots,"title",{},()=>[x(b(e.title),1)])],8,u1),n[5]||(n[5]=x()),e.helpLink?(a(),r("a",{key:0,href:e.helpLink,target:"_blank",rel:"noopener noreferrer",class:"wfls-inline-help"},[n[4]||(n[4]=v("i",{class:"wfls-fa wfls-fa-question-circle-o","aria-hidden":"true"},null,-1)),M(w(vJ))],8,c1)):i("",!0)],2)),v("li",d1,[(e.subtitle||w(l).subtitle)&&"value"===e.subtitlePosition?(a(),r("ul",p1,[v("li",null,[_(v("textarea",{disabled:w(d),"aria-labelledby":w(f),"onUpdate:modelValue":n[0]||(n[0]=e=>W(m)?m.value=e:null)},null,8,f1),[[V,w(m)]])]),v("li",h1,[I(t.$slots,"subtitle",{},()=>[x(b(e.subtitle),1)])])])):_((a(),r("textarea",{key:1,disabled:w(d),"aria-labelledby":w(f),"onUpdate:modelValue":n[1]||(n[1]=e=>W(m)?m.value=e:null)},null,8,m1)),[[V,w(m)]])])])])],10,n1))}},w1={class:"wfls-flex-vertical wfls-flex-full-width"},v1=["id"],b1={class:"wfls-option-content wfls-no-right"},y1={class:"wfls-flex-vertical wfls-flex-align-left"},k1={class:"wfls-option-title"},_1={class:"wfls-flex-vertical wfls-flex-align-left"},x1={class:"wfls-padding-add-left"},S1={class:"wfls-flex-vertical wfls-flex-align-left",role:"radiogroup"},T1=["value","id"],C1=["for"],M1={class:"wfls-option-ip-source-details wfls-padding-add-top"},L1={class:"wfls-left"},A1={id:"wfls-ip-source-preview-all"},D1={key:1},P1={class:"wfls-left"},O1={id:"wfls-ip-source-preview-single"},$1={class:"wfls-left"},I1={key:0,id:"wfls-ip-source-trusted-proxies"},E1=["id"],R1={class:"wfls-option-content wfls-no-right"},N1={class:"wfls-option-title"},B1={class:"wfls-flex-vertical wfls-flex-align-left"},V1={class:"wfls-option-subtitle"},F1={class:"wfls-option-textarea"},H1={__name:"OptionHowGetIPs",emits:["change","changeTrustedProxies"],setup(n,{emit:l}){const{$ajax:c}=FX(),d=l,p=u("__"),h=u("$mitt"),y=u("wfconstants"),S=u("$dataStore");T(()=>{h.on("resetOptionControls",C)}),D(()=>{h.off("resetOptionControls",C),clearTimeout(q.value)});const C=()=>{H.value=!1,P(U)},{$elementID:L,$elementClasses:A,$pendingValue:O}=ZX("ip-source",S.$options["wfls-ip-source"],d,{always:["wfls-option-ip-source"]}),{$elementID:I,$elementClasses:E,$pendingValue:R}=ZX("ip-trusted-proxies",S.$options["wfls-ip-trusted-proxies"],d,{always:["wfls-option-textarea"]},"changeTrustedProxies");QX({"ip-source":L,"ip-trusted-proxies":I});const N=e=>`${w(L)}-${e.value.replace(/[^a-z0-9]/gi,"-")}`,B=t(y.plugin.ip.current),F=e(y.plugin.ip.preview),H=t(!1),U=()=>{c("wordfence_ls_update_ip_preview",{ip_source:w(O),ip_source_trusted_proxies:w(R)},e=>{e&&e.ip&&(B.value=e.ip,F.splice(0,F.length,...e.preview))})};f(O,U);const q=t(0);return f(R,()=>{clearTimeout(q.value),q.value=setTimeout(U,1e3)}),(e,t)=>(a(),r("ul",w1,[v("li",null,[v("ul",{id:w(L),class:k(w(A))},[v("li",b1,[v("ul",y1,[v("li",k1,[v("strong",null,b(w(p)("How to get IPs")),1)]),v("li",null,[v("ul",_1,[v("li",x1,[v("ul",S1,[(a(!0),r(m,null,g(w(y).options.ip_source,e=>(a(),r("li",{class:"wfls-padding-add-top-small",key:N(e)},[_(v("input",{type:"radio",class:"wfls-option-radio",name:"wfls-ip-source",value:e.value,id:N(e),"onUpdate:modelValue":t[0]||(t[0]=e=>W(O)?O.value=e:null)},null,8,T1),[[z,w(O)]]),v("label",{for:N(e),class:"wfls-plain"}," "+b(e.label),9,C1)]))),128))])]),v("li",M1,[v("div",L1,[x(b(w(p)("Detected IP(s)"))+": ",1),v("span",A1,[(a(!0),r(m,null,g(F,(e,t)=>(a(),r(m,{key:e.ip},[t>0?(a(),r(m,{key:0},[x(", ")],64)):i("",!0),e.selected?(a(),r("strong",D1,b(e.ip),1)):(a(),r(m,{key:2},[x(b(e.ip),1)],64))],64))),128))])]),v("div",P1,[x(b(w(p)("Your IP with this setting"))+": ",1),v("span",O1,b(B.value),1)]),v("div",$1,[v("a",{href:"#",id:"wfls-ip-source-trusted-proxies-show",role:"button",onClick:t[1]||(t[1]=$(e=>H.value=!H.value,["stop","prevent"]))},"+ "+b(w(p)("Edit trusted proxies")),1)])])])])])])],10,v1)]),M(o,{name:"wfls-slide-up"},{default:s(()=>[H.value?(a(),r("li",I1,[v("ul",{id:w(I),class:k(w(E))},[t[3]||(t[3]=v("li",{class:"wfls-option-spacer"},null,-1)),v("li",R1,[v("ul",null,[v("li",N1,[v("ul",B1,[v("li",null,b(w(p)("Trusted Proxies")),1),v("li",V1,b(w(p)("These IPs (or CIDR ranges) will be ignored when determining the requesting IP via the X-Forwarded-For HTTP header. Enter one IP or CIDR range per line.")),1)])]),v("li",F1,[_(v("textarea",{spellcheck:"false",autocapitalize:"none",autocomplete:"off",name:"wfls-ip-trusted-proxies","onUpdate:modelValue":t[2]||(t[2]=e=>W(R)?R.value=e:null)},null,512),[[V,w(R)]])])])])],10,E1)])):i("",!0)]),_:1})]))}},U1={class:"wfls-flex-row wfls-flex-row-equal-heights wfls-flex-item-xs-100"},q1={class:"wfls-block wfls-always-active wfls-flex-item-full-width"},j1={class:"wfls-block-header wfls-block-header-border-bottom"},W1={class:"wfls-block-header-content"},z1={class:"wfls-block-title"},Y1={class:"wfls-block-content"},G1={class:"wfls-block-list"},K1={key:0},Z1={__name:"OptionsGroupGeneral",setup(e){const t=u("__"),n=u("wfconstants"),l=u("$dataStore"),{$originalOptionValue:o,$updatePendingValue:c}=qX();return(e,u)=>(a(),r("div",U1,[v("div",q1,[v("div",j1,[v("div",W1,[v("div",z1,[v("h3",null,b(w(t)("General")),1)])])]),v("div",Y1,[v("ul",G1,[v("li",null,[M(w(g1),{optionName:"whitelisted",value:w(l).$options["wfls-whitelisted"],alignTitle:"top",subtitle:w(t)("Allowlisted IPs must be placed on separate lines. You can specify ranges using the following formats: 127.0.0.1/24, 127.0.0.[1-100], or 127.0.0.1-127.0.1.100."),subtitlePosition:"value",noLeftSpacer:!0,onChange:u[0]||(u[0]=e=>w(c)(e.name,e.new,w(o)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Allowlisted IP addresses that bypass 2FA and reCAPTCHA")),1)]),_:1},8,["value","subtitle"])]),w(n).plugin.ls_from_core?i("",!0):(a(),r("li",K1,[M(w(H1),{onChange:u[1]||(u[1]=e=>w(c)(e.name,e.new,w(o)(e.name))),onChangeTrustedProxies:u[2]||(u[2]=e=>w(c)(e.name,e.new,w(o)(e.name)))})])),v("li",null,[M(w(t1))]),v("li",null,[M(w(LJ),{optionName:"enable-login-history-columns",value:w(l).$options["wfls-enable-login-history-columns"],enabledValue:!0,disabledValue:!1,subtitle:w(t)("When enabled, the last login timestamp will be displayed for each user on the WP Users page. When used in conjunction with reCAPTCHA, the most recent score will also be displayed for each user."),onChange:u[3]||(u[3]=e=>w(c)(e.name,e.new,w(o)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Show last login column on WP Users page")),1)]),_:1},8,["value","subtitle"])]),v("li",null,[M(w(LJ),{optionName:"delete-deactivation",value:w(l).$options["wfls-delete-deactivation"],enabledValue:!0,disabledValue:!1,subtitle:w(t)("If enabled, all settings and 2FA records will be deleted on deactivation. If later reactivated, all users that previously had 2FA active will need to set it up again."),onChange:u[4]||(u[4]=e=>w(c)(e.name,e.new,w(o)(e.name)))},{title:s(()=>[v("strong",null,b(w(t)("Delete Login Security tables and data on deactivation")),1)]),_:1},8,["value","subtitle"])])])])])]))}},Q1={__name:"WFLSOptions",setup:e=>(e,t)=>(a(),r(m,null,[M(w(ZJ)),M(w(l0)),M(w(Y0)),M(w(Z1))],64))},{$hasOwn:X1}=ai(),J1={AuditLogNewTour:$i,Blocking:Cf,BlockingNewTour:Df,CommonModals:fw,DashboardHeader:bv,DashboardModals:Tv,DashboardNewTour:Av,DashboardOptions:o_,DiagnosticsBlock:w_,DiagnosticsClearCentralConnectionData:k_,DiagnosticsHeader:U_,DiagnosticsModals:W_,DiagnosticsSendTestActivityReport:G_,DiagnosticsSendTestEmail:Q_,DiagnosticsSettingsButtons:J_,FirewallDrawers:_x,FirewallHeader:nS,FirewallModals:hT,FirewallNewTour:bT,FirewallOptions:wE,GDPRBanner:TE,GlobalError:EE,LiveTraffic:lV,LiveTrafficNewTour:sV,LoginSecurityNewTour:pV,OnboardingModals:WV,OptionsGroupAdvancedFirewall:QO,OptionsGroupAlert:yk,OptionsGroupAuditLog:ZV,OptionsGroupBasicFirewall:wO,OptionsGroupBruteForce:tI,OptionsGroupCountryAdvanced:CF,OptionsGroupDashboard:Oy,OptionsGroupDiagnostics:LF,OptionsGroupEmailSummary:Hk,OptionsGroupGeneral:Sy,OptionsGroupGeneralBlocking:DF,OptionsGroupImport:WF,OptionsGroupLicense:Jv,OptionsGroupLiveTraffic:hR,OptionsGroupRateLimiting:yI,OptionsGroupScanAdvanced:YF,OptionsGroupScanBasic:mH,OptionsGroupScanGeneral:wH,OptionsGroupScanPerformance:bH,OptionsGroupScanSchedule:sU,OptionsGroupViewCustomization:wb,OptionsGroupWhitelisted:cE,OptionsLinkBlock:rU,OptionsModals:yU,ScanProgressStages:$U,ScanProgressDetailed:Pq,ScanResults:aK,ScanStarter:sK,ScannerHeader:AK,ScannerModals:QK,ScannerNewTour:tZ,ScrollTop:aZ,SettingsButtons:X_,SettingsControlBlock:uR,StandaloneInstall:sZ,TourContainer:iZ,TwoFactorNotice:AZ,WhoisForm:VZ,WidgetIPs:cQ,WidgetLogins:PQ,WidgetNotifications:pX,WFLSCommonModals:IX,WFLSSettingsButtons:UX,WFLSStandaloneHeader:KX,WFLSOptions:Q1},e2={all:t2=t2||/* @__PURE__ */new Map,on:function(e,t){var n=t2.get(e);n?n.push(t):t2.set(e,[t])},off:function(e,t){var n=t2.get(e);n&&(t?n.splice(n.indexOf(t)>>>0,1):t2.set(e,[]))},emit:function(e,t){var n=t2.get(e);n&&n.slice().map(function(e){e(t)}),(n=t2.get("*"))&&n.slice().map(function(n){n(e,t)})}};var t2;window.WFEventEmitter=e2,window.WFLSEventEmitter=e2;const n2=e({time:{serverMicrotime:Date.now()/1e3},mode:!1,isSmallScreen:window.matchMedia("only screen and (max-width: 500px)").matches});window.WFDataStore=n2,jQuery(document).on("heartbeat-tick",(e,t)=>{n2.time.serverMicrotime=t.server_time??e.timeStamp/1e3}),jQuery(document).ready(function(){const e=jQuery(".wordfence-vue-wrapper"),t=(e,n)=>{const a=Array.isArray(e)?[...e]:{...e};if(!n||"object"!=typeof n)return a;for(const[l,o]of Object.entries(n))o&&"object"==typeof o&&!Array.isArray(o)&&a[l]&&"object"==typeof a[l]&&!Array.isArray(a[l])?a[l]=t(a[l],o):a[l]=o;return a};window.WordfenceMergedJSConstants=t(window.WordfenceLSJSConstants??{},window.WordfenceJSConstants??{});const n={$:window.jQuery,__:window.wfi18n.__,_n:window.wfi18n._n,sprintf:window.wfi18n.sprintf,wfconstants:window.WordfenceMergedJSConstants,$mitt:e2,$dataStore:n2};for(let a of e){if(window.WordfenceMergedJSConstants.hasGlobalError){de(J1.GlobalError,{errorMessage:window.WordfenceMergedJSConstants.errorMessage??null,errorDetails:window.WordfenceMergedJSConstants.errorDetails??null}).mount(a);continue}let e={};const t=Object.keys(jQuery(a).data());for(let n of t)n.startsWith("prop")&&(e[n.charAt(4).toLowerCase()+n.slice(5)]=jQuery(a).data(n));const l=jQuery(a).data("baseComponent");if(!X1(J1,l))continue;const o=de(J1[l],e);for(const[a,u]of Object.entries(n))o.provide(a,u);o.use(ci,n),o.use(di,n),o.use(pi,n),o.use(fi,n),o.use(hi,n),o.use(mi,n),o.use(gi,n),o.use(wi,n),o.directive("visible",ii),o.directive("tooltip",ri),o.directive("scrollTo",si);const s=e=>null==e,r=(e,t)=>{const n=(s(t)?"":String(t)).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");e.innerHTML=n.replace(/\r\n|\r|\n/g,"
")};o.directive("nl2br",{mounted(e,t){r(e,t.value)},updated(e,t){r(e,t.value)}});const i=(e,t)=>{if(t)for(const[n,a]of Object.entries(t)){const t="role"===n?"role":"tabindex"===n?"tabindex":`aria-${n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}`;s(a)?e.removeAttribute(t):e.setAttribute(t,String(a))}};o.directive("aria",{mounted(e,t){i(e,t.value)},updated(e,t){i(e,t.value)}}),o.mount(a)}});