@tryghost/portal 2.31.2 → 2.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryghost/portal",
3
- "version": "2.31.2",
3
+ "version": "2.32.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
package/umd/portal.min.js CHANGED
@@ -3157,5 +3157,5 @@ footer.gh-portal-signup-footer.invite-only .gh-portal-signup-message {
3157
3157
  --brandcolor: ${this.context.brandColor}
3158
3158
  }
3159
3159
  `+n;return c.jsxs(c.Fragment,{children:[c.jsx("style",{dangerouslySetInnerHTML:{__html:r}}),c.jsx("meta",{name:"viewport",content:"width=device-width, initial-scale=1, maximum-scale=1"})]})}renderFrameContainer(){const{member:t,site:n,customSiteUrl:r}=this.context,i=wm({member:t}),o=window.innerWidth<480,a={...i.frame.common};let s="gh-portal-popup-background";return q(["preview"])&&(i.modalContainer.zIndex="3999997"),q(["preview"],{customSiteUrl:r})&&!n.disableBackground&&(s+=" preview"),q(["dev"])&&(s+=" dev"),c.jsx("div",{style:i.modalContainer,children:c.jsxs(Tc,{style:a,title:"portal-popup",head:this.renderFrameStyles(),dataTestId:"portal-popup-frame",children:[c.jsx("div",{className:s,onClick:l=>this.handlePopupClose(l)}),c.jsx(_m,{isMobile:o})]})})}render(){const{showPopup:t}=this.context;return t?this.renderFrameContainer():null}}J(Sm,"contextType",$),Aa({products:Jc({numOfProducts:1})});function we(){return(new Date().getTime()/1e3|0).toString(16)+"xxxxxxxxxxxxxxxx".replace(/[x]/g,function(){return(Math.random()*16|0).toString(16)}).toLowerCase()}function Aa({title:e="The Blueprint",description:t="Thoughts, stories and ideas.",logo:n="https://static.ghost.org/v4.0.0/images/ghost-orb-1.png",icon:r="https://static.ghost.org/v4.0.0/images/ghost-orb-1.png",url:i="https://portal.localhost",plans:o={monthly:5e3,yearly:15e4,currency:"USD"},products:a=Jc({numOfProducts:1}),portalProducts:s=a.map(N=>N.id),accentColor:l="#45C32E",portalPlans:u=["free","monthly","yearly"],allowSelfSignup:p=!0,membersSignupAccess:d="all",freePriceName:f="Free",freePriceDescription:y="Free preview",isStripeConfigured:v=!0,portalButton:w=!0,portalName:g=!0,portalButtonIcon:h="icon-1",portalButtonSignupText:m="Subscribe now",portalButtonStyle:b="icon-and-text",membersSupportAddress:k="support@example.com",newsletters:E=[],commentsEnabled:_}={}){return{title:e,description:t,logo:n,icon:r,accent_color:l,url:i,plans:o,products:a,portal_products:s,allow_self_signup:p,members_signup_access:d,free_price_name:f,free_price_description:y,is_stripe_configured:v,portal_button:w,portal_name:g,portal_plans:u,portal_button_icon:h,portal_button_signup_text:m,portal_button_style:b,members_support_address:k,comments_enabled:!!_,newsletters:E}}function Em({name:e="Black Friday",code:t="black-friday",displayTitle:n="Black Friday Sale!",displayDescription:r="Special deal for Black Friday. Subscribe now for only $15 per month and get additional benefits like accessing our podcast.",type:i="percent",cadence:o="month",amount:a=50,duration:s="repeating",durationInMonths:l=null,currencyRestriction:u=!1,currency:p=null,status:d="active",tierId:f="",tierName:y="Basic"}={}){return{id:`offer_${we()}`,name:e,code:t,display_title:n,display_description:r,type:i,cadence:o,amount:a,duration:s,duration_in_months:l,currency_restriction:u,currency:p,status:d,tier:{id:`${f}`,name:y}}}function Ke({name:e="Jamie Larson",email:t="jamie@example.com",firstname:n="Jamie",subscriptions:r=[],paid:i=!1,avatarImage:o="",subscribed:a=!0,email_suppression:s={suppressed:!1,info:null}}={}){return{uuid:`member_${we()}`,email:t,name:e,firstname:n,paid:i,subscribed:a,avatar_image:o,subscriptions:r,email_suppression:s}}function Jc({numOfProducts:e=3}={}){const n=[kr({name:"Bronze",description:"Access to all members articles",monthlyPrice:Fe({interval:"month",amount:700}),yearlyPrice:Fe({interval:"year",amount:7e3}),numOfBenefits:2}),kr({name:"Silver",description:"Access to all members articles and weekly podcast",monthlyPrice:Fe({interval:"month",amount:1200}),yearlyPrice:Fe({interval:"year",amount:12e3}),numOfBenefits:3}),kr({name:"Friends of the Blueprint",description:"Get access to everything and lock in early adopter pricing for life + listen to my podcast",monthlyPrice:Fe({interval:"month",amount:18e3}),yearlyPrice:Fe({interval:"year",amount:17e3}),numOfBenefits:4})].slice(0,e),r=Cm({});return[...n,r]}function kr({type:e="paid",name:t="Basic",description:n="",id:r=`product_${we()}`,monthlyPrice:i=Fe(),yearlyPrice:o=Fe({interval:"year"}),numOfBenefits:a=2}){return{id:r,name:t,description:n,monthlyPrice:e==="free"?null:i,yearlyPrice:e==="free"?null:o,type:e,benefits:jm({numOfBenefits:a})}}function Cm({name:e="Free tier",description:t="Free tier description",id:n=`product_${we()}`,numOfBenefits:r=2}){return{id:n,name:e,type:"free",description:t,benefits:jm({numOfBenefits:r})}}function jm({numOfBenefits:e}){return[La({name:"Limited early adopter pricing"}),La({name:"Latest gear reviews"}),La({name:"Weekly email newsletter"}),La({name:"Listen to my podcast"})].slice(0,e)}function La({id:e=`benefit_${we()}`,name:t="Benefit"}){return{id:e,name:t}}function Fe({interval:e="month",amount:t=e==="month"?500:5e3,nickname:n=e==="month"?"Monthly":"Yearly",description:r=null,currency:i="usd",active:o=!0,id:a=`price_${we()}`}={}){return{id:a,active:o,nickname:n,currency:i,amount:t,interval:e,description:r,stripe_price_id:`price_${we()}`,stripe_product_id:`prod_${we()}`,type:"recurring"}}function Sn({id:e=`sub_${we()}`,status:t="active",currency:n="USD",interval:r="year",amount:i=r==="month"?500:5e3,nickname:o=r==="month"?"Monthly":"Yearly",cardLast4:a="4242",offer:s=ew,priceId:l=`price_${we()}`,startDate:u="2021-10-05T03:18:30.000Z",currentPeriodEnd:p="2022-10-05T03:18:30.000Z",cancelAtPeriodEnd:d=!1}={}){return{id:e,customer:{id:`cus_${we()}`,name:"Jamie",email:"jamie@example.com"},plan:{id:`price_${we()}`,nickname:o,amount:i,interval:r,currency:n},offer:s,status:t,start_date:u,default_payment_card_last4:a,cancel_at_period_end:d,cancellation_reason:null,current_period_end:p,price:{id:`stripe_price_${we()}`,price_id:l,nickname:o,amount:i,interval:r,type:"recurring",currency:n,product:{id:`stripe_prod_${we()}`,product_id:`prod_${we()}`}}}}function Pm(){const e=Jc({numOfProducts:1}),t=e.map(r=>r.id);return Aa({products:e,portalPlans:["free","monthly","yearly"],portalProducts:t})}Pm();const Zk=Aa({products:[kr({numOfBenefits:2,type:"free"})]}),ew=Em({tierId:(wg=Zk.products[0])==null?void 0:wg.id});Ke(),Ke({paid:!0,subscriptions:[Sn()]}),Ke({paid:!0,subscriptions:[]}),Ke({paid:!0,subscriptions:[Sn({amount:0})]}),Ke({paid:!0,subscriptions:[Sn({amount:1500,startDate:"2019-05-01T11:42:40.000Z",currentPeriodEnd:"2021-06-05T11:42:40.000Z"})]}),Pm();const Ma=[Cm({name:"Free",description:"Free tier description which is actually a pretty long description",numOfBenefits:2}),kr({name:"The Blueprint",description:"",monthlyPrice:Fe({interval:"month",amount:500}),yearlyPrice:Fe({interval:"year",amount:5e3}),numOfBenefits:3}),kr({name:"Friends of the Blueprint Silver",description:"Access to all members articles and weekly podcast",monthlyPrice:Fe({interval:"month",amount:1200}),yearlyPrice:Fe({interval:"year",amount:11e3}),numOfBenefits:4})],wr=Aa({title:"The Blueprint",description:"Thoughts, stories and ideas.",logo:"https://static.ghost.org/v4.0.0/images/ghost-orb-1.png",icon:"https://static.ghost.org/v4.0.0/images/ghost-orb-1.png",accentColor:"#45C32E",url:"https://portal.localhost",plans:{monthly:5e3,yearly:15e4,currency:"USD"},products:Ma,portalProducts:Ma.map(e=>e.id),allowSelfSignup:!0,membersSignupAccess:"all",freePriceName:"Free",freePriceDescription:"Free preview",isStripeConfigured:!0,portalButton:!0,portalName:!0,portalPlans:["free","monthly","yearly"],portalButtonIcon:"icon-1",portalButtonSignupText:"Subscribe now",portalButtonStyle:"icon-and-text",membersSupportAddress:"support@example.com",commentsEnabled:!0,newsletters:[{id:"weekly",name:"Weekly Rundown",description:"Best of last week",subscribe_on_signup:!0,paid:!0},{id:"daily",name:"Daily Brief",description:"One email every day",subscribe_on_signup:!1,paid:!1}]}),Nm=Em({tierId:(_g=wr.products[1])==null?void 0:_g.id}),Ia={free:Ke({name:"Jamie Larson",email:"jamie@example.com",firstname:"Jamie",subscriptions:[],paid:!1,avatarImage:"",subscribed:!0}),paid:Ke({paid:!0,subscriptions:[Sn({status:"active",currency:"USD",interval:"year",amount:5e3,cardLast4:"4242",startDate:"2021-10-05T03:18:30.000Z",currentPeriodEnd:"2022-10-05T03:18:30.000Z",cancelAtPeriodEnd:!1})]}),complimentary:Ke({paid:!0,subscriptions:[]}),complimentaryWithSubscription:Ke({paid:!0,subscriptions:[Sn({amount:0})]}),preview:Ke({paid:!0,subscriptions:[Sn({amount:1500,startDate:"2019-05-01T11:42:40.000Z",currentPeriodEnd:"2021-06-05T11:42:40.000Z"})]})};function tw(){var n;if(!Ma||!Ma[1])return null;let e=(n=wr==null?void 0:wr.products)==null?void 0:n[1].monthlyPrice,t=Ke({paid:!0,subscriptions:[Sn({offer:null,priceId:e==null?void 0:e.id,status:"active",currency:e==null?void 0:e.currency,interval:e==null?void 0:e.interval,amount:e==null?void 0:e.amount,cardLast4:"4242",startDate:"2021-10-05T03:18:30.000Z",currentPeriodEnd:"2022-10-05T03:18:30.000Z",cancelAtPeriodEnd:!1})]});return{site:wr,member:t}}function nw({data:e,state:t}){return{page:e.page,popupNotification:null,lastPage:e.lastPage||null,pageData:e.pageData||t.pageData}}function rw({state:e}){return{showPopup:!e.showPopup}}function iw({data:e}){return{showPopup:!0,page:e.page,...e.pageQuery?{pageQuery:e.pageQuery}:{},...e.pageData?{pageData:e.pageData}:{}}}function ow({state:e}){return e.lastPage?{page:e.lastPage}:$m({state:e})}function $m({state:e}){return Ac(),{showPopup:!1,lastPage:null,pageQuery:"",popupNotification:null,page:e.page==="magiclink"?"":e.page}}function aw({data:e}){return{showNotification:!0,...e}}function sw({state:e}){return{showNotification:!1}}async function lw({api:e,state:t}){try{return await e.member.signout(),{action:"signout:success"}}catch{return{action:"signout:failed",popupNotification:Q({type:"signout:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:"Failed to log out, please try again"})}}}async function cw({data:e,api:t,state:n}){try{return await t.member.sendMagicLink({...e,emailType:"signin"}),{page:"magiclink",lastPage:"signin"}}catch(r){return{action:"signin:failed",popupNotification:Q({type:"signin:failed",autoHide:!1,closeable:!0,state:n,status:"error",message:wt.getMessageFromError(r,"Failed to log in, please try again")})}}}async function uw({data:e,state:t,api:n}){try{let{plan:r,tierId:i,cadence:o,email:a,name:s,newsletters:l,offerId:u}=e;if(r.toLowerCase()==="free")await n.member.sendMagicLink({emailType:"signup",...e});else return i&&o?await n.member.checkoutPlan({plan:r,tierId:i,cadence:o,email:a,name:s,newsletters:l,offerId:u}):({tierId:i,cadence:o}=_n({site:t==null?void 0:t.site,priceId:r}),await n.member.checkoutPlan({plan:r,tierId:i,cadence:o,email:a,name:s,newsletters:l,offerId:u})),{page:"loading"};return{page:"magiclink",lastPage:"signup"}}catch(r){const i=(r==null?void 0:r.message)||"Failed to sign up, please try again";return{action:"signup:failed",popupNotification:Q({type:"signup:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:i})}}}async function dw({data:e,state:t,api:n}){try{let{plan:r,offerId:i,tierId:o,cadence:a}=e;(!o||!a)&&({tierId:o,cadence:a}=_n({site:t==null?void 0:t.site,priceId:r})),await n.member.checkoutPlan({plan:r,tierId:o,cadence:a,offerId:i,metadata:{checkoutType:"upgrade"}})}catch{return{action:"checkoutPlan:failed",popupNotification:Q({type:"checkoutPlan:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:"Failed to process checkout, please try again"})}}}async function pw({data:e,state:t,api:n}){try{const{plan:r,planId:i,subscriptionId:o,cancelAtPeriodEnd:a}=e,{tierId:s,cadence:l}=_n({site:t==null?void 0:t.site,priceId:i});await n.member.updateSubscription({planName:r,tierId:s,cadence:l,subscriptionId:o,cancelAtPeriodEnd:a,planId:i});const u=await n.member.sessionData(),p="updateSubscription:success";return{action:p,popupNotification:Q({type:p,autoHide:!0,closeable:!0,state:t,status:"success",message:"Subscription plan updated successfully"}),page:"accountHome",member:u}}catch{return{action:"updateSubscription:failed",popupNotification:Q({type:"updateSubscription:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:"Failed to update subscription, please try again"})}}}async function fw({data:e,state:t,api:n}){try{const{subscriptionId:r,cancellationReason:i}=e;return await n.member.updateSubscription({subscriptionId:r,smartCancel:!0,cancellationReason:i}),{action:"cancelSubscription:success",page:"accountHome",member:await n.member.sessionData()}}catch{return{action:"cancelSubscription:failed",popupNotification:Q({type:"cancelSubscription:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:"Failed to cancel subscription, please try again"})}}}async function hw({data:e,state:t,api:n}){try{const{subscriptionId:r}=e;return await n.member.updateSubscription({subscriptionId:r,cancelAtPeriodEnd:!1}),{action:"continueSubscription:success",page:"accountHome",member:await n.member.sessionData()}}catch{return{action:"continueSubscription:failed",popupNotification:Q({type:"continueSubscription:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:"Failed to cancel subscription, please try again"})}}}async function mw({data:e,state:t,api:n}){try{await n.member.editBilling(e)}catch{return{action:"editBilling:failed",popupNotification:Q({type:"editBilling:failed",autoHide:!1,closeable:!0,state:t,status:"error",message:"Failed to update billing information, please try again"})}}}async function gw(){return{popupNotification:null}}async function yw({data:e,state:t}){let{action:n,message:r=""}=e;return n=n||"showPopupNotification:success",{popupNotification:Q({type:n,autoHide:!0,closeable:!0,state:t,status:"success",message:r})}}async function vw({data:e,state:t,api:n}){try{const{newsletters:r,enableCommentNotifications:i}=e;if(!r&&i===void 0)return{};const o={};return r&&(o.newsletters=r),i!==void 0&&(o.enableCommentNotifications=i),{action:"updateNewsletterPref:success",member:await n.member.update(o)}}catch{return{action:"updateNewsletterPref:failed",popupNotification:Q({type:"updateNewsletter:failed",autoHide:!0,closeable:!0,state:t,status:"error",message:"Failed to update newsletter settings"})}}}async function bw({state:e,api:t}){try{return await t.member.deleteSuppression(),{action:"removeEmailFromSuppressionList:success",popupNotification:Q({type:"removeEmailFromSuppressionList:success",autoHide:!0,closeable:!0,state:e,status:"success",message:"You have been successfully resubscribed"})}}catch{return{action:"removeEmailFromSuppressionList:failed",popupNotification:Q({type:"removeEmailFromSuppressionList:failed",autoHide:!0,closeable:!0,state:e,status:"error",message:"Your email has failed to resubscribe, please try again"})}}}async function xw({data:e,state:t,api:n}){try{const{subscribed:r}=e,i=await n.member.update({subscribed:r});if(!i)throw new Error("Failed to update newsletter");const o="updateNewsletter:success";return{action:o,member:i,popupNotification:Q({type:o,autoHide:!0,closeable:!0,state:t,status:"success",message:"Email newsletter settings updated"})}}catch{return{action:"updateNewsletter:failed",popupNotification:Q({type:"updateNewsletter:failed",autoHide:!0,closeable:!0,state:t,status:"error",message:"Failed to update newsletter settings"})}}}async function kw({data:e,state:t,api:n}){const{email:r}=e,i=J1({member:t.member});if(r!==i)try{return await n.member.updateEmailAddress({email:r}),{success:!0}}catch(o){return{success:!1,error:o}}return null}async function ww({data:e,state:t,api:n}){const{name:r}=e;if(Z1({member:t.member})!==r)try{const o=await n.member.update({name:r});if(!o)throw new Error("Failed to update member");return{member:o,success:!0}}catch(o){return{success:!1,error:o}}return null}async function _w({state:e,api:t}){if(e.member)try{const n=await t.member.sessionData();return n?{member:n,success:!0,action:"refreshMemberData:success"}:null}catch(n){return{success:!1,error:n,action:"refreshMemberData:failed"}}return null}async function Sw({data:e,state:t,api:n}){const[r,i]=await Promise.all([ww({data:e,state:t,api:n}),kw({data:e,state:t,api:n})]);if(r&&i){if(i.success)return{action:"updateProfile:success",...r.success?{member:r.member}:{},page:"accountHome",popupNotification:Q({type:"updateProfile:success",autoHide:!0,closeable:!0,status:"success",state:t,message:"Check your inbox to verify email update"})};const o=r.success?"Failed to send verification email":"Failed to update account data";return{action:"updateProfile:failed",...r.success?{member:r.member}:{},popupNotification:Q({type:"updateProfile:failed",autoHide:!0,closeable:!0,status:"error",message:o,state:t})}}else if(r){const o=r.success?"updateProfile:success":"updateProfile:failed",a=r.success?"success":"error",s=r.success?"Account details updated successfully":"Failed to update account details";return{action:o,...r.success?{member:r.member}:{},...r.success?{page:"accountHome"}:{},popupNotification:Q({type:o,autoHide:r.success,closeable:!0,status:a,state:t,message:s})}}else if(i){const o=i.success?"updateProfile:success":"updateProfile:failed",a=i.success?"success":"error",s=i.success?"Check your inbox to verify email update":"Failed to send verification email";return{action:o,...i.success?{page:"accountHome"}:{},popupNotification:Q({type:o,autoHide:i.success,closeable:!0,status:a,state:t,message:s})}}return{action:"updateProfile:success",page:"accountHome",popupNotification:Q({type:"updateProfile:success",autoHide:!0,closeable:!0,status:"success",state:t,message:"Account details updated successfully"})}}const Ew={togglePopup:rw,openPopup:iw,closePopup:$m,switchPage:nw,openNotification:aw,closeNotification:sw,back:ow,signout:lw,signin:cw,signup:uw,updateSubscription:pw,cancelSubscription:fw,continueSubscription:hw,updateNewsletter:xw,updateProfile:Sw,refreshMemberData:_w,clearPopupNotification:gw,editBilling:mw,checkoutPlan:dw,updateNewsletterPreference:vw,showPopupNotification:yw,removeEmailFromSuppressionList:bw};async function Cw({action:e,data:t,state:n,api:r}){const i=Ew[e];return i?await i({data:t,state:n,api:r})||{}:{}}const $S="";function jw({event:e,form:t,errorEl:n,siteUrl:r,submitHandler:i}){var w;t.removeEventListener("submit",i),e.preventDefault(),n&&(n.innerText=""),t.classList.remove("success","invalid","error");let o=e.target.querySelector("input[data-members-email]"),a=e.target.querySelector("input[data-members-name]"),s=((w=t==null?void 0:t.dataset)==null?void 0:w.membersAutoredirect)||"true",l=o==null?void 0:o.value,u=a&&a.value||void 0,p,d=[],f=e.target.querySelectorAll("input[data-members-label]")||[];for(let g=0;g<f.length;++g)d.push(f[g].value);t.dataset.membersForm&&(p=t.dataset.membersForm),t.classList.add("loading");const y=Na(),v={email:l,emailType:p,labels:d,name:u,autoRedirect:s==="true"};y&&(v.urlHistory=y),fetch(`${r}/members/api/send-magic-link/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)}).then(function(g){if(t.addEventListener("submit",i),t.classList.remove("loading"),g.ok)t.classList.add("success");else return wt.fromApiResponse(g).then(h=>{throw h})}).catch(g=>{n&&(n.innerText=wt.getMessageFromError(g,"There was an error sending the email, please try again")),t.classList.add("error")})}function Pw({event:e,el:t,errorEl:n,siteUrl:r,site:i,member:o,clickHandler:a}){t.removeEventListener("click",a),e.preventDefault();let s=t.dataset.membersPlan,l=G1(i,s.toLowerCase()),u=t.dataset.membersSuccess,p=t.dataset.membersCancel,d,f;u&&(d=new URL(u,window.location.href).href),p&&(f=new URL(p,window.location.href).href),n&&(n.innerText=""),t.classList.add("loading");const y=o?{checkoutType:"upgrade"}:{},v=Na();return v&&(y.urlHistory=v),fetch(`${r}/members/api/session`,{credentials:"same-origin"}).then(function(w){return w.ok?w.text():null}).then(function(w){return fetch(`${r}/members/api/create-stripe-checkout-session/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...l,identity:w,successUrl:d,cancelUrl:f,metadata:y})}).then(function(g){if(!g.ok)throw new Error("Could not create stripe checkout session");return g.json()})}).then(function(w){return w.url?window.location.assign(w.url):window.Stripe(w.publicKey).redirectToCheckout({sessionId:w.sessionId}).then(function(h){if(h.error)throw new Error(h.error.message)})}).catch(function(w){console.error(w),t.addEventListener("click",a),t.classList.remove("loading"),n&&(n.innerText=w.message),t.classList.add("error")})}function Nw({siteUrl:e,site:t,member:n}){e&&(e=e.replace(/\/$/,""),Array.prototype.forEach.call(document.querySelectorAll("form[data-members-form]"),function(r){let i=r.querySelector("[data-members-error]");function o(a){jw({event:a,errorEl:i,form:r,siteUrl:e,submitHandler:o})}r.addEventListener("submit",o)}),Array.prototype.forEach.call(document.querySelectorAll("[data-members-plan]"),function(r){let i=r.querySelector("[data-members-error]");function o(a){Pw({el:r,event:a,errorEl:i,member:n,site:t,siteUrl:e,clickHandler:o})}r.addEventListener("click",o)}),Array.prototype.forEach.call(document.querySelectorAll("[data-members-edit-billing]"),function(r){let i=r.querySelector("[data-members-error]"),o=r.dataset.membersSuccess,a=r.dataset.membersCancel,s,l;o&&(s=new URL(o,window.location.href).href),a&&(l=new URL(a,window.location.href).href);function u(p){r.removeEventListener("click",u),p.preventDefault(),i&&(i.innerText=""),r.classList.add("loading"),fetch(`${e}/members/api/session`,{credentials:"same-origin"}).then(function(d){return d.ok?d.text():null}).then(function(d){return fetch(`${e}/members/api/create-stripe-update-session/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({identity:d,successUrl:s,cancelUrl:l})}).then(function(f){if(!f.ok)throw new Error("Could not create stripe checkout session");return f.json()})}).then(function(d){return window.Stripe(d.publicKey).redirectToCheckout({sessionId:d.sessionId})}).then(function(d){if(d.error)throw new Error(d.error.message)}).catch(function(d){console.error(d),r.addEventListener("click",u),r.classList.remove("loading"),i&&(i.innerText=d.message),r.classList.add("error")})}r.addEventListener("click",u)}),Array.prototype.forEach.call(document.querySelectorAll("[data-members-signout]"),function(r){function i(o){r.removeEventListener("click",i),o.preventDefault(),r.classList.remove("error"),r.classList.add("loading"),fetch(`${e}/members/api/session`,{method:"DELETE"}).then(function(a){a.ok?window.location.replace(e):(r.addEventListener("click",i),r.classList.remove("loading"),r.classList.add("error"))})}r.addEventListener("click",i)}),Array.prototype.forEach.call(document.querySelectorAll("[data-members-cancel-subscription]"),function(r){let i=r.parentElement.querySelector("[data-members-error]");function o(a){r.removeEventListener("click",o),a.preventDefault(),r.classList.remove("error"),r.classList.add("loading");let s=r.dataset.membersCancelSubscription;return i&&(i.innerText=""),fetch(`${e}/members/api/session`,{credentials:"same-origin"}).then(function(l){return l.ok?l.text():null}).then(function(l){return fetch(`${e}/members/api/subscriptions/${s}/`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({identity:l,smart_cancel:!0})})}).then(function(l){l.ok?window.location.reload():(r.addEventListener("click",o),r.classList.remove("loading"),r.classList.add("error"),i&&(i.innerText="There was an error cancelling your subscription, please try again."))})}r.addEventListener("click",o)}),Array.prototype.forEach.call(document.querySelectorAll("[data-members-continue-subscription]"),function(r){let i=r.parentElement.querySelector("[data-members-error]");function o(a){r.removeEventListener("click",o),a.preventDefault(),r.classList.remove("error"),r.classList.add("loading");let s=r.dataset.membersContinueSubscription;return i&&(i.innerText=""),fetch(`${e}/members/api/session`,{credentials:"same-origin"}).then(function(l){return l.ok?l.text():null}).then(function(l){return fetch(`${e}/members/api/subscriptions/${s}/`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({identity:l,cancel_at_period_end:!1})})}).then(function(l){l.ok?window.location.reload():(r.addEventListener("click",o),r.classList.remove("loading"),r.classList.add("error"),i&&(i.innerText="There was an error continuing your subscription, please try again."))})}r.addEventListener("click",o)}))}const $w={"{{discount}}% discount":"{{discount}}% afslag","{{trialDays}} days free":"{{trialDays}} dae gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"'n Aanmeldskakel is na u epos gestuur. As dit nie binne 3 minute aankom nie, moet u asseblief u spam-vouer nagaan.",Account:"Rekening","Account settings":"Rekening instellings","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Na afloop van die gratis proeftydperk sal u die vasgestelde pry vir die vlak wat u gekies het, betaal. U kan altyd voor die tyd kanselleer.","Already a member?":"Is u reeds 'n lid?",Back:"Terug","Back to Log in":"Terug na aanmelding","Cancel subscription":"Kanselleer inskrywing","Cancellation reason":"Kansellasie rede","Choose a different plan":"Kies 'n ander plan","Choose your newsletters":"Kies u nuusbriefs",Close:"Sluit",Comments:"Kommentaar",Confirm:"Bevestig",Continue:"Gaan voort","Delete account":"Verwyder rekening","Don't have an account?":"Het u nie 'n rekening nie?",Email:"E-pos","Email preference updated.":"E-pos instellings opgedateer.","Email preferences":"E-pos instellings",Emails:"E-posse","Emails disabled":"E-posse afgeskakel","Get help":"Kry hulp","Get notified when someone replies to your comment":"Ontvang 'n kennisgewing wanneer iemand op u kommentaar reageer","Give feedback on this post":"Gee terugvoering oor hierdie pos","Less like this":"Minder soos hierdie",Manage:"Bestuur",Monthly:"Maandeliks","More like this":"Meer soos hierdie",Name:"Naam","Not receiving emails?":"Ontvang u nie e-posse nie?","Now check your email!":"Kyk nou u e-pos!",Price:"Prys","Re-enable emails":"Her-aktiveer eposse",Retry:"Probeer weer",Save:"Stoor","Sending login link...":"Stuur aanmeldskakel...","Sending...":"Stuur...","Sign in":"Meld aan","Sign up":"Registreer","Start {{amount}}-day free trial":"Begin {{amount}}-dag gratis proeftydperk","Submit feedback":"Stuur terugvoering","Successfully unsubscribed":"Suksesvol afgemeld","Thanks for the feedback!":"Dankie vir die terugvoering!","That didn't go to plan":"Dit het nie volgens plan verloop nie","This site is invite-only, contact the owner for access.":"Hierdie webwerf is slegs op uitnodiging, kontak die eienaar vir toegang.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Om die registrasie te voltooi, kliek op die bevestigingskakel in jou inboks. As dit nie binne 3 minute aankom nie, kontroleer asseblief jou spam-vouer!","Unsubscribe from all emails":"Meld af van alle e-posse","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Deur van eposse af te skakel, sal nie u betaalde subskripsie van {{title}} kanselleer nie","Update your preferences":"Opdateer u voorkeure","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Ons kon u nie afskakel nie, omdat die e-pos adres nie gevind is nie. Kontak asseblief die webwerf eienaar.",Yearly:"Jaarliks","You have been successfully resubscribed":"U is suksesvol heringeskryf","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"U ontvang nie e-posse nie, omdat u onlangs 'n boodskap as spam gemerk het, of omdat boodskappe nie na die e-pos adres wat u verskaf het gestuur kon word nie.","Your account":"U rekening","Your input helps shape what gets published.":"U insette help om te bepaal wat gepubliseer word."},Tw={"{{discount}}% discount":"отстъпка {{discount}}%","{{trialDays}} days free":"{{trialDays}} дни безплатен достъп","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Връзка за влизане беше изпратена към пощенската Ви кутия. Ако писмото не пристигне до 3 минути, провете дали не е категоризирана като нежелано писмо.",Account:"Вашият акаунт","Account settings":"Настройки на акаунта Ви","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"След прикючване на безплатния достъп ще бъдете таксувани според обявените цени. Можете да се откажете преди изтичането на безплатния достъп.","Already a member?":"Вече сте абонат на сайта?",Back:"Обратно","Back to Log in":"Обратно към формата за влизане","Cancel subscription":"Откажи абонамент","Cancellation reason":"Причина за отказ","Choose a different plan":"Избеи различен план","Choose your newsletters":"Избери твоят бюлетин",Close:"Затвори",Comments:"Коментари",Confirm:"Потвърди",Continue:"Продължи","Delete account":"Изтрий акаунт","Don't have an account?":"Намате акаунт за достъп?",Email:"Пощенски адрес","Email preference updated.":"Параметри на пощенския адрес са обновени.","Email preferences":"Параметри на пощенския адрес ",Emails:"Пощенски адреси","Emails disabled":"Писмата са преустновени","Get help":"Получете помощ","Get notified when someone replies to your comment":"Бъдете уведомявани, ако някой отговори на Ваш коментар","Give feedback on this post":"Моля за Вашият отзив за публикацията","Less like this":"",Manage:"Управлявай",Monthly:"Месечно","More like this":"Повече материали с подобно съдържание",Name:"Име","Not receiving emails?":"Не получавате поща?","Now check your email!":"Провете си пощенската кутия!",Price:"Цена","Re-enable emails":"Позволете отново изпращането на писма",Retry:"Отново",Save:"Запиши","Sending login link...":"Изпращане на връзка за влизане...","Sending...":"Изпращане...","Sign in":"Влизане","Sign up":"Регистриране","Start {{amount}}-day free trial":"Започване на {{amount}}-дневен безплатен достъп.","Submit feedback":"Изпрати отзив","Successfully unsubscribed":"Успешно разабониране","Thanks for the feedback!":"Благодарим за изпратеният отзив!","That didn't go to plan":"Нещо се обърка и не се случи както трябваше","This site is invite-only, contact the owner for access.":"Сайтът е само с покани. Свържете се със собственика за да получите достъп.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"За да прикючите вашата регистрация беше изпратена връзка за влизане към пощенската Ви кутия. Ако писмото не пристигне до 3 минути, провете дали не е категоризирана като нежелано писмо.","Unsubscribe from all emails":"Прекрати изпращането на всякакви писма","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Спирането на изпращането на писма, няма да ти прекрати абонамента и регистрацията в {{title}}","Update your preferences":"Обнови твоите предпочитания/настройки","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Този пощенски адрес който опитвате да разабонирате, изглежда невалиден. Моля свържете се със собственика на сайта.",Yearly:"Годишно","You have been successfully resubscribed":"Успешно беше подновен абонаментът","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Не получавате писма защото или пощенският адрес е невалиден, или писмата се класифицират като нежелана поща.","Your account":"Твоята регистрация","Your input helps shape what gets published.":"Вашият принос помага да се оформи това, което се публикува."},Rw={"{{discount}}% discount":"{{discount}}% de descompte","{{trialDays}} days free":"{{trialDays}} dies de franc","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"S'ha enviat un enllaç d'inici de sessió al teu correu electrònic. Si no t'arriba en 3 minuts, reivsa la teva carpeta de correu brossa.",Account:"Compte","Account settings":"Configuració del compte","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Després que finalitzi el període de prova gratuït, se't cobrarà el preu regular del nivell que hagis triat. Sempre pots cancel·lar abans d'això.","Already a member?":"Ja ets membre?",Back:"Tornar enrere","Back to Log in":"TOrnar al inici de sessió","Cancel subscription":"Cancel·la la subscripció","Cancellation reason":"Motiu de la cancel·lació","Choose a different plan":"Seleccioneu un pla diferent","Choose your newsletters":"Selecciona els teus butlletins",Close:"Tancar",Comments:"Comentaris",Confirm:"Confirmar",Continue:"Continuar","Delete account":"Esborra compte","Don't have an account?":"No tens un compte?",Email:"Correu electrònic","Email preference updated.":"Preferència del correu electrònic actualitzada","Email preferences":"Preferència del correu electrònic",Emails:"Correus electrònics","Emails disabled":"Correus electrònics desactivats","Get help":"Demanar ajuda","Get notified when someone replies to your comment":"Rep notificacions quan algú et respongui al teu comentari","Give feedback on this post":"Enviar comentaris sobre aquesta publicació","Less like this":"Menys com aquesta",Manage:"Gestionar",Monthly:"Mensual","More like this":"Més com aquesta",Name:"Nom","Not receiving emails?":"No reps els correus electrònics?","Now check your email!":"Revisar ara el teu correu electrònic!",Price:"Preu","Re-enable emails":"Torna a activar els correus electrònics",Retry:"Torna-ho a provar",Save:"Desa","Sending login link...":"Enviant enllaç d'inici de sesió...","Sending...":"Enviant","Sign in":"Inici de sesió","Sign up":"Registrar-se","Start {{amount}}-day free trial":"Comença el període de proves de {{amount}} dies","Submit feedback":"Enviar comentaris","Successfully unsubscribed":"T'has donat de baixa correctament","Thanks for the feedback!":"Gràcies pels teus comentaris!","That didn't go to plan":"Això no ha anat com estava previst","This site is invite-only, contact the owner for access.":"Aquest llog és només per invitació, contacta amb el propietari per obtenir accés.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Per completar el registre, fes clic sobre l'enllaç de confirmació al teu correu electrònic. Si no t'arria en 3 minuts, revisa la teva carpeta de correu brossa!","Unsubscribe from all emails":"Cancel·la les subscripcions a tots els correus electrònics","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Cancel·lar la subscripció al teu correu electrònic no cancel·larà la teva subscripció de pagament a {{title}}","Update your preferences":"Actualitza les preferències","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"No hem pogut cancel·lar la teva subscripció ja que no s'ha trobar la direcció de correu electrònic. Si us plau, contacta amb el propietari del lloc web.",Yearly:"Anual","You have been successfully resubscribed":"T'has tornat a subscribir amb èxit","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"No estas reben correus electrònics perquè has marcat recentment com SPAM o perque no s'han pogut entregar els missatges a la direcció de correu electrònic proporcionada.","Your account":"El teu copte","Your input helps shape what gets published.":"La teva opinió ajuda a definir el que es publica."},Dw={"{{discount}}% discount":"{{discount}}% sleva","{{trialDays}} days free":"{{trialDays}} dní zdarma","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Odkaz pro přihlášení byl odeslán do vaší e-mailové schránky. Pokud nepřijde do 3 minut, zkontrolujte prosím svou složku nevyžádaných zpráv (spam).",Account:"Účet","Account settings":"Nastavení účtu","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Po skončení zkušební doby vám bude účtována běžná cena pro vybranou úroveň. Vždy můžete předtím zrušit odběr.","Already a member?":"Již jste členem?",Back:"Zpět","Back to Log in":"Zpět na přihlášení","Cancel subscription":"Zrušit odběr","Cancellation reason":"Důvod zrušení","Choose a different plan":"Vybrat jiný plán","Choose your newsletters":"Vyberte si newsletter",Close:"Zavřít",Comments:"Komentáře",Confirm:"Potvrdit",Continue:"Pokračovat","Delete account":"Smazat účet","Don't have an account?":"Nemáte účet?",Email:"E-mail","Email preference updated.":"Předvolby e-mailu byly aktualizovány.","Email preferences":"Předvolby e-mailu",Emails:"E-maily","Emails disabled":"E-maily vypnuty","Get help":"Získat pomoc","Get notified when someone replies to your comment":"Dostávat upozornění, když někdo odpoví na váš komentář","Give feedback on this post":"Dát zpětnou vazbu k tomuto příspěvku","Less like this":"Méně podobných",Manage:"Spravovat",Monthly:"Měsíčně","More like this":"Víc podobných",Name:"Jméno","Not receiving emails?":"Nepřicházejí vám e-maily?","Now check your email!":"Zkontrolujte svou e-mailovou schránku!",Price:"Cena","Re-enable emails":"Znovu povolit e-maily",Retry:"Zkusit znovu",Save:"Uložit","Sending login link...":"Odesílání přihlašovacího odkazu...","Sending...":"Odesílání...","Sign in":"Přihlásit se","Sign up":"Registrovat se","Start {{amount}}-day free trial":"Začít {{amount}}denní zkušební verzi zdarma","Submit feedback":"Odeslat zpětnou vazbu","Successfully unsubscribed":"Úspěšné odhlášení","Thanks for the feedback!":"Děkujeme za zpětnou vazbu!","That didn't go to plan":"Něco se nepovedlo","This site is invite-only, contact the owner for access.":"Tento web je pouze pro pozvané, kontaktujte provozovatele pro přístup.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Pro dokončení registrace klikněte na potvrzovací odkaz ve vaší e-mailové schránce. Pokud nepřijde do 3 minut, zkontrolujte prosím složku nevyžádaných zpráv (spam)!","Unsubscribe from all emails":"Odhlásit se od všech e-mailů","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Odhlášení ze newsletterů nezruší váš placený odběr {{title}}","Update your preferences":"Aktualizovat předvolby","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Nemohli jsme vás odhlásit, protože e-mailová adresa nebyla nalezena. Kontaktujte prosím provozovatele webu.",Yearly:"Ročně","You have been successfully resubscribed":"Úspěšně jste se opět přihlásili k odběru","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Nepřicházejí vám e-maily, protože jste buď označili nedávnou zprávu jako spam, nebo doručování zpráv na vámi zadaný e-mail nefunguje.","Your account":"Váš účet","Your input helps shape what gets published.":"Vaše připomínky pomáhají spoluvytvářet obsah webu."},Ow={"{{discount}}% discount":"{{discount}}% rabat","{{trialDays}} days free":"{{trialDays}} dage gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Der er blevet sendt en link til din email, du kan bruge til at logge ind med. Hvis det ikke kommer frem indenfor 3 minutter, så tjek din spam mappe.",Account:"Konto","Account settings":"Kontoindstillinger","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Når din gratis prøveperiode udløber, vil du blive opkrævet den normale pris for det abonnement du har valgt. Du kan selvfølgelig altid annullere dit abonnement inden.","Already a member?":"Er du allerede medlem?",Back:"Tilbage","Back to Log in":"Tilbage til log ind","Cancel subscription":"Annuller abonnement","Cancellation reason":"Årsag til annullering","Choose a different plan":"Vælg et andet abonnement","Choose your newsletters":"Hvilke nyhedsbreve ønsker du",Close:"Luk",Comments:"Kommentarer",Confirm:"Bekræft",Continue:"Fortsæt","Delete account":"Slet konto","Don't have an account?":"Har du ikke en konto?",Email:"E-mail","Email preference updated.":"E-mail præferencer blev opdateret.","Email preferences":"E-mail præferencer",Emails:"E-mails","Emails disabled":"E-mails deaktiveret","Get help":"Få hjælp","Get notified when someone replies to your comment":"Bliv notificeret når nogen svarer på din kommentar","Give feedback on this post":"Giv feedback til dette indlæg","Less like this":"Mindre af dette",Manage:"Administrer",Monthly:"Månedlig","More like this":"Mere af dette",Name:"Navn","Not receiving emails?":"Modtager du ikke e-mails?","Now check your email!":"Tjek din e-mail!",Price:"Pris","Re-enable emails":"Genaktiver e-mails",Retry:"Prøv igen",Save:"Gem","Sending login link...":"Sender link til log ind","Sending...":"Sender","Sign in":"Log ind","Sign up":"Bliv medlem","Start {{amount}}-day free trial":"Start {{amount}}-dages gratis prøveperiode","Submit feedback":"Send feedback","Successfully unsubscribed":"Du er nu afmeldt","Thanks for the feedback!":"Tak for din feedback!","That didn't go to plan":"Det gik ikke helt efter planen","This site is invite-only, contact the owner for access.":"Denne sider kræver at du skal være inviteret. Kontakt ejeres for at få adgang.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"For at gennemføre oprettelsen af din konto, skal du klikke på bekræftelseslinket i din e-mail indbakke. Hvis det ikke kommer indenfor 3 minutter, så tjek venligst din spam mappe!","Unsubscribe from all emails":"Afmeld alle e-mails","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Du annullerer ikke dit abonnement på {{title}} ved at afmelde dig fra alle e-mails","Update your preferences":"Opdater dine præferencer","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Vi kunne ikke afmelde dig, da e-mailen ikke blev fundet. Kontakt venligst ejeren af siden.",Yearly:"Årlig","You have been successfully resubscribed":"Du er nu tilmeldt igen","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Du modtager ikke e-mails fordi du enten har markeret en af de seneste mails som spam, eller fordi e-mails ikke kunne leveres til den oplyste e-mailadresse.","Your account":"Din konto","Your input helps shape what gets published.":"Dit input hjælper med at forme det der bliver publiceret."},Aw={"{{discount}}% discount":"{{discount}}% Rabatt","{{trialDays}} days free":"{{trialDays}} Tage kostenlos","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Ein Login-Link wurde an Deine E-Mail-Adresse gesendet. Falls die E-Mail nicht innerhalb von 3 Minuten ankommt, überprüfe bitte Deinen Spam-Ordner.",Account:"Benutzerkonto","Account settings":"Benutzerkonto-Einstellungen","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Wenn das kostenlose Testabo endet, wirst Du den regulären Preis für den gewählten Tarif bezahlen. Du kannst das Abonnement jederzeit kündigen.","Already a member?":"Bereits Mitglied?",Back:"Zurück","Back to Log in":"Zurück zur Anmeldung","Cancel subscription":"Abonnierung kündigen","Cancellation reason":"Kündigungsgrund","Choose a different plan":"Wähle einen anderen Plan","Choose your newsletters":"Wähle Deine Newsletter",Close:"Schließen",Comments:"Kommentare",Confirm:"Bestätigen",Continue:"Weiter","Delete account":"Konto löschen","Don't have an account?":"Noch kein Konto?",Email:"Email","Email preference updated.":"Email Einstellungen aktualisiert.","Email preferences":"Email Einstellungen",Emails:"Emails","Emails disabled":"Emails deaktiviert","Get help":"Hilfe erhalten","Get notified when someone replies to your comment":"Erhalte eine Benachrichtigung, wenn jemand auf Deinen Kommentar antwortet","Give feedback on this post":"Gebe Feedback zu diesem Beitrag","Less like this":"Weniger davon",Manage:"Verwalten",Monthly:"Monatlich","More like this":"Mehr davon",Name:"Name","Not receiving emails?":"Keine Emails erhalten?","Now check your email!":"Überprüfe jetzt Deine E-Mails!",Price:"Preis","Re-enable emails":"Emails wieder aktivieren",Retry:"Nochmals versuchen",Save:"Speichern","Sending login link...":"Sende Login-Link...","Sending...":"Sende...","Sign in":"Einloggen","Sign up":"Registrieren","Start {{amount}}-day free trial":"Starte {{amount}}-tägiges kostenloses Testabo","Submit feedback":"Feedback senden","Successfully unsubscribed":"Erfolgreich abgemeldet","Thanks for the feedback!":"Danke für das Feedback!","That didn't go to plan":"Das verlief nicht nach Plan","This site is invite-only, contact the owner for access.":"Diese Seite ist nur nach Einladung zugänglich. Bitte kontaktiere den Seitenbetreiber.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Um die Registrierung abzuschließen, klicke auf den Bestätigungslink in Deinem E-Mail Postfach. Falls die E-Mail nicht innerhalb von 3 Minuten ankommt, überprüfe bitte Deinen Spam-Ordner!","Unsubscribe from all emails":"Von allen Emails abmelden","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Wenn Du Dich von Emails abmeldest, wird Dein bezahltes Abonnement bei {{title}} nicht gekündigt","Update your preferences":"Aktualisiere Deine Einstellungen","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Wir konnten Dich nicht abmelden, da die E-Mail-Adresse nicht gefunden wurde. Bitte kontaktiere den Seitenbetreiber.",Yearly:"Jährlich","You have been successfully resubscribed":"Du wurdest erfolgreich wieder angemeldet","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Du erhältst keine Emails, da Du entweder eine kürzlich empfangene Nachricht als Spam markiert hast oder weil Nachrichten nicht an Deine angegebene E-Mail-Adresse zugestellt werden konnten.","Your account":"Dein Konto","Your input helps shape what gets published.":"Deine Eingaben helfen dabei, was veröffentlicht wird."},Lw={"{{discount}}% discount":"","{{trialDays}} days free":"","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"",Account:"","Account settings":"","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"","Already a member?":"",Back:"","Back to Log in":"","Cancel subscription":"","Cancellation reason":"","Choose a different plan":"","Choose your newsletters":"",Close:"",Comments:"",Confirm:"",Continue:"","Delete account":"","Don't have an account?":"",Email:"","Email preference updated.":"","Email preferences":"",Emails:"","Emails disabled":"","Get help":"","Get notified when someone replies to your comment":"","Give feedback on this post":"","Less like this":"",Manage:"",Monthly:"","More like this":"",Name:"","Not receiving emails?":"","Now check your email!":"",Price:"","Re-enable emails":"",Retry:"",Save:"","Sending login link...":"","Sending...":"","Sign in":"","Sign up":"","Start {{amount}}-day free trial":"","Submit feedback":"","Successfully unsubscribed":"","Thanks for the feedback!":"","That didn't go to plan":"","This site is invite-only, contact the owner for access.":"","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"","Unsubscribe from all emails":"","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"","Update your preferences":"","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"",Yearly:"","You have been successfully resubscribed":"","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"","Your account":"","Your input helps shape what gets published.":""},Mw={"{{discount}}% discount":"{{discount}}% rabato","{{trialDays}} days free":"{{trialDays}} tagoj senpagaj","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Sendis ensalutan ligilon al via enirkesto. Se ĝi ne alvenas post 3 minutoj, nepre kontrolu vian trudmesaĝdosieron.",Account:"Konto","Account settings":"Kontagordoj","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Post senpaga provo finiĝos, vi pagos la regulan prezon por la nivelo, kiun vi elektis. Vi ĉiam povas nuligi antaŭ tiam.","Already a member?":"Ĉu membro jam?",Back:"Reen","Back to Log in":"Reen al Ensaluto","Cancel subscription":"Nuligu abonon","Cancellation reason":"Nuliga kialo","Choose a different plan":"Elektu alian planon","Choose your newsletters":"Elektu viajn bultenojn",Close:"Fermu",Comments:"Komentoj",Confirm:"Konfirmu",Continue:"Daŭrigu","Delete account":"Forigu konton","Don't have an account?":"Ĉu ne havas konton?",Email:"Retadreso","Email preference updated.":"Retpoŝta agordo ĝisdatigita.","Email preferences":"Retpoŝtaj agordoj",Emails:"Retpoŝtoj","Emails disabled":"Retpoŝtoj malŝaltitaj","Get help":"Ricevi helpon","Get notified when someone replies to your comment":"Estu sciiga kiam iu respondos al via komento","Give feedback on this post":"Donu komentojn pri ĉi tiu afiŝo","Less like this":"Malpli tiel",Manage:"Administru",Monthly:"Monate","More like this":"Pli kiel ĉi tio",Name:"Nomo","Not receiving emails?":"","Now check your email!":"Bonvolu kontroli vian retpoŝton nun!",Price:"Kosto","Re-enable emails":"Reŝalti retpoŝtojn",Retry:"Reprovu",Save:"Konservi","Sending login link...":"Sendanta ensaluta ligilo...","Sending...":"Sendante...","Sign in":"Ensalutu","Sign up":"Aliĝu","Start {{amount}}-day free trial":"Komencu senpaga {{amount}}-taga provo","Submit feedback":"Sendu rimarkojn","Successfully unsubscribed":"Sukcese malabonita","Thanks for the feedback!":"Dankon pro la rimarkoj!","That didn't go to plan":"Tio ne iris laŭ la intenco","This site is invite-only, contact the owner for access.":"Ĉi tiu retejo estas nur por invitiĝuloj, kontaktu la proprietulo por alireblo.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Por kompletigi aliĝon, premu la konfirman ligilon en via enirkesto. Se ĝi ne alvenas ene de 3 minutoj, kontrolu vian trudmesaĝdosieron!","Unsubscribe from all emails":"Malabonu de ĉiuj retpoŝtoj","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Malabonigi de retpoŝtoj ne nuligos vian pagitan abonon al {{title}}","Update your preferences":"Ĝisdatigu viajn agordojn","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Ni ne povis malaboni vin ĉar la retadreso ne estis trovita. Bonvolu kontakti la proprietulo de la retejo",Yearly:"Jare","You have been successfully resubscribed":"Vi sukcese reaboniĝis","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Vi ne ricevas retpoŝtojn ĉar vi aŭ markis lastatempan mesaĝon kiel trudmesaĝo, aŭ ĉar mesaĝoj ne povis liveri al via provizita retadreso.","Your account":"Via konto","Your input helps shape what gets published.":"Via enigo helpas formi kio estas aperigita."},Iw={"{{discount}}% discount":"{{discount}}% de descuento","{{trialDays}} days free":"{{trialDays}} días gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Se ha enviado un enlace de inicio de sesión a tu correo. Si no llega en 3 minutos, revisa tu carpeta de spam.",Account:"Cuenta","Account settings":"Configuración de la cuenta","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Después de que finalice el período de prueba gratuito, se te cobrará el precio regular del nivel que hayas elegido. Siempre puedes cancelar antes de eso.","Already a member?":"¿Ya eres miembro?",Back:"Atrás","Back to Log in":"Volver al inicio de sesión","Cancel subscription":"Cancelar suscripción","Cancellation reason":"Razón de cancelación","Choose a different plan":"Elige un plan diferente","Choose your newsletters":"Elige tus boletines",Close:"Cerrar",Comments:"Comentarios",Confirm:"Confirmar",Continue:"Continuar","Delete account":"Eliminar cuenta","Don't have an account?":"¿No tienes una cuenta?",Email:"Correo electrónico","Email preference updated.":"Preferencia de correo electrónico actualizada.","Email preferences":"Preferencias de correo electrónico",Emails:"Correos electrónicos","Emails disabled":"Correos electrónicos desactivados","Get help":"Obtener ayuda","Get notified when someone replies to your comment":"Recibe notificaciones cuando alguien responda a tu comentario","Give feedback on this post":"Envía comentarios sobre esta publicación","Less like this":"Menos como esto",Manage:"Administrar",Monthly:"Mensual","More like this":"Más como esto",Name:"Nombre","Not receiving emails?":"¿No recibes correos electrónicos?","Now check your email!":"¡Ahora revisa tu correo electrónico!",Price:"Precio","Re-enable emails":"Reactivar correos electrónicos",Retry:"Reintentar",Save:"Guardar","Sending login link...":"Enviando enlace de inicio de sesión...","Sending...":"Enviando...","Sign in":"Iniciar sesión","Sign up":"Registrarse","Start {{amount}}-day free trial":"Comienza el período de prueba gratuito de {{amount}} días","Submit feedback":"Enviar comentarios","Successfully unsubscribed":"Te has dado de baja correctamente","Thanks for the feedback!":"¡Gracias por tus comentarios!","That didn't go to plan":"Eso no salió según lo planeado","This site is invite-only, contact the owner for access.":"Este sitio es solo por invitación, contacta al propietario para obtener acceso.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Para completar el registro, haz clic en el enlace de confirmación en tu correo electrónico. Si no llega en 3 minutos, ¡revisa tu carpeta de spam!","Unsubscribe from all emails":"Cancelar suscripción a todos los correos electrónicos","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Cancelar la suscripción a los correos electrónicos no cancelará tu suscripción de pago a {{title}}","Update your preferences":"Actualiza tus preferencias","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"No pudimos cancelar tu suscripción ya que no se encontró la dirección de correo electrónico. Por favor, contacta al propietario del sitio.",Yearly:"Anual","You have been successfully resubscribed":"Te has vuelto a suscribir con éxito","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"No estás recibiendo correos electrónicos porque marcaste un mensaje reciente como spam o porque no se pudieron entregar los mensajes a la dirección de correo electrónico proporcionada.","Your account":"Tu cuenta","Your input helps shape what gets published.":"Tu opinión ayuda a definir lo que se publica."},zw={"{{discount}}% discount":"{{discount}}% de réduction","{{trialDays}} days free":"{{trialDays}} jours gratuits","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Un lien de connexion a été envoyé dans votre boîte de réception. S’il n’arrive pas dans les 3 minutes, vérifiez votre dossier spam.",Account:"Compte","Account settings":"Paramètres du compte","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"À la fin de la période d’essai gratuite, le prix normal de l’abonnement choisi sera facturé. Vous pouvez toujours annuler d’ici là.","Already a member?":"Déjà membre ?",Back:"Retour","Back to Log in":"Retour à Connexion","Cancel subscription":"Annuler l’abonnement","Cancellation reason":"Raison pour l’annulation","Choose a different plan":"Choisir un autre abonnement","Choose your newsletters":"Choisir les newsletters",Close:"Fermer",Comments:"Commentaires",Confirm:"Confirmer",Continue:"Continuer","Delete account":"Fermer le compte","Don't have an account?":"Vous n’avez pas encore de compte ?",Email:"E-mail","Email preference updated.":"Préférences d’e-mail mises à jour.","Email preferences":"Préférences d’e-mail",Emails:"E-mails","Emails disabled":"E-mails désactivés","Get help":"Obtenir de l’aide","Get notified when someone replies to your comment":"Soyez notifié lorsque quelqu’un répond à votre commentaire","Give feedback on this post":"Donnez votre avis sur cet article","Less like this":"Moins de ça",Manage:"Gérer",Monthly:"Mensuel","More like this":"Plus de ça",Name:"Nom","Not receiving emails?":"Vous n’avez pas reçu d’e-mails ?","Now check your email!":"Veuillez maintenant vérifier votre boite de réception.",Price:"Prix","Re-enable emails":"Ré-activer les e-mails",Retry:"Réesayer",Save:"Sauvegarder","Sending login link...":"Envoi du lien de connexion…","Sending...":"Envoi…","Sign in":"Se connecter","Sign up":"S’enregistrer","Start {{amount}}-day free trial":"Commencer l’essai gratuit de {{amount}} jours","Submit feedback":"Envoyez votre avis","Successfully unsubscribed":"Désabonnement réussi","Thanks for the feedback!":"Merci pour votre avis !","That didn't go to plan":"Cela n’a pas fonctionné comme prévu","This site is invite-only, contact the owner for access.":"Ce site est réservé aux invités, contactez le propriétaire pour y accéder.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Pour confirmer votre inscription, cliquez sur le lien de confirmation envoyé dans votre boite de réception. S’il ne vous parvient pas dans les 3 minutes, vérifiez votre dossier spam.","Unsubscribe from all emails":"Se désinscrire de tous les e-mails","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"La désinscription des e-mails n’annulera pas votre abonnement payant à {{title}}","Update your preferences":"Mettez à jour vos préférences","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"La désinscription n’a pas fonctionné car votre adresse e-mail n’a pas été trouvée. Merci de contacter le propriétaire du site.",Yearly:"Annuel","You have been successfully resubscribed":"Vous avez été réinscrit avec succès","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Vous ne recevez pas d’e-mails parce que vous avez marqué un message récent comme spam, ou parce que les messages n’ont pas pu être livrés à l’adresse e-mail que vous aviez indiquée.","Your account":"Votre compte","Your input helps shape what gets published.":"Votre avis aide à améliorer ce qui est publié."},Fw={"{{discount}}% discount":"{{discount}}% kedvezmény","{{trialDays}} days free":"{{trialDays}} nap ingyen","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"A bejelentkezéshez szükséges linket elküldtük a megadott email címre. Ha nem érkezne meg 3 percen belül, kérjük ellenőrizze a spam mappát!",Account:"Fiók","Account settings":"Fiók beállítások","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Az ingyenes próbaidőszak lejárta után a kiválasztott csomag normál díját fogjuk felszámolni. A feliratkozás bármikor ingyenesen lemondható a próbaidőszak alatt.","Already a member?":"Már van fiókja?",Back:"Vissza","Back to Log in":"Vissza a bejelentkezéshez","Cancel subscription":"Feliratkozás megszűntetése","Cancellation reason":"A megszűntetés oka","Choose a different plan":"Válasszon másik csomagot","Choose your newsletters":"Válassza ki a hírleveleket",Close:"Bezár",Comments:"Kommentek",Confirm:"Jóváhgyás",Continue:"Folytatás","Delete account":"Fiók törlése","Don't have an account?":"Még nincs fiókja?",Email:"Email","Email preference updated.":"Email beállítások elmentve","Email preferences":"Email beállítások",Emails:"Email-ek","Emails disabled":"Email-ek kikapcsolva","Get help":"Kérjen segítséget","Get notified when someone replies to your comment":"Értesítést kérek ha valaki válaszol a kommentemre","Give feedback on this post":"Hogy tetszett ez a cikk?","Less like this":"Kevesebb ilyet",Manage:"Kezelés",Monthly:"Havi","More like this":"Több ilyet",Name:"Név","Not receiving emails?":"Nem érkeznek meg az email-ek?","Now check your email!":"Ellenőrizze az postafiókját",Price:"Ár","Re-enable emails":"Email-ek aktiválása",Retry:"Újra",Save:"Mentés","Sending login link...":"Bejelenkezési link küldése...","Sending...":"Küldés...","Sign in":"Bejelentkezés","Sign up":"Regisztráció","Start {{amount}}-day free trial":"{{amount}} napos próbaidőszak kezdése","Submit feedback":"Visszajelzés küldése","Successfully unsubscribed":"Sikeres leiratkozás","Thanks for the feedback!":"Köszönjük a visszajelzést","That didn't go to plan":"Hiba történt","This site is invite-only, contact the owner for access.":"A website csak meghívóval látogatható. Meghívóért lépjen kapcsolatba az oldal tulajdonosával!","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"A regisztráció befejezéséhez kérjük kattintson az email-ben kapott linkre. Ha a link nem érkezne meg 3 percen belül kérjük ellenőrizze a spam mappát.","Unsubscribe from all emails":"Leiratkozás minden email-ről","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Az email-ről történő leiratkozás nem szűnteti meg a fiókját","Update your preferences":"Beállítások mentése","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Ehhez az email-hez nem tartozik fiók. Kérjük lépjen kapcsolatba az oldal tulajdonosával.",Yearly:"Éves","You have been successfully resubscribed":"Sikeres feliratkozás","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Azért nem kap email-t mert vagy spam-nek jelölt egy tőlünk kapott hírlevelet, vagy azért mert a megadott email cím nem tud üzeneteket fogadni.","Your account":"Fiók","Your input helps shape what gets published.":"A visszajelzése segít abban, hogy mit publikáljunk"},Bw={"{{discount}}% discount":"Diskon {{discount}}%","{{trialDays}} days free":"Gratis {{trialDays}} hari","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Tautan masuk telah dikirimkan ke kotak masuk Anda. Jika tidak diterima dalam waktu 3 menit, pastikan untuk memeriksa folder spam Anda.",Account:"Akun","Account settings":"Pengaturan akun","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Setelah percobaan gratis berakhir, Anda akan dikenai biaya harga normal untuk tingkatan yang Anda pilih. Anda selalu dapat membatalkannya sebelum itu.","Already a member?":"Sudah menjadi anggota?",Back:"Kembali","Back to Log in":"Kembali ke Masuk","Cancel subscription":"Batalkan langganan","Cancellation reason":"Alasan pembatalan","Choose a different plan":"Pilih paket yang berbeda","Choose your newsletters":"Pilih buletin Anda",Close:"Tutup",Comments:"Komentar",Confirm:"Konfirmasi",Continue:"Lanjutkan","Delete account":"Hapus akun","Don't have an account?":"Belum punya akun?",Email:"Email","Email preference updated.":"Preferensi email diperbarui.","Email preferences":"Preferensi email.",Emails:"Email","Emails disabled":"Email dinonaktifkan","Get help":"Dapatkan bantuan","Get notified when someone replies to your comment":"Dapatkan pemberitahuan ketika seseorang menjawab komentar Anda","Give feedback on this post":"Berikan masukan pada postingan ini","Less like this":"Kurangi yang seperti ini",Manage:"Kelola",Monthly:"Bulanan","More like this":"Lebih banyak yang seperti ini",Name:"Nama","Not receiving emails?":"Tidak menerima email?","Now check your email!":"Sekarang periksa email Anda!",Price:"Harga","Re-enable emails":"Aktifkan kembali email",Retry:"Coba lagi",Save:"Simpan","Sending login link...":"Mengirim tautan masuk...","Sending...":"Mengirim...","Sign in":"Masuk","Sign up":"Daftar","Start {{amount}}-day free trial":"Mulai percobaan gratis selama {{amount}} hari","Submit feedback":"Kirim masukan","Successfully unsubscribed":"Berhasil berhenti berlangganan","Thanks for the feedback!":"Terima kasih atas masukannya!","That didn't go to plan":"Itu tidak berjalan sesuai rencana","This site is invite-only, contact the owner for access.":"Situs ini hanya untuk yang diundang, hubungi pemiliknya untuk mendapatkan akses.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Untuk menyelesaikan pendaftaran, klik tautan konfirmasi di kotak masuk Anda. Jika tidak diterima dalam waktu 3 menit, pastikan untuk memeriksa folder spam Anda!","Unsubscribe from all emails":"Berhenti berlangganan dari semua email","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Berhenti berlangganan dari email tidak akan membatalkan langganan berbayar Anda ke {{title}}","Update your preferences":"Perbarui preferensi Anda","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Kami tidak dapat menghentikan langganan Anda karena alamat email tidak ditemukan. Harap hubungi pemilik situs.",Yearly:"Tahunan","You have been successfully resubscribed":"Anda telah berhasil berlangganan kembali","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Anda tidak menerima email karena Anda telah menandai pesan terbaru sebagai spam, atau karena pesan tidak dapat dikirimkan ke alamat email yang Anda berikan.","Your account":"Akun Anda","Your input helps shape what gets published.":"Masukan Anda membantu membentuk apa yang dipublikasikan."},Uw={"{{discount}}% discount":"{{discount}}% di sconto","{{trialDays}} days free":"{{trialDays}} giorni gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Un link di accesso è stato inviato alla tua casella di posta. Se non la ricevi entro 3 minuti, controlla nella posta indesiderata.",Account:"Account","Account settings":"Impostazioni account","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Al termine della prova gratuita, ti verrà addebitato il prezzo regolare del livello scelto. Puoi sempre annullare prima della fine della prova gratuita.","Already a member?":"Sei già iscritto?",Back:"Indietro","Back to Log in":"Torna al Log-in","Cancel subscription":"Cancella l'abbonamento","Cancellation reason":"Motivo della cancellazione","Choose a different plan":"Scegli un piano differente","Choose your newsletters":"Scegli la tua newsletter",Close:"Chiudi",Comments:"Commenti",Confirm:"Conferma",Continue:"Continua","Delete account":"Cancella account","Don't have an account?":"Non hai un account?",Email:"Email","Email preference updated.":"Impostazioni email aggiornate.","Email preferences":"Impostazioni email",Emails:"Email","Emails disabled":"Email disattivate","Get help":"Chiedi aiuto","Get notified when someone replies to your comment":"Ricevi una notifica quando qualcuno risponde ad un tuo commento","Give feedback on this post":"Manda un feedback per questo post","Less like this":"Meno come questo",Manage:"Gestisci",Monthly:"Mensile","More like this":"Più come questo",Name:"Nome","Not receiving emails?":"Non ricevi le email?","Now check your email!":"Ora controlla la tua email!",Price:"Prezzo","Re-enable emails":"Attiva nuovamente le email",Retry:"Riprova",Save:"Salva","Sending login link...":"Invio link di accesso...","Sending...":"Invio...","Sign in":"Accedi","Sign up":"Iscriviti","Start {{amount}}-day free trial":"Inizia i {{amount}} giorni di prova gratuita","Submit feedback":"Invia feedback","Successfully unsubscribed":"Cancellazione effettuata con successo","Thanks for the feedback!":"Grazie per i feedback!","That didn't go to plan":"Questo non era previsto","This site is invite-only, contact the owner for access.":"Questo sito è accessibile solo su invito, contatta il proprietario per poter accedere.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Per completare l'accesso, clicca il link di conferma inviato alla tua email. Se non lo ricevi entro 3 minuti, controlla nella posta indesiderata!","Unsubscribe from all emails":"Cancella l'iscrizione da tutte le email","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"L'annullamento dell'iscrizione alle email non annullerà l'abbonamento a {{title}}","Update your preferences":"Aggiorna le tue preferenze","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Non è stato possibile annullare l'iscrizione poiché l'indirizzo email non è stato trovato. Si prega di contattare il proprietario del sito.",Yearly:"Annuale","You have been successfully resubscribed":"Iscrizione effettuata con successo","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Non ricevi email perché hai contrassegnato un messaggio recente come spam o perché non è stato possibile recapitare i messaggi all'indirizzo email fornito.","Your account":"Il tuo account","Your input helps shape what gets published.":"Il tuo contributo aiuta a dare forma a ciò che viene pubblicato."},Yw={"{{discount}}% discount":"{{discount}}% хямдрал","{{trialDays}} days free":"{{trialDays}} өдөр үнэгүй","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Таны имэйл рүү нэвтрэх холбоосыг илгээлээ. Хэрвээ 3 минутын дотор ирэхгүй бол спамаа шалгана уу.",Account:"Бүртгэл","Account settings":"Бүртгэлийн тохиргоо","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Үнэгүй туршилтын хугацаа дуусахад таны данснаас сонгосон багцын үнэ хасагдана. Гэвч та өмнө нь цуцлах боломжтой.","Already a member?":"Бүртгэлтэй юу?",Back:"Буцах","Back to Log in":"Нэвтрэх хэсэг рүү буцах","Cancel subscription":"Захиалгаа цуцлах","Cancellation reason":"Цуцалсан шалтгаан","Choose a different plan":"Өөр багц сонгох","Choose your newsletters":"Товхимолоо сонгох",Close:"Хаах",Comments:"Сэтгэгдлүүд",Confirm:"Баталгаажуулах",Continue:"Үргэлжлүүлэх","Delete account":"Бүртгэлээ устгах","Don't have an account?":"Бүргэлгүй юу?",Email:"Имэйл","Email preference updated.":"Имэйлийн тохиргоо шинэчлэгдлээ.","Email preferences":"Имэйлийн тохиргоо",Emails:"Имэйлүүд","Emails disabled":"Имэйлийг идэхгүй болгосон","Get help":"Тусламж","Get notified when someone replies to your comment":"Хэн нэгэн таны сэтгэгдэлд хариу бичих үед мэдэгдэх","Give feedback on this post":"Энэ нийтлэлд саналаа өгөх","Less like this":"Таалагдсангүй",Manage:"Удирдах",Monthly:"Сарын","More like this":"Таалагдлаа",Name:"Нэр","Not receiving emails?":"Имэйл ирээгүй юу?","Now check your email!":"Одоо имэйлээ шалгана уу!",Price:"Үнэ","Re-enable emails":"Имэйлийг дахин идэвхжүүлэх",Retry:"Дахин оролдох",Save:"Хадгалах","Sending login link...":"Нэвтрэх холбоосыг илгээж байна...","Sending...":"Илгээж байна...","Sign in":"Нэвтрэх","Sign up":"Бүртгүүлэх","Start {{amount}}-day free trial":"{{amount}} өдрийн үнэгүй туршилтыг эхлүүлэх","Submit feedback":"Саналаа илгээх","Successfully unsubscribed":"Захиалгыг амжилттай цуцаллаа","Thanks for the feedback!":"Саналаа илгээсэнд баярлалаа!","That didn't go to plan":"","This site is invite-only, contact the owner for access.":"Энэхүү сайт руу зөвхөн урилгаар нэвтрэх боломжтой тул та админд нь хандана уу.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Тан руу илгээсэн баталгаажуулах холбоос дээр дарж бүртгэлээ дуусгана уу. Хэрвээ 3 минутын дотор ирэхгүй бол спамаа шалгана уу!","Unsubscribe from all emails":"Бүх имэйлийг зогсоох","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Имэйлийг зогсоосон ч таны {{title}} төлбөртэй захиалга цуцлагдахгүй","Update your preferences":"Тохиргоогоо шинэчлэх","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Энэхүү имэйл хаяг олдоогүй учир захиалгыг цуцлах боломжгүй. Та сайтын админд хандана уу.",Yearly:"Жилийн","You have been successfully resubscribed":"Таны захиалга амжилттай дахин идэвхжлээ","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Таны имэйл хүлээж авахгүй байгаа шалтгаан нь нэг бол та аль нэг имэйлийг спам гэж тэмдэглэсэн, эсвэл таны хаяг имэйл хүлээж авах боломжгүй байна.","Your account":"Таны бүртгэл","Your input helps shape what gets published.":"Таны санал дараа дараагийн нийтлэлийг илүү чанартай болгоход туслана"},Hw={"{{discount}}% discount":"{{discount}}% korting","{{trialDays}} days free":"{{trialDays}} dagen gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Je hebt een email met een login link ontvangen. Check je spamfolder als hij niet binnen de 3 minuten aankomt.",Account:"Account","Account settings":"Gegevens","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Na de proefperiode zal het normale tarief in rekening worden gebracht voor het door jou gekozen abonnement.","Already a member?":"Al lid?",Back:"Terug","Back to Log in":"Terug naar inloggen","Cancel subscription":"Abonnement opzeggen","Cancellation reason":"Reden voor opzegging","Choose a different plan":"Kies een ander abonnement","Choose your newsletters":"Kies jouw nieuwsbrieven",Close:"Sluiten",Comments:"Reacties",Confirm:"Bevestigen",Continue:"Doorgaan","Delete account":"Account verwijderen","Don't have an account?":"Heb je nog geen account?",Email:"E-mail","Email preference updated.":"E-mailinstellingen aanpassen","Email preferences":"E-mailinstellingen",Emails:"E-mails","Emails disabled":"E-mails zijn uitgeschakeld","Get help":"Lees meer","Get notified when someone replies to your comment":"Blijf op de hoogte als iemand op jouw reactie reageert","Give feedback on this post":"Deel je mening over dit artikel","Less like this":"Minder hiervan",Manage:"Beheer",Monthly:"Maandelijks","More like this":"Meer hiervan",Name:"Naam","Not receiving emails?":"Ontvang je geen e-mails?","Now check your email!":"Bekijk nu jouw e-mails!",Price:"Prijs","Re-enable emails":"E-mails weer inschakelen",Retry:"Opnieuw proberen",Save:"Opslaan","Sending login link...":"Inloglink versturen...","Sending...":"Versturen...","Sign in":"Inloggen","Sign up":"Registreren","Start {{amount}}-day free trial":"Start gratis je {{amount}}-daagse proefperiode","Submit feedback":"Deel je feedback","Successfully unsubscribed":"Succesvol uitgeschreven","Thanks for the feedback!":"Bedankt voor je feedback!","That didn't go to plan":"Er ging iets mis","This site is invite-only, contact the owner for access.":"Deze site is alleen toegankelijk op uitnodiging, neem contact op met de eigenaar.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Klik op de bevestigingslink in de e-mail om je registratie af te ronden. Check ook je spamfolder als hij niet binnen de 3 minuten aankomt.","Unsubscribe from all emails":"Uitschrijven voor alles","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Je betaalde abonnement voor {{title}} wordt niet geannuleerd als je je uitschrijft voor e-mails","Update your preferences":"Voorkeuren aanpassen","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Het is niet gelukt om je uit te schrijven, omdat je e-mailadres niet is gevonden. Neem contact met ons op.",Yearly:"Jaarlijks","You have been successfully resubscribed":"Je bent weer succesvol geabonneerd","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Je ontvangt geen e-mails omdat je ofwel een recent bericht als spam had gemarkeerd, of omdat de berichten niet verzonden konden worden naar jouw e-mailadres.","Your account":"Jouw account","Your input helps shape what gets published.":"Jouw mening helpt bepalen wat er gepubliceerd wordt."},Gw={"{{discount}}% discount":"{{discount}}% rabatt","{{trialDays}} days free":"{{trialDays}} dager gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"En påloggingslenke har blitt sendt til innboksen din. Hvis den ikke kommer innen 3 minutter, må du sjekke søppelposten din.",Account:"Konto","Account settings":"Kontoinnstillinger","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Etter at en gratis prøveperiode er over, vil du bli belastet den vanlige prisen for nivået du har valgt. Du kan alltid avbryte før det.","Already a member?":"Allerede medlem?",Back:"Tilbake","Back to Log in":"Tilbake til innlogging","Cancel subscription":"Avbryt abonnement","Cancellation reason":"Grunn til avbryting","Choose a different plan":"Velg et annet nivå","Choose your newsletters":"Velg dine nyhetsbrev",Close:"Lukk",Comments:"Kommentarer",Confirm:"Bekreft",Continue:"Fortsett","Delete account":"Slett konto","Don't have an account?":"Har du ikke konto?",Email:"Epost","Email preference updated.":"Innstillinger for epost oppdatert","Email preferences":"Innstillinger for epost",Emails:"Epost","Emails disabled":"Epost deaktivert","Get help":"Få hjelp","Get notified when someone replies to your comment":"Få varsel dersom noen svarer på kommentaren din","Give feedback on this post":"Gi tilbakemelding på dette innlegget","Less like this":"Mindre som dette",Manage:"Administrer",Monthly:"Månedlig","More like this":"Mer som dette",Name:"Navn","Not receiving emails?":"Mottar du ikke epost?","Now check your email!":"Sjekk eposten din!",Price:"Pris","Re-enable emails":"Re-aktiver epost",Retry:"Prøv på nytt",Save:"Lagre","Sending login link...":"Sender påloggingslenke","Sending...":"Sender...","Sign in":"Logg inn","Sign up":"Opprett bruker","Start {{amount}}-day free trial":"Start gratis prøveperiode på {{amount}} dager","Submit feedback":"Send tilbakemelding","Successfully unsubscribed":"Avmelding vellykket","Thanks for the feedback!":"Takk for tilbakemeldingen!","That didn't go to plan":"Det gikk ikke som planlagt","This site is invite-only, contact the owner for access.":"Denne siten er kun fo inviterte. Kontakt eieren for invitasjon.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"For å fullføre registreringen, klikk på bekreftelseslenken i innboksen din. Hvis den ikke kommer innen 3 minutter, må du sjekke søppelposten din!","Unsubscribe from all emails":"Meld deg av mottak av all epost","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Å melde seg av e-poster vil ikke avbryte abonnementet ditt på {{title}}","Update your preferences":"Oppdater dine valg","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Vi kunne ikke melde deg av siden e-postadressen ikke ble funnet. Vennligst kontakt nettstedseieren.",Yearly:"Årlig","You have been successfully resubscribed":"Du har blitt meldt på igjen","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Du mottar ikke e-post fordi du enten nylig har merket en melding som spam, eller fordi meldinger ikke kunne leveres til den oppgitte e-postadressen din.","Your account":"Din konto","Your input helps shape what gets published.":"Din tilbakemelding bidrar til å forme hva som blir publisert."},qw={"{{discount}}% discount":"Rabat {{discount}}%","{{trialDays}} days free":"{{trialDays}} darmowych dni","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Link do logowania został wysłany do twojej skrzynki odbiorczej. Jeśli nie dotrze w ciągu 3 minut, sprawdź swój folder spamu.",Account:"Konto","Account settings":"Ustawienia konta","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Po zakończeniu okresu próbnego zostanie naliczona regularna opłata za wybrany poziom subskrypcji. Zawsze możesz anulować subskrypcję zanim to nastąpi.","Already a member?":"Masz już konto?",Back:"Wstecz","Back to Log in":"Wróć do logowania","Cancel subscription":"Anuluj subskrypcję","Cancellation reason":"Powód anulowania","Choose a different plan":"Wybierz inny plan","Choose your newsletters":"Wybierz swoje newslettery",Close:"Zamknij",Comments:"Komentarze",Confirm:"Potwierdź",Continue:"Dalej","Delete account":"Skasuj konto","Don't have an account?":"Nie masz jeszcze konta?",Email:"Email","Email preference updated.":"Ustawienia email zaktualizowane","Email preferences":"Ustawienia email",Emails:"Emaile","Emails disabled":"Wysyłanie emaili zablokowane","Get help":"Uzyskaj pomoc","Get notified when someone replies to your comment":"Otrzymaj powiadomienie gdy ktoś odpowie na twój komentarz","Give feedback on this post":"Oceń ten wpis","Less like this":"Mniej podobnych",Manage:"Zarządzaj",Monthly:"Miesięcznie","More like this":"Więcej podobnych",Name:"Imię i nazwisko","Not receiving emails?":"Nie dostajesz emaili?","Now check your email!":"Teraz sprawdź swoją pocztę!",Price:"Cena","Re-enable emails":"Włącz ponownie emaile",Retry:"Powtórz",Save:"Zapisz","Sending login link...":"Wysyłanie linku do logowania...","Sending...":"Wysyłanie...","Sign in":"Zaloguj się","Sign up":"Zarejestruj się","Start {{amount}}-day free trial":"Rozpocznij {{amount}}-dniowy okres próbny","Submit feedback":"Wyślij ocenę","Successfully unsubscribed":"Wypisanie udane","Thanks for the feedback!":"Dziękujemy za ocenę!","That didn't go to plan":"Coś poszło nie tak","This site is invite-only, contact the owner for access.":"Ta strona jest tylko na zaproszenie, skontaktuj się z właścicielem aby uzyskać dostęp.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Aby dokończyć rejestrację, kliknij w link przesłany na twoją skrzynkę pocztową. Jeśli nie dotrze on w ciągu 3 minut, sprawdź folder spamu!","Unsubscribe from all emails":"Wypisz się w wszystkich emaili","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Wypisanie się z otrzymywania emaili nie powoduje anulowania płatnej subskrypcji {{title}}","Update your preferences":"Zaktualizuj preferencje","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Nie udało się wypisać, bo nie znaleziono adresu email. Skontaktuj się w właścicielem strony.",Yearly:"Rocznie","You have been successfully resubscribed":"Zostałeś ponownie zapisany","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Nie otrzymujesz powiadomień email, ponieważ oznaczyłeś ostatnią wiadomość jako spam lub nie udało się dostarczyć wiadomości na podany adres email.","Your account":"Twoje konto","Your input helps shape what gets published.":"Twoja ocena pomoże nam lepiej kształtować nasz publikacje."},Ww={"{{discount}}% discount":"{{discount}}% de desconto","{{trialDays}} days free":"{{trialDays}} dias grátis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Um link de acesso foi enviado para o teu email. Se o email não chegar dentro de 3 minutos, verifica a pasta de spam/lixo do teu email.",Account:"Conta","Account settings":"Definições de conta","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Após o fim do teste grátis, será cobrado o valor normal para o nível escolhido. Podes sempre cancelar até esse momento para evitar ser cobrado.","Already a member?":"Já és membro?",Back:"Voltar","Back to Log in":"Voltar ao login","Cancel subscription":"Cancelar subscrição","Cancellation reason":"Motivo para o cancelamento","Choose a different plan":"Escolhe um plano diferente","Choose your newsletters":"Escolhe as tuas newsletters",Close:"Fechar",Comments:"Comentários",Confirm:"Confirmar",Continue:"Continuar","Delete account":"Eliminar a conta","Don't have an account?":"Não tens conta?",Email:"Email","Email preference updated.":"Preferências de email atualizadas.","Email preferences":"Preferências de email",Emails:"Emails","Emails disabled":"Email desativado","Get help":"Obter ajuda","Get notified when someone replies to your comment":"Ser notificado quando alguém responde a um comentário teu","Give feedback on this post":"Dar feedback a este artigo","Less like this":"Menos como este",Manage:"Gerir",Monthly:"Mensalmente","More like this":"Mais como este",Name:"Nome","Not receiving emails?":"Não recebes os emails?","Now check your email!":"Verifica o teu email agora!",Price:"Preço","Re-enable emails":"Reativar emails",Retry:"Tentar novamente",Save:"Guardar","Sending login link...":"A enviar link de acesso...","Sending...":"A enviar...","Sign in":"Entrar","Sign up":"Registar","Start {{amount}}-day free trial":"Iniciar teste de {{amount}} dias","Submit feedback":"Enviar feedback","Successfully unsubscribed":"Subscrição cancelada com sucesso","Thanks for the feedback!":"Obrigado pelo teu feedback!","That didn't go to plan":"Algo não correu como planeado","This site is invite-only, contact the owner for access.":"O acesso a este site é feito apenas por convite. Entra em contacto com o proprietário para teres acesso.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Para completar o registo, clica no link de confirmação enviado para o teu email. Se não o receberes dentro de 3 minutos, verifica a pasta de spam/lixo do teu email!","Unsubscribe from all emails":"Cancelar subscrição de todos os emails","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Cancelar a subscrição dos emails não irá cancelar a tua subscrição paga em {{title}}","Update your preferences":"Atualizar as tuas preferências","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Não conseguimos cancelar a tua subscrição, uma vez que o endereço de email não foi encontrado. Por favor contacta o proprietário do site.",Yearly:"Anualmente","You have been successfully resubscribed":"A tua subscrição foi renovada com sucesso","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Não estás a receber emails porque marcaste recentemente uma das nossas mensagens como spam, ou porque as mensagens não puderam ser entregues no endereço de email indicado.","Your account":"A tua conta","Your input helps shape what gets published.":"O teu feedback ajuda a decidir o conteúdo que será publicado no futuro."},Vw={"{{discount}}% discount":"{{discount}}% de desconto","{{trialDays}} days free":"{{trialDays}} dias grátis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Um link de acesso foi enviado para o seu e-mail. Se a mensagem não chegar dentro de 3 minutos, verifique sua pasta de spam.",Account:"Conta","Account settings":"Configurações de conta","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Quando o teste grátis acabar, será cobrado o preço normal do plano que você escolheu. Você sempre pode cancelar antes.","Already a member?":"Já é membro?",Back:"Voltar","Back to Log in":"Voltar para login","Cancel subscription":"Cancelar inscrição","Cancellation reason":"Motivo do cancelamento","Choose a different plan":"Escolher um plano diferente","Choose your newsletters":"Escolher suas newsletters",Close:"Fechar",Comments:"Comentários",Confirm:"Confirmar",Continue:"Continuar","Delete account":"Excluir conta","Don't have an account?":"Não tem uma conta?",Email:"E-mail","Email preference updated.":"Preferências de e-mail atualizadas.","Email preferences":"Preferências de e-mail",Emails:"E-mails","Emails disabled":"E-mails desativados","Get help":"Obter ajuda","Get notified when someone replies to your comment":"Receber notificação quando alguém responder seu comentário","Give feedback on this post":"Enviar feedback sobre esta postagem","Less like this":"Menos como este",Manage:"Gerenciar",Monthly:"Mensal","More like this":"Mais como este",Name:"Nome","Not receiving emails?":"Não está recebendo e-mails?","Now check your email!":"Agora veja seu e-mail!",Price:"Preço","Re-enable emails":"Reativar e-mails",Retry:"Tentar de novo",Save:"Salvar","Sending login link...":"Enviando link de acesso...","Sending...":"Enviando...","Sign in":"Entrar","Sign up":"Cadastrar","Start {{amount}}-day free trial":"Começar teste grátis de {{amount}} dias","Submit feedback":"Enviar avaliação","Successfully unsubscribed":"Inscrição cancelada com sucesso","Thanks for the feedback!":"Obrigado pela avaliação!","That didn't go to plan":"Algo não saiu como planejado","This site is invite-only, contact the owner for access.":"Este site é apenas para convidados. Contate o proprietário para obter acesso.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Para completar o cadastro, clique no link de confirmação enviado para sua caixa de entrada. Se o link não chegar detro de 3 minutos, confira a pasta de spam!","Unsubscribe from all emails":"Cancelar inscrição em todos os e-mails","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Cancelar a inscrição nos e-mails não cancelará sua assinatura paga em {{title}}","Update your preferences":"Atualizar preferências","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Não conseguimos cancelar sua inscrição já que o e-mail não foi encontrado. Por favor, entre em contato com o proprietário do site.",Yearly:"Anualmente","You have been successfully resubscribed":"Você foi reinscrito com sucesso","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Você não está recebendo e-mails porque, ou classificou uma mensagem recente como spam, ou as mensagens não puderam ser entregues no endereço de e-mail que você forneceu.","Your account":"Sua conta","Your input helps shape what gets published.":"Sua resposta ajuda a moldar o que será publicado."},Kw={"{{discount}}% discount":"Скидка {{discount}}%","{{trialDays}} days free":"{{trialDays}} дня(-ей) бесплатно","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Ссылка для входа была отправлена вам на email. Если письмо долго не приходит, проверьте папку Спам.",Account:"Аккаунт","Account settings":"Настройки аккаунта","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"После окончания бесплатного периода с вас будут взиматься регулярные платежи по выбранному тарифу. До этого момента вы можете отменить подписку в любое время.","Already a member?":"Уже есть аккаунт?",Back:"Назад","Back to Log in":"Вернуться ко входу","Cancel subscription":"Отменить подписку","Cancellation reason":"Причина отмены","Choose a different plan":"Выберите другой план","Choose your newsletters":"Выберите рассылки",Close:"Закрыть",Comments:"Комментарии",Confirm:"Подтвердить",Continue:"Продолжить","Delete account":"Удалить аккаунт","Don't have an account?":"У вас нет аккаунта?",Email:"Email","Email preference updated.":"Настройки электронной почты обновлены.","Email preferences":"Настройки электронной почты",Emails:"Письма","Emails disabled":"Письма отключены","Get help":"Получить помощь","Get notified when someone replies to your comment":"Оповещать, когда кто-то отвечает на ваш комментарий","Give feedback on this post":"Оставить отзыв на эту публикацию","Less like this":"Меньше подобного",Manage:"Управление",Monthly:"Ежемесячно","More like this":"Больше подобного",Name:"Имя","Not receiving emails?":"Не получаете письма?","Now check your email!":"Теперь проверьте свою электронную почту!",Price:"Цена","Re-enable emails":"Снова включить письма",Retry:"Повторить попытку",Save:"Сохранить","Sending login link...":"Отправка ссылки для входа...","Sending...":"Отправка...","Sign in":"Войти","Sign up":"Зарегистрироваться","Start {{amount}}-day free trial":"Начать {{amount}}-дневный пробный период","Submit feedback":"Отправить отзыв","Successfully unsubscribed":"Подписка успешно отменена","Thanks for the feedback!":"Спасибо за отзыв!","That didn't go to plan":"Что-то пошло не так","This site is invite-only, contact the owner for access.":"Этот сайт доступен только по приглашениям, свяжитесь с владельцем для получения доступа.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Чтобы завершить регистрацию, нажмите на ссылку подтверждения в вашем почтовом ящике. Если она не придет в течение 3 минут, проверьте папку Спам!","Unsubscribe from all emails":"Отписаться от всех писем","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Отключение рассылки не отменит вашу платную подписку на {{title}}","Update your preferences":"Обновить настройки","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Мы не смогли отменить вашу подписку, так как адрес электронной почты не найден. Пожалуйста, свяжитесь с владельцем сайта.",Yearly:"Ежегодно","You have been successfully resubscribed":"Вы снова подписаны на рассылку","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Вы не получаете письма, так как либо вы пометили недавнее сообщение как спам, либо сообщения не могут быть доставлены на указанный вами email.","Your account":"Ваш аккаунт","Your input helps shape what gets published.":"Ваш отзыв поможет решить, что будет опубликовано дальше."},Qw={"{{discount}}% discount":"{{discount}}% වට්ටම්","{{trialDays}} days free":"දින {{trialDays}} ක් දක්වා නොමිලේ","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"වෙබ් අඩවියට පිවිසීම සඳහා ලින්කුවක් ඔබගේ විද්‍යුත් ලිපිනය වෙත යවා ඇත. එය විනාඩි 3ක් ඇතුළත නොපැමිණියේ නම් ස්පෑම් ෆෝල්ඩරය පරීක්ෂා කරන්න.",Account:"ගිණුම","Account settings":"ගිණුම් සැකසුම්","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.","Already a member?":"දැනටමත් සාමාජිකයෙක්ද?",Back:"ආපසු","Back to Log in":"ලොග් වීම සඳහා ආපසු","Cancel subscription":"Subscription එක අවලංගු කරන්න","Cancellation reason":"අවලංගු කිරිමට හේතුව","Choose a different plan":"වෙනත් plan එකක් තෝරන්න","Choose your newsletters":"ඔබගේ newsletter වර්ගය තෝරන්න",Close:"වසන්න",Comments:"ප්‍රතිචාර",Confirm:"තහවුරු කරන්න",Continue:"ඉදිරියට යන්න","Delete account":"ගිණුම Delete කරන්න","Don't have an account?":"ගිණුමක් නොමැතිද?",Email:"Email","Email preference updated.":"Email preference updated.","Email preferences":"Email preferences",Emails:"ඊමේල්","Emails disabled":"Emails disabled","Get help":"සහාය ලබාගන්න","Get notified when someone replies to your comment":"ඔබේ ප්‍රතිචාරයට යම් අයෙකු පිළිතුරු දුන් විට දැනුම් දෙන්න","Give feedback on this post":"මෙම post එකට ඔබේ අදහස එක් කරන්න","Less like this":"Less like this",Manage:"කළමනාකරණය කරන්න",Monthly:"මාසිකව","More like this":"More like this",Name:"නම","Not receiving emails?":"Emails ලැබෙන්නෙ නැද්ද?","Now check your email!":"දැන් ඔබගේ email එක පරික්ෂා කරන්න!",Price:"මිල","Re-enable emails":"ඉමේල් නැවත සක්‍රීය කරන්න",Retry:"නැවත උත්සහකරන්න",Save:"Save","Sending login link...":"පිවිසුම් සබැඳිය යවමින්...","Sending...":"යවමින්...","Sign in":"ලොග් වෙන්න","Sign up":"ලියාපදිංචි වෙන්න","Start {{amount}}-day free trial":"{{amount}}-day free trial එක ආරම්භකරන්න","Submit feedback":"ප්‍රතිචාරය යොමුකරන්න","Successfully unsubscribed":"සාර්ථකව unsubscribed කර ඇත","Thanks for the feedback!":"ප්‍රතිචාරය සඳහා ස්තූතියි!","That didn't go to plan":"ඒය සැලැස්මට අනුකූලව සිදු වුණේ නෑ","This site is invite-only, contact the owner for access.":"මෙම වෙබ් අඩවිය ආරාධිතයන් සඳහා පමණි, ප්‍රවේශ වීම සඳහා හිමිකරු අමතන්න.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!","Unsubscribe from all emails":"Unsubscribe from all emails","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Unsubscribing from emails will not cancel your paid subscription to {{title}}","Update your preferences":"Update your preferences","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"We couldn't unsubscribe you as the email address was not found. Please contact the site owner.",Yearly:"වාර්ෂිකව","You have been successfully resubscribed":"ඔබ සාර්ථකව නැවත subscribe කර ඇත","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.","Your account":"ඔබගේ ගිණුම","Your input helps shape what gets published.":"Your input helps shape what gets published."},Jw={"{{discount}}% discount":"{{discount}}% popust","{{trialDays}} days free":"{{trialDays}} dni brezplačno","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Povezava za prijavo je bila poslana na vašo e-pošto. Če ne prispe v treh minutah, preverite mapo za neželeno pošto.",Account:"Račun","Account settings":"Nastavitve računa","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Po koncu brezplačnega preizkusa se vam zaračuna redna cena za izbrano stopnjo. Pred tem jo lahko vedno prekličete.","Already a member?":"Ste že član?",Back:"Nazaj","Back to Log in":"Nazaj na prijavo","Cancel subscription":"Prekliči naročnino","Cancellation reason":"Razlog za preklic","Choose a different plan":"Izberite drug načrt","Choose your newsletters":"Izberite svoje novice",Close:"Zapri",Comments:"Komentarji",Confirm:"Potrdi",Continue:"Nadaljuj","Delete account":"Izbriši račun","Don't have an account?":"Nimate računa?",Email:"E-pošta","Email preference updated.":"E-poštne nastavitve posodobljene","Email preferences":"Nastavitve e-pošte",Emails:"E-pošta","Emails disabled":"E-pošta onemogočena","Get help":"Pomoč","Get notified when someone replies to your comment":"Prejmite obvestilo, ko nekdo odgovori na vaš komentar","Give feedback on this post":"Podajte povratne informacije o tej objavi","Less like this":"Ni mi všeč",Manage:"Upravljanje",Monthly:"Mesečno","More like this":"Všeč mi je",Name:"Ime","Not receiving emails?":"Ne prejemate e-poštnih sporočil?","Now check your email!":"Preverite e-pošto!",Price:"Cena","Re-enable emails":"Ponovna vključitev e-poštnih sporočil",Retry:"Cena",Save:"Shrani","Sending login link...":"Pošiljanje povezave za prijavo...","Sending...":"Pošiljanje...","Sign in":"Prijava","Sign up":"Registracija","Start {{amount}}-day free trial":"Začetek {{amount}}-dnevnega brezplačnega preizkusa","Submit feedback":"Pošljite povratno informacijo","Successfully unsubscribed":"Uspešno ste se odjavili","Thanks for the feedback!":"Hvala za povratne informacije!","That didn't go to plan":"To ni šlo po načrtu","This site is invite-only, contact the owner for access.":"To spletno mesto je dostopno samo s povabilom, obrnite se na lastnika.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Dokončatje prijavo s klikom na povezavo, ki ste jo dobili na vaš e-poštni naslov. Če je ne prejmete v treh minutah, preverite mapo za neželeno pošto!","Unsubscribe from all emails":"Odjava od vseh e-poštnih sporočil","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Odjava od e-poštnih sporočil ne bo preklicala vaše plačane naročnine na {{title}}","Update your preferences":"Posodobite svoje nastavitve","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Nismo vas mogli odjaviti, ker e-poštnega naslova nismo našli. Prosimo, da se obrnete na lastnika spletnega mesta.",Yearly:"Letno","You have been successfully resubscribed":"Uspešno ste bili ponovno naročeni","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Ne prejemate e-poštnih sporočil, ker ste naše sporočilo nedavno označili kot neželeno pošto ali, ker sporočil ni bilo mogoče dostaviti na vaš e-poštni naslov.","Your account":"Vaš račun","Your input helps shape what gets published.":"Vaš prispevek se nam pomaga odločati, kaj objavimo."},Xw={"{{discount}}% discount":"{{discount}}% rabatt","{{trialDays}} days free":"{{trialDays}} dagar gratis","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"En inloggningslänk har skickats till din inkorg. Om den inte anländer inom 3 minuter, kontrollera din skräppostmapp.",Account:"Konto","Account settings":"Kontoinställningar","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Efter att en gratis provperiod avslutas debiteras du det ordinarie priset för den nivå du har valt. Du kan alltid avbryta innan dess.","Already a member?":"Redan medlem?",Back:"Tillbaka","Back to Log in":"Tillbaka till inloggning","Cancel subscription":"Avbryt prenumeration","Cancellation reason":"Anledning till avslut","Choose a different plan":"Välj en annan prenumeration","Choose your newsletters":"Välj dina nyhetsbrev",Close:"Stäng",Comments:"Kommentarer",Confirm:"Bekräfta",Continue:"Fortsätt","Delete account":"Radera konto","Don't have an account?":"Har du inget konto?",Email:"E-post","Email preference updated.":"Inställningar för e-post uppdaterade.","Email preferences":"E-postinställningar",Emails:"E-postmeddelanden","Emails disabled":"E-post inaktiverad","Get help":"Få hjälp","Get notified when someone replies to your comment":"Få en avisering när någon svarar på din kommentar","Give feedback on this post":"Ge feedback på det här inlägget","Less like this":"Mindre sånt här",Manage:"Hantera",Monthly:"Månadsvis","More like this":"Mer sånt här",Name:"Namn","Not receiving emails?":"Får du inga e-postmeddelanden?","Now check your email!":"Kolla nu din e-post!",Price:"Pris","Re-enable emails":"Återaktivera e-post",Retry:"Försök igen",Save:"Spara","Sending login link...":"Skickar inloggningslänk...","Sending...":"Skickar...","Sign in":"Logga in","Sign up":"Registrera dig","Start {{amount}}-day free trial":"Starta {{amount}}-dagars gratis testperiod","Submit feedback":"Skicka feedback","Successfully unsubscribed":"Prenumerationen avslutades framgångsrikt","Thanks for the feedback!":"Tack för din feedback!","That didn't go to plan":"Det där fungerade inte som tänkt","This site is invite-only, contact the owner for access.":"Den här sidan är endast för inbjudna, kontakta ägaren för åtkomst.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"För att slutföra registreringen, klicka på bekräftelselänken i din inkorg. Om den inte kommer fram inom 3 minuter, kolla din skräppostmapp!","Unsubscribe from all emails":"Avregistrera från alla e-postutskick","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Avregistrering från e-postmeddelanden kommer inte att avbryta din betalda prenumeration på {{title}}","Update your preferences":"Uppdatera dina inställningar","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Vi kunde inte avsluta din prenumeration eftersom e-postadressen inte hittades. Vänligen kontakta webbplatsens ägare.",Yearly:"Årligen","You have been successfully resubscribed":"Du har nu prenumererat igen","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Du får inte e-postmeddelanden eftersom du antingen markerade ett nyligt meddelande som skräppost, eller för att meddelanden inte kunde levereras till din angivna e-postadress.","Your account":"Ditt konto","Your input helps shape what gets published.":"Din åsikt hjälper till att forma vad som publiceras."},Zw={"{{discount}}% discount":"%{{discount}} indirim","{{trialDays}} days free":"{{trialDays}} gün ücretsiz","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Gelen kutuna bir giriş linki gönderildi. Eğer 3 dakika içinde ulaşmazsa spam klasörünü kontrol ettiğinden emin ol.",Account:"Hesap","Account settings":"Hesap ayarları","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Ücretsiz deneme süresi bittikten sonra seçtiğin kategorinin normal fiyatından ücretlendirileceksin. O zamana kadar her an iptal edebilirsin.","Already a member?":"Zaten üye misin?",Back:"Geri dön","Back to Log in":"Giriş ekranına geri dön","Cancel subscription":"Aboneliği iptal et","Cancellation reason":"İptal sebebi","Choose a different plan":"Farklı bir plan seç","Choose your newsletters":"Haber e-postanı seç",Close:"Kapat",Comments:"Yorumlar",Confirm:"Onayla",Continue:"Devam et","Delete account":"Hesabı sil","Don't have an account?":"Hesabın yok mu?",Email:"E-posta","Email preference updated.":"E-posta tercihi güncellendi.","Email preferences":"E-posta tercihleri",Emails:"E-postalar","Emails disabled":"E-postalar devre dışı","Get help":"Yardım al","Get notified when someone replies to your comment":"Birisi yorumuna cevap yazdığında bildirim al","Give feedback on this post":"Gönderiye geri bildirim ver","Less like this":"Bunun gibi daha az",Manage:"Yönet",Monthly:"Aylık","More like this":"Bunun gibi daha fazla",Name:"İsim","Not receiving emails?":"E-posta almıyor musun?","Now check your email!":"Şimdi e-posta kutunu kontrol et!",Price:"Fiyat","Re-enable emails":"E-postaları yeniden etkinleştir",Retry:"Tekrar dene",Save:"Kaydet","Sending login link...":"Giriş linki gönderiliyor...","Sending...":"Gönderiliyor...","Sign in":"Giriş yap","Sign up":"Kayıt ol","Start {{amount}}-day free trial":"{{amount}} gün ücretsiz deneme süresini başlat","Submit feedback":"Geri bildirim gönder","Successfully unsubscribed":"Abonelikten başarıyla çıkıldı","Thanks for the feedback!":"Geri bildirim için teşekkürler!","That didn't go to plan":"Bir şeyler ters gitti","This site is invite-only, contact the owner for access.":"Bu site sadece davetiyesi olanlar içindir, erişim için site sahibiyle iletişime geç.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Kaydını tamamlamak için gelen kutuna gönderilen onay linkine tıkla. Eğer 3 dakika içinde ulaşmazsa spam klasörünü kontrol et!","Unsubscribe from all emails":"Tüm e-postaların aboneliğinden çık","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"E-postaların aboneliğinden çıkmak, {{title}} sitesine olan ücretli aboneliğini iptal etmeyecek","Update your preferences":"Tercihlerini güncelle","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"E-posta adresi bulunamadığı için seni abonelikten çıkaramıyoruz. Lütfen site sahibiyle iletişime geç.",Yearly:"Yıllık","You have been successfully resubscribed":"Başarıyla yeniden abone oldun","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"E-postaları almıyorsun çünkü yakınlarda gönderilen bir mesajı spam olarak işaretledin ya da mesajlar verilen e-posta adresine teslim edilemedi.","Your account":"Hesabın","Your input helps shape what gets published.":"Yorumun yayımlanan içeriklerin şekillenmesine yardımcı olur."},e_={"{{discount}}% discount":"Знижка {{discount}}%","{{trialDays}} days free":"Безплатно {{trialDays}} дні(-в)","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Посилання для входу було надіслано на твою пошту. Якщо воно не прийде протягом 3 хвилин, перевірь папку спам.",Account:"Oбліковий запис","Account settings":"Налаштування облікового запису","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Після закінчення безплатного періоду, з тебе буде стягнена вартість за обраний тариф. Ти завжди можеш скасувати послугу до цього часу.","Already a member?":"Вже зареєстрований?",Back:"Назад","Back to Log in":"Повернутись до входу","Cancel subscription":"Скасуй підписку","Cancellation reason":"Причина скасування","Choose a different plan":"Вибари інший план","Choose your newsletters":"Вибери свої підписки",Close:"Закрий",Comments:"Коментарі",Confirm:"Підтвердь",Continue:"Далі","Delete account":"Видалити обліковий запис","Don't have an account?":"Не маєш облікового запису?",Email:"Електронна пошта","Email preference updated.":"Налаштування електронної пошти оновлені.","Email preferences":"Налаштування електронної пошти",Emails:"Електронні листи","Emails disabled":"Електронна пошта вимкнена","Get help":"Отримати допомогу","Get notified when someone replies to your comment":"Повідомляй коли хтось відповість на твій коментар","Give feedback on this post":"Дати відгук на цю публікацію","Less like this":"Менше подібних",Manage:"Управління",Monthly:"Місячно","More like this":"Більше подібних",Name:"Ім'я","Not receiving emails?":"Не приходять листи?","Now check your email!":"А тепер перевір свою пошту!",Price:"Ціна","Re-enable emails":"Знову включити пошту",Retry:"Повтори спробу",Save:"Збережи","Sending login link...":"Відправляється посилання для входу...","Sending...":"Відправляється...","Sign in":"Вхід","Sign up":"Реєстрація","Start {{amount}}-day free trial":"Почни {{amount}}-денний безплатний період","Submit feedback":"Вишли відгук","Successfully unsubscribed":"Підписку успішно скасовано","Thanks for the feedback!":"Дякуємо за відгук!","That didn't go to plan":"Щось пішло не так","This site is invite-only, contact the owner for access.":"Цей сайт доступний тільки за запрошенням, звернись до власника сайта для доступу.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Щоб завершити реєстрацію, натисни посилання в своїй електронній пошті для підтвердження. Якщо електронний лист не прийде протягом 3 хвилин, перевір папку спам!","Unsubscribe from all emails":"Відписатись від усіх листів","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Відписка від листів не скасує твою платну підписку на {{title}}","Update your preferences":"Онови свої налаштування","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Ми не можемо відписати тебе, оскільки адреса електронної пошти не знайдена. Будь ласка, зв'яжись з власником сайту.",Yearly:"Річно","You have been successfully resubscribed":"Тебе успішно підписано знову","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Не приходять листи, оскільки останній отриманий лист був тобою позначений як спам, або листи не можуть бути доставлені на твою адресу електронної пошти.","Your account":"Твій обліковий запис","Your input helps shape what gets published.":"Твій відгук допоможе вирішити що публікувати далі."},t_={"{{discount}}% discount":"{{discount}}% chegirma","{{trialDays}} days free":"{{trialDays}} kun bepul","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Kirish havolasi email pochtangizga yuborildi. Agar u 3 daqiqada kelmasa, spam bo'limini tekshiring",Account:"Hisob","Account settings":"Hisob sozlamalari","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Bepul sinov muddati tugagandan so'ng, siz tanlagan daraja uchun odatdagi narxdan undiriladi. Undan oldin istalgan vaqtda bekor qilishingiz mumkin.","Already a member?":"Allaqachon a'zomisiz?",Back:"Orqaga","Back to Log in":"Kirish sahifasiga qaytish","Cancel subscription":"Obunani bekor qilish","Cancellation reason":"Bekor qilish sababi","Choose a different plan":"Boshqa rejani tanlang","Choose your newsletters":"Pochta xabarlarini tanlang",Close:"Yopmoq",Comments:"Izohlar",Confirm:"Tasdiqlamoq",Continue:"Davom etmoq","Delete account":"Hisobni o'chirmoq","Don't have an account?":"Hisobingiz yoqmi?",Email:"Email","Email preference updated.":"Email sozlamalari yangilandi.","Email preferences":"Email sozlamalari",Emails:"Elektron xatlar","Emails disabled":"Elektron pochta xabarlari o‘chirilgan","Get help":"Yordam olmoq","Get notified when someone replies to your comment":"Kimdir sharhingizga javob bersa, bildirishnoma oling","Give feedback on this post":"Ushbu post haqida fikr bildiring","Less like this":"Bu kabi kamroq",Manage:"Boshqarmoq",Monthly:"Oylik","More like this":"Ko'proq shunga o'xshash",Name:"Ism","Not receiving emails?":"Elektron xatlar olmayapsizmi?","Now check your email!":"Endi elektron pochtangizni tekshiring!",Price:"Narx","Re-enable emails":"Elektron pochta xabarlarini qayta yoqing",Retry:"Qayta urinmoq",Save:"Saqlamoq","Sending login link...":"Kirish havolasi yuborilmoqda...","Sending...":"Yuborilmoqda...","Sign in":"Kirish","Sign up":"Ro'yxatdan o'tmoq","Start {{amount}}-day free trial":"{{amount}}-kun sinov muddatini boshlang","Submit feedback":"Izoh yuboring","Successfully unsubscribed":"Obuna muvaffaqiyatli bekor qilindi","Thanks for the feedback!":"Izoh uchun rahmat!","That didn't go to plan":"Bu rejaga mos kelmadi","This site is invite-only, contact the owner for access.":"Bu saytda faqat taklif qilinadi, kirish uchun egasiga murojaat qiling.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Ro‘yxatdan o‘tishni yakunlash uchun pochta qutingizdagi tasdiqlash havolasini bosing. Agar u 3 daqiqada kelmasa, spam jildini tekshiring!","Unsubscribe from all emails":"Barcha elektron pochta xabarlariga obunani bekor qiling","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Elektron pochtalarga obunani bekor qilish {{title}}ga pulli obunanu bekor qilmaydi","Update your preferences":"Sozlamalarni yangilash","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Email manzili topilmagani uchun obunangizni bekor qila olmadik. Iltimos, sayt egasi bilan bog'laning.",Yearly:"Yillik","You have been successfully resubscribed":"Siz muvaffaqiyatli qayta obuna bo'ldingiz","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Siz e-pochta xabarlarini olmayapsiz, chunki siz oxirgi xabarni spam deb belgilagansiz yoki xabarlar taqdim etilgan elektron pochta manzilingizga yetkazilmagan.","Your account":"Sizning hisobingiz","Your input helps shape what gets published.":""},n_={"{{discount}}% discount":"Giảm {{discount}}%","{{trialDays}} days free":"{{trialDays}} ngày miễn phí còn lại","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"Liên kết đăng nhập đã được gửi đến hộp thư của bạn. Nếu trong vòng 3 phút bạn vẫn chưa thấy, hãy kiểm tra thư hộp thư rác của bạn.",Account:"Tài khoản","Account settings":"Cài đặt","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"Sau khi kết thúc thời gian dùng thử miễn phí, bạn sẽ được tính giá thường cho gói dịch vụ mà bạn đã chọn. Bạn có thể hủy trước khi thời gian dùng thử kết thúc.","Already a member?":"Bạn đã là thành viên?",Back:"Quay về","Back to Log in":"Quay về đăng nhập","Cancel subscription":"Hủy thuê bao","Cancellation reason":"Lý do hủy thuê bao","Choose a different plan":"Chọn gói dịch vụ khác","Choose your newsletters":"Chọn bản tin bạn muốn nhận",Close:"Đóng",Comments:"Bình luận",Confirm:"Xác nhận",Continue:"Tiếp tục","Delete account":"Xóa tài khoản","Don't have an account?":"Bạn chưa có tài khoản?",Email:"Email","Email preference updated.":"Cập nhật email","Email preferences":"Cài đặt email",Emails:"Emails","Emails disabled":"Tắt chức năng email","Get help":"Trợ giúp","Get notified when someone replies to your comment":"Nhận thông báo khi có ai đó trả lời bình luận","Give feedback on this post":"Phản hồi bài viết này","Less like this":"Không thích lắm",Manage:"Quản lý",Monthly:"Mỗi tháng","More like this":"Thích bài viết dạng này",Name:"Tên","Not receiving emails?":"Bạn không nhận được email?","Now check your email!":"Kiểm tra email ngay bây giờ!",Price:"Giá","Re-enable emails":"Kích hoạt lại email nhận",Retry:"Thử lại",Save:"Lưu","Sending login link...":"Đang gửi liên kết đăng nhập","Sending...":"Đang gửi","Sign in":"Đăng nhập","Sign up":"Đăng ký","Start {{amount}}-day free trial":"Bắt đầu dùng thử {{amount}} ngày","Submit feedback":"Gửi phản hồi","Successfully unsubscribed":"Đã hủy đăng ký thành công","Thanks for the feedback!":"Cám ơn phản hồi của bạn!","That didn't go to plan":"Không thực hiện được","This site is invite-only, contact the owner for access.":"Trang web này chỉ dành cho những người được mời, hãy liên hệ với chủ sở hữu để có quyền truy cập.","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"Để hoàn tất đăng ký, hãy nhấp vào liên kết xác nhận trong hộp thư đến của bạn. Nếu nó không đến trong vòng 3 phút, hãy kiểm tra thư mục thư rác của bạn!","Unsubscribe from all emails":"Hủy theo dõi tất cả email","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"Việc hủy đăng ký nhận email sẽ không hủy gói đăng ký trả phí của bạn đối với {{title}}","Update your preferences":"Cập nhật cài đặt","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"Chúng tôi không thể hủy đăng ký bạn vì không tìm thấy địa chỉ email. Vui lòng liên hệ với chủ sở hữu trang web.",Yearly:"Mỗi năm","You have been successfully resubscribed":"Bạn đã đăng ký lại thành công","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"Bạn không nhận được email vì bạn đã đánh dấu thư gần đây là thư rác, hoặc vì không thể gửi thư đến địa chỉ email bạn đã cung cấp.","Your account":"Tài khoản của bạn","Your input helps shape what gets published.":"Thông tin của bạn giúp định hình nội dung được xuất bản."},r_={"{{discount}}% discount":"{{discount}}% 折扣","{{trialDays}} days free":"{{trialDays}} 天免费试用","A login link has been sent to your inbox. If it doesn't arrive in 3 minutes, be sure to check your spam folder.":"登录链接已经发送到您的收件箱。如果在3分钟内还没有收到,请务必检查您的垃圾邮件文件夹。",Account:"账户","Account settings":"账户设置","After a free trial ends, you will be charged the regular price for the tier you've chosen. You can always cancel before then.":"免费试用结束后,您将被收取所选套餐的标定价格。在此之前,您可以随时取消。","Already a member?":"已经是会员了?",Back:"返回","Back to Log in":"返回登录","Cancel subscription":"取消订阅","Cancellation reason":"取消原因","Choose a different plan":"选择其他订阅方案","Choose your newsletters":"选择你的刊物",Close:"关闭",Comments:"评论",Confirm:"确认",Continue:"继续","Delete account":"删除账户","Don't have an account?":"还没有账户吗?",Email:"电子邮件","Email preference updated.":"电子邮件偏好已更新。","Email preferences":"电子邮件偏好设置",Emails:"电子邮件列表","Emails disabled":"关闭电子邮件列表","Get help":"获取帮助","Get notified when someone replies to your comment":"当有人回复您的评论时,将会收到通知","Give feedback on this post":"对这篇文章提供建议","Less like this":"不喜欢",Manage:"管理",Monthly:"月付","More like this":"喜欢",Name:"名字","Not receiving emails?":"无法收到电子邮件?","Now check your email!":"现在请检查您的电子邮件!",Price:"价格","Re-enable emails":"重启电子邮件",Retry:"重试",Save:"保存","Sending login link...":"正在发送登录链接...","Sending...":"发送中...","Sign in":"登录","Sign up":"注册","Start {{amount}}-day free trial":"开始 {{amount}}-天免费试用","Submit feedback":"提交建议","Successfully unsubscribed":"成功取消订阅","Thanks for the feedback!":"感谢您的建议!","That didn't go to plan":"似乎出错了","This site is invite-only, contact the owner for access.":"此网站仅限邀请,联系所有者以获取访问","To complete signup, click the confirmation link in your inbox. If it doesn't arrive within 3 minutes, check your spam folder!":"要完成注册,请点击您收件箱中的确认链接。如果在3分钟内没有收到,请检查一下您的垃圾邮件文件夹!","Unsubscribe from all emails":"取消所有邮件订阅","Unsubscribing from emails will not cancel your paid subscription to {{title}}":"取消邮件订阅不会取消您对 {{title}} 的付费订阅。","Update your preferences":"更新您的偏好设置","We couldn't unsubscribe you as the email address was not found. Please contact the site owner.":"我们无法取消您的订阅,因为找不到该电子邮件地址。请联系网站所有者。",Yearly:"年付","You have been successfully resubscribed":"您已成功重新订阅","You're not receiving emails because you either marked a recent message as spam, or because messages could not be delivered to your provided email address.":"您收不到电子邮件是因为您可能将最近的某个消息标记为垃圾邮件,或者无法将消息发送到您提供的电子邮件地址。","Your account":"你的账户","Your input helps shape what gets published.":"您的建议将使我们变得更好。"};var Tm;function Rm(){return Tm||(Tm={"/i18n/locales/af/portal.json":function(){return $w},"/i18n/locales/bg/portal.json":function(){return Tw},"/i18n/locales/ca/portal.json":function(){return Rw},"/i18n/locales/cs/portal.json":function(){return Dw},"/i18n/locales/da/portal.json":function(){return Ow},"/i18n/locales/de/portal.json":function(){return Aw},"/i18n/locales/en/portal.json":function(){return Lw},"/i18n/locales/eo/portal.json":function(){return Mw},"/i18n/locales/es/portal.json":function(){return Iw},"/i18n/locales/fr/portal.json":function(){return zw},"/i18n/locales/hu/portal.json":function(){return Fw},"/i18n/locales/id/portal.json":function(){return Bw},"/i18n/locales/it/portal.json":function(){return Uw},"/i18n/locales/mn/portal.json":function(){return Yw},"/i18n/locales/nl/portal.json":function(){return Hw},"/i18n/locales/no/portal.json":function(){return Gw},"/i18n/locales/pl/portal.json":function(){return qw},"/i18n/locales/pt/portal.json":function(){return Ww},"/i18n/locales/pt-br/portal.json":function(){return Vw},"/i18n/locales/ru/portal.json":function(){return Kw},"/i18n/locales/si/portal.json":function(){return Qw},"/i18n/locales/sl/portal.json":function(){return Jw},"/i18n/locales/sv/portal.json":function(){return Xw},"/i18n/locales/tr/portal.json":function(){return Zw},"/i18n/locales/uk/portal.json":function(){return e_},"/i18n/locales/uz/portal.json":function(){return t_},"/i18n/locales/vi/portal.json":function(){return n_},"/i18n/locales/zh/portal.json":function(){return r_}})}function i_(e){function t(n){var r=Dm(n,e);if(r!==null)return Rm()[r]();throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}return t.resolve=function(n){var r=Dm(n,e);return r!==null?r:require.resolve(n)},t}function Dm(e,t){var n=o_(e);e=za(e);var r;e[0]==="/"&&(t="");for(var i=Rm(),o=["",".js",".json"];n?r=za(t+"/node_modules/"+e):r=za(t+"/"+e),!r.endsWith("/..");){for(var a=0;a<o.length;a++){var s=r+o[a];if(i[s])return s}if(!n)break;var l=za(t+"/..");if(l===t)break;t=l}return null}function o_(e){var t=e[0];if(t==="/"||t==="\\")return!1;var n=e[1],r=e[2];return!(t==="."&&(!n||n==="/"||n==="\\")||t==="."&&n==="."&&(!r||r==="/"||r==="\\")||n===":"&&(r==="/"||r==="\\"))}function za(e){e=e.replace(/\\/g,"/");for(var t=e.split("/"),n=t[0]==="",r=1;r<t.length;r++)(t[r]==="."||t[r]==="")&&t.splice(r--,1);for(var r=1;r<t.length;r++)t[r]===".."&&r>0&&t[r-1]!==".."&&t[r-1]!=="."&&(t.splice(--r,2),r--);return e=t.join("/"),n&&e[0]!=="/"?e="/"+e:e.length===0&&(e="."),e}var Xc={exports:{}},Om={exports:{}};(function(e){function t(n){return e.exports=t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Om);var Fa=Om.exports,Am={exports:{}};(function(e){function t(n,r){if(!(n instanceof r))throw new TypeError("Cannot call a class as a function")}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Am);var a_=Am.exports,Lm={exports:{}},Mm={exports:{}},Im={exports:{}};(function(e){var t=Fa.default;function n(r,i){if(t(r)!=="object"||r===null)return r;var o=r[Symbol.toPrimitive];if(o!==void 0){var a=o.call(r,i||"default");if(t(a)!=="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(i==="string"?String:Number)(r)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(Im);var s_=Im.exports;(function(e){var t=Fa.default,n=s_;function r(i){var o=n(i,"string");return t(o)==="symbol"?o:String(o)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports})(Mm);var zm=Mm.exports;(function(e){var t=zm;function n(i,o){for(var a=0;a<o.length;a++){var s=o[a];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(i,t(s.key),s)}}function r(i,o,a){return o&&n(i.prototype,o),a&&n(i,a),Object.defineProperty(i,"prototype",{writable:!1}),i}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports})(Lm);var l_=Lm.exports,Fm={exports:{}};(function(e){function t(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Fm);var Bm=Fm.exports,Um={exports:{}},Ym={exports:{}};(function(e){function t(n,r){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,a){return o.__proto__=a,o},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Ym);var c_=Ym.exports;(function(e){var t=c_;function n(r,i){if(typeof i!="function"&&i!==null)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(i&&i.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),Object.defineProperty(r,"prototype",{writable:!1}),i&&t(r,i)}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(Um);var u_=Um.exports,Hm={exports:{}};(function(e){var t=Fa.default,n=Bm;function r(i,o){if(o&&(t(o)==="object"||typeof o=="function"))return o;if(o!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return n(i)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports})(Hm);var d_=Hm.exports,Gm={exports:{}};(function(e){function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(i){return i.__proto__||Object.getPrototypeOf(i)},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Gm);var p_=Gm.exports,qm={exports:{}};(function(e){var t=zm;function n(r,i,o){return i=t(i),i in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(qm);var f_=qm.exports,Wm={exports:{}},Vm={exports:{}};(function(e){function t(n){if(Array.isArray(n))return n}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Vm);var h_=Vm.exports,Km={exports:{}};(function(e){function t(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Km);var m_=Km.exports,Qm={exports:{}},Jm={exports:{}};(function(e){function t(n,r){(r==null||r>n.length)&&(r=n.length);for(var i=0,o=new Array(r);i<r;i++)o[i]=n[i];return o}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Jm);var g_=Jm.exports;(function(e){var t=g_;function n(r,i){if(r){if(typeof r=="string")return t(r,i);var o=Object.prototype.toString.call(r).slice(8,-1);if(o==="Object"&&r.constructor&&(o=r.constructor.name),o==="Map"||o==="Set")return Array.from(r);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return t(r,i)}}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports})(Qm);var y_=Qm.exports,Xm={exports:{}};(function(e){function t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
3160
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Xm);var v_=Xm.exports;(function(e){var t=h_,n=m_,r=y_,i=v_;function o(a){return t(a)||n(a)||r(a)||i()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(Wm);var b_=Wm.exports,x_=Fa,k_=a_,w_=l_,__=Bm,S_=u_,E_=d_,C_=p_,j_=f_,P_=b_;function _t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var Li=_t(x_),at=_t(k_),st=_t(w_),En=_t(__),Ba=_t(S_),Mi=_t(E_),Zt=_t(C_),en=_t(j_),N_=_t(P_);function Zm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function eg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Zm(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zm(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var $_={type:"logger",log:function(t){this.output("log",t)},warn:function(t){this.output("warn",t)},error:function(t){this.output("error",t)},output:function(t,n){console&&console[t]&&console[t].apply(console,n)}},T_=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};at.default(this,e),this.init(t,n)}return st.default(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||$_,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"log","",!0)}},{key:"warn",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"warn","",!0)}},{key:"error",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"error","")}},{key:"deprecate",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(n,r,i,o){return o&&!this.debug?null:(typeof n[0]=="string"&&(n[0]="".concat(i).concat(this.prefix," ").concat(n[0])),this.logger[r](n))}},{key:"create",value:function(n){return new e(this.logger,eg(eg({},{prefix:"".concat(this.prefix,":").concat(n,":")}),this.options))}},{key:"clone",value:function(n){return n=n||this.options,n.prefix=n.prefix||this.prefix,new e(this.logger,n)}}]),e}(),lt=new T_,tn=function(){function e(){at.default(this,e),this.observers={}}return st.default(e,[{key:"on",value:function(n,r){var i=this;return n.split(" ").forEach(function(o){i.observers[o]=i.observers[o]||[],i.observers[o].push(r)}),this}},{key:"off",value:function(n,r){if(this.observers[n]){if(!r){delete this.observers[n];return}this.observers[n]=this.observers[n].filter(function(i){return i!==r})}}},{key:"emit",value:function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];if(this.observers[n]){var a=[].concat(this.observers[n]);a.forEach(function(l){l.apply(void 0,i)})}if(this.observers["*"]){var s=[].concat(this.observers["*"]);s.forEach(function(l){l.apply(l,[n].concat(i))})}}}]),e}();function Ii(){var e,t,n=new Promise(function(r,i){e=r,t=i});return n.resolve=e,n.reject=t,n}function tg(e){return e==null?"":""+e}function R_(e,t,n){e.forEach(function(r){t[r]&&(n[r]=t[r])})}function Zc(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var a=r(o.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function ng(e,t,n){var r=Zc(e,t,Object),i=r.obj,o=r.k;i[o]=n}function D_(e,t,n,r){var i=Zc(e,t,Object),o=i.obj,a=i.k;o[a]=o[a]||[],r&&(o[a]=o[a].concat(n)),r||o[a].push(n)}function Ua(e,t){var n=Zc(e,t),r=n.obj,i=n.k;if(r)return r[i]}function O_(e,t,n){var r=Ua(e,n);return r!==void 0?r:Ua(t,n)}function rg(e,t,n){for(var r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):rg(e[r],t[r],n):e[r]=t[r]);return e}function _r(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var A_={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function L_(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return A_[t]}):e}var Ya=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,M_=[" ",",","?","!",";"];function I_(e,t,n){t=t||"",n=n||"";var r=M_.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),o=!i.test(e);if(!o){var a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o}function Ha(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),i=e,o=0;o<r.length;++o){if(!i||typeof i[r[o]]=="string"&&o+1<r.length)return;if(i[r[o]]===void 0){for(var a=2,s=r.slice(o,o+a).join(n),l=i[s];l===void 0&&r.length>o+a;)a++,s=r.slice(o,o+a).join(n),l=i[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(o+a).join(n);return u?Ha(l,u,n):void 0}i=i[r[o]]}return i}}function ig(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ga(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ig(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ig(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function z_(e){var t=F_();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function F_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var B_=function(e){Ba.default(n,e);var t=z_(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return at.default(this,n),i=t.call(this),Ya&&tn.call(En.default(i)),i.data=r||{},i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return st.default(n,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,p=[i,o];a&&typeof a!="string"&&(p=p.concat(a)),a&&typeof a=="string"&&(p=p.concat(l?a.split(l):a)),i.indexOf(".")>-1&&(p=i.split("."));var d=Ua(this.data,p);return d||!u||typeof a!="string"?d:Ha(this.data&&this.data[i]&&this.data[i][o],a,l)}},{key:"addResource",value:function(i,o,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var p=[i,o];a&&(p=p.concat(u?a.split(u):a)),i.indexOf(".")>-1&&(p=i.split("."),s=o,o=p[1]),this.addNamespaces(o),ng(this.data,p,s),l.silent||this.emit("added",i,o,a,s)}},{key:"addResources",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(i,o,l,a[l],{silent:!0});s.silent||this.emit("added",i,o,a)}},{key:"addResourceBundle",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},p=[i,o];i.indexOf(".")>-1&&(p=i.split("."),s=a,a=o,o=p[1]),this.addNamespaces(o);var d=Ua(this.data,p)||{};s?rg(d,a,l):d=Ga(Ga({},d),a),ng(this.data,p,d),u.silent||this.emit("added",i,o,a)}},{key:"removeResourceBundle",value:function(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}},{key:"hasResourceBundle",value:function(i,o){return this.getResource(i,o)!==void 0}},{key:"getResourceBundle",value:function(i,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?Ga(Ga({},{}),this.getResource(i,o)):this.getResource(i,o)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var o=this.getDataByLanguage(i),a=o&&Object.keys(o)||[];return!!a.find(function(s){return o[s]&&Object.keys(o[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(tn),og={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,i,o))}),n}};function ag(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ag(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ag(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function U_(e){var t=Y_();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function Y_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var sg={},lg=function(e){Ba.default(n,e);var t=U_(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return at.default(this,n),i=t.call(this),Ya&&tn.call(En.default(i)),R_(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,En.default(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=lt.create("translator"),i}return st.default(n,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var a=this.resolve(i,o);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(i,o){var a=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=a&&i.indexOf(a)>-1,p=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!I_(i,a,s);if(u&&!p){var d=i.match(this.interpolator.nestingRegexp);if(d&&d.length>0)return{key:i,namespaces:l};var f=i.split(a);(a!==s||a===s&&this.options.ns.indexOf(f[0])>-1)&&(l=f.shift()),i=f.join(s)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,a){var s=this;if(Li.default(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var l=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,p=this.extractFromKey(i[i.length-1],o),d=p.key,f=p.namespaces,y=f[f.length-1],v=o.lng||this.language,w=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(v&&v.toLowerCase()==="cimode"){if(w){var g=o.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(y).concat(g).concat(d),usedKey:d,exactUsedKey:d,usedLng:v,usedNS:y}:"".concat(y).concat(g).concat(d)}return l?{res:d,usedKey:d,exactUsedKey:d,usedLng:v,usedNS:y}:d}var h=this.resolve(i,o),m=h&&h.res,b=h&&h.usedKey||d,k=h&&h.exactUsedKey||d,E=Object.prototype.toString.apply(m),_=["[object Number]","[object Function]","[object RegExp]"],N=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,T=!this.i18nFormat||this.i18nFormat.handleAsObject,j=typeof m!="string"&&typeof m!="boolean"&&typeof m!="number";if(T&&m&&j&&_.indexOf(E)<0&&!(typeof N=="string"&&E==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var z=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,m,_e(_e({},o),{},{ns:f})):"key '".concat(d," (").concat(this.language,")' returned an object instead of string.");return l?(h.res=z,h):z}if(u){var Be=E==="[object Array]",Z=Be?[]:{},te=Be?k:b;for(var Je in m)if(Object.prototype.hasOwnProperty.call(m,Je)){var ut="".concat(te).concat(u).concat(Je);Z[Je]=this.translate(ut,_e(_e({},o),{joinArrays:!1,ns:f})),Z[Je]===ut&&(Z[Je]=m[Je])}m=Z}}else if(T&&typeof N=="string"&&E==="[object Array]")m=m.join(N),m&&(m=this.extendTranslation(m,i,o,a));else{var dt=!1,Et=!1,Er=o.count!==void 0&&typeof o.count!="string",Cn=n.hasDefaultValue(o),nu=Er?this.pluralResolver.getSuffix(v,o.count,o):"",C=o["defaultValue".concat(nu)]||o.defaultValue;!this.isValidLookup(m)&&Cn&&(dt=!0,m=C),this.isValidLookup(m)||(Et=!0,m=d);var R=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,A=R&&Et?void 0:m,F=Cn&&C!==m&&this.options.updateMissing;if(Et||dt||F){if(this.logger.log(F?"updateKey":"missingKey",v,y,d,F?C:m),u){var ne=this.resolve(d,_e(_e({},o),{},{keySeparator:!1}));ne&&ne.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var Te=[],Ue=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ue&&Ue[0])for(var Ct=0;Ct<Ue.length;Ct++)Te.push(Ue[Ct]);else this.options.saveMissingTo==="all"?Te=this.languageUtils.toResolveHierarchy(o.lng||this.language):Te.push(o.lng||this.language);var jt=function(Cr,iu,Sg){var Eg=Cn&&Sg!==m?Sg:A;s.options.missingKeyHandler?s.options.missingKeyHandler(Cr,y,iu,Eg,F,o):s.backendConnector&&s.backendConnector.saveMissing&&s.backendConnector.saveMissing(Cr,y,iu,Eg,F,o),s.emit("missingKey",Cr,y,iu,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&Er?Te.forEach(function(ru){s.pluralResolver.getSuffixes(ru,o).forEach(function(Cr){jt([ru],d+Cr,o["defaultValue".concat(Cr)]||C)})}):jt(Te,d,C))}m=this.extendTranslation(m,i,o,h,a),Et&&m===d&&this.options.appendNamespaceToMissingKey&&(m="".concat(y,":").concat(d)),(Et||dt)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(y,":").concat(d):d,dt?m:void 0):m=this.options.parseMissingKeyHandler(m))}return l?(h.res=m,h):m}},{key:"extendTranslation",value:function(i,o,a,s,l){var u=this;if(this.i18nFormat&&this.i18nFormat.parse)i=this.i18nFormat.parse(i,_e(_e({},this.options.interpolation.defaultVariables),a),s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init(_e(_e({},a),{interpolation:_e(_e({},this.options.interpolation),a.interpolation)}));var p=typeof i=="string"&&(a&&a.interpolation&&a.interpolation.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(p){var f=i.match(this.interpolator.nestingRegexp);d=f&&f.length}var y=a.replace&&typeof a.replace!="string"?a.replace:a;if(this.options.interpolation.defaultVariables&&(y=_e(_e({},this.options.interpolation.defaultVariables),y)),i=this.interpolator.interpolate(i,y,a.lng||this.language,a),p){var v=i.match(this.interpolator.nestingRegexp),w=v&&v.length;d<w&&(a.nest=!1)}!a.lng&&this.options.compatibilityAPI!=="v1"&&s&&s.res&&(a.lng=s.usedLng),a.nest!==!1&&(i=this.interpolator.nest(i,function(){for(var m=arguments.length,b=new Array(m),k=0;k<m;k++)b[k]=arguments[k];return l&&l[0]===b[0]&&!a.context?(u.logger.warn("It seems you are nesting recursively key: ".concat(b[0]," in key: ").concat(o[0])),null):u.translate.apply(u,b.concat([o]))},a)),a.interpolation&&this.interpolator.reset()}var g=a.postProcess||this.options.postProcess,h=typeof g=="string"?[g]:g;return i!=null&&h&&h.length&&a.applyPostProcessor!==!1&&(i=og.handle(h,i,o,this.options&&this.options.postProcessPassResolved?_e({i18nResolved:s},a):a,this)),i}},{key:"resolve",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,p,d;return typeof i=="string"&&(i=[i]),i.forEach(function(f){if(!o.isValidLookup(s)){var y=o.extractFromKey(f,a),v=y.key;l=v;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var g=a.count!==void 0&&typeof a.count!="string",h=g&&!a.ordinal&&a.count===0&&o.pluralResolver.shouldUseIntlApi(),m=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",b=a.lngs?a.lngs:o.languageUtils.toResolveHierarchy(a.lng||o.language,a.fallbackLng);w.forEach(function(k){o.isValidLookup(s)||(d=k,!sg["".concat(b[0],"-").concat(k)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(d)&&(sg["".concat(b[0],"-").concat(k)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(b.join(", "),`" won't get resolved as namespace "`).concat(d,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(function(E){if(!o.isValidLookup(s)){p=E;var _=[v];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(_,v,E,k,a);else{var N;g&&(N=o.pluralResolver.getSuffix(E,a.count,a));var T="".concat(o.options.pluralSeparator,"zero");if(g&&(_.push(v+N),h&&_.push(v+T)),m){var j="".concat(v).concat(o.options.contextSeparator).concat(a.context);_.push(j),g&&(_.push(j+N),h&&_.push(j+T))}}for(var z;z=_.pop();)o.isValidLookup(s)||(u=z,s=o.getResource(E,k,z,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:p,usedNS:d}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,a,s):this.resourceStore.getResource(i,o,a,s)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var a in i)if(Object.prototype.hasOwnProperty.call(i,a)&&o===a.substring(0,o.length)&&i[a]!==void 0)return!0;return!1}}]),n}(tn);function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}var cg=function(){function e(t){at.default(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=lt.create("languageUtils")}return st.default(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],i=n.split("-");return this.options.lowerCaseLng?i=i.map(function(o){return o.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=eu(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=eu(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=eu(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var i;return n.forEach(function(o){if(!i){var a=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(a))&&(i=a)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var a=r.getLanguagePartFromCode(o);if(r.isSupportedCode(a))return i=a;i=r.options.supportedLngs.find(function(s){if(s===a)return s;if(!(s.indexOf("-")<0&&a.indexOf("-")<0)&&s.indexOf(a)===0)return s})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var i=n[r];return i||(i=n[this.getScriptPartFromCode(r)]),i||(i=n[this.formatLanguageCode(r)]),i||(i=n[this.getLanguagePartFromCode(r)]),i||(i=n.default),i||[]}},{key:"toResolveHierarchy",value:function(n,r){var i=this,o=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(u){u&&(i.isSupportedCode(u)?a.push(u):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),o.forEach(function(l){a.indexOf(l)<0&&s(i.formatLanguageCode(l))}),a}}]),e}(),H_=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],G_={1:function(t){return+(t>1)},2:function(t){return+(t!=1)},3:function(t){return 0},4:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},5:function(t){return t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},6:function(t){return t==1?0:t>=2&&t<=4?1:2},7:function(t){return t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},8:function(t){return t==1?0:t==2?1:t!=8&&t!=11?2:3},9:function(t){return+(t>=2)},10:function(t){return t==1?0:t==2?1:t<7?2:t<11?3:4},11:function(t){return t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3},12:function(t){return+(t%10!=1||t%100==11)},13:function(t){return+(t!==0)},14:function(t){return t==1?0:t==2?1:t==3?2:3},15:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2},16:function(t){return t%10==1&&t%100!=11?0:t!==0?1:2},17:function(t){return t==1||t%10==1&&t%100!=11?0:1},18:function(t){return t==0?0:t==1?1:2},19:function(t){return t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3},20:function(t){return t==1?0:t==0||t%100>0&&t%100<20?1:2},21:function(t){return t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0},22:function(t){return t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3}},q_=["v1","v2","v3"],ug={zero:0,one:1,two:2,few:3,many:4,other:5};function W_(){var e={};return H_.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:G_[t.fc]}})}),e}var V_=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};at.default(this,e),this.languageUtils=t,this.options=n,this.logger=lt.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=W_()}return st.default(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(function(o){return"".concat(r).concat(o)})}},{key:"getSuffixes",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(a,s){return ug[a]-ug[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):o.numbers.map(function(a){return r.getSuffix(n,a,i)}):[]}},{key:"getSuffix",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(r)):this.getSuffixRetroCompatible(o,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var i=this,o=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return i.options.prepend&&a.toString()?i.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!q_.includes(this.options.compatibilityJSON)}}]),e}();function dg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function pg(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=O_(e,t,n);return!o&&i&&typeof n=="string"&&(o=Ha(e,n,r),o===void 0&&(o=Ha(t,n,r))),o}var K_=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};at.default(this,e),this.logger=lt.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return st.default(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:L_,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?_r(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?_r(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?_r(r.nestingPrefix):r.nestingPrefixEscaped||_r("$t("),this.nestingSuffix=r.nestingSuffix?_r(r.nestingSuffix):r.nestingSuffixEscaped||_r(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(n,r,i,o){var a=this,s,l,u,p=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function d(g){return g.replace(/\$/g,"$$$$")}var f=function(h){if(h.indexOf(a.formatSeparator)<0){var m=pg(r,p,h,a.options.keySeparator,a.options.ignoreJSONStructure);return a.alwaysFormat?a.format(m,void 0,i,Qe(Qe(Qe({},o),r),{},{interpolationkey:h})):m}var b=h.split(a.formatSeparator),k=b.shift().trim(),E=b.join(a.formatSeparator).trim();return a.format(pg(r,p,k,a.options.keySeparator,a.options.ignoreJSONStructure),E,i,Qe(Qe(Qe({},o),r),{},{interpolationkey:k}))};this.resetRegExp();var y=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,v=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,w=[{regex:this.regexpUnescape,safeValue:function(h){return d(h)}},{regex:this.regexp,safeValue:function(h){return a.escapeValue?d(a.escape(h)):d(h)}}];return w.forEach(function(g){for(u=0;s=g.regex.exec(n);){var h=s[1].trim();if(l=f(h),l===void 0)if(typeof y=="function"){var m=y(n,s,o);l=typeof m=="string"?m:""}else if(o&&Object.prototype.hasOwnProperty.call(o,h))l="";else if(v){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(h," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=tg(l));var b=g.safeValue(l);if(n=n.replace(s[0],b),v?(g.regex.lastIndex+=l.length,g.regex.lastIndex-=s[0].length):g.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function u(y,v){var w=this.nestingOptionsSeparator;if(y.indexOf(w)<0)return y;var g=y.split(new RegExp("".concat(w,"[ ]*{"))),h="{".concat(g[1]);y=g[0],h=this.interpolate(h,l);var m=h.match(/'/g),b=h.match(/"/g);(m&&m.length%2===0&&!b||b.length%2!==0)&&(h=h.replace(/'/g,'"'));try{l=JSON.parse(h),v&&(l=Qe(Qe({},v),l))}catch(k){return this.logger.warn("failed parsing options string in nesting for key ".concat(y),k),"".concat(y).concat(w).concat(h)}return delete l.defaultValue,y}for(;a=this.nestingRegexp.exec(n);){var p=[];l=Qe({},o),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var d=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var f=a[1].split(this.formatSeparator).map(function(y){return y.trim()});a[1]=f.shift(),p=f,d=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=tg(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),d&&(s=p.reduce(function(y,v){return i.format(y,v,o.lng,Qe(Qe({},o),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function fg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function St(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?fg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Q_(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var r=e.split("(");t=r[0].toLowerCase().trim();var i=r[1].substring(0,r[1].length-1);if(t==="currency"&&i.indexOf(":")<0)n.currency||(n.currency=i.trim());else if(t==="relativetime"&&i.indexOf(":")<0)n.range||(n.range=i.trim());else{var o=i.split(";");o.forEach(function(a){if(a){var s=a.split(":"),l=N_.default(s),u=l[0],p=l.slice(1),d=p.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=d),d==="false"&&(n[u.trim()]=!1),d==="true"&&(n[u.trim()]=!0),isNaN(d)||(n[u.trim()]=parseInt(d,10))}})}}return{formatName:t,formatOptions:n}}function Sr(e){var t={};return function(r,i,o){var a=i+JSON.stringify(o),s=t[a];return s||(s=e(i,o),t[a]=s),s(r)}}var J_=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};at.default(this,e),this.logger=lt.create("formatter"),this.options=t,this.formats={number:Sr(function(n,r){var i=new Intl.NumberFormat(n,St({},r));return function(o){return i.format(o)}}),currency:Sr(function(n,r){var i=new Intl.NumberFormat(n,St(St({},r),{},{style:"currency"}));return function(o){return i.format(o)}}),datetime:Sr(function(n,r){var i=new Intl.DateTimeFormat(n,St({},r));return function(o){return i.format(o)}}),relativetime:Sr(function(n,r){var i=new Intl.RelativeTimeFormat(n,St({},r));return function(o){return i.format(o,r.range||"day")}}),list:Sr(function(n,r){var i=new Intl.ListFormat(n,St({},r));return function(o){return i.format(o)}})},this.init(t)}return st.default(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=r.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Sr(r)}},{key:"format",value:function(n,r,i){var o=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(u,p){var d=Q_(p),f=d.formatName,y=d.formatOptions;if(o.formats[f]){var v=u;try{var w=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},g=w.locale||w.lng||a.locale||a.lng||i;v=o.formats[f](u,g,St(St(St({},y),a),w))}catch(h){o.logger.warn(h)}return v}else o.logger.warn("there was no format function for ".concat(f));return u},n);return l}}]),e}();function hg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function mg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?hg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function X_(e){var t=Z_();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function Z_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function eS(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var tS=function(e){Ba.default(n,e);var t=X_(n);function n(r,i,o){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return at.default(this,n),a=t.call(this),Ya&&tn.call(En.default(a)),a.backend=r,a.store=i,a.services=o,a.languageUtils=o.languageUtils,a.options=s,a.logger=lt.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,s.backend,s),a}return st.default(n,[{key:"queueLoad",value:function(i,o,a,s){var l=this,u={},p={},d={},f={};return i.forEach(function(y){var v=!0;o.forEach(function(w){var g="".concat(y,"|").concat(w);!a.reload&&l.store.hasResourceBundle(y,w)?l.state[g]=2:l.state[g]<0||(l.state[g]===1?p[g]===void 0&&(p[g]=!0):(l.state[g]=1,v=!1,p[g]===void 0&&(p[g]=!0),u[g]===void 0&&(u[g]=!0),f[w]===void 0&&(f[w]=!0)))}),v||(d[y]=!0)}),(Object.keys(u).length||Object.keys(p).length)&&this.queue.push({pending:p,pendingCount:Object.keys(p).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(p),toLoadLanguages:Object.keys(d),toLoadNamespaces:Object.keys(f)}}},{key:"loaded",value:function(i,o,a){var s=i.split("|"),l=s[0],u=s[1];o&&this.emit("failedLoading",l,u,o),a&&this.store.addResourceBundle(l,u,a),this.state[i]=o?-1:2;var p={};this.queue.forEach(function(d){D_(d.loaded,[l],u),eS(d,i),o&&d.errors.push(o),d.pendingCount===0&&!d.done&&(Object.keys(d.loaded).forEach(function(f){p[f]||(p[f]={});var y=d.loaded[f];y.length&&y.forEach(function(v){p[f][v]===void 0&&(p[f][v]=!0)})}),d.done=!0,d.errors.length?d.callback(d.errors):d.callback())}),this.emit("loaded",p),this.queue=this.queue.filter(function(d){return!d.done})}},{key:"read",value:function(i,o,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,p=arguments.length>5?arguments[5]:void 0;if(!i.length)return p(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:a,tried:l,wait:u,callback:p});return}this.readingCalls++;var d=function(w,g){if(s.readingCalls--,s.waitingReads.length>0){var h=s.waitingReads.shift();s.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(w&&g&&l<s.maxRetries){setTimeout(function(){s.read.call(s,i,o,a,l+1,u*2,p)},u);return}p(w,g)},f=this.backend[a].bind(this.backend);if(f.length===2){try{var y=f(i,o);y&&typeof y.then=="function"?y.then(function(v){return d(null,v)}).catch(d):d(null,y)}catch(v){d(v)}return}return f(i,o,d)}},{key:"prepareLoading",value:function(i,o){var a=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof o=="string"&&(o=[o]);var u=this.queueLoad(i,o,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(p){a.loadOne(p)})}},{key:"load",value:function(i,o,a){this.prepareLoading(i,o,{},a)}},{key:"reload",value:function(i,o,a){this.prepareLoading(i,o,{reload:!0},a)}},{key:"loadOne",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=i.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(p,d){p&&o.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),p),!p&&d&&o.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),d),o.loaded(i,p,d)})}},{key:"saveMissing",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},p=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(a==null||a==="")){if(this.backend&&this.backend.create){var d=mg(mg({},u),{},{isUpdate:l}),f=this.backend.create.bind(this.backend);if(f.length<6)try{var y;f.length===5?y=f(i,o,a,s,d):y=f(i,o,a,s),y&&typeof y.then=="function"?y.then(function(v){return p(null,v)}).catch(p):p(null,y)}catch(v){p(v)}else f(i,o,a,s,p,d)}!i||!i[0]||this.store.addResource(i[0],o,a,s)}}}]),n}(tn);function gg(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if(Li.default(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Li.default(t[2])==="object"||Li.default(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(i){n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,i){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function yg(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function vg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ct(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function nS(e){var t=rS();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function rS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qa(){}function iS(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var Wa=function(e){Ba.default(n,e);var t=nS(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(at.default(this,n),r=t.call(this),Ya&&tn.call(En.default(r)),r.options=yg(i),r.services={},r.logger=lt,r.modules={external:[]},iS(En.default(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),Mi.default(r,En.default(r));setTimeout(function(){r.init(i,o)},0)}return r}return st.default(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(a=o,o={}),!o.defaultNS&&o.defaultNS!==!1&&o.ns&&(typeof o.ns=="string"?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));var s=gg();this.options=ct(ct(ct({},s),this.options),yg(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=ct(ct({},s.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(h){return h?typeof h=="function"?new h:h:null}if(!this.options.isClone){this.modules.logger?lt.init(l(this.modules.logger),this.options):lt.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=J_);var p=new cg(this.options);this.store=new B_(this.options.resources,this.options);var d=this.services;d.logger=lt,d.resourceStore=this.store,d.languageUtils=p,d.pluralResolver=new V_(p,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(d.formatter=l(u),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new K_(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new tS(l(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(h){for(var m=arguments.length,b=new Array(m>1?m-1:0),k=1;k<m;k++)b[k-1]=arguments[k];i.emit.apply(i,[h].concat(b))}),this.modules.languageDetector&&(d.languageDetector=l(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=l(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new lg(this.services,this.options),this.translator.on("*",function(h){for(var m=arguments.length,b=new Array(m>1?m-1:0),k=1;k<m;k++)b[k-1]=arguments[k];i.emit.apply(i,[h].concat(b))}),this.modules.external.forEach(function(h){h.init&&h.init(i)})}if(this.format=this.options.interpolation.format,a||(a=qa),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.length>0&&f[0]!=="dev"&&(this.options.lng=f[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var y=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];y.forEach(function(h){i[h]=function(){var m;return(m=i.store)[h].apply(m,arguments)}});var v=["addResource","addResources","addResourceBundle","removeResourceBundle"];v.forEach(function(h){i[h]=function(){var m;return(m=i.store)[h].apply(m,arguments),i}});var w=Ii(),g=function(){var m=function(k,E){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),w.resolve(E),a(k,E)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return m(null,i.t.bind(i));i.changeLanguage(i.options.lng,m)};return this.options.resources||!this.options.initImmediate?g():setTimeout(g,0),w}},{key:"loadResources",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qa,s=a,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(s=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],p=function(y){if(y){var v=o.services.languageUtils.toResolveHierarchy(y);v.forEach(function(w){u.indexOf(w)<0&&u.push(w)})}};if(l)p(l);else{var d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.forEach(function(f){return p(f)})}this.options.preload&&this.options.preload.forEach(function(f){return p(f)}),this.services.backendConnector.load(u,this.options.ns,function(f){!f&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),s(f)})}else s(null)}},{key:"reloadResources",value:function(i,o,a){var s=Ii();return i||(i=this.languages),o||(o=this.options.ns),a||(a=qa),this.services.backendConnector.reload(i,o,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&og.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var o=0;o<this.languages.length;o++){var a=this.languages[o];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(i,o){var a=this;this.isLanguageChangingTo=i;var s=Ii();this.emit("languageChanging",i);var l=function(f){a.language=f,a.languages=a.services.languageUtils.toResolveHierarchy(f),a.resolvedLanguage=void 0,a.setResolvedLanguage(f)},u=function(f,y){y?(l(y),a.translator.changeLanguage(y),a.isLanguageChangingTo=void 0,a.emit("languageChanged",y),a.logger.log("languageChanged",y)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),o&&o(f,function(){return a.t.apply(a,arguments)})},p=function(f){!i&&!f&&a.services.languageDetector&&(f=[]);var y=typeof f=="string"?f:a.services.languageUtils.getBestMatchFromCodes(f);y&&(a.language||l(y),a.translator.language||a.translator.changeLanguage(y),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(y)),a.loadResources(y,function(v){u(v,y)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?p(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(p):this.services.languageDetector.detect(p):p(i),s}},{key:"getFixedT",value:function(i,o,a){var s=this,l=function u(p,d){var f;if(Li.default(d)!=="object"){for(var y=arguments.length,v=new Array(y>2?y-2:0),w=2;w<y;w++)v[w-2]=arguments[w];f=s.options.overloadTranslationOptionHandler([p,d].concat(v))}else f=ct({},d);f.lng=f.lng||u.lng,f.lngs=f.lngs||u.lngs,f.ns=f.ns||u.ns,f.keyPrefix=f.keyPrefix||a||u.keyPrefix;var g=s.options.keySeparator||".",h;return f.keyPrefix&&Array.isArray(p)?h=p.map(function(m){return"".concat(f.keyPrefix).concat(g).concat(m)}):h=f.keyPrefix?"".concat(f.keyPrefix).concat(g).concat(p):p,s.t(h,f)};return typeof i=="string"?l.lng=i:l.lngs=i,l.ns=o,l.keyPrefix=a,l}},{key:"t",value:function(){var i;return this.translator&&(i=this.translator).translate.apply(i,arguments)}},{key:"exists",value:function(){var i;return this.translator&&(i=this.translator).exists.apply(i,arguments)}},{key:"setDefaultNamespace",value:function(i){this.options.defaultNS=i}},{key:"hasLoadedNamespace",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var p=function(y,v){var w=o.services.backendConnector.state["".concat(y,"|").concat(v)];return w===-1||w===2};if(a.precheck){var d=a.precheck(this,p);if(d!==void 0)return d}return!!(this.hasResourceBundle(s,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||p(s,i)&&(!l||p(u,i)))}},{key:"loadNamespaces",value:function(i,o){var a=this,s=Ii();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),o&&o(l)}),s):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var a=Ii();typeof i=="string"&&(i=[i]);var s=this.options.preload||[],l=i.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),o&&o(u)}),a):(o&&o(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],a=this.services&&this.services.languageUtils||new cg(gg());return o.indexOf(a.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qa,s=ct(ct(ct({},this.options),o),{isClone:!0}),l=new n(s);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(p){l[p]=i[p]}),l.services=ct({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new lg(l.services,l.options),l.translator.on("*",function(p){for(var d=arguments.length,f=new Array(d>1?d-1:0),y=1;y<d;y++)f[y-1]=arguments[y];l.emit.apply(l,[p].concat(f))}),l.init(s,a),l.translator.options=l.options,l.translator.backendConnector.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),n}(tn);en.default(Wa,"createInstance",function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new Wa(e,t)});var bg=Wa.createInstance();bg.createInstance=Wa.createInstance;var oS=bg;const aS=oS,xg=["af","bg","ca","cs","da","de","en","eo","es","fr","hu","id","it","mn","nl","no","pl","pt","pt-br","ru","si","sl","sv","tr","uk","uz","vi","zh"];Xc.exports=(e="en",t="portal")=>{const n=aS.createInstance();return n.init({lng:e,nsSeparator:!1,keySeparator:!1,returnEmptyString:!1,fallbackLng:!1,ns:t,defaultNS:t,resources:xg.reduce((r,i)=>(r[i]={[t]:i_("/i18n/lib")(`../locales/${i}/${t}.json`)},r),{})}),n},Xc.exports.SUPPORTED_LOCALES=xg;var sS=Xc.exports,lS=sS;const cS=Re(lS),uS={showPopup:!0,site:wr,member:Ia.free,page:"accountEmail",...tw(),pageData:Nm};function dS({site:e,children:t}){const{portal_sentry:n}=e||{};return n&&n.dsn?c.jsx(Di,{children:t}):c.jsx(c.Fragment,{children:t})}class pS extends W.Component{constructor(t){super(t),this.setupCustomTriggerButton(t),this.state={site:null,member:null,page:"loading",showPopup:!1,action:"init:running",initStatus:"running",lastPage:null,customSiteUrl:t.customSiteUrl}}componentDidMount(){this.initSetup()}componentDidUpdate(t,n){var r,i,o;if(n.showPopup!==this.state.showPopup){this.handleCustomTriggerClassUpdate();try{this.state.showPopup?(this.bodyScroll=(o=(i=(r=window.document)==null?void 0:r.body)==null?void 0:i.style)==null?void 0:o.overflow,window.document.body.style.overflow="hidden"):window.document.body.style.overflow=this.bodyScroll||""}catch{}}if(this.state.initStatus==="success"&&n.initStatus!==this.state.initStatus){const{siteUrl:a}=this.props,s=this.getContextFromState();this.sendPortalReadyEvent(),Nw({siteUrl:a,site:s.site,member:s.member})}}componentWillUnmount(){clearTimeout(this.timeoutId),this.customTriggerButtons&&this.customTriggerButtons.forEach(t=>{t.removeEventListener("click",this.clickHandler)}),window.removeEventListener("hashchange",this.hashHandler,!1)}sendPortalReadyEvent(){window.self!==window.parent&&window.parent.postMessage({type:"portal-ready",payload:{}},"*")}setupCustomTriggerButton(){this.clickHandler=r=>{r.preventDefault();const i=r.currentTarget,o=i&&i.dataset.portal,{page:a,pageQuery:s}=this.getPageFromLinkPath(o)||{};this.state.initStatus==="success"&&(s&&s!=="free"?this.handleSignupQuery({site:this.state.site,pageQuery:s}):this.dispatchAction("openPopup",{page:a,pageQuery:s}))};const t="[data-portal]",n="gh-portal-close";this.customTriggerButtons=document.querySelectorAll(t)||[],this.customTriggerButtons.forEach(r=>{r.classList.add(n),r.removeEventListener("click",this.clickHandler),r.addEventListener("click",this.clickHandler)})}handleCustomTriggerClassUpdate(){var r;const t="gh-portal-open",n="gh-portal-close";(r=this.customTriggerButtons)==null||r.forEach(i=>{const o=this.state.showPopup?t:n,a=this.state.showPopup?n:t;i.classList.add(o),i.classList.remove(a)})}async initSetup(){try{const{site:t,member:n,page:r,showPopup:i,popupNotification:o,lastPage:a,pageQuery:s,pageData:l}=await this.fetchData(),u=this.props.siteI18nEnabled?t.locale:"en",p=cS(u,"portal"),d={site:t,member:n,page:r,lastPage:a,pageQuery:s,showPopup:i,pageData:l,popupNotification:o,t:p.t,action:"init:success",initStatus:"success"};if(this.handleSignupQuery({site:t,pageQuery:s,member:n}),this.setState(d),this.hashHandler=()=>{this.updateStateForPreviewLinks()},window.addEventListener("hashchange",this.hashHandler,!1),!n){const f=document.querySelectorAll("[data-lexical-signup-form]");f.length>0&&f.forEach(y=>{y.style.display=""})}}catch(t){console.error("[Portal] Failed to initialize:",t),this.setState({action:"init:failed",initStatus:"failed"})}}async fetchData(){const{site:t,member:n}=await this.fetchApiData(),{site:r,...i}=this.fetchDevData(),{site:o,...a}=this.fetchLinkData(),{site:s,...l}=this.fetchPreviewData(),{site:u,...p}=this.fetchNotificationData();return{member:n,page:"",site:{...t,...o,...s,...u,...r,plans:{...(r||{}).plans,...(t||{}).plans,...(s||{}).plans}},...i,...a,...p,...l}}fetchDevData(){return q(["dev"])&&!this.state.customSiteUrl?uS:q(["test"])?{showPopup:this.props.showPopup!==void 0?this.props.showPopup:!0}:{}}fetchOfferQueryStrData(t=""){const n=new URLSearchParams(t),r={};for(let i of n.entries()){const o=i[0],a=decodeURIComponent(i[1]);o==="name"?r.name=a||"":o==="code"?r.code=a||"":o==="display_title"?r.display_title=a||"":o==="display_description"?r.display_description=a||"":o==="type"?r.type=a||"":o==="cadence"?r.cadence=a||"":o==="duration"?r.duration=a||"":o==="duration_in_months"&&!isNaN(Number(a))?r.duration_in_months=Number(a):o==="amount"&&!isNaN(Number(a))?r.amount=Number(a):o==="currency"?r.currency=a||"":o==="status"?r.status=a||"":o==="tier_id"&&(r.tier={id:a||Nm.tier.id})}return{page:"offer",pageData:r}}fetchQueryStrData(t=""){const n=new URLSearchParams(t),r={site:{plans:{}}},i=[];let o,a=null,s,l,u;for(let p of n.entries()){const d=p[0],f=decodeURIComponent(p[1]);if(d==="button")r.site.portal_button=JSON.parse(f);else if(d==="name")r.site.portal_name=JSON.parse(f);else if(d==="isFree"&&JSON.parse(f))i.push("free");else if(d==="isMonthly"&&JSON.parse(f))i.push("monthly");else if(d==="isYearly"&&JSON.parse(f))i.push("yearly");else if(d==="portalPrices")o=f?f.split(","):[];else if(d==="portalProducts")a=f?f.split(","):[];else if(d==="page"&&f)r.page=f;else if(d==="accentColor"&&(f===""||f))r.site.accent_color=f;else if(d==="buttonIcon"&&f)r.site.portal_button_icon=f;else if(d==="signupButtonText")r.site.portal_button_signup_text=f||"";else if(d==="signupTermsHtml")r.site.portal_signup_terms_html=f||"";else if(d==="signupCheckboxRequired")r.site.portal_signup_checkbox_required=JSON.parse(f);else if(d==="buttonStyle"&&f)r.site.portal_button_style=f;else if(d==="monthlyPrice"&&!isNaN(Number(f)))r.site.plans.monthly=Number(f),s=Number(f);else if(d==="yearlyPrice"&&!isNaN(Number(f)))r.site.plans.yearly=Number(f),l=Number(f);else if(d==="currency"&&f){const y=f.toUpperCase();r.site.plans.currency=y,r.site.plans.currency_symbol=de(y),u=y}else d==="disableBackground"?r.site.disableBackground=JSON.parse(f):d==="allowSelfSignup"?r.site.allow_self_signup=JSON.parse(f):d==="membersSignupAccess"&&f&&(r.site.members_signup_access=f)}return r.site.portal_plans=i,r.site.portal_products=a,o?r.site.portal_plans=o:s&&l&&u&&(r.site.prices=[{id:"monthly",stripe_price_id:"dummy_stripe_monthly",stripe_product_id:"dummy_stripe_product",active:1,nickname:"Monthly",currency:u,amount:s,type:"recurring",interval:"month"},{id:"yearly",stripe_price_id:"dummy_stripe_yearly",stripe_product_id:"dummy_stripe_product",active:1,nickname:"Yearly",currency:u,amount:l,type:"recurring",interval:"year"}]),r}fetchNotificationData(){const{type:t,status:n,duration:r,autoHide:i,closeable:o}=Jh({billingOnly:!0})||{};return["stripe:billing-update"].includes(t)?n==="success"?{showPopup:!0,popupNotification:Q({type:t,status:n,duration:r,closeable:o,autoHide:i,state:this.state,message:n==="success"?"Billing info updated successfully":""})}:{showPopup:!0}:{}}fetchLinkData(){const t=new URLSearchParams(window.location.search);if(t.get("uuid")&&t.get("action")==="unsubscribe")return{showPopup:!0,page:"unsubscribe",pageData:{uuid:t.get("uuid"),newsletterUuid:t.get("newsletter"),comments:t.get("comments")}};const[n,r]=window.location.hash.substr(1).split("?"),i=new URLSearchParams(r??""),o=/^(?:(\w+?))?\/monthly$/,a=/^(?:(\w+?))?\/yearly$/,s=/^offers\/(\w+?)\/?$/,l=/^\/portal\/?(?:\/(\w+(?:\/\w+)*))?\/?$/,u=/^\/feedback\/(\w+?)\/(\w+?)\/?$/;if(n&&u.test(n)&&i.get("uuid")){const[,p,d]=n.match(u),f=parseInt(d);if(f===1||f===0)return{showPopup:!0,page:"feedback",pageData:{uuid:i.get("uuid"),postId:p,score:f}}}if(n&&l.test(n)){const[,p]=n.match(l),{page:d,pageQuery:f}=this.getPageFromLinkPath(p)||{},y=["accountPlan","accountProfile"].includes(d)?"accountHome":null;return{showPopup:!(["monthly","yearly"].includes(f)||o.test(f)||a.test(f)||s.test(f)),...d?{page:d}:{},...f?{pageQuery:f}:{},...y?{lastPage:y}:{}}}return{}}fetchPreviewData(){const[,t]=window.location.hash.substr(1).split("?");if(q(["preview"])){let n={};return q(["offerPreview"])?n=this.fetchOfferQueryStrData(t):n=this.fetchQueryStrData(t),{...n,showPopup:!0}}return{}}getColorOverride(){const t=document.querySelector("script[data-ghost]");return t&&t.dataset.accentColor?t.dataset.accentColor:!1}async fetchApiData(){const{siteUrl:t,customSiteUrl:n,apiUrl:r,apiKey:i}=this.props;try{this.GhostApi=this.props.api||Oa({siteUrl:t,apiUrl:r,apiKey:i});const{site:o,member:a}=await this.GhostApi.init(),s=this.getColorOverride();return s&&(o.accent_color=s),this.setupFirstPromoter({site:o,member:a}),this.setupSentry({site:o}),{site:o,member:a}}catch(o){if(q(["dev","test"],{customSiteUrl:n}))return{};throw o}}setupSentry({site:t}){if(q(["test"]))return null;const{portal_sentry:n,portal_version:r,version:i}=t,a=`portal@2.31.2|ghost@${i}`;n&&n.dsn&&x1({dsn:n.dsn,environment:n.env||"development",release:a,beforeSend:s=>z1({event:s})?s:null,allowUrls:[/https?:\/\/((www)\.)?unpkg\.com\/@tryghost\/portal/]})}setupFirstPromoter({site:t,member:n}){if(q(["test"]))return null;const r=X1({site:t});let i=Fc({site:t});if(i=i==null?void 0:i.replace(/^(\S*\.)?(\S*\.\S*)$/i,".$2"),r&&i){const o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src="https://cdn.firstpromoter.com/fprom.js",o.onload=o.onreadystatechange=function(){let s=this.readyState;if(!s||s==="complete"||s==="loaded")try{if(window.$FPROM.init(r,i),lx({member:n})){const l=n.email,u=n.uuid;if(window.$FPROM)window.$FPROM.trackSignup({email:l,uid:u});else{const p=window._fprom||[];window._fprom=p,p.push(["event","signup"]),p.push(["email",l]),p.push(["uid",u])}}}catch{}};const a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)}}async dispatchAction(t,n){clearTimeout(this.timeoutId),this.setState({action:`${t}:running`});try{const r=await Cw({action:t,data:n,state:this.state,api:this.GhostApi});this.setState(r),r&&r.action&&!r.action.includes(":failed")&&(this.timeoutId=setTimeout(()=>{this.setState({action:""})},2e3))}catch(r){const i=Q({type:`${t}:failed`,autoHide:!0,closeable:!0,status:"error",state:this.state,meta:{error:r}});this.setState({action:`${t}:failed`,popupNotification:i})}}updateStateForPreviewLinks(){const{site:t,...n}=this.fetchPreviewData(),{site:r,...i}=this.fetchLinkData(),o={site:{...this.state.site,...r||{},...t||{},plans:{...this.state.site&&this.state.site.plans,...(r||{}).plans,...(t||{}).plans}},...i,...n};this.handleSignupQuery({site:o.site,pageQuery:o.pageQuery}),this.setState(o)}async handleOfferQuery({site:t,offerId:n,member:r=this.state.member}){const{portal_button:i}=t;if(Ac(),!kt({member:r}))try{const o=await this.GhostApi.site.offer({offerId:n}),a=o==null?void 0:o.offers[0];if(rx({site:t,offer:a}))if(i)this.dispatchAction("openPopup",{page:"offer",pageData:o==null?void 0:o.offers[0]});else{const s=gr({site:t,productId:a.tier.id}),l=a.cadence==="month"?s.monthlyPrice:s.yearlyPrice;if(this.dispatchAction("openPopup",{page:"loading"}),r){const{tierId:u,cadence:p}=_n({site:t,priceId:l.id});this.dispatchAction("checkoutPlan",{plan:l.id,offerId:n,tierId:u,cadence:p})}else{const{tierId:u,cadence:p}=_n({site:t,priceId:l.id});this.dispatchAction("signup",{plan:l.id,offerId:n,tierId:u,cadence:p})}}}catch{}}handleSignupQuery({site:t,pageQuery:n,member:r}){const i=/^offers\/(\w+?)\/?$/;let o=n;if(i.test(n||"")){const[,s]=n.match(i);this.handleOfferQuery({site:t,offerId:s,member:r});return}Yh({site:t,pageQuery:n})&&(o=Yh({site:t,pageQuery:n}));const a=q1({site:t,priceId:o});if(n&&n!=="free"){Ac();const s=(a==null?void 0:a.id)||o;s!=="free"&&this.dispatchAction("openPopup",{page:"loading"});const{tierId:l,cadence:u}=_n({site:t,priceId:s});this.dispatchAction("signup",{plan:s,tierId:l,cadence:u})}}getPageFromLinkPath(t){const n=/^signup\/?(?:\/(\w+?))?\/?$/,r=/^signup\/?(?:\/(\w+?))\/monthly\/?$/,i=/^signup\/?(?:\/(\w+?))\/yearly\/?$/;if(/^offers\/(\w+?)\/?$/.test(t))return{pageQuery:t};if(t==="signup")return{page:"signup"};if(r.test(t)){const[,a]=t.match(r);return{page:"signup",pageQuery:`${a}/monthly`}}else if(i.test(t)){const[,a]=t.match(i);return{page:"signup",pageQuery:`${a}/yearly`}}else if(n.test(t)){const[,a]=t.match(n);return{page:"signup",pageQuery:a}}else{if(t==="signup/free")return{page:"signup",pageQuery:"free"};if(t==="signup/monthly")return{page:"signup",pageQuery:"monthly"};if(t==="signup/yearly")return{page:"signup",pageQuery:"yearly"};if(t==="signin")return{page:"signin"};if(t==="account")return{page:"accountHome"};if(t==="account/plans")return{page:"accountPlan"};if(t==="account/profile")return{page:"accountProfile"};if(t==="account/newsletters")return{page:"accountEmail"}}return{}}getAccentColor(){const{accent_color:t}=this.state.site||{};return t}getContextPage({site:t,page:n,member:r}){if(!n){const i=ot({site:t})?"signin":"signup";n=r?"accountHome":i}return n==="accountPlan"&&hr({member:r})&&!Oi({member:r})&&(n="accountHome"),Kc({page:n})}getContextMember({page:t,member:n,customSiteUrl:r}){return q(["dev","preview"],{customSiteUrl:r})?Kk({page:t})||Qk({page:t})?q(["dev"],{customSiteUrl:r})?n||Ia.free:q(["preview"])?Ia.preview:Ia.paid:null:n}getContextFromState(){const{site:t,member:n,action:r,page:i,lastPage:o,showPopup:a,pageQuery:s,pageData:l,popupNotification:u,customSiteUrl:p,t:d}=this.state,f=this.getContextPage({site:t,page:i,member:n}),y=this.getContextMember({page:f,member:n,customSiteUrl:p});return{site:t,action:r,brandColor:this.getAccentColor(),page:f,pageQuery:s,pageData:l,member:y,lastPage:o,showPopup:a,popupNotification:u,customSiteUrl:p,t:d,onAction:(v,w)=>this.dispatchAction(v,w)}}render(){return this.state.initStatus==="success"?c.jsx(dS,{site:this.state.site,children:c.jsxs($.Provider,{value:this.getContextFromState(),children:[c.jsx(Sm,{}),c.jsx(Vh,{}),c.jsx(Zh,{})]})}):null}}const kg="ghost-portal-root";function fS(){const e=document.createElement("div");e.id=kg,document.body.appendChild(e)}function hS(){const e=document.querySelector("script[data-ghost]");if(e){const t=e.dataset.i18n==="true",n=e.dataset.ghost,r=e.dataset.key,i=e.dataset.api;return{siteUrl:n,apiKey:r,apiUrl:i,siteI18nEnabled:t}}return{}}function mS(){const e=new URL(window.location.href);e.searchParams.get("token")&&(e.searchParams.delete("token"),window.history.replaceState({},document.title,e.href))}function gS({siteUrl:e}){fS(),mS()}function yS(){const{siteUrl:e,apiKey:t,apiUrl:n,siteI18nEnabled:r}=hS(),i=e||window.location.origin;gS({siteUrl:i}),Ov.render(c.jsx(W.StrictMode,{children:c.jsx(pS,{siteUrl:i,customSiteUrl:e,apiKey:t,apiUrl:n,siteI18nEnabled:r})}),document.getElementById(kg))}yS()});
3160
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Xm);var v_=Xm.exports;(function(e){var t=h_,n=m_,r=y_,i=v_;function o(a){return t(a)||n(a)||r(a)||i()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports})(Wm);var b_=Wm.exports,x_=Fa,k_=a_,w_=l_,__=Bm,S_=u_,E_=d_,C_=p_,j_=f_,P_=b_;function _t(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var Li=_t(x_),at=_t(k_),st=_t(w_),En=_t(__),Ba=_t(S_),Mi=_t(E_),Zt=_t(C_),en=_t(j_),N_=_t(P_);function Zm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function eg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Zm(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Zm(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var $_={type:"logger",log:function(t){this.output("log",t)},warn:function(t){this.output("warn",t)},error:function(t){this.output("error",t)},output:function(t,n){console&&console[t]&&console[t].apply(console,n)}},T_=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};at.default(this,e),this.init(t,n)}return st.default(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=r.prefix||"i18next:",this.logger=n||$_,this.options=r,this.debug=r.debug}},{key:"setDebug",value:function(n){this.debug=n}},{key:"log",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"log","",!0)}},{key:"warn",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"warn","",!0)}},{key:"error",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"error","")}},{key:"deprecate",value:function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return this.forward(r,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(n,r,i,o){return o&&!this.debug?null:(typeof n[0]=="string"&&(n[0]="".concat(i).concat(this.prefix," ").concat(n[0])),this.logger[r](n))}},{key:"create",value:function(n){return new e(this.logger,eg(eg({},{prefix:"".concat(this.prefix,":").concat(n,":")}),this.options))}},{key:"clone",value:function(n){return n=n||this.options,n.prefix=n.prefix||this.prefix,new e(this.logger,n)}}]),e}(),lt=new T_,tn=function(){function e(){at.default(this,e),this.observers={}}return st.default(e,[{key:"on",value:function(n,r){var i=this;return n.split(" ").forEach(function(o){i.observers[o]=i.observers[o]||[],i.observers[o].push(r)}),this}},{key:"off",value:function(n,r){if(this.observers[n]){if(!r){delete this.observers[n];return}this.observers[n]=this.observers[n].filter(function(i){return i!==r})}}},{key:"emit",value:function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];if(this.observers[n]){var a=[].concat(this.observers[n]);a.forEach(function(l){l.apply(void 0,i)})}if(this.observers["*"]){var s=[].concat(this.observers["*"]);s.forEach(function(l){l.apply(l,[n].concat(i))})}}}]),e}();function Ii(){var e,t,n=new Promise(function(r,i){e=r,t=i});return n.resolve=e,n.reject=t,n}function tg(e){return e==null?"":""+e}function R_(e,t,n){e.forEach(function(r){t[r]&&(n[r]=t[r])})}function Zc(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(/###/g,"."):s}function i(){return!e||typeof e=="string"}for(var o=typeof t!="string"?[].concat(t):t.split(".");o.length>1;){if(i())return{};var a=r(o.shift());!e[a]&&n&&(e[a]=new n),Object.prototype.hasOwnProperty.call(e,a)?e=e[a]:e={}}return i()?{}:{obj:e,k:r(o.shift())}}function ng(e,t,n){var r=Zc(e,t,Object),i=r.obj,o=r.k;i[o]=n}function D_(e,t,n,r){var i=Zc(e,t,Object),o=i.obj,a=i.k;o[a]=o[a]||[],r&&(o[a]=o[a].concat(n)),r||o[a].push(n)}function Ua(e,t){var n=Zc(e,t),r=n.obj,i=n.k;if(r)return r[i]}function O_(e,t,n){var r=Ua(e,n);return r!==void 0?r:Ua(t,n)}function rg(e,t,n){for(var r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?typeof e[r]=="string"||e[r]instanceof String||typeof t[r]=="string"||t[r]instanceof String?n&&(e[r]=t[r]):rg(e[r],t[r],n):e[r]=t[r]);return e}function _r(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var A_={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function L_(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return A_[t]}):e}var Ya=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,M_=[" ",",","?","!",";"];function I_(e,t,n){t=t||"",n=n||"";var r=M_.filter(function(s){return t.indexOf(s)<0&&n.indexOf(s)<0});if(r.length===0)return!0;var i=new RegExp("(".concat(r.map(function(s){return s==="?"?"\\?":s}).join("|"),")")),o=!i.test(e);if(!o){var a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o}function Ha(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var r=t.split(n),i=e,o=0;o<r.length;++o){if(!i||typeof i[r[o]]=="string"&&o+1<r.length)return;if(i[r[o]]===void 0){for(var a=2,s=r.slice(o,o+a).join(n),l=i[s];l===void 0&&r.length>o+a;)a++,s=r.slice(o,o+a).join(n),l=i[s];if(l===void 0)return;if(l===null)return null;if(t.endsWith(s)){if(typeof l=="string")return l;if(s&&typeof l[s]=="string")return l[s]}var u=r.slice(o+a).join(n);return u?Ha(l,u,n):void 0}i=i[r[o]]}return i}}function ig(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ga(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ig(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ig(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function z_(e){var t=F_();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function F_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var B_=function(e){Ba.default(n,e);var t=z_(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return at.default(this,n),i=t.call(this),Ya&&tn.call(En.default(i)),i.data=r||{},i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return st.default(n,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var o=this.options.ns.indexOf(i);o>-1&&this.options.ns.splice(o,1)}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},l=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator,u=s.ignoreJSONStructure!==void 0?s.ignoreJSONStructure:this.options.ignoreJSONStructure,p=[i,o];a&&typeof a!="string"&&(p=p.concat(a)),a&&typeof a=="string"&&(p=p.concat(l?a.split(l):a)),i.indexOf(".")>-1&&(p=i.split("."));var d=Ua(this.data,p);return d||!u||typeof a!="string"?d:Ha(this.data&&this.data[i]&&this.data[i][o],a,l)}},{key:"addResource",value:function(i,o,a,s){var l=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},u=this.options.keySeparator;u===void 0&&(u=".");var p=[i,o];a&&(p=p.concat(u?a.split(u):a)),i.indexOf(".")>-1&&(p=i.split("."),s=o,o=p[1]),this.addNamespaces(o),ng(this.data,p,s),l.silent||this.emit("added",i,o,a,s)}},{key:"addResources",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var l in a)(typeof a[l]=="string"||Object.prototype.toString.apply(a[l])==="[object Array]")&&this.addResource(i,o,l,a[l],{silent:!0});s.silent||this.emit("added",i,o,a)}},{key:"addResourceBundle",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},p=[i,o];i.indexOf(".")>-1&&(p=i.split("."),s=a,a=o,o=p[1]),this.addNamespaces(o);var d=Ua(this.data,p)||{};s?rg(d,a,l):d=Ga(Ga({},d),a),ng(this.data,p,d),u.silent||this.emit("added",i,o,a)}},{key:"removeResourceBundle",value:function(i,o){this.hasResourceBundle(i,o)&&delete this.data[i][o],this.removeNamespaces(o),this.emit("removed",i,o)}},{key:"hasResourceBundle",value:function(i,o){return this.getResource(i,o)!==void 0}},{key:"getResourceBundle",value:function(i,o){return o||(o=this.options.defaultNS),this.options.compatibilityAPI==="v1"?Ga(Ga({},{}),this.getResource(i,o)):this.getResource(i,o)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var o=this.getDataByLanguage(i),a=o&&Object.keys(o)||[];return!!a.find(function(s){return o[s]&&Object.keys(o[s]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),n}(tn),og={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,n,r,i,o){var a=this;return t.forEach(function(s){a.processors[s]&&(n=a.processors[s].process(n,r,i,o))}),n}};function ag(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ag(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ag(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function U_(e){var t=Y_();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function Y_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var sg={},lg=function(e){Ba.default(n,e);var t=U_(n);function n(r){var i,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return at.default(this,n),i=t.call(this),Ya&&tn.call(En.default(i)),R_(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r,En.default(i)),i.options=o,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=lt.create("translator"),i}return st.default(n,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var a=this.resolve(i,o);return a&&a.res!==void 0}},{key:"extractFromKey",value:function(i,o){var a=o.nsSeparator!==void 0?o.nsSeparator:this.options.nsSeparator;a===void 0&&(a=":");var s=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,l=o.ns||this.options.defaultNS||[],u=a&&i.indexOf(a)>-1,p=!this.options.userDefinedKeySeparator&&!o.keySeparator&&!this.options.userDefinedNsSeparator&&!o.nsSeparator&&!I_(i,a,s);if(u&&!p){var d=i.match(this.interpolator.nestingRegexp);if(d&&d.length>0)return{key:i,namespaces:l};var f=i.split(a);(a!==s||a===s&&this.options.ns.indexOf(f[0])>-1)&&(l=f.shift()),i=f.join(s)}return typeof l=="string"&&(l=[l]),{key:i,namespaces:l}}},{key:"translate",value:function(i,o,a){var s=this;if(Li.default(o)!=="object"&&this.options.overloadTranslationOptionHandler&&(o=this.options.overloadTranslationOptionHandler(arguments)),o||(o={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var l=o.returnDetails!==void 0?o.returnDetails:this.options.returnDetails,u=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,p=this.extractFromKey(i[i.length-1],o),d=p.key,f=p.namespaces,y=f[f.length-1],v=o.lng||this.language,w=o.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(v&&v.toLowerCase()==="cimode"){if(w){var g=o.nsSeparator||this.options.nsSeparator;return l?{res:"".concat(y).concat(g).concat(d),usedKey:d,exactUsedKey:d,usedLng:v,usedNS:y}:"".concat(y).concat(g).concat(d)}return l?{res:d,usedKey:d,exactUsedKey:d,usedLng:v,usedNS:y}:d}var h=this.resolve(i,o),m=h&&h.res,b=h&&h.usedKey||d,k=h&&h.exactUsedKey||d,E=Object.prototype.toString.apply(m),_=["[object Number]","[object Function]","[object RegExp]"],N=o.joinArrays!==void 0?o.joinArrays:this.options.joinArrays,T=!this.i18nFormat||this.i18nFormat.handleAsObject,j=typeof m!="string"&&typeof m!="boolean"&&typeof m!="number";if(T&&m&&j&&_.indexOf(E)<0&&!(typeof N=="string"&&E==="[object Array]")){if(!o.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var z=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,m,_e(_e({},o),{},{ns:f})):"key '".concat(d," (").concat(this.language,")' returned an object instead of string.");return l?(h.res=z,h):z}if(u){var Be=E==="[object Array]",Z=Be?[]:{},te=Be?k:b;for(var Je in m)if(Object.prototype.hasOwnProperty.call(m,Je)){var ut="".concat(te).concat(u).concat(Je);Z[Je]=this.translate(ut,_e(_e({},o),{joinArrays:!1,ns:f})),Z[Je]===ut&&(Z[Je]=m[Je])}m=Z}}else if(T&&typeof N=="string"&&E==="[object Array]")m=m.join(N),m&&(m=this.extendTranslation(m,i,o,a));else{var dt=!1,Et=!1,Er=o.count!==void 0&&typeof o.count!="string",Cn=n.hasDefaultValue(o),nu=Er?this.pluralResolver.getSuffix(v,o.count,o):"",C=o["defaultValue".concat(nu)]||o.defaultValue;!this.isValidLookup(m)&&Cn&&(dt=!0,m=C),this.isValidLookup(m)||(Et=!0,m=d);var R=o.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,A=R&&Et?void 0:m,F=Cn&&C!==m&&this.options.updateMissing;if(Et||dt||F){if(this.logger.log(F?"updateKey":"missingKey",v,y,d,F?C:m),u){var ne=this.resolve(d,_e(_e({},o),{},{keySeparator:!1}));ne&&ne.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var Te=[],Ue=this.languageUtils.getFallbackCodes(this.options.fallbackLng,o.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Ue&&Ue[0])for(var Ct=0;Ct<Ue.length;Ct++)Te.push(Ue[Ct]);else this.options.saveMissingTo==="all"?Te=this.languageUtils.toResolveHierarchy(o.lng||this.language):Te.push(o.lng||this.language);var jt=function(Cr,iu,Sg){var Eg=Cn&&Sg!==m?Sg:A;s.options.missingKeyHandler?s.options.missingKeyHandler(Cr,y,iu,Eg,F,o):s.backendConnector&&s.backendConnector.saveMissing&&s.backendConnector.saveMissing(Cr,y,iu,Eg,F,o),s.emit("missingKey",Cr,y,iu,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&Er?Te.forEach(function(ru){s.pluralResolver.getSuffixes(ru,o).forEach(function(Cr){jt([ru],d+Cr,o["defaultValue".concat(Cr)]||C)})}):jt(Te,d,C))}m=this.extendTranslation(m,i,o,h,a),Et&&m===d&&this.options.appendNamespaceToMissingKey&&(m="".concat(y,":").concat(d)),(Et||dt)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(y,":").concat(d):d,dt?m:void 0):m=this.options.parseMissingKeyHandler(m))}return l?(h.res=m,h):m}},{key:"extendTranslation",value:function(i,o,a,s,l){var u=this;if(this.i18nFormat&&this.i18nFormat.parse)i=this.i18nFormat.parse(i,_e(_e({},this.options.interpolation.defaultVariables),a),s.usedLng,s.usedNS,s.usedKey,{resolved:s});else if(!a.skipInterpolation){a.interpolation&&this.interpolator.init(_e(_e({},a),{interpolation:_e(_e({},this.options.interpolation),a.interpolation)}));var p=typeof i=="string"&&(a&&a.interpolation&&a.interpolation.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),d;if(p){var f=i.match(this.interpolator.nestingRegexp);d=f&&f.length}var y=a.replace&&typeof a.replace!="string"?a.replace:a;if(this.options.interpolation.defaultVariables&&(y=_e(_e({},this.options.interpolation.defaultVariables),y)),i=this.interpolator.interpolate(i,y,a.lng||this.language,a),p){var v=i.match(this.interpolator.nestingRegexp),w=v&&v.length;d<w&&(a.nest=!1)}!a.lng&&this.options.compatibilityAPI!=="v1"&&s&&s.res&&(a.lng=s.usedLng),a.nest!==!1&&(i=this.interpolator.nest(i,function(){for(var m=arguments.length,b=new Array(m),k=0;k<m;k++)b[k]=arguments[k];return l&&l[0]===b[0]&&!a.context?(u.logger.warn("It seems you are nesting recursively key: ".concat(b[0]," in key: ").concat(o[0])),null):u.translate.apply(u,b.concat([o]))},a)),a.interpolation&&this.interpolator.reset()}var g=a.postProcess||this.options.postProcess,h=typeof g=="string"?[g]:g;return i!=null&&h&&h.length&&a.applyPostProcessor!==!1&&(i=og.handle(h,i,o,this.options&&this.options.postProcessPassResolved?_e({i18nResolved:s},a):a,this)),i}},{key:"resolve",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,l,u,p,d;return typeof i=="string"&&(i=[i]),i.forEach(function(f){if(!o.isValidLookup(s)){var y=o.extractFromKey(f,a),v=y.key;l=v;var w=y.namespaces;o.options.fallbackNS&&(w=w.concat(o.options.fallbackNS));var g=a.count!==void 0&&typeof a.count!="string",h=g&&!a.ordinal&&a.count===0&&o.pluralResolver.shouldUseIntlApi(),m=a.context!==void 0&&(typeof a.context=="string"||typeof a.context=="number")&&a.context!=="",b=a.lngs?a.lngs:o.languageUtils.toResolveHierarchy(a.lng||o.language,a.fallbackLng);w.forEach(function(k){o.isValidLookup(s)||(d=k,!sg["".concat(b[0],"-").concat(k)]&&o.utils&&o.utils.hasLoadedNamespace&&!o.utils.hasLoadedNamespace(d)&&(sg["".concat(b[0],"-").concat(k)]=!0,o.logger.warn('key "'.concat(l,'" for languages "').concat(b.join(", "),`" won't get resolved as namespace "`).concat(d,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),b.forEach(function(E){if(!o.isValidLookup(s)){p=E;var _=[v];if(o.i18nFormat&&o.i18nFormat.addLookupKeys)o.i18nFormat.addLookupKeys(_,v,E,k,a);else{var N;g&&(N=o.pluralResolver.getSuffix(E,a.count,a));var T="".concat(o.options.pluralSeparator,"zero");if(g&&(_.push(v+N),h&&_.push(v+T)),m){var j="".concat(v).concat(o.options.contextSeparator).concat(a.context);_.push(j),g&&(_.push(j+N),h&&_.push(j+T))}}for(var z;z=_.pop();)o.isValidLookup(s)||(u=z,s=o.getResource(E,k,z,a))}}))})}}),{res:s,usedKey:l,exactUsedKey:u,usedLng:p,usedNS:d}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,o,a){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,o,a,s):this.resourceStore.getResource(i,o,a,s)}}],[{key:"hasDefaultValue",value:function(i){var o="defaultValue";for(var a in i)if(Object.prototype.hasOwnProperty.call(i,a)&&o===a.substring(0,o.length)&&i[a]!==void 0)return!0;return!1}}]),n}(tn);function eu(e){return e.charAt(0).toUpperCase()+e.slice(1)}var cg=function(){function e(t){at.default(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=lt.create("languageUtils")}return st.default(e,[{key:"getScriptPartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return null;var r=n.split("-");return r.length===2||(r.pop(),r[r.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(r.join("-"))}},{key:"getLanguagePartFromCode",value:function(n){if(!n||n.indexOf("-")<0)return n;var r=n.split("-");return this.formatLanguageCode(r[0])}},{key:"formatLanguageCode",value:function(n){if(typeof n=="string"&&n.indexOf("-")>-1){var r=["hans","hant","latn","cyrl","cans","mong","arab"],i=n.split("-");return this.options.lowerCaseLng?i=i.map(function(o){return o.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=eu(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),r.indexOf(i[1].toLowerCase())>-1&&(i[1]=eu(i[1].toLowerCase())),r.indexOf(i[2].toLowerCase())>-1&&(i[2]=eu(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}},{key:"isSupportedCode",value:function(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}},{key:"getBestMatchFromCodes",value:function(n){var r=this;if(!n)return null;var i;return n.forEach(function(o){if(!i){var a=r.formatLanguageCode(o);(!r.options.supportedLngs||r.isSupportedCode(a))&&(i=a)}}),!i&&this.options.supportedLngs&&n.forEach(function(o){if(!i){var a=r.getLanguagePartFromCode(o);if(r.isSupportedCode(a))return i=a;i=r.options.supportedLngs.find(function(s){if(s===a)return s;if(!(s.indexOf("-")<0&&a.indexOf("-")<0)&&s.indexOf(a)===0)return s})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(n,r){if(!n)return[];if(typeof n=="function"&&(n=n(r)),typeof n=="string"&&(n=[n]),Object.prototype.toString.apply(n)==="[object Array]")return n;if(!r)return n.default||[];var i=n[r];return i||(i=n[this.getScriptPartFromCode(r)]),i||(i=n[this.formatLanguageCode(r)]),i||(i=n[this.getLanguagePartFromCode(r)]),i||(i=n.default),i||[]}},{key:"toResolveHierarchy",value:function(n,r){var i=this,o=this.getFallbackCodes(r||this.options.fallbackLng||[],n),a=[],s=function(u){u&&(i.isSupportedCode(u)?a.push(u):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(u)))};return typeof n=="string"&&n.indexOf("-")>-1?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):typeof n=="string"&&s(this.formatLanguageCode(n)),o.forEach(function(l){a.indexOf(l)<0&&s(i.formatLanguageCode(l))}),a}}]),e}(),H_=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],G_={1:function(t){return+(t>1)},2:function(t){return+(t!=1)},3:function(t){return 0},4:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},5:function(t){return t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},6:function(t){return t==1?0:t>=2&&t<=4?1:2},7:function(t){return t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2},8:function(t){return t==1?0:t==2?1:t!=8&&t!=11?2:3},9:function(t){return+(t>=2)},10:function(t){return t==1?0:t==2?1:t<7?2:t<11?3:4},11:function(t){return t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3},12:function(t){return+(t%10!=1||t%100==11)},13:function(t){return+(t!==0)},14:function(t){return t==1?0:t==2?1:t==3?2:3},15:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2},16:function(t){return t%10==1&&t%100!=11?0:t!==0?1:2},17:function(t){return t==1||t%10==1&&t%100!=11?0:1},18:function(t){return t==0?0:t==1?1:2},19:function(t){return t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3},20:function(t){return t==1?0:t==0||t%100>0&&t%100<20?1:2},21:function(t){return t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0},22:function(t){return t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3}},q_=["v1","v2","v3"],ug={zero:0,one:1,two:2,few:3,many:4,other:5};function W_(){var e={};return H_.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:G_[t.fc]}})}),e}var V_=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};at.default(this,e),this.languageUtils=t,this.options=n,this.logger=lt.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=W_()}return st.default(e,[{key:"addRule",value:function(n,r){this.rules[n]=r}},{key:"getRule",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(n,{type:r.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}},{key:"needsPlural",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(n,r);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(function(o){return"".concat(r).concat(o)})}},{key:"getSuffixes",value:function(n){var r=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?o.resolvedOptions().pluralCategories.sort(function(a,s){return ug[a]-ug[s]}).map(function(a){return"".concat(r.options.prepend).concat(a)}):o.numbers.map(function(a){return r.getSuffix(n,a,i)}):[]}},{key:"getSuffix",value:function(n,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=this.getRule(n,i);return o?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(o.select(r)):this.getSuffixRetroCompatible(o,r):(this.logger.warn("no plural rule found for: ".concat(n)),"")}},{key:"getSuffixRetroCompatible",value:function(n,r){var i=this,o=n.noAbs?n.plurals(r):n.plurals(Math.abs(r)),a=n.numbers[o];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(a===2?a="plural":a===1&&(a=""));var s=function(){return i.options.prepend&&a.toString()?i.options.prepend+a.toString():a.toString()};return this.options.compatibilityJSON==="v1"?a===1?"":typeof a=="number"?"_plural_".concat(a.toString()):s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}},{key:"shouldUseIntlApi",value:function(){return!q_.includes(this.options.compatibilityJSON)}}]),e}();function dg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Qe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function pg(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=O_(e,t,n);return!o&&i&&typeof n=="string"&&(o=Ha(e,n,r),o===void 0&&(o=Ha(t,n,r))),o}var K_=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};at.default(this,e),this.logger=lt.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(n){return n},this.init(t)}return st.default(e,[{key:"init",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});var r=n.interpolation;this.escape=r.escape!==void 0?r.escape:L_,this.escapeValue=r.escapeValue!==void 0?r.escapeValue:!0,this.useRawValueToEscape=r.useRawValueToEscape!==void 0?r.useRawValueToEscape:!1,this.prefix=r.prefix?_r(r.prefix):r.prefixEscaped||"{{",this.suffix=r.suffix?_r(r.suffix):r.suffixEscaped||"}}",this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||",",this.unescapePrefix=r.unescapeSuffix?"":r.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":r.unescapeSuffix||"",this.nestingPrefix=r.nestingPrefix?_r(r.nestingPrefix):r.nestingPrefixEscaped||_r("$t("),this.nestingSuffix=r.nestingSuffix?_r(r.nestingSuffix):r.nestingSuffixEscaped||_r(")"),this.nestingOptionsSeparator=r.nestingOptionsSeparator?r.nestingOptionsSeparator:r.nestingOptionsSeparator||",",this.maxReplaces=r.maxReplaces?r.maxReplaces:1e3,this.alwaysFormat=r.alwaysFormat!==void 0?r.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var n="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(n,"g");var r="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(r,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(n,r,i,o){var a=this,s,l,u,p=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function d(g){return g.replace(/\$/g,"$$$$")}var f=function(h){if(h.indexOf(a.formatSeparator)<0){var m=pg(r,p,h,a.options.keySeparator,a.options.ignoreJSONStructure);return a.alwaysFormat?a.format(m,void 0,i,Qe(Qe(Qe({},o),r),{},{interpolationkey:h})):m}var b=h.split(a.formatSeparator),k=b.shift().trim(),E=b.join(a.formatSeparator).trim();return a.format(pg(r,p,k,a.options.keySeparator,a.options.ignoreJSONStructure),E,i,Qe(Qe(Qe({},o),r),{},{interpolationkey:k}))};this.resetRegExp();var y=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,v=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,w=[{regex:this.regexpUnescape,safeValue:function(h){return d(h)}},{regex:this.regexp,safeValue:function(h){return a.escapeValue?d(a.escape(h)):d(h)}}];return w.forEach(function(g){for(u=0;s=g.regex.exec(n);){var h=s[1].trim();if(l=f(h),l===void 0)if(typeof y=="function"){var m=y(n,s,o);l=typeof m=="string"?m:""}else if(o&&Object.prototype.hasOwnProperty.call(o,h))l="";else if(v){l=s[0];continue}else a.logger.warn("missed to pass in variable ".concat(h," for interpolating ").concat(n)),l="";else typeof l!="string"&&!a.useRawValueToEscape&&(l=tg(l));var b=g.safeValue(l);if(n=n.replace(s[0],b),v?(g.regex.lastIndex+=l.length,g.regex.lastIndex-=s[0].length):g.regex.lastIndex=0,u++,u>=a.maxReplaces)break}}),n}},{key:"nest",value:function(n,r){var i=this,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a,s,l;function u(y,v){var w=this.nestingOptionsSeparator;if(y.indexOf(w)<0)return y;var g=y.split(new RegExp("".concat(w,"[ ]*{"))),h="{".concat(g[1]);y=g[0],h=this.interpolate(h,l);var m=h.match(/'/g),b=h.match(/"/g);(m&&m.length%2===0&&!b||b.length%2!==0)&&(h=h.replace(/'/g,'"'));try{l=JSON.parse(h),v&&(l=Qe(Qe({},v),l))}catch(k){return this.logger.warn("failed parsing options string in nesting for key ".concat(y),k),"".concat(y).concat(w).concat(h)}return delete l.defaultValue,y}for(;a=this.nestingRegexp.exec(n);){var p=[];l=Qe({},o),l=l.replace&&typeof l.replace!="string"?l.replace:l,l.applyPostProcessor=!1,delete l.defaultValue;var d=!1;if(a[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(a[1])){var f=a[1].split(this.formatSeparator).map(function(y){return y.trim()});a[1]=f.shift(),p=f,d=!0}if(s=r(u.call(this,a[1].trim(),l),l),s&&a[0]===n&&typeof s!="string")return s;typeof s!="string"&&(s=tg(s)),s||(this.logger.warn("missed to resolve ".concat(a[1]," for nesting ").concat(n)),s=""),d&&(s=p.reduce(function(y,v){return i.format(y,v,o.lng,Qe(Qe({},o),{},{interpolationkey:a[1].trim()}))},s.trim())),n=n.replace(a[0],s),this.regexp.lastIndex=0}return n}}]),e}();function fg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function St(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?fg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Q_(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var r=e.split("(");t=r[0].toLowerCase().trim();var i=r[1].substring(0,r[1].length-1);if(t==="currency"&&i.indexOf(":")<0)n.currency||(n.currency=i.trim());else if(t==="relativetime"&&i.indexOf(":")<0)n.range||(n.range=i.trim());else{var o=i.split(";");o.forEach(function(a){if(a){var s=a.split(":"),l=N_.default(s),u=l[0],p=l.slice(1),d=p.join(":").trim().replace(/^'+|'+$/g,"");n[u.trim()]||(n[u.trim()]=d),d==="false"&&(n[u.trim()]=!1),d==="true"&&(n[u.trim()]=!0),isNaN(d)||(n[u.trim()]=parseInt(d,10))}})}}return{formatName:t,formatOptions:n}}function Sr(e){var t={};return function(r,i,o){var a=i+JSON.stringify(o),s=t[a];return s||(s=e(i,o),t[a]=s),s(r)}}var J_=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};at.default(this,e),this.logger=lt.create("formatter"),this.options=t,this.formats={number:Sr(function(n,r){var i=new Intl.NumberFormat(n,St({},r));return function(o){return i.format(o)}}),currency:Sr(function(n,r){var i=new Intl.NumberFormat(n,St(St({},r),{},{style:"currency"}));return function(o){return i.format(o)}}),datetime:Sr(function(n,r){var i=new Intl.DateTimeFormat(n,St({},r));return function(o){return i.format(o)}}),relativetime:Sr(function(n,r){var i=new Intl.RelativeTimeFormat(n,St({},r));return function(o){return i.format(o,r.range||"day")}}),list:Sr(function(n,r){var i=new Intl.ListFormat(n,St({},r));return function(o){return i.format(o)}})},this.init(t)}return st.default(e,[{key:"init",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=r.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(n,r){this.formats[n.toLowerCase().trim()]=r}},{key:"addCached",value:function(n,r){this.formats[n.toLowerCase().trim()]=Sr(r)}},{key:"format",value:function(n,r,i){var o=this,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},s=r.split(this.formatSeparator),l=s.reduce(function(u,p){var d=Q_(p),f=d.formatName,y=d.formatOptions;if(o.formats[f]){var v=u;try{var w=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},g=w.locale||w.lng||a.locale||a.lng||i;v=o.formats[f](u,g,St(St(St({},y),a),w))}catch(h){o.logger.warn(h)}return v}else o.logger.warn("there was no format function for ".concat(f));return u},n);return l}}]),e}();function hg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function mg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?hg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function X_(e){var t=Z_();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function Z_(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function eS(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var tS=function(e){Ba.default(n,e);var t=X_(n);function n(r,i,o){var a,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return at.default(this,n),a=t.call(this),Ya&&tn.call(En.default(a)),a.backend=r,a.store=i,a.services=o,a.languageUtils=o.languageUtils,a.options=s,a.logger=lt.create("backendConnector"),a.waitingReads=[],a.maxParallelReads=s.maxParallelReads||10,a.readingCalls=0,a.maxRetries=s.maxRetries>=0?s.maxRetries:5,a.retryTimeout=s.retryTimeout>=1?s.retryTimeout:350,a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,s.backend,s),a}return st.default(n,[{key:"queueLoad",value:function(i,o,a,s){var l=this,u={},p={},d={},f={};return i.forEach(function(y){var v=!0;o.forEach(function(w){var g="".concat(y,"|").concat(w);!a.reload&&l.store.hasResourceBundle(y,w)?l.state[g]=2:l.state[g]<0||(l.state[g]===1?p[g]===void 0&&(p[g]=!0):(l.state[g]=1,v=!1,p[g]===void 0&&(p[g]=!0),u[g]===void 0&&(u[g]=!0),f[w]===void 0&&(f[w]=!0)))}),v||(d[y]=!0)}),(Object.keys(u).length||Object.keys(p).length)&&this.queue.push({pending:p,pendingCount:Object.keys(p).length,loaded:{},errors:[],callback:s}),{toLoad:Object.keys(u),pending:Object.keys(p),toLoadLanguages:Object.keys(d),toLoadNamespaces:Object.keys(f)}}},{key:"loaded",value:function(i,o,a){var s=i.split("|"),l=s[0],u=s[1];o&&this.emit("failedLoading",l,u,o),a&&this.store.addResourceBundle(l,u,a),this.state[i]=o?-1:2;var p={};this.queue.forEach(function(d){D_(d.loaded,[l],u),eS(d,i),o&&d.errors.push(o),d.pendingCount===0&&!d.done&&(Object.keys(d.loaded).forEach(function(f){p[f]||(p[f]={});var y=d.loaded[f];y.length&&y.forEach(function(v){p[f][v]===void 0&&(p[f][v]=!0)})}),d.done=!0,d.errors.length?d.callback(d.errors):d.callback())}),this.emit("loaded",p),this.queue=this.queue.filter(function(d){return!d.done})}},{key:"read",value:function(i,o,a){var s=this,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,p=arguments.length>5?arguments[5]:void 0;if(!i.length)return p(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:o,fcName:a,tried:l,wait:u,callback:p});return}this.readingCalls++;var d=function(w,g){if(s.readingCalls--,s.waitingReads.length>0){var h=s.waitingReads.shift();s.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(w&&g&&l<s.maxRetries){setTimeout(function(){s.read.call(s,i,o,a,l+1,u*2,p)},u);return}p(w,g)},f=this.backend[a].bind(this.backend);if(f.length===2){try{var y=f(i,o);y&&typeof y.then=="function"?y.then(function(v){return d(null,v)}).catch(d):d(null,y)}catch(v){d(v)}return}return f(i,o,d)}},{key:"prepareLoading",value:function(i,o){var a=this,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),l&&l();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof o=="string"&&(o=[o]);var u=this.queueLoad(i,o,s,l);if(!u.toLoad.length)return u.pending.length||l(),null;u.toLoad.forEach(function(p){a.loadOne(p)})}},{key:"load",value:function(i,o,a){this.prepareLoading(i,o,{},a)}},{key:"reload",value:function(i,o,a){this.prepareLoading(i,o,{reload:!0},a)}},{key:"loadOne",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",s=i.split("|"),l=s[0],u=s[1];this.read(l,u,"read",void 0,void 0,function(p,d){p&&o.logger.warn("".concat(a,"loading namespace ").concat(u," for language ").concat(l," failed"),p),!p&&d&&o.logger.log("".concat(a,"loaded namespace ").concat(u," for language ").concat(l),d),o.loaded(i,p,d)})}},{key:"saveMissing",value:function(i,o,a,s,l){var u=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},p=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(o)){this.logger.warn('did not save key "'.concat(a,'" as the namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(a==null||a==="")){if(this.backend&&this.backend.create){var d=mg(mg({},u),{},{isUpdate:l}),f=this.backend.create.bind(this.backend);if(f.length<6)try{var y;f.length===5?y=f(i,o,a,s,d):y=f(i,o,a,s),y&&typeof y.then=="function"?y.then(function(v){return p(null,v)}).catch(p):p(null,y)}catch(v){p(v)}else f(i,o,a,s,p,d)}!i||!i[0]||this.store.addResource(i[0],o,a,s)}}}]),n}(tn);function gg(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var n={};if(Li.default(t[1])==="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),Li.default(t[2])==="object"||Li.default(t[3])==="object"){var r=t[3]||t[2];Object.keys(r).forEach(function(i){n[i]=r[i]})}return n},interpolation:{escapeValue:!0,format:function(t,n,r,i){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function yg(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function vg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ct(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vg(Object(n),!0).forEach(function(r){en.default(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vg(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function nS(e){var t=rS();return function(){var r=Zt.default(e),i;if(t){var o=Zt.default(this).constructor;i=Reflect.construct(r,arguments,o)}else i=r.apply(this,arguments);return Mi.default(this,i)}}function rS(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function qa(){}function iS(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(n){typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}var Wa=function(e){Ba.default(n,e);var t=nS(n);function n(){var r,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(at.default(this,n),r=t.call(this),Ya&&tn.call(En.default(r)),r.options=yg(i),r.services={},r.logger=lt,r.modules={external:[]},iS(En.default(r)),o&&!r.isInitialized&&!i.isClone){if(!r.options.initImmediate)return r.init(i,o),Mi.default(r,En.default(r));setTimeout(function(){r.init(i,o)},0)}return r}return st.default(n,[{key:"init",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;typeof o=="function"&&(a=o,o={}),!o.defaultNS&&o.defaultNS!==!1&&o.ns&&(typeof o.ns=="string"?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));var s=gg();this.options=ct(ct(ct({},s),this.options),yg(o)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=ct(ct({},s.interpolation),this.options.interpolation)),o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator);function l(h){return h?typeof h=="function"?new h:h:null}if(!this.options.isClone){this.modules.logger?lt.init(l(this.modules.logger),this.options):lt.init(null,this.options);var u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=J_);var p=new cg(this.options);this.store=new B_(this.options.resources,this.options);var d=this.services;d.logger=lt,d.resourceStore=this.store,d.languageUtils=p,d.pluralResolver=new V_(p,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===s.interpolation.format)&&(d.formatter=l(u),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new K_(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new tS(l(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(h){for(var m=arguments.length,b=new Array(m>1?m-1:0),k=1;k<m;k++)b[k-1]=arguments[k];i.emit.apply(i,[h].concat(b))}),this.modules.languageDetector&&(d.languageDetector=l(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=l(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new lg(this.services,this.options),this.translator.on("*",function(h){for(var m=arguments.length,b=new Array(m>1?m-1:0),k=1;k<m;k++)b[k-1]=arguments[k];i.emit.apply(i,[h].concat(b))}),this.modules.external.forEach(function(h){h.init&&h.init(i)})}if(this.format=this.options.interpolation.format,a||(a=qa),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var f=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);f.length>0&&f[0]!=="dev"&&(this.options.lng=f[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var y=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];y.forEach(function(h){i[h]=function(){var m;return(m=i.store)[h].apply(m,arguments)}});var v=["addResource","addResources","addResourceBundle","removeResourceBundle"];v.forEach(function(h){i[h]=function(){var m;return(m=i.store)[h].apply(m,arguments),i}});var w=Ii(),g=function(){var m=function(k,E){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),w.resolve(E),a(k,E)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return m(null,i.t.bind(i));i.changeLanguage(i.options.lng,m)};return this.options.resources||!this.options.initImmediate?g():setTimeout(g,0),w}},{key:"loadResources",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qa,s=a,l=typeof i=="string"?i:this.language;if(typeof i=="function"&&(s=i),!this.options.resources||this.options.partialBundledLanguages){if(l&&l.toLowerCase()==="cimode")return s();var u=[],p=function(y){if(y){var v=o.services.languageUtils.toResolveHierarchy(y);v.forEach(function(w){u.indexOf(w)<0&&u.push(w)})}};if(l)p(l);else{var d=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);d.forEach(function(f){return p(f)})}this.options.preload&&this.options.preload.forEach(function(f){return p(f)}),this.services.backendConnector.load(u,this.options.ns,function(f){!f&&!o.resolvedLanguage&&o.language&&o.setResolvedLanguage(o.language),s(f)})}else s(null)}},{key:"reloadResources",value:function(i,o,a){var s=Ii();return i||(i=this.languages),o||(o=this.options.ns),a||(a=qa),this.services.backendConnector.reload(i,o,function(l){s.resolve(),a(l)}),s}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&og.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var o=0;o<this.languages.length;o++){var a=this.languages[o];if(!(["cimode","dev"].indexOf(a)>-1)&&this.store.hasLanguageSomeTranslations(a)){this.resolvedLanguage=a;break}}}},{key:"changeLanguage",value:function(i,o){var a=this;this.isLanguageChangingTo=i;var s=Ii();this.emit("languageChanging",i);var l=function(f){a.language=f,a.languages=a.services.languageUtils.toResolveHierarchy(f),a.resolvedLanguage=void 0,a.setResolvedLanguage(f)},u=function(f,y){y?(l(y),a.translator.changeLanguage(y),a.isLanguageChangingTo=void 0,a.emit("languageChanged",y),a.logger.log("languageChanged",y)):a.isLanguageChangingTo=void 0,s.resolve(function(){return a.t.apply(a,arguments)}),o&&o(f,function(){return a.t.apply(a,arguments)})},p=function(f){!i&&!f&&a.services.languageDetector&&(f=[]);var y=typeof f=="string"?f:a.services.languageUtils.getBestMatchFromCodes(f);y&&(a.language||l(y),a.translator.language||a.translator.changeLanguage(y),a.services.languageDetector&&a.services.languageDetector.cacheUserLanguage&&a.services.languageDetector.cacheUserLanguage(y)),a.loadResources(y,function(v){u(v,y)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?p(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(p):this.services.languageDetector.detect(p):p(i),s}},{key:"getFixedT",value:function(i,o,a){var s=this,l=function u(p,d){var f;if(Li.default(d)!=="object"){for(var y=arguments.length,v=new Array(y>2?y-2:0),w=2;w<y;w++)v[w-2]=arguments[w];f=s.options.overloadTranslationOptionHandler([p,d].concat(v))}else f=ct({},d);f.lng=f.lng||u.lng,f.lngs=f.lngs||u.lngs,f.ns=f.ns||u.ns,f.keyPrefix=f.keyPrefix||a||u.keyPrefix;var g=s.options.keySeparator||".",h;return f.keyPrefix&&Array.isArray(p)?h=p.map(function(m){return"".concat(f.keyPrefix).concat(g).concat(m)}):h=f.keyPrefix?"".concat(f.keyPrefix).concat(g).concat(p):p,s.t(h,f)};return typeof i=="string"?l.lng=i:l.lngs=i,l.ns=o,l.keyPrefix=a,l}},{key:"t",value:function(){var i;return this.translator&&(i=this.translator).translate.apply(i,arguments)}},{key:"exists",value:function(){var i;return this.translator&&(i=this.translator).exists.apply(i,arguments)}},{key:"setDefaultNamespace",value:function(i){this.options.defaultNS=i}},{key:"hasLoadedNamespace",value:function(i){var o=this,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var s=this.resolvedLanguage||this.languages[0],l=this.options?this.options.fallbackLng:!1,u=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;var p=function(y,v){var w=o.services.backendConnector.state["".concat(y,"|").concat(v)];return w===-1||w===2};if(a.precheck){var d=a.precheck(this,p);if(d!==void 0)return d}return!!(this.hasResourceBundle(s,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||p(s,i)&&(!l||p(u,i)))}},{key:"loadNamespaces",value:function(i,o){var a=this,s=Ii();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(l){a.options.ns.indexOf(l)<0&&a.options.ns.push(l)}),this.loadResources(function(l){s.resolve(),o&&o(l)}),s):(o&&o(),Promise.resolve())}},{key:"loadLanguages",value:function(i,o){var a=Ii();typeof i=="string"&&(i=[i]);var s=this.options.preload||[],l=i.filter(function(u){return s.indexOf(u)<0});return l.length?(this.options.preload=s.concat(l),this.loadResources(function(u){a.resolve(),o&&o(u)}),a):(o&&o(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var o=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],a=this.services&&this.services.languageUtils||new cg(gg());return o.indexOf(a.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:qa,s=ct(ct(ct({},this.options),o),{isClone:!0}),l=new n(s);(o.debug!==void 0||o.prefix!==void 0)&&(l.logger=l.logger.clone(o));var u=["store","services","language"];return u.forEach(function(p){l[p]=i[p]}),l.services=ct({},this.services),l.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l.translator=new lg(l.services,l.options),l.translator.on("*",function(p){for(var d=arguments.length,f=new Array(d>1?d-1:0),y=1;y<d;y++)f[y-1]=arguments[y];l.emit.apply(l,[p].concat(f))}),l.init(s,a),l.translator.options=l.options,l.translator.backendConnector.services.utils={hasLoadedNamespace:l.hasLoadedNamespace.bind(l)},l}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),n}(tn);en.default(Wa,"createInstance",function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new Wa(e,t)});var bg=Wa.createInstance();bg.createInstance=Wa.createInstance;var oS=bg;const aS=oS,xg=["af","bg","ca","cs","da","de","en","eo","es","fr","hu","id","it","mn","nl","no","pl","pt","pt-br","ru","si","sl","sv","tr","uk","uz","vi","zh"];Xc.exports=(e="en",t="portal")=>{const n=aS.createInstance();return n.init({lng:e,nsSeparator:!1,keySeparator:!1,returnEmptyString:!1,fallbackLng:!1,ns:t,defaultNS:t,resources:xg.reduce((r,i)=>(r[i]={[t]:i_("/i18n/lib")(`../locales/${i}/${t}.json`)},r),{})}),n},Xc.exports.SUPPORTED_LOCALES=xg;var sS=Xc.exports,lS=sS;const cS=Re(lS),uS={showPopup:!0,site:wr,member:Ia.free,page:"accountEmail",...tw(),pageData:Nm};function dS({site:e,children:t}){const{portal_sentry:n}=e||{};return n&&n.dsn?c.jsx(Di,{children:t}):c.jsx(c.Fragment,{children:t})}class pS extends W.Component{constructor(t){super(t),this.setupCustomTriggerButton(t),this.state={site:null,member:null,page:"loading",showPopup:!1,action:"init:running",initStatus:"running",lastPage:null,customSiteUrl:t.customSiteUrl}}componentDidMount(){this.initSetup()}componentDidUpdate(t,n){var r,i,o;if(n.showPopup!==this.state.showPopup){this.handleCustomTriggerClassUpdate();try{this.state.showPopup?(this.bodyScroll=(o=(i=(r=window.document)==null?void 0:r.body)==null?void 0:i.style)==null?void 0:o.overflow,window.document.body.style.overflow="hidden"):window.document.body.style.overflow=this.bodyScroll||""}catch{}}if(this.state.initStatus==="success"&&n.initStatus!==this.state.initStatus){const{siteUrl:a}=this.props,s=this.getContextFromState();this.sendPortalReadyEvent(),Nw({siteUrl:a,site:s.site,member:s.member})}}componentWillUnmount(){clearTimeout(this.timeoutId),this.customTriggerButtons&&this.customTriggerButtons.forEach(t=>{t.removeEventListener("click",this.clickHandler)}),window.removeEventListener("hashchange",this.hashHandler,!1)}sendPortalReadyEvent(){window.self!==window.parent&&window.parent.postMessage({type:"portal-ready",payload:{}},"*")}setupCustomTriggerButton(){this.clickHandler=r=>{r.preventDefault();const i=r.currentTarget,o=i&&i.dataset.portal,{page:a,pageQuery:s}=this.getPageFromLinkPath(o)||{};this.state.initStatus==="success"&&(s&&s!=="free"?this.handleSignupQuery({site:this.state.site,pageQuery:s}):this.dispatchAction("openPopup",{page:a,pageQuery:s}))};const t="[data-portal]",n="gh-portal-close";this.customTriggerButtons=document.querySelectorAll(t)||[],this.customTriggerButtons.forEach(r=>{r.classList.add(n),r.removeEventListener("click",this.clickHandler),r.addEventListener("click",this.clickHandler)})}handleCustomTriggerClassUpdate(){var r;const t="gh-portal-open",n="gh-portal-close";(r=this.customTriggerButtons)==null||r.forEach(i=>{const o=this.state.showPopup?t:n,a=this.state.showPopup?n:t;i.classList.add(o),i.classList.remove(a)})}async initSetup(){try{const{site:t,member:n,page:r,showPopup:i,popupNotification:o,lastPage:a,pageQuery:s,pageData:l}=await this.fetchData(),u=this.props.siteI18nEnabled?t.locale:"en",p=cS(u,"portal"),d={site:t,member:n,page:r,lastPage:a,pageQuery:s,showPopup:i,pageData:l,popupNotification:o,t:p.t,action:"init:success",initStatus:"success"};if(this.handleSignupQuery({site:t,pageQuery:s,member:n}),this.setState(d),this.hashHandler=()=>{this.updateStateForPreviewLinks()},window.addEventListener("hashchange",this.hashHandler,!1),!n){const f=document.querySelectorAll("[data-lexical-signup-form]");f.length>0&&f.forEach(y=>{y.style.display=""})}}catch(t){console.error("[Portal] Failed to initialize:",t),this.setState({action:"init:failed",initStatus:"failed"})}}async fetchData(){const{site:t,member:n}=await this.fetchApiData(),{site:r,...i}=this.fetchDevData(),{site:o,...a}=this.fetchLinkData(),{site:s,...l}=this.fetchPreviewData(),{site:u,...p}=this.fetchNotificationData();return{member:n,page:"",site:{...t,...o,...s,...u,...r,plans:{...(r||{}).plans,...(t||{}).plans,...(s||{}).plans}},...i,...a,...p,...l}}fetchDevData(){return q(["dev"])&&!this.state.customSiteUrl?uS:q(["test"])?{showPopup:this.props.showPopup!==void 0?this.props.showPopup:!0}:{}}fetchOfferQueryStrData(t=""){const n=new URLSearchParams(t),r={};for(let i of n.entries()){const o=i[0],a=decodeURIComponent(i[1]);o==="name"?r.name=a||"":o==="code"?r.code=a||"":o==="display_title"?r.display_title=a||"":o==="display_description"?r.display_description=a||"":o==="type"?r.type=a||"":o==="cadence"?r.cadence=a||"":o==="duration"?r.duration=a||"":o==="duration_in_months"&&!isNaN(Number(a))?r.duration_in_months=Number(a):o==="amount"&&!isNaN(Number(a))?r.amount=Number(a):o==="currency"?r.currency=a||"":o==="status"?r.status=a||"":o==="tier_id"&&(r.tier={id:a||Nm.tier.id})}return{page:"offer",pageData:r}}fetchQueryStrData(t=""){const n=new URLSearchParams(t),r={site:{plans:{}}},i=[];let o,a=null,s,l,u;for(let p of n.entries()){const d=p[0],f=decodeURIComponent(p[1]);if(d==="button")r.site.portal_button=JSON.parse(f);else if(d==="name")r.site.portal_name=JSON.parse(f);else if(d==="isFree"&&JSON.parse(f))i.push("free");else if(d==="isMonthly"&&JSON.parse(f))i.push("monthly");else if(d==="isYearly"&&JSON.parse(f))i.push("yearly");else if(d==="portalPrices")o=f?f.split(","):[];else if(d==="portalProducts")a=f?f.split(","):[];else if(d==="page"&&f)r.page=f;else if(d==="accentColor"&&(f===""||f))r.site.accent_color=f;else if(d==="buttonIcon"&&f)r.site.portal_button_icon=f;else if(d==="signupButtonText")r.site.portal_button_signup_text=f||"";else if(d==="signupTermsHtml")r.site.portal_signup_terms_html=f||"";else if(d==="signupCheckboxRequired")r.site.portal_signup_checkbox_required=JSON.parse(f);else if(d==="buttonStyle"&&f)r.site.portal_button_style=f;else if(d==="monthlyPrice"&&!isNaN(Number(f)))r.site.plans.monthly=Number(f),s=Number(f);else if(d==="yearlyPrice"&&!isNaN(Number(f)))r.site.plans.yearly=Number(f),l=Number(f);else if(d==="currency"&&f){const y=f.toUpperCase();r.site.plans.currency=y,r.site.plans.currency_symbol=de(y),u=y}else d==="disableBackground"?r.site.disableBackground=JSON.parse(f):d==="allowSelfSignup"?r.site.allow_self_signup=JSON.parse(f):d==="membersSignupAccess"&&f&&(r.site.members_signup_access=f)}return r.site.portal_plans=i,r.site.portal_products=a,o?r.site.portal_plans=o:s&&l&&u&&(r.site.prices=[{id:"monthly",stripe_price_id:"dummy_stripe_monthly",stripe_product_id:"dummy_stripe_product",active:1,nickname:"Monthly",currency:u,amount:s,type:"recurring",interval:"month"},{id:"yearly",stripe_price_id:"dummy_stripe_yearly",stripe_product_id:"dummy_stripe_product",active:1,nickname:"Yearly",currency:u,amount:l,type:"recurring",interval:"year"}]),r}fetchNotificationData(){const{type:t,status:n,duration:r,autoHide:i,closeable:o}=Jh({billingOnly:!0})||{};return["stripe:billing-update"].includes(t)?n==="success"?{showPopup:!0,popupNotification:Q({type:t,status:n,duration:r,closeable:o,autoHide:i,state:this.state,message:n==="success"?"Billing info updated successfully":""})}:{showPopup:!0}:{}}fetchLinkData(){const t=new URLSearchParams(window.location.search);if(t.get("uuid")&&t.get("action")==="unsubscribe")return{showPopup:!0,page:"unsubscribe",pageData:{uuid:t.get("uuid"),newsletterUuid:t.get("newsletter"),comments:t.get("comments")}};const[n,r]=window.location.hash.substr(1).split("?"),i=new URLSearchParams(r??""),o=/^(?:(\w+?))?\/monthly$/,a=/^(?:(\w+?))?\/yearly$/,s=/^offers\/(\w+?)\/?$/,l=/^\/portal\/?(?:\/(\w+(?:\/\w+)*))?\/?$/,u=/^\/feedback\/(\w+?)\/(\w+?)\/?$/;if(n&&u.test(n)&&i.get("uuid")){const[,p,d]=n.match(u),f=parseInt(d);if(f===1||f===0)return{showPopup:!0,page:"feedback",pageData:{uuid:i.get("uuid"),postId:p,score:f}}}if(n&&l.test(n)){const[,p]=n.match(l),{page:d,pageQuery:f}=this.getPageFromLinkPath(p)||{},y=["accountPlan","accountProfile"].includes(d)?"accountHome":null;return{showPopup:!(["monthly","yearly"].includes(f)||o.test(f)||a.test(f)||s.test(f)),...d?{page:d}:{},...f?{pageQuery:f}:{},...y?{lastPage:y}:{}}}return{}}fetchPreviewData(){const[,t]=window.location.hash.substr(1).split("?");if(q(["preview"])){let n={};return q(["offerPreview"])?n=this.fetchOfferQueryStrData(t):n=this.fetchQueryStrData(t),{...n,showPopup:!0}}return{}}getColorOverride(){const t=document.querySelector("script[data-ghost]");return t&&t.dataset.accentColor?t.dataset.accentColor:!1}async fetchApiData(){const{siteUrl:t,customSiteUrl:n,apiUrl:r,apiKey:i}=this.props;try{this.GhostApi=this.props.api||Oa({siteUrl:t,apiUrl:r,apiKey:i});const{site:o,member:a}=await this.GhostApi.init(),s=this.getColorOverride();return s&&(o.accent_color=s),this.setupFirstPromoter({site:o,member:a}),this.setupSentry({site:o}),{site:o,member:a}}catch(o){if(q(["dev","test"],{customSiteUrl:n}))return{};throw o}}setupSentry({site:t}){if(q(["test"]))return null;const{portal_sentry:n,portal_version:r,version:i}=t,a=`portal@2.32.0|ghost@${i}`;n&&n.dsn&&x1({dsn:n.dsn,environment:n.env||"development",release:a,beforeSend:s=>z1({event:s})?s:null,allowUrls:[/https?:\/\/((www)\.)?unpkg\.com\/@tryghost\/portal/]})}setupFirstPromoter({site:t,member:n}){if(q(["test"]))return null;const r=X1({site:t});let i=Fc({site:t});if(i=i==null?void 0:i.replace(/^(\S*\.)?(\S*\.\S*)$/i,".$2"),r&&i){const o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src="https://cdn.firstpromoter.com/fprom.js",o.onload=o.onreadystatechange=function(){let s=this.readyState;if(!s||s==="complete"||s==="loaded")try{if(window.$FPROM.init(r,i),lx({member:n})){const l=n.email,u=n.uuid;if(window.$FPROM)window.$FPROM.trackSignup({email:l,uid:u});else{const p=window._fprom||[];window._fprom=p,p.push(["event","signup"]),p.push(["email",l]),p.push(["uid",u])}}}catch{}};const a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)}}async dispatchAction(t,n){clearTimeout(this.timeoutId),this.setState({action:`${t}:running`});try{const r=await Cw({action:t,data:n,state:this.state,api:this.GhostApi});this.setState(r),r&&r.action&&!r.action.includes(":failed")&&(this.timeoutId=setTimeout(()=>{this.setState({action:""})},2e3))}catch(r){const i=Q({type:`${t}:failed`,autoHide:!0,closeable:!0,status:"error",state:this.state,meta:{error:r}});this.setState({action:`${t}:failed`,popupNotification:i})}}updateStateForPreviewLinks(){const{site:t,...n}=this.fetchPreviewData(),{site:r,...i}=this.fetchLinkData(),o={site:{...this.state.site,...r||{},...t||{},plans:{...this.state.site&&this.state.site.plans,...(r||{}).plans,...(t||{}).plans}},...i,...n};this.handleSignupQuery({site:o.site,pageQuery:o.pageQuery}),this.setState(o)}async handleOfferQuery({site:t,offerId:n,member:r=this.state.member}){const{portal_button:i}=t;if(Ac(),!kt({member:r}))try{const o=await this.GhostApi.site.offer({offerId:n}),a=o==null?void 0:o.offers[0];if(rx({site:t,offer:a}))if(i)this.dispatchAction("openPopup",{page:"offer",pageData:o==null?void 0:o.offers[0]});else{const s=gr({site:t,productId:a.tier.id}),l=a.cadence==="month"?s.monthlyPrice:s.yearlyPrice;if(this.dispatchAction("openPopup",{page:"loading"}),r){const{tierId:u,cadence:p}=_n({site:t,priceId:l.id});this.dispatchAction("checkoutPlan",{plan:l.id,offerId:n,tierId:u,cadence:p})}else{const{tierId:u,cadence:p}=_n({site:t,priceId:l.id});this.dispatchAction("signup",{plan:l.id,offerId:n,tierId:u,cadence:p})}}}catch{}}handleSignupQuery({site:t,pageQuery:n,member:r}){const i=/^offers\/(\w+?)\/?$/;let o=n;if(i.test(n||"")){const[,s]=n.match(i);this.handleOfferQuery({site:t,offerId:s,member:r});return}Yh({site:t,pageQuery:n})&&(o=Yh({site:t,pageQuery:n}));const a=q1({site:t,priceId:o});if(n&&n!=="free"){Ac();const s=(a==null?void 0:a.id)||o;s!=="free"&&this.dispatchAction("openPopup",{page:"loading"});const{tierId:l,cadence:u}=_n({site:t,priceId:s});this.dispatchAction("signup",{plan:s,tierId:l,cadence:u})}}getPageFromLinkPath(t){const n=/^signup\/?(?:\/(\w+?))?\/?$/,r=/^signup\/?(?:\/(\w+?))\/monthly\/?$/,i=/^signup\/?(?:\/(\w+?))\/yearly\/?$/;if(/^offers\/(\w+?)\/?$/.test(t))return{pageQuery:t};if(t==="signup")return{page:"signup"};if(r.test(t)){const[,a]=t.match(r);return{page:"signup",pageQuery:`${a}/monthly`}}else if(i.test(t)){const[,a]=t.match(i);return{page:"signup",pageQuery:`${a}/yearly`}}else if(n.test(t)){const[,a]=t.match(n);return{page:"signup",pageQuery:a}}else{if(t==="signup/free")return{page:"signup",pageQuery:"free"};if(t==="signup/monthly")return{page:"signup",pageQuery:"monthly"};if(t==="signup/yearly")return{page:"signup",pageQuery:"yearly"};if(t==="signin")return{page:"signin"};if(t==="account")return{page:"accountHome"};if(t==="account/plans")return{page:"accountPlan"};if(t==="account/profile")return{page:"accountProfile"};if(t==="account/newsletters")return{page:"accountEmail"}}return{}}getAccentColor(){const{accent_color:t}=this.state.site||{};return t}getContextPage({site:t,page:n,member:r}){if(!n){const i=ot({site:t})?"signin":"signup";n=r?"accountHome":i}return n==="accountPlan"&&hr({member:r})&&!Oi({member:r})&&(n="accountHome"),Kc({page:n})}getContextMember({page:t,member:n,customSiteUrl:r}){return q(["dev","preview"],{customSiteUrl:r})?Kk({page:t})||Qk({page:t})?q(["dev"],{customSiteUrl:r})?n||Ia.free:q(["preview"])?Ia.preview:Ia.paid:null:n}getContextFromState(){const{site:t,member:n,action:r,page:i,lastPage:o,showPopup:a,pageQuery:s,pageData:l,popupNotification:u,customSiteUrl:p,t:d}=this.state,f=this.getContextPage({site:t,page:i,member:n}),y=this.getContextMember({page:f,member:n,customSiteUrl:p});return{site:t,action:r,brandColor:this.getAccentColor(),page:f,pageQuery:s,pageData:l,member:y,lastPage:o,showPopup:a,popupNotification:u,customSiteUrl:p,t:d,onAction:(v,w)=>this.dispatchAction(v,w)}}render(){return this.state.initStatus==="success"?c.jsx(dS,{site:this.state.site,children:c.jsxs($.Provider,{value:this.getContextFromState(),children:[c.jsx(Sm,{}),c.jsx(Vh,{}),c.jsx(Zh,{})]})}):null}}const kg="ghost-portal-root";function fS(){const e=document.createElement("div");e.id=kg,document.body.appendChild(e)}function hS(){const e=document.querySelector("script[data-ghost]");if(e){const t=e.dataset.i18n==="true",n=e.dataset.ghost,r=e.dataset.key,i=e.dataset.api;return{siteUrl:n,apiKey:r,apiUrl:i,siteI18nEnabled:t}}return{}}function mS(){const e=new URL(window.location.href);e.searchParams.get("token")&&(e.searchParams.delete("token"),window.history.replaceState({},document.title,e.href))}function gS({siteUrl:e}){fS(),mS()}function yS(){const{siteUrl:e,apiKey:t,apiUrl:n,siteI18nEnabled:r}=hS(),i=e||window.location.origin;gS({siteUrl:i}),Ov.render(c.jsx(W.StrictMode,{children:c.jsx(pS,{siteUrl:i,customSiteUrl:e,apiKey:t,apiUrl:n,siteI18nEnabled:r})}),document.getElementById(kg))}yS()});
3161
3161
  //# sourceMappingURL=portal.min.js.map