1import{d as ce,a2 as qe,g as re,u as ue,s as Y,r as ee,o as c,f as u,n as q,h as s,b as w,t as n,e as l,x as m,U as oe,a3 as De,j as g,a4 as D,_ as pe,q as _e,a5 as ie,M as te,v as Q,Q as je,J as Je,a6 as ke,C as Qe,E as v,w as Z,c as Pe,k as Ye,y as Ge,z as Xe,I as Ze,a7 as et,a8 as tt}from"./index-6adbsJlm.js";import{a as at}from"./accountSettings.api-BowqJi08.js";import{T as nt}from"./Toggle-D6bvENWJ.js";import{B as st}from"./BackButton-E9Th7Bto.js";import{u as lt}from"./useI18nCurrency-Ctql3_ZH.js";import"./transform.utils-DEjUDH-_.js";import"./v4-BT9YOjd5.js";const it={class:"card-header"},ot={key:0,class:"current-pill"},ct={class:"currency"},rt={class:"price"},ut={class:"usd"},pt={class:"per"},dt={key:0,class:"savings"},gt={class:"sub-header"},mt={class:"bullet-list"},St=["disabled"],bt=ce({__name:"AccountSettingsPaywallCard",props:{card:{}},emits:["select"],setup(i,{emit:e}){qe(d=>({v33632d24:N.value,v245f5016:O.value}));const{t:P}=re(),I=ue(),{fullUserInfo:x}=Y(I),_=e,j=g(()=>i.card.showMonthly?P("accountSettings.planDetails.paywall.perMonth"):P("accountSettings.planDetails.paywall.perYear")),N=g(()=>i.card.colors.primary),O=g(()=>i.card.colors.secondary),L=g(()=>x.value.ftrStatus===D.FreeAccessLimitedPrice1||x.value.ftrStatus===D.FreeAccessLimitedPrice2);function E(){i.card.disabled||i.card.unClickable||_("select")}return(d,k)=>{const S=ee("FontAwesomeIcon");return c(),u("li",{class:q(["account-settings-paywall-card-root",[{current:i.card.current},{disabled:i.card.disabled||i.card.loading},{"current-border":i.card.selected},{"no-click":i.card.unClickable}]]),onClick:E},[s("header",null,[w(S,{icon:i.card.icon,class:"icon"},null,8,["icon"]),s("span",it,n(i.card.header),1),i.card.current?(c(),u("span",ot,n(l(P)("accountSettings.planDetails.paywall.currentPlan")),1)):m("",!0)]),i.card.tier>0?(c(),u("div",{key:0,class:q(["price-section",{"promos-active":L.value}])},[s("span",ct,n(l(P)("accountSettings.planDetails.paywall.currency")),1),s("span",rt,n(i.card.price),1),s("span",ut,n(l(P)("accountSettings.planDetails.paywall.usd")),1),s("span",pt,n(j.value),1),!i.card.showWebOnly&&!L.value?(c(),u("span",dt,n(i.card.savings),1)):m("",!0)],2)):m("",!0),s("span",gt,n(i.card.subHeader),1),s("ul",mt,[(c(!0),u(oe,null,De(i.card.bullets,U=>(c(),u("li",{key:U},n(U),1))),128))]),i.card.unClickable?m("",!0):(c(),u("button",{key:1,type:"button",class:q(["btn tertiary select-button",{selected:i.card.selected}]),disabled:i.card.loading||i.card.disabled},[w(S,{icon:"fa-solid fa-check",class:"icon-size-1 icon-success fa-bold"})],10,St))],2)}}}),ft=pe(bt,[["__scopeId","data-v-12b648c2"]]),yt={class:"settings-paywall-promo-card-wrapper-root"},ht={class:"tier-label-block"},vt={class:"header font-bold font-size-5"},wt={class:"tier-label-subtext font-size-0 text-2"},Tt=["disabled"],Pt={class:"tier-label-block"},Dt={class:"header font-bold font-size-5"},_t={class:"tier-label-subtext font-size-0 text-2"},kt=["disabled"],Ct={class:"tier-label-block"},$t={class:"header font-bold font-size-5"},Mt={class:"tier-label-subtext font-size-0 text-2"},At=["disabled"],Ft=ce({__name:"SettingsPaywallPromoCardWrapper",setup(i){const{fullUserInfo:e}=Y(ue()),P=_e(),{isAppleSubscription:I,isAndroidSubscription:x,getAccountStatus:_}=Y(P),{getSubscriptionPrice:j,getStripePriceId:N,createSubscriptionCheckoutSession:O,toggleAppleSubscriptionModal:L,toggleAndroidSubscriptionModal:E}=P,{t:d}=re(),{formatCurrency:k}=lt(),S=je(null),U=g(()=>{var r;return(r=e.value)==null?void 0:r.ftrStatus}),G=g(()=>{var r,p;return((p=(r=e.value)==null?void 0:r.userSubscription)==null?void 0:p.highestTier)??0});function C(r){const p={[D.FreeAccessLimitedPrice1]:1,[D.FreeAccessLimitedPrice2]:2},T={1:"standard",2:"premium",3:"basic"},b={1:d("accountSettings.planDetails.tiers.enhanced"),2:d("accountSettings.planDetails.tiers.ultimate"),3:d("accountSettings.planDetails.tiers.essentials")}[r],y=p[U.value??0],A=T[r];if(!b||!y||!A)return"";const z=j(`${A}-annual-promo-price-${y}`);return z?d("accountSettings.planDetails.paywall.promoCard.planForPrice",{planName:b,price:k(z)}):d("accountSettings.planDetails.paywall.promoCard.planOnly",{planName:b})}function H(r){return G.value===0||G.value===r}function $(r){const p={1:"Enhanced",2:"Ultimate",3:"Essentials"},T={1:"enhanced",2:"ultimate",3:"essentials"},J={[D.FreeAccessLimitedPrice1]:"price1",[D.FreeAccessLimitedPrice2]:"price2"},b=p[r],y=T[r],A=J[U.value??0];return y&&A?d(`accountSettings.planDetails.paywall.promoCard.discounts.${A}.${y}`):b?d("accountSettings.planDetails.paywall.promoCard.discountAvailable",{planName:b}):""}async function M(r){var y;if((I.value||x.value)&&_.value!==Je.Canceled){I.value?L():x.value&&E();return}const T={[D.FreeAccessLimitedPrice1]:1,[D.FreeAccessLimitedPrice2]:2}[((y=e.value)==null?void 0:y.ftrStatus)??0];if(!T)return;const b={1:"standard",2:"premium",3:"basic"}[r];if(b){S.value=r;try{const A="https://app.talkingparents.com/accountSettings/planDetails/success/{CHECKOUT_SESSION_ID}",z="https://app.talkingparents.com/accountSettings/planDetails/canceled/{CHECKOUT_SESSION_ID}",X=await N(`${b}-annual-promo-price-${T}`);if(!X)return;const ae=new ke({successUrl:A,cancelUrl:z,priceId:X,planLevel:b,upgrade:!0,allowPromotionCodes:!0}),K=await O(ae);if(!K.sessionUrl)return;window.location.href=K.sessionUrl}finally{S.value=null}}}return(r,p)=>(c(),u("div",yt,[H(3)?(c(),u("form",{key:0,class:"settings-paywall-promo-card-root",onSubmit:p[0]||(p[0]=ie(T=>M(3),["prevent"]))},[s("div",ht,[s("header",vt,n(C(3)),1),s("span",wt,n($(3)),1)]),s("button",{type:"submit",class:"btn secondary font-medium tier-label-button",disabled:S.value===3},[w(te,{loading:S.value===3},null,8,["loading"]),Q(" "+n(l(d)("accountSettings.planDetails.paywall.promoCard.cta")),1)],8,Tt)],32)):m("",!0),H(1)?(c(),u("form",{key:1,class:"settings-paywall-promo-card-root",onSubmit:p[1]||(p[1]=ie(T=>M(1),["prevent"]))},[s("div",Pt,[s("header",Dt,n(C(1)),1),s("span",_t,n($(1)),1)]),s("button",{type:"submit",class:"btn secondary font-medium tier-label-button",disabled:S.value===1},[w(te,{loading:S.value===1},null,8,["loading"]),Q(" "+n(l(d)("accountSettings.planDetails.paywall.promoCard.cta")),1)],8,kt)],32)):m("",!0),H(2)?(c(),u("form",{key:2,class:"settings-paywall-promo-card-root",onSubmit:p[2]||(p[2]=ie(T=>M(2),["prevent"]))}
1,[s("div",Ct,[s("header",$t,n(C(2)),1),s("span",Mt,n($(2)),1)]),s("button",{type:"submit",class:"btn secondary font-medium tier-label-button",disabled:S.value===2},[w(te,{loading:S.value===2},null,8,["loading"]),Q(" "+n(l(d)("accountSettings.planDetails.paywall.promoCard.cta")),1)],8,At)],32)):m("",!0)]))}}),Bt=pe(Ft,[["__scopeId","data-v-47530cc0"]]),It={key:0,class:"font-size-4"},xt={key:1,class:"font-size-4"},Lt={key:2,class:"promo-purchased-banner","data-testid":"promo-purchased-banner"},Ut={key:3,class:"limited-time-offer-row"},Nt={class:"limited-time-offer-label"},Ot={key:0,class:"limited-time-offer-detail"},Et={key:1,class:"limited-time-offer-detail"},Ht={key:2,class:"full-price-plans-divider"},zt={class:"billing-toggle-row"},Kt={key:0,class:"full-price-plans-label"},Rt={class:"toggle-container"},Vt={class:"toggle-annual"},Wt={key:0,class:"toggle-save"},qt={class:"cards"},jt=["href"],Jt=ce({__name:"AccountTypeStep1",setup(i){const{t:e}=re({useScope:"global"}),P=Ye(),I=Xe(),{createSlot:x,generateModal:_,HTMLtoComponent:j}=Ze(),N=ue(),O=_e(),{freeTrialEligible:L,isDesktopWidth:E,isMobileWidth:d,fullUserInfo:k}=Y(N),{setPageHeaders:S,setLayoutOptions:U,fetchFullUserInfo:G}=N,{subscriptionInfo:C,paywallPreviousPage:H,subscriptionT0:$,subscriptionT1:M,subscriptionT2:r,subscriptionT3:p,getTiers:T,getActiveSubscription:J,getHasSubscriptionIssue:b,activeAnnualSubscription:y,isAppleSubscription:A,isAndroidSubscription:z,isPromotional:X}=Y(O),{createSubscriptionCheckoutSession:ae,getStripePriceId:K,createCustomerPortalSession:Ce,getSubscriptionPrice:$e}=O,a=Ge({annualPricing:!1,currentTier:0,selectedTier:0,loading:!1}),Me=g(()=>We(a.currentTier,a.selectedTier)),h=g(()=>a.annualPricing===y.value),ne=g(()=>!a.annualPricing&&y.value),Ae=g(()=>T.value.map(t=>({tier:t,icon:Ue(t),header:Ne(t),subHeader:Oe(t),showWebOnly:t==v.subscriptionTiers.Free,bullets:Ee(t),price:String($e(He(t,a.annualPricing))),showMonthly:!a.annualPricing,colors:ze(t),current:Ke(t),savings:Re(t),manage:he(t),switchBilling:Ve(t)&&a.annualPricing,loading:a.loading&&t==a.selectedTier,disabled:a.loading&&a.selectedTier!=t,selected:a.selectedTier==t,unClickable:t==a.currentTier&&a.currentTier==0}))),de=g(()=>{let t=[];if(J.value)switch(C.value.duplicateSubscriptionError){case v.duplicateSubscriptionError.AppleApple:t=["Apple App Store"];break;case v.duplicateSubscriptionError.BraintreeApple:t=["TalkingParents.com","Apple App Store"];break;case v.duplicateSubscriptionError.BraintreeBraintree:t=["TalkingParents.com"];break}return t}),Fe=g(()=>!b.value||C.value.duplicateSubscriptionError==v.duplicateSubscriptionError.BraintreeApple),Be=g(()=>"https://talkingparents.com/pricing"),R=g(()=>k.value.ftrStatus===D.FreeAccessLimitedPrice1||k.value.ftrStatus===D.FreeAccessLimitedPrice2);Qe(async()=>{S({page:"Account Settings",pageName:e("titles.settings"),pageNameKey:"titles.settings",pageNameMobile:e("titles.settings"),pageNameMobileKey:"titles.settings",pageIcon:"fa-light fa-user-gear",searchEnabled:!1,pageData:{},searching:!1}),U({pageType:v.pageType.list,headerText:e("accountSettings.planDetails.managePlan"),subHeaderText:"",showBackbutton:!0,showUpgradeBanner:!1,showAdsNotInList:!1,showAddNewButton:!1,backButtonRouteName:H.value});const t=P.query.tier,o=+((Array.isArray(t)?t[0]:t)??NaN),W=[v.subscriptionTiers.Standard,v.subscriptionTiers.Premium,v.subscriptionTiers.Basic];a.currentTier=C.value.highestTier??0,W.includes(o)?a.selectedTier=o:a.currentTier>0?a.selectedTier=a.currentTier:a.selectedTier=v.subscriptionTiers.Basic,a.annualPricing=y.value,await G()});async function ge(t,o){var we;if((we=C.value.suspendedSubscriptions)!=null&&we.length){xe();return}a.loading=!0;const W="https://app.talkingparents.com/accountSettings/planDetails/success/{CHECKOUT_SESSION_ID}",F="https://app.talkingparents.com/accountSettings/planDetails/canceled/{CHECKOUT_SESSION_ID}";let B;switch(t){case"T1":B=await K(`standard${a.annualPricing?"-annual":""}`);break;case"T2":B=await K(`premium${a.annualPricing?"-annual":""}`);break;case"T3":B=await K(`basic${a.annualPricing?"-annual":""}`)}let f;switch(t){case"T1":f="standard";break;case"T2":f="premium";break;case"T3":f="basic";break}if(!B||!f)return;if(o){const Te=await at({returnUrl:"https://app.talkingparents.com/accountSettings/planDetails/",priceId:B,planLevel:f,upgrade:o});if(!Te.sessionUrl.length){a.loading=!1;return}window.location.href=Te.sessionUrl;return}const le=new ke({successUrl:W,cancelUrl:F,priceId:B,planLevel:f,upgrade:!1,allowPromotionCodes:!0}),ve=await ae(le);ve.sessionUrl&&(window.location.href=ve.sessionUrl)}async function me(){if(k.value.subscriptionMigrationInProgress){se();return}if(Fe.value){a.loading=!0;const t=new et({returnUrl:"https://app.talkingparents.com/accountSettings/planDetails",priceId:"",planLevel:"",upgrade:!1}),o=await Ce(t);if(o!=null&&o.sessionUrl){window.location.href=o.sessionUrl;return}if(a.loading=!1,Number(o==null?void 0:o.errorCode)===tt.MigrationInProgress){se();return}I.push({name:"accountTypeStep1"}).catch(()=>({}))}}async function Ie(){b.value?Le():A.value?be():z.value?fe():k.value.ftrPromoPurchased?ye():k.value.subscriptionMigrationInProgress?se():X.value?ye():he(a.selectedTier)?await me():await ge(`T${a.selectedTier}`,!$.value)}function Se(){I.push({name:"contactus"})}function xe(){var o;const t=(o=C.value.suspendedSubscriptions)==null?void 0:o[0].type;if(t==v.subscriptionTypes.Apple||t==v.subscriptionTypes.AppleRenewing){be();return}
1fe()}function be(){_({default:{headerText:e("accountSettings.planDetails.appleSubModal.title"),contentText:e("accountSettings.planDetails.appleSubModal.content"),footerButtonLabel:e("accountSettings.planDetails.appleSubModal.cta")},config:{closeOnConfirm:!0}})}function fe(){_({default:{headerText:e("accountSettings.planDetails.androidSubModal.title"),contentText:e("accountSettings.planDetails.androidSubModal.content"),footerButtonLabel:e("accountSettings.planDetails.androidSubModal.cta")},config:{closeOnConfirm:!0}})}function ye(){_({default:{headerText:e("accountSettings.planDetails.promoPurchasedModal.title"),contentText:e("accountSettings.planDetails.promoPurchasedModal.content"),footerButtonLabel:e("accountSettings.planDetails.promoPurchasedModal.cta")},config:{closeOnConfirm:!0},callback:{confirmFn:Se}})}function se(){_({default:{headerText:e("accountSettings.planDetails.subscriptionMigrationModal.title"),contentText:e("accountSettings.planDetails.subscriptionMigrationModal.content"),footerButtonLabel:e("accountSettings.planDetails.subscriptionMigrationModal.cta")},config:{closeOnConfirm:!0},callback:{confirmFn:Se}})}function Le(){const t=` 2 <div class="stack size-1"> 3 <span>${e("accountSettings.planDetails.multiSubModal.subList")}</span> 4 <ul>${Object.keys(de.value).map(o=>`<li><span class="brand underline">${de.value[Number(o)]}</span></li>`).join("")}</ul> 5 <span>${e("accountSettings.planDetails.multiSubModal.cancelText")}</span> 6 <span class="medium-gray font-size-0">${e("accountSettings.planDetails.multiSubModal.tpSub")}</span> 7 </div>`;_({slot:x("content",j(t)),default:{headerText:e("accountSettings.planDetails.multiSubModal.title")},config:{showFooter:!1}})}const Ue=t=>({0:"fa-solid fa-feather",1:"fa-solid fa-rocket-launch",2:"fa-solid fa-star-shooting",3:"fa-solid fa-backpack"})[t]??"fa-solid fa-feather",V=t=>({0:"free",1:"enhanced",2:"ultimate",3:"essentials"})[t]??"free",Ne=t=>e(`accountSettings.planDetails.paywall.${V(t)}.header`),Oe=t=>e(`accountSettings.planDetails.paywall.${V(t)}.subHeader`),Ee=t=>({0:[e("accountSettings.planDetails.paywall.free.bullets[4]"),e("accountSettings.planDetails.paywall.free.bullets[5]"),e("accountSettings.planDetails.paywall.free.bullets[6]")],1:[e("accountSettings.planDetails.paywall.enhanced.bullets[0]",{minutes:a.annualPricing?720:60}),e("accountSettings.planDetails.paywall.enhanced.bullets[1]"),e("accountSettings.planDetails.paywall.enhanced.bullets[2]")],2:[e("accountSettings.planDetails.paywall.ultimate.bullets[0]"),e("accountSettings.planDetails.paywall.ultimate.bullets[1]"),e("accountSettings.planDetails.paywall.ultimate.bullets[2]"),e("accountSettings.planDetails.paywall.ultimate.bullets[3]"),e("accountSettings.planDetails.paywall.ultimate.bullets[4]")],3:[e("accountSettings.planDetails.paywall.essentials.bullets[0]",{minutes:a.annualPricing?360:30}),e("accountSettings.planDetails.paywall.essentials.bullets[1]")]})[t]??[],He=(t,o)=>{const F={1:"standard",2:"premium",3:"basic"}[t];return F?o?`${F}-annual`:F:""},ze=t=>({primary:`var(--account-settings-${V(t)}-primary)`,secondary:`var(--account-settings-${V(t)}-secondary)`}),Ke=t=>({0:$.value,1:M.value&&h.value,2:r.value&&h.value,3:p.value&&h.value})[t]??$.value,Re=t=>a.annualPricing?e(`accountSettings.planDetails.paywall.${V(t)}.savingsAnnual`,{currency:e("accountSettings.planDetails.paywall.currency")}):e(`accountSettings.planDetails.paywall.${V(t)}.savingsMonthly`,{currency:e("accountSettings.planDetails.paywall.currency")}),he=t=>({0:p.value||M.value||r.value,1:r.value||ne.value||M.value&&h.value,2:ne.value||r.value&&h.value,3:M.value||r.value||ne.value||p.value&&h.value})[t]??!0,Ve=t=>({0:!1,1:M.value&&!h.value,2:r.value&&!h.value,3:p.value&&!h.value})[t]??!0,We=(t,o)=>[["",a.annualPricing||!L.value?e("accountSettings.planDetails.upgradeOnly"):e("accountSettings.planDetails.startFreeTrial"),a.annualPricing||!L.value?e("accountSettings.planDetails.upgradeOnly"):e("accountSettings.planDetails.startFreeTrial"),e("accountSettings.planDetails.upgradeOnly")],[e("accountSettings.planDetails.managePlan"),h.value?e("accountSettings.planDetails.managePlan"):e("accountSettings.planDetails.switchPlan"),e("accountSettings.planDetails.upgradeOnly"),e("accountSettings.planDetails.managePlan")],[e("accountSettings.planDetails.managePlan"),e("accountSettings.planDetails.managePlan"),h.value?e("accountSettings.planDetails.managePlan"):e("accountSettings.planDetails.switchPlan"),e("accountSettings.planDetails.managePlan")],[e("accountSettings.planDetails.managePlan"),e("accountSettings.planDetails.upgradeOnly"),e("accountSettings.planDetails.upgradeOnly"),h.value?e("accountSettings.planDetails.managePlan"):e("accountSettings.planDetails.switchPlan")]][t][o]??e("accountSettings.planDetails.managePlan");return(t,o)=>{const W=ee("RouterLink"),F=ee("I18nT"),B=ee("FontAwesomeIcon");return c(),u("section",{class:q(["manage-plan-root",{"p-1":l(d)}])},[l(E)?(c(),u(oe,{key:0},[w(st,{to:l(H),label:l(e)("goBack"),class:"align-self-start"},null,8,["to","label"]),R.value?(c(),u("h2",It,n(l(e)("accountSettings.planDetails.paywall.discountedOfferTitle")),1)):(c(),u("h2",xt,n(l(e)("accountSettings.planDetails.paywall.header")),1)),l(k).ftrPromoPurchased?(c(),u("div",Lt,[w(F,{keypath:"accountSettings.planDetails.paywall.promoBanner",tag:"span"},{important:Z(()=>[s("strong",null,n(l(e)("accountSettings.planDetails.paywall.promoBannerImportant")),1)]),contactSupport:Z(()=>[w(W,{to:{name:"contactus"},class:"promo-purchased-banner__link"},{default:Z(()=>[Q(n(l(e)("accountSettings.planDetails.paywall.promoBannerContactSupport")),1)]),_:1})]),_:1})])):m("",!0),R.value?(c(),u("div",Ut,[w(B,{icon:"fa-light fa-tag",class:"limited-time-offer-icon"}),s("span",Nt,n(l(e)("accountSettings.planDetails.paywall.limitedTimeOfferLabel")),1),l($)?(c(),u("span",Ot,n(l(e)("accountSettings.planDetails.paywall.limitedTimeOfferDetailFree")),1)):(c(),u("span",Et,n(l(e)("accountSettings.planDetails.paywall.limitedTimeOfferDetailPaid")),1))])):m("",!0)],64)):m("",!0),R.value?(c(),Pe(Bt,{key:1})):m("",!0),R.value?(c(),u("hr",Ht)):m("",!0),s("div",zt,[R.value&&l(E)?(c(),u("span",Kt,n(l(e)("accountSettings.planDetails.paywall.fullPricePlans")),1
7)):m("",!0),s("div",Rt,[s("span",{class:q(["toggle-left",{active:!a.annualPricing}])},n(l(e)("accountSettings.planDetails.paywall.tableHeader.monthly")),3),w(nt,{modelValue:a.annualPricing,"onUpdate:modelValue":o[0]||(o[0]=f=>a.annualPricing=f),name:"annualPricing",class:"toggle"},null,8,["modelValue"]),s("div",{class:q(["toggle-right",{active:a.annualPricing}])},[s("span",Vt,n(l(e)("accountSettings.planDetails.paywall.tableHeader.annual")),1),R.value?m("",!0):(c(),u("span",Wt,n(l(e)("accountSettings.planDetails.paywall.tableHeader.save")),1))],2)])]),s("ul",qt,[(c(!0),u(oe,null,De(Ae.value,f=>(c(),Pe(ft,{key:f.tier,class:"card",card:f,onUpgrade:le=>ge(`T${f.tier}`,!l($)),onManage:me,onSelect:le=>a.selectedTier=f.tier},null,8,["card","onUpgrade","onSelect"]))),128))]),s("button",{type:"button",class:"btn primary",onClick:Ie},[w(te,{loading:a.loading},null,8,["loading"]),Q(" "+n(Me.value),1)]),w(F,{keypath:"accountSettings.planDetails.paywall.seeFullPricingPlan",tag:"span",class:"mx-auto text-center"},{pricingPlan:Z(()=>[s("a",{href:Be.value,target:"_blank"},n(l(e)("accountSettings.planDetails.paywall.pricingPlan")),9,jt)]),_:1})],2)}}}),na=pe(Jt,[["__scopeId","data-v-880cf975"]]);export{na as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.