ZOOM

Asfalt-manea: Autostrăzile româneşti, o afacere eşuată perfect

November 20th, 2009, com 30 comentarii

Autostrăzile din România sunt o poveste, despre care se spune că ar fi ­frumoasă, dar pe care nu a povestit-o nimeni până la capăt. Nici începutul poveştii nu s-a spus tot. Personajele nu sunt niciodată aceleaşi. Se schimbă în funcţie de vremuri. Nu mai ştie nimeni cine, unde şi când a început povestea. Nimeni nu o urmăreşte, nimeni nu ţine firul istoriei. Auditoriul se schimbă. Unii s-au plictisit. Alţii au renunţat să mai asculte, alţii au plecat şi, nu puţini, au murit. Rar, povestea devine interesantă, dar de cele mai multe ori este doar un pretext. Nimeni nu ia în seamă, nici povestea, nici povestitorul. Citeste continuarea

36,329 afisari

„Odată criogenate, celulele rămân viabile pe termen nelimitat“

November 20th, 2009, com Comenteaza

Andreia Valter, director general Stem-Health Unirea

Specialiştii ne spun că, în cazul unor afecţiuni ale sângelui cum sunt leucemia, talasemia, boala Hodgkin etc., există mari şanse de vindecare prin celule stem prelevate din cordonul ombilical. Cu cât este mai mare numărul de celule stocate, cu atât mai bine. Anumite boli de sânge apar la o vârstă foarte fragedă în timp ce alte boli degenerative apar la adulţi. Şi pentru unii şi pentru ceilalţi stocarea din timp a unor astfel de celule este poliţa de asigurare pentru sănătatea pacienţilor. Acest lucru este acum posibil şi în România prin Stem-Health Unirea, unde sângele din cordonul ombilical este prelevat, testat, analizat şi celulele stem stocate în cel mai scurt timp posibil. Despre importanţa acestei bănci de celule stem, nevoia de informare corectă a părinţilor şi costurile păstrării celulelor vieţii ne-a vorbit dna Andreia Valter, director general – Stem Health Unirea. Citeste continuarea

6,657 afisari

London sex Carding

November 20th, 2009, com 13 comentarii

Londra nu este nici pe departe un potenţial concurent al Amsterdam-ului, spre exemplu, la titlul de capitală europeană a sexului. Londra a fost şi rămâne o foarte solidă şi sobră fostă capitală imperială, care se pregăteşte de zor să-şi recapete strălucirea universală prin găzduirea Jocurilor Olim­pi­ce din 2012. Mai mult ca sigur că renumitele autobuze roşii cu etaj sau cabinele telefonice la fel de roşii vor fi şi atunci parte com­ponentă a simbolisticii oraşului. Ră­mâ­ne de văzut dacă autorităţile londoneze vor reuşi să stopeze afişarea cardurilor de reclamă ale prostituatelor ce împânzesc cabinele telefonice din centrul turistic al inimii Commonwealth-ului.

În Marea Britanie, cea mai veche meserie din lume, prostituţia în sine, nu este incriminată prin lege. În schimb, o serie de activităţi care se cumulează inevitabil în jurul prostituţiei, precum consumul de droguri, traficul de carne vie şi, desigur, jafurile sau crimele de orice fel, sunt ilegale, la care se adaugă şi… afişajul de carduri de reclamă pentru servicii sexuale, sex carding-ul, în interiorul cabinelor telefonice de pe cele mai populate artere din Londra. Cu alte cuvinte, intră omul (în caz că nu are telefon mobil) într-o cabină roşie de pe Oxford Street, să spunem, pentru a da un telefon, sau pur şi simplu este atras de peisajul multicolor interior al acesteia, şi ce vede? Prinse cu un autocolant, una lângă alta, de formatul unei cărţi poştale obişnuite, se expune ofertei o întreagă panoplie de servicii sexuale pentru toate gusturile, fanteziile, orientările, buzunarele… Şi în acest caz imaginea face cât o mie de cuvinte: cuvintele (adesea argotice) care descriu gama de prestaţii sexuale oferite sunt puţine în ansamblul ilustraţiei cardului respectiv, însă fotografia sau desenul grafic sunt perfect explicite. Potenţialul client, îndeobşte un „nevinovat“ turist, se lămureşte dintr-o privire dacă ar prefera o jună thailandeză, o studentă japoneză, o indiancă focoasă, o nordică languroasă, o rafinată sado-masochistă, un bărbăţel alb sau negru etc. Practic, orice fantezie sau ciudăţenie sexuală îşi găseşte o rezolvare în King Cross, Piccadilly Circus, Victoria Street, Trafalgar Square. Cu toate acestea, deşi am cercetat cu străş­nicie în aproape toate cabinele telefonice din centrul Londrei, nu am găsit nici o ofertă de „oltence fierbinţi“ sau „moldovence focoase“ din cele ce se lă­făie în paginile tabloidelor dâmboviţene. În fine, toate aceste carduri, destul de elegant şi luxos tipărite, cuprind obligatoriu şi un număr de telefon, îndeobşte de mobil, scris cu markerul sau chiar tipărit, astfel încât doritorul unei aventuri senzual-erotice să poată suna imediat sau să strecoare inedita carte de vizită în buzunar pentru mai târziu, la vreme de nevoie.

