1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[840],{6940:(e,t,n)=>{n.d(t,{n:()=>i});var r=n(12115),a=n(25030);function i(){let[e,t]=(0,r.useState)({mounted:!1,promotion:null,daysRemaining:0});return(0,r.useEffect)(()=>{let e=()=>{let e=new Date;t({mounted:!0,promotion:(0,a.C5)(e),daysRemaining:(0,a.Xx)(e)})};e();let n=window.setInterval(e,6e4);return()=>window.clearInterval(n)},[]),e}},25030:(e,t,n)=>{n.d(t,{C5:()=>l,SR:()=>r,Xx:()=>u,f$:()=>m,v:()=>c});let r="#ffd200",a=[{id:"autumn-2026-minute-rates",name:"Herbst-Angebot 2026 \xb7 Extra-Minuten reduziert",enabled:!0,startDate:"2026-09-22",endDate:"2026-11-30",extraRates:{prepaid:.15,plus:.12,pro:.12,agency:.1},priceNote:{de:"* Aktionspreis: Der reduzierte Preis pro Extra-Minute gilt nur im Aktionszeitraum vom {start} bis {end} â ausschlie\xdflich f\xfcr Aufladungen von Extra-Minuten. Nach Ablauf der Aktion gilt wieder der regul\xe4re Tarif-Preis pro Extra-Minute. Das Angebot gilt f\xfcr Neu- und Bestandskunden.",en:"* Promotional price: the reduced per-extra-minute rate applies only during the promotion period from {start} to {end} â exclusively for extra-minute top-ups. After the promotion ends, the regular tariff rate per extra minute applies again. Valid for new and existing customers.",es:"* Precio promocional: la tarifa reducida por minuto adicional solo se aplica durante el periodo promocional del {start} al {end}, exclusivamente para recargas de minutos adicionales. Al finalizar la promoci\xf3n, vuelve a aplicarse la tarifa habitual por minuto adicional. V\xe1lido para clientes nuevos y existentes.",fr:"* Prix promotionnel : le tarif r\xe9duit par minute suppl\xe9mentaire s'applique uniquement pendant la p\xe9riode promotionnelle du {start} au {end}, exclusivement pour les recharges de minutes suppl\xe9mentaires. \xc0 la fin de la promotion, le tarif habituel par minute suppl\xe9mentaire s'applique de nouveau. Valable pour les nouveaux clients et les clients existants.",nl:"* Actieprijs: het verlaagde tarief per extra minuut geldt alleen tijdens de actieperiode van {start} t/m {end}, uitsluitend voor het opwaarderen van extra minuten. Na afloop van de actie geldt weer het reguliere tarief per extra minuut. Geldt voor nieuwe en bestaande klanten."},banner:{enabled:!0,emoji:"\uD83C\uDF42",mascot:"autumn",mascotByLocale:{de:"oktoberfest"},headline:{de:"Herbst-Angebot: Minutenpreise gesenkt, ab {{PRICE:from.minute}}/Min â noch {days} Tage",en:"Autumn offer: Lower minute rates from {{PRICE:from.minute}}/min â {days} days left",es:"Oferta de oto\xf1o: minutos desde {{PRICE:from.minute}}/min â quedan {days} d\xedas",fr:"Offre dâautomne : minutes d\xe8s {{PRICE:from.minute}}/min â encore {days} jours",nl:"Herfstaanbieding: minuten vanaf {{PRICE:from.minute}}/min â nog {days} dagen"},headlineShort:{de:"Herbst-Angebot: ab {{PRICE:from.minute}}/Min â {days} Tage",en:"Autumn offer: from {{PRICE:from.minute}}/min â {days} days",es:"Oto\xf1o: desde {{PRICE:from.minute}}/min â {days} d\xedas",fr:"Automne : d\xe8s {{PRICE:from.minute}}/min â {days} jours",nl:"Herfst: vanaf {{PRICE:from.minute}}/min â {days} dagen"},cta:{de:"Angebot sichern",en:"Get the deal",es:"Aprovechar oferta",fr:"Profiter de l'offre",nl:"Profiteer nu"},href:{de:"/de/pricing",en:"/pricing",es:"/es/pricing",fr:"/fr/pricing",nl:"/nl/pricing"},theme:{gradient:"from-cream via-accent-soft to-cream",accent:"#1fd5fa",accentHover:"#14c4e8"}}}],i=new Intl.DateTimeFormat("en-US",{timeZone:"Europe/Berlin",year:"numeric",month:"2-digit",day:"2-digit"});function o(e){let t=i.formatToParts(e),n=e=>{var n;return null==(n=t.find(t=>t.type===e))?void 0:n.value};return"".concat(n("year"),"-").concat(n("month"),"-").concat(n("day"))}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;for(let t of a)if(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date;if(!e.enabled)return!1;let n=o(t);return n>=e.startDate&&n<=e.endDate}(t,e))return t;return null}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=l(e);if(!t)return 0;let n=o(e);return(Date.parse("".concat(t.endDate,"T00:00:00Z"))-Date.parse("".concat(n,"T00:00:00Z")))/864e5+1}let s={en:"en-US",de:"de-DE",es:"es-ES",fr:"fr-FR",nl:"nl-NL"};function d(e){return["en","de","es","fr","nl"].includes(e)?e:"en"}function c(e,t){let n=new Date("".concat(e,"T00:00:00"));return new Intl.DateTimeFormat(s[d(t)],{day:"2-digit",month:"2-digit",year:"numeric"}).format(n)}function m(e,t){var n;let r=d(t);return(null!=(n=e.priceNote[r])?n:e.priceNote.en).replace(/\{start\}/g,c(e.startDate,r)).replace(/\{end\}/g,c(e.endDate,r))}},65125:(e,t,n)=>{n.d(t,{DisplayCurrencyProvider:()=>u,z:()=>s});var r=n(95155),a=n(12115),i=n(86879);
1let o=(0,a.createContext)(null),l=(e,t,n)=>({...e,mounted:t,fromEur:t=>(0,i.TK)(t,e.rate),format:(t,r)=>(0,i.WX)(t,e,{locale:n,...r}),formatWhole:t=>(0,i.JL)(t,e,n),formatPerMinute:t=>(0,i.T4)(t,e,n)}),u=e=>{let{children:t,locale:n}=e,[u,s]=(0,a.useState)(i.sG),[d,c]=(0,a.useState)(!1);(0,a.useEffect)(()=>{let e=!1;return(async()=>{try{var t;let n=await fetch("/api/geo",{cache:"no-store"});if(!n.ok)throw Error("geo");let r=await n.json();if(e)return;s((0,i.aO)(null!=(t=r.country)?t:null))}catch(t){e||s(i.sG)}finally{e||c(!0)}})(),()=>{e=!0}},[]);let m=(0,a.useMemo)(()=>l(u,d,n),[u,d,n]);return(0,r.jsx)(o.Provider,{value:m,children:t})},s=e=>{let t=(0,a.useContext)(o),[n,r]=(0,a.useState)(()=>l(i.sG,!1,e));return((0,a.useEffect)(()=>{if(t)return;let n=!1;return(async()=>{try{var t;let a=await fetch("/api/geo",{cache:"no-store"});if(!a.ok)throw Error("geo");let o=await a.json();if(n)return;r(l((0,i.aO)(null!=(t=o.country)?t:null),!0,e))}catch(t){n||r(l(i.sG,!0,e))}})(),()=>{n=!0}},[t,e]),t)?t:n}},86879:(e,t,n)=>{n.d(t,{JL:()=>p,T4:()=>g,TK:()=>m,WX:()=>f,a4:()=>v,aO:()=>c,sG:()=>y});var r=n(15933);function a(){let e=(0,r._)(["d{1,3}(?:[.s]d{3})*(?:[.,]d+)?|d+(?:[.,]d+)?"],["\\d{1,3}(?:[.\\s]\\d{3})*(?:[.,]\\d+)?|\\d+(?:[.,]\\d+)?"]);return a=function(){return e},e}function i(){let e=(0,r._)(["â¬s*(",")s*[â-]s*â¬?s*(",")|(",")s*[â-]s*(",")s*â¬"],["â¬\\s*(",")\\s*[â-]\\s*â¬?\\s*(",")|(",")\\s*[â-]\\s*(",")\\s*â¬"]);return i=function(){return e},e}function o(){let e=(0,r._)(["â¬s*(",")|(",")s*â¬"],["â¬\\s*(",")|(",")\\s*â¬"]);return o=function(){return e},e}let l=["EUR","USD","CAD","CHF","GBP"],u={defaultCode:"EUR",rates:{EUR:1,USD:1.08,CAD:1.6074,CHF:.95,GBP:.87},currencies:[{code:"CHF",name:"Swiss Franc",symbol:"CHF",decimalDigits:2},{code:"CAD",name:"Canadian Dollar",symbol:"CA$",decimalDigits:2},{code:"EUR",name:"Euro",symbol:"â¬",decimalDigits:2},{code:"GBP",name:"Pfund",symbol:"\xa3",decimalDigits:2},{code:"USD",name:"US Dollar",symbol:"$",decimalDigits:2}]},s=new Set(["AD","AT","BE","CY","DE","EE","ES","FI","FR","GR","HR","IE","IT","LT","LU","LV","MC","MT","NL","PT","SI","SK","SM","VA"]),d=e=>{if("EUR"===e)return 1;let t=u.rates[e];return Number.isFinite(t)&&t>0?t:0},c=e=>{let t=(e=>{let t=(e||"").trim().toUpperCase();return t?"US"===t||"PR"===t||"GU"===t||"VI"===t||"AS"===t||"MP"===t?"USD":"CA"===t?"CAD":"CH"===t||"LI"===t?"CHF":"GB"===t||"IM"===t||"JE"===t||"GG"===t?"GBP":s.has(t)?"EUR":null:null})(e),n=t&&(e=>"string"==typeof e&&l.includes(e.toUpperCase()))(t)?t:u.defaultCode,r=d(n)>0?n:u.defaultCode;return{code:r,rate:d(r),symbol:(e=>{var t,n;return null!=(n=null==(t=u.currencies.find(t=>t.code===e))?void 0:t.symbol)?n:"USD"===e?"$":"CAD"===e?"CA$":"CHF"===e?"CHF":"GBP"===e?"\xa3":"â¬"})(r),country:e?e.toUpperCase():null}},m=(e,t)=>Number.isFinite(e)?t>0&&1!==t?Math.round(100*e*t)/100:e:0,f=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=m(e,t.rate),{locale:a,minimumFractionDigits:i,maximumFractionDigits:o}=n;try{return r.toLocaleString("de"===a?"de-DE":"nl"===a?"nl-NL":"es"===a?"es-ES":"fr"===a?"fr-FR":"en"===a?"en-US":a||"en-US",{style:"currency",currency:t.code,minimumFractionDigits:i,maximumFractionDigits:o})}catch(e){return"".concat(r.toFixed(null!=o?o:2)," ").concat(t.code)}},p=(e,t,n)=>f(e,t,{locale:n,minimumFractionDigits:0,maximumFractionDigits:0}),g=(e,t,n)=>"".concat(f(e,t,{locale:n,minimumFractionDigits:2,maximumFractionDigits:2}),"/min"),y={code:"EUR",rate:1,symbol:"â¬",country:null},D=String.raw(a()),h=RegExp(String.raw(i(),D,D,D,D),"g"),E=RegExp(String.raw(o(),D,D),"g"),v=(e,t,n)=>{if(!e||"EUR"===t.code||!(t.rate>0)||1===t.rate)return e;let r=e=>{if(!e)return null;let r=(e=>{let t=e.replace(/\s/g,"");if(!t)return null;if(/^\d{1,3}(\.\d{3})+$/.test(t))return Number(t.replace(/\./g,""));if(/^\d{1,3}(,\d{3})+$/.test(t))return Number(t.replace(/,/g,""));if(/,\d{1,2}$/.test(t))return Number(t.replace(/\./g,"").replace(",","."));let n=Number(t.replace(",","."));return Number.isFinite(n)?n:null})(e);if(null==r)return null;let a=e.replace(/\s/g,"");return((e,t,n,r)=>{let a=r||e<10&&0!==e?2:0;return f(e,t,{locale:n,minimumFractionDigits:a,maximumFractionDigits:a})})(r,t,n,/[.,]\d{1,2}$/.test(a)&&!/^\d{1,3}([.,]\d{3})+$/.test(a))};return e.replace(h,(e,t,n,a,i)=>
1{let o=r(null!=t?t:a),l=r(null!=n?n:i);return o&&l?"".concat(o,"â").concat(l):e}).replace(E,(e,t,n)=>{var a;return null!=(a=r(null!=t?t:n))?a:e})}}}]);
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.