Acest inedit fenomen de reclamă a serviciilor sexuale a apărut la Londra în anii ’80 şi este considerat de autorităţi drept o formă de reclamă pornografică ilegală, de natură a afecta siguranţa cetăţeanului prin expunerea copiilor la imagini şi limbaj nepotrivit. Poliţia, în colaborare cu compania British Telecom, a încercat la mijlocul anilor ’90 să stopeze fenomenul prin blocarea apelurilor telefonice către numerele ce figurau pe cardurile incriminate, dar prostituatele s-au repliat imediat către alţi operatori de telefonie. În 2001, un Criminal Justice and Police Act (un fel de hotărâre judecătorească britanică) a decis pedepsirea afişajului cardurilor de reclamă a prostituatelor londoneze cu o amendă de 5.000 de lire sau şase luni de puşcărie, ceea ce a dus doar la un reflux temporar al fenomenului, care cunoaşte astăzi aceeaşi amploare ca la început. Cea mai mare aglomeraţie de carduri sexuale din Londra este semnalată pe principalele artere din cartierele comercial-turistice şi istorice precum Westminster, Camden, Kensington&Chelsea, Newham, Hackney. Raziile fulgerătoare de curăţire de carduri a cabinelor sau blocarea numerelor de te­lefon afişate nu sunt de natură să re­zol­ve această problemă a primăriei şi poli­ţiei londoneze, care pentru un turist nu este poate nimic mai mult decât o inedită pată de culoare. Prostituţia, însă, nu este deloc privită drept o pată de cu­loare de către autorităţile londoneze, ci este tratată ca o chestiune foarte serioasă.

Presa londoneză apreciază că aproape 2.000 de prostituate, având vârsta cuprinsă între 15 şi 55 de ani, provenind din peste 75 de ţări (majoritatea din estul european sau sud-estul asiatic) lucrează în acest moment în Londra, practicându-şi meseria în forma sa „interioară“ – adică în bordeluri, saloane de masaj, saune, agenţii de escortă sau pur şi simplu în apartamente private – sau „exterioară“, adică pe stradă (cam cum sunt centuristele noastre). Reclama prin carduri lipite în cabinele telefonice nu este singura formă de promovare a serviciilor sexuale, 75% din foarte variata şi extinsa presă scrisă londoneză cuprinzând pagini dedicate anunţurilor diverselor oferte sexuale. Datorită „preacinstitei crize“, preţurile serviciilor sexuale din Londra au scăzut, dar ele se întind, în funcţie de calitate, preferinţe şi pretenţii, între 15 şi 250 de lire pentru o partidă, iar cele mai frecvente tarife staţionează undeva în jurul sumei de 60 de lire. Partea cea mai gravă a problemei este că majoritatea acestor „lucrătoare în industria sexului“ sunt dependente de droguri în proporţie de 55% până la 80%, sunt frecvent supuse violenţelor şi abuzurilor de tot felul sau implicate într-o formă sau alta în comerţul cu carne vie şi crima organizată.

Dacă britanicii nu incriminează prostituţia în sine, ci acele fapte şi fenomene care o însoţesc inevitabil, în alte părţi ale lumii soluţiile diferă. Suedezii, spre exemplu, incriminează clientul ce se bucură de serviciile prostituatelor, ceea ce transferă culpa de la biata femeie, la viciosul bărbat. În consecinţă, pentru a nu-şi descuraja potenţialii clienţi, prostituata suedeză trebuie să-şi asume în plus riscul atragerii acestora într-o periculoasă penumbră. În majoritatea lor, legile americane pedepsesc deopotrivă bărbatul şi femeia, dar rata asasinării prostituatelor în SUA este cu 16% mai mare decât în Marea Britanie. La polul opus se află însă Noua Zeelandă, unde cu sprijinul Bisericii, a Asociaţiei Tinerelor Femei Creştine, a unor sindicate şi organizaţii prostituţia a fost legalizată în beneficiul întregii comunităţi, a principiilor drepturilor omului şi a egalităţii între sexe.

Revenind la britanici şi la pragmatismul eficient şi trainic al acestora, problema prostituţiei în Londra şi a efectelor acesteia asupra vieţii şi siguranţei cetăţenilor a fost subiectul preocupărilor centrale ale unui Comitet de siguranţă londoneză înfiinţat de primărie la 21 iulie 2004. Acest comitet nu a fost înfiinţat, ca la noi, pentru a îngropa o problemă dificilă, ci pentru a găsi soluţii şi a coopera îndeaproape cu o serie de organizaţii nonguvernamentale ce activează în aceeaşi zonă: descurajarea prostituţiei, ajutorarea şi consilierea sanitară şi psihologică a prostituatelor, eventual recuperarea socială a acestora sau doar ajutorul umanitar sau medical în caz de nevoie. Poate că este încă destul de dificil de digerat pentru societatea misogin-patriarhală, cu iz feudal, de pe malurile Dâmboviţei, existenţa, utilitatea şi chiar necesitatea unor asemenea organizaţii sau proiecte comunitare dedicate curvelor bucureştene, precum sunt cele de pe malul Tamisei de tipul Sexual Health on Call, English Collective of Prostitute, The Poppy Project sau Eaves Housing of Women. În fond, la mijloc se află siguran­ţa şi sănătatea imediată şi de perspectivă a tuturor cetăţenilor comunităţii metropolitane britanice. În ceea ce ne priveşte, suntem încă departe de spiritul civic şi de solidaritatea necesare pentru coagularea unor astfel de organizaţii, cât despre cabine telefonice… ce să mai ­vorbim.

foto colecţia Călin Hentea

41,036 afisari

Skull & Bones

November 20th, 2009, com 2 comentarii

Skull and Bones este una dintre cele mai controversate, puternice şi vechi organizaţii secrete, care ­ac­ti­vează şi îşi exercită influenţa pe teritoriul Statelor Unite. Această grupare îşi pregăteşte membrii pentru a-i propulsa în funcţii de conducere, prin care să îşi poată manifesta influenţa şi să servească propriilor sale interese politice, economice, militare. Faţă de alte grupări, Skull and Bones se distinge printr-un număr foarte restrâns de iniţiaţi, 1.200 de-a lungul timpului, ceea ce imprimă un aer „familial“ acestei organizaţii. O selecţie dură, astfel concentrându-se puterea în mâna unui grup restrâns de indivizi. Citeste continuarea

8,491 afisari

Herta Müller – O cravașă peste fața României

November 20th, 2009, com 2 comentarii

A luat sau nu România Premiul Nobel? Iată o întrebare. Care nu vine singură. Pentru că, după ea, vin altele. Dacă Herta Müller, care a trăit mai bine de treizeci și trei de ani în România și a fost cetățean român… e româncă? Nu? Nemțoaică? Deși a trăit mai mult de jumătate din viață în România? Deși a scris despre realitățile Securității românești? Despre persecuțiile ei de aici… Greu de spus: să ne bucurăm sau să ne întristăm? Citeste continuarea

7,106 afisari

Retrospectiva lunii, o poveste: SANTA KLAUS ŞI CROITORAŞUL CEL VITEAZ

November 20th, 2009, com Un comentariu

Recapitulăm, pe scurt: luna „politică“ octombrie, ce tocmai s-a consumat, a adus necesarele lămuriri. Aşa cum FLACâRA s-a „riscat“ să consemneze, cu vreo zece zile în avans: Herr Doktor Sorin Oprescu şi-a anunţat candidatura la prezidenţiale. Mircea Geoană a cercat să-şi iasă din firea – categorisită – de „pămpălău“ politic. A fandat, a scos baioneta, a răspândit porumbeii suavi ai promisiunilor politice. A crescut, pare-se, şi în sondaje. Traian Băsescu, deşi ne interesează, într-o oarecare măsură, mai puţin (fiindcă, pentru noi, cel puţin, dacă nu pentru o ţară întreagă, e cam lipsit de proiect pentru viitor), şi-a anunţat şi el candidatura. S-a spulberat, astfel, secretul lui Polichinelle. A căzut guvernul Boc, iar în locul lui a apărut „promisiunea“ Klaus Iohannis. Citeste continuarea

5,939 afisari

Zimbru. Sombru, nu prea. Dar regal…

October 20th, 2009, com 19 comentarii

Prima mea întâlnire cu hotelul

ZIMBRU a fost acum mai bine de treizeci de ani. Aveam treisprezece ani în 1977, când am dat admiterea la liceul militar din Câmpulung Moldovenesc, numit – altfel cum, în Moldova de Nord? – după Fane Babanu. Ei, nu chiar Fane Babanu, ci de-a dreptul Ştefan cel Mare, dar, acolo, în Moldova de Sus (similară cu aia din cer), marele Ştefan nu e decât un soi de megieş al ţăranilor dintre obcinele rămase, majoritatea, necooperativizate. Am luat o cameră la hotelul de zece etaje (plus parter!) din taman centrul oraşului. Acum treizeci şi doi de ani, târgul Câmpulungului era şi mai târg, iar ZIMBRU („Cap de bour“, cum îl dezmierdam noi, atunci, în argou!) era punctul marcant al buricului Târgului. Citeste continuarea

31,766 afisari

Săptămâna urologiei la Bucureşti

October 20th, 2009, com 20 comentarii

„Patologia prostatei afectează 51% dintre bărbaţii de peste 60 de ani“

Atât de multe simpozioane şi conferinţe de presă în domeniul urologiei! Mai era nevoie de o săptămână dedicată urologiei? Asociaţia Europeană de Urologie şi Asociaţia Română de Urologie au răspuns cu „da” la această întrebare şi, drept urmare, au organizat acest eveniment dezbătând patologia urinară la bărbat. Medicii: Marcian Manu, Cristian Surcel şi Sebastian Voinea au readus în atenţia publicului şi a presei toate problemele legate de hiperplazia benignă (necanceroasă) a prostatei, cancerul de prostată şi disfuncţia erectilă. Citeste continuarea

27,261 afisari

„Star wars“ de chirpici – Cine câştigă războiul informaţional din Afganistan?

October 20th, 2009, com 2 comentarii

Americanii, NATO, britanicii, germanii, chiar şi românii şi-au creat stufoase şi alambicate doctrine militare pentru a-şi defini şi aplica tot mai doct cu putinţă fascinantul război informaţional. Aceasta este una dintre ultimele „găselniţe“ ale gândirii militare euro-atlantice: sună mai corect politic decât „războiul psihologic“ şi – conform teoriei – ar trebui să fie mai eficient decât războiul însuşi. După ştiinţa noastră, nici talibanii şi nici Al Quaeda nu dispun de vreo doctrină, regulament sau definiţie a războiului informaţional. În schimb, de la 11 septembrie 2001 încoace, Al Quaeda şi talibanii îl practică într-un mod cu mult mai mult eficient tocmai împotriva euroatlanticilor – creatorii acestui concept. Citeste continuarea

6,143 afisari

Inventatori care ne schimbă viaţa – România ar fi putut deveni putere nucleară?

October 20th, 2009, com 2 comentarii

Se iau ideile unor oameni, se ambalează la firma S.C. Mercur S.A. din Oradea, se obţin brevetele de inventator pe numele unuia dintre cercetători sau pe numele firmei, se câştigă medalii de aur şi argint la Saloanele de inventică de la Bruxelles 1999 respectiv Geneva 2000. Apoi se adaugă aplauze, fotografii, felicitări şi… atât. Proiectele rămân undeva îngropate în nişte dosare, le văd cei din Ministerul Apărării, dar nu reacţionează sau le preiau alţii parţial, iar inventatorii adevăraţi rămân cu buza umflată. Citeste continuarea

12,848 afisari
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.3.6";const APP_ENV="production",TRACKING_DOMAIN="https://click-euw1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=()=>{const e=`/${FIND_DOMAIN_URL}${window.location.search}`;return fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 100vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectHTML(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s}=e,a=document.createElement("div"),o=n||"",r="HIGHLIGHT"===s?"is-highlighted":"";a.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(a.style.marginTop="30px",document.body.appendChild(a)):document.body.prepend(a)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Ad block detected

Please disable your ad blocker and reload the page.";case"disabled_mr":return`

Invalid URL

Referral traffic for ${this.domain} does not meet requirements.`;default:return`

No sponsors

${this.domain} currently does not have any sponsors for you.`}}get trackingType(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}}toContext(){return{cannotPark:this.reason}}}class Failed extends State$2{constructor(){super(...arguments),this.type=Type.Failed}static cannotPark({cannotPark:e}){switch(e){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":{const t=new Failed;return t.reason=e,t}}}static noSponsors({cannotLoadAds:e}){if(e){const e=new Failed;return e.reason="no_sponsors",e}}static fromError(e){const t=new Failed;return t.reason="js_error",t.error=e,t}get track(){return!!this.trackingType}get message(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"no_sponsors":return`\n

No Sponsors

\n

${this.domain} currently does not have any sponsors for you.

`;case"disabled_mr":return`\n

Invalid URL

\n

Referral traffic for ${this.domain} does not meet requirements.

`;case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.ivt,js_error:t.js_error,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n)=>{const i=buildSignature({callbacks:e,context:t},n);fetch(`/${TRACKING_URL}`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({signature:encode(i)})})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i{e&&window.ttq.instance(this.identifier).track(e.event)}))}isLoaded(){return!!window.ttq}}const ADS_PARAM$1="?caf",MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com"];class Pixels{static build(e){const t=unpackPHPArrayObject(e,"pixel_tracking_data");if(t)return t.useAltTikTokEventsForAdsPlatformUser=e.is_ads,new Pixels(t)}constructor(e){this.onPixelEvent=e=>{const{detail:{type:t}}=e;switch(t){case"visit":case"ctr":case"click":this.providers.forEach((e=>e.handlePixelEvent(t)))}},this.providers=[new Facebook(e.facebook),new Tiktok(e.tiktok,e.useAltTikTokEventsForAdsPlatformUser),new Taboola(e.taboola),new Revcontent(e.revcontent),new Outbrain(e.outbrain)]}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&window.location.search.startsWith(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}dispatchEvent(e){document.dispatchEvent(new CustomEvent("pixel",{detail:e}))}}var State;!function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failure=2]="Failure",e[e.TimedOut=3]="TimedOut",e[e.Errored=4]="Errored"}(State||(State={}));const CAF_SCRIPT_SRC=`https://www.google.com/adsense/domains/caf.js?${GOOGLE_MV3_URL_PARAMS}`,TIMEOUT_SCRIPTS=Number(GOOGLE_CAF_TIMEOUT_SCRIPTS),TIMEOUT_CALLBACKS=Number(GOOGLE_CAF_TIMEOUT_CALLBACKS);class StateMachine{constructor(){this.state=State.Pending}transitionTo(e){this.state=e}transitionFromPendingTo(e){this.done||(this.state=e)}get loaded(){return this.state===State.Loaded}get timedOut(){return this.state===State.TimedOut}get done(){return this.state!==State.Pending}}class Ads{constructor(e,t){this.state={script:new StateMachine,blocks:new StateMachine},this.blocksLoaded=[],this.injectScriptTags=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.type="text/javascript",t.src=CAF_SCRIPT_SRC,t.addEventListener("load",(()=>e(!0))),t.addEventListener("error",(()=>e(!1))),document.body.appendChild(t),TIMEOUT_SCRIPTS>0&&setTimeout((()=>e(!1)),TIMEOUT_SCRIPTS)}))})),this.onPageLoaded=(e,t)=>{if(this.pageLoaded={requestAccepted:e,status:t},this.state.script.done)return;const n=null==t?void 0:t.error_code;n?(this.state.script.transitionTo(State.Failure),this.failureReason=`caf_pageloaderror_${n}`):this.state.script.transitionTo(State.Loaded)},this.onBlockLoaded=(e,t,n,i)=>{this.blocksLoaded.push({containerName:e,adsLoaded:t,isExperimentVariant:n,callbackOptions:i}),this.state.blocks.done||(t?this.state.blocks.transitionTo(State.Loaded):this.blocksLoaded.length>=this.blocks.length&&(this.state.blocks.transitionTo(State.Failure),this.failureReason=`caf_adloadfail_${e}`))},this.onTimeout=()=>{this.state.script.transitionFromPendingTo(State.TimedOut),this.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}get loaded(){return this.state.script.loaded&&!this.blocksLoaded.map((e=>e.adsLoaded)).includes(!1)}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{const n=performance.now();if(this.state.blocks.done)return this.cafLoadTime=Math.round(n-this.cafStartTime),void e();const i=this.blocksLoaded.map((e=>e.adsLoaded));i.includes(!1)||i.length>=this.blocks.length?e():setTimeout(t,50)};t()}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield this.injectScriptTags();return this.cafStartTime=performance.now(),e&&void 0!==window.google?(new window.google.ads.domains.Caf(Object.assign(Object.assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded}),...this.blocks),TIMEOUT_CALLBACKS>0&&setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),yield new Promise((e=>{const t=()=>{this.state.script.done?e():setTimeout(t,10)};t()}))):void this.state.script.transitionTo(State.Failure)}catch(e){return void(this.error=e.toString())}}))}toCallbacks(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,cafLoadedMs:this.cafLoadTime,googleAdsFailure:!!this.failureReason}}toContext(){const e={cafScriptWasLoaded:this.state.script.loaded,cafScriptLoadTime:this.cafLoadTime,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroclick={reason:"googleAdsFailure"}),e}mockFailedState(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)}}class TagManager{constructor(e){this.injected=!1,this.identifier=e}inject(){if(this.injected)return;if(!this.identifier)return;if("TEST"===this.identifier)return;const e=document.createElement("script");e.setAttribute("src",`https://www.googletagmanager.com/gtag/js?id=${this.identifier}`),document.head.appendChild(e),this.track(),this.injected=!0}track(){this.push("js",new Date),this.push("config",this.identifier)}push(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push(arguments)}}const ADS_PARAM="caf",ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",KNOWN_CAF_PARAMS=["caf","query","afdToken","pcsa","nb","nm","nx","ny","is","clkt"];class Google{static build({pageOptions:e,preferredLanguage:t,blocks:n,googleAnalytics:i},s,a,o){let r={};e&&(r=Object.assign({},e),r.hl||(r.hl=t));let d=null==e?void 0:e.resultsPageBaseUrl;d||(d=window.location.origin);return new Google(s.uuid,n,r,i,d,o)}constructor(e,t,n,i,s,a){this._blocks=t,this._pageOptions=n,this.uuid=e,this._baseURL=new URL(s),this._signature=a,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}injectTagManager(){this.tagManager.inject()}injectAds(){return __awaiter(this,void 0,void 0,(function*(){yield this.ads.inject()}))}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return this.ads.waitForBlocks()}))}get blocks(){return(this._blocks||[]).filter((e=>this.wantsToServeAds?e.type===BLOCKS_TYPE:e.container===BLOCKS_CONTAINER)).map((e=>{const t=this.baseURL;new URLSearchParams(window.location.search).forEach(((e,n)=>{t.searchParams.has(n)||t.searchParams.append(n,e)}));const n=Object.assign({},e);if(n.resultsPageBaseUrl=t.toString(),this.wantsToServeAds){const e=new URLSearchParams;e.append("click","true"),e.append("session",this.uuid);const t=Object.assign({},this._signature);delete t.ad_loaded_callback,delete t.caf_loaded_ms,delete t.caf_timed_out,delete t.flex_rule,delete t.frame,delete t.js_error,delete t.no_ads_redirect,delete t.page_headers,delete t.page_request,delete t.page_loaded_callback,delete t.popup,delete t.screen_resolution,delete t.user_has_ad_blocker,delete t.user_preference,delete t.user_supports_darkmode,delete t.user_using_darkmode,delete t.zeroclick,e.append("signature",encode(t)),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}?${e.toString()}`}return n}))}get baseURL(){const e=new URL(this._baseURL.origin);return e.searchParams.append(ADS_PARAM,"1"),this._baseURL.searchParams.forEach(((t,n)=>{e.searchParams.append(n,t)})),e}get pageOptions(){const e=Object.assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((t=>{t.startsWith("bodis")&&delete e[t]})),e}get cannotLoadAds(){return!this.ads.loaded}get wantsToServeAds(){return new URLSearchParams(window.location.search).has(ADS_PARAM)}get adsMode(){return this.ads.loaded&&this.wantsToServeAds}get adsReady(){return this.wantsToServeAds&&!this.cannotLoadAds}get noAdsRedirectUrl(){const e=new URLSearchParams(window.location.search);return KNOWN_CAF_PARAMS.forEach((t=>e.delete(t))),`${window.location.origin}?${e.toString()}`}get callbacks(){return this.ads.toCallbacks()}toContext(){return Object.assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())}}class CookieConsentManager{constructor(){this.injectScriptTag=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.setAttribute("src",COOKIE_CONSENT_JS_URL),t.addEventListener("load",(()=>this.awaitConsent(e))),t.addEventListener("error",(()=>e(!1))),document.head.appendChild(t)}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){this.injected||!COOKIE_CONSENT_JS_URL||isLocal()||(this.injected=yield this.injectScriptTag())}))}awaitConsent(e){let t=0;const n=setInterval((()=>{t+=1,20===t&&(clearInterval(n),e(!0)),void 0!==window.__tcfapi&&(window.addEventListener("ConsentActivity",(t=>{const{detail:{status:n}}=t;n&&e(!0)})),clearInterval(n))}),50)}}class App{main(){var e,t;return __awaiter(this,void 0,void 0,(function*(){if(this.parkResponse=decode(),this.findDomainResponse=yield getFindDomain(),!this.findDomainResponse)throw new Error("Domain failed to load.");this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,yield this.adblock.inject(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock,buildSignature({context:this.context,callbacks:null===(t=this.google)||void 0===t?void 0:t.callbacks},"click")),this.google.injectTagManager();const n=Parking.build(this.findDomainResponse,this.google);Render.prerender(n),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let i=Failed.cannotPark(this.findDomainResponse);if(i)return void(yield this.transitionToFailed(i));yield this.google.injectAds();const s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s));const a=Sales.build(this.findDomainResponse);if(a)return void(yield this.transitionToSales(a));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const o=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);o?yield this.transitionToRedirect(o):(i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i):yield this.transitionToParking(n))}))}transitionToParking(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.template(e),Render.revealPage(),yield this.google.waitForBlocks(),yield this.track()}))}transitionToRedirect(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e;const t=this.track();Render.revealPage(),yield waiter(e.delay,(e=>Render.loading(e))),yield t,window.location.href=e.url,log(`➡ Redirecting [${e.url}]`)}))}transitionToFailed(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.revealPage(),yield this.track()}))}transitionToSales(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,e.init(this.context),yield this.track()}))}transitionToDisabled(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.revealPage(),yield this.track()}))}track(){var e;return __awaiter(this,void 0,void 0,(function*(){if(!this.state.track)return Promise.resolve();try{const t=this.state.trackingType;return null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),trackVisit({context:this.context,callbacks:this.google.callbacks},t)}catch(e){return}}))}get eligibleForZeroClick(){const{cannotPark:e,canZeroClick:t,zeroClick:n}=this.findDomainResponse,{cannotLoadAds:i,wantsToServeAds:s}=this.google;return!!t&&(!!e||(!(!i||s)||!!(null==n?void 0:n.reason)))}get context(){var e,t,n,i;const s=this.findDomainResponse,a=this.parkResponse,o=null===(e=this.state)||void 0===e?void 0:e.toContext(),r=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),d=null===(n=this.google)||void 0===n?void 0:n.toContext(),c=browserState(),l=Object.assign(Object.assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({app_version:APP_VERSION},s),a),r),d),o),c),{zeroClick:l})}init(){return __awaiter(this,void 0,void 0,(function*(){try{window.__parkour=this,yield this.main()}catch(e){console.error("app",e);const t=Failed.fromError(e);this.state=t,Render.message(t.message),Render.revealPage()}}))}}(new App).init(),exports.App=App}));