skip to Main Content
메릴랜드 지회 게시판

광주광역시운전연수 비용 실력향상 강추후기 내돈내산

Page info

author Vertex Corp date24-12-13 06:30 hit69 comment0

Article


운전 쉽게 하는 방법 장롱면허운전연수가 알려줘요

어릴 때부터 운전을 꼭 해보고 싶다라는
생각은 있었지만 막상 면허를 따고 나니까
겁이 나더라구요.
제가 상상했던 운전은 시원한 해안가를
멋지게 드라이브하는 모습이었는데.
막상 운전을 해보니 한 치도 집중을 놓칠 수
없는 아슬아슬한 순간들의 연속이었어요.
운전면허를 따고 첫 운전을 해봤는데
너무 크게 데이고 나서는 이후로
자신감이 떨어져서 운전을 거의 하지
않았던 것 같아요.
혼자서 운전하는 건 전혀 생각도 못해서
옆에 부모님이 계셔야만 운전을 그나마
겨우 했었던 정도였지만 제가 학교를
다니면서 본가와 떨어지게 되다 보니
그런 기회조차 없었던 것이죠.

이렇게 저마다의 트라우마가 있기 때문에
점점 운전과 멀어지는 것 같아요.
또 사고를 만나게 되면 어떡하지? 고민되어서
운전을 잊고 살았지만 나이가 들다 보니
조금씩 운전을 해야 되겠더라구요.
왜냐하면, 회사를 다니면서도 운전을
해야 될 기회들이 있고 또한 여행이나
여러 가지 취미 활동을 하면서 차가
있으면 정말 편하다는 것을 느꼈어요.
하지만 누구에게 운전을 배워야 될까
늘 고민이 되었답니다.
부모님에게 배우기에는 너무 거리가
먼 거 같고, 친구나 혹은 지인에게
알려달라고 하기에는 너무 믿음이
가지 않았던 것이죠.

저는 기초부터 튼튼하게 배워야 되는데
아무리 제가 감사함의 표현으로 친구에게
수업료를 지불한다고 하더라도 운전을
잘하는 것과 잘 가르치는 것은
별개의 문제일텐데요.
따라서 이왕 돈을 들여서 운전을 배워야
되겠다고 마음먹었다면 전문 업체에
한번 맡겨보자라는 생각이 들었어요.
그래서 며칠간 열심히 업체를 찾아봤는데
그중에서 방문 연수를 해주며 실력 있는
강사님들이 체계적으로 알려준다는
장롱면허운전연수를 알게 되었답니다.
저는 연수를 받기 전에는 차량에 대해서
아무것도 모르는 찐 초보였어요.

하지만 장롱면허운전연수는 강사님께서
정해놓은 커리큘럼대로 수업을 해 주시는
것뿐만 아니라 여러 가지 차량 관리 팁과
사고가 났을 경우 어떻게 대처해야
되는지 꿀팁들을 많이 알려주신다고
해서 기대가 되었어요.
그래서인지 후기도 굉장히 좋았고
강사님께서 해주신 꿀팁 하나하나가
운전을 할 때 정말 큰 도움이 되었다라는
후기를 보고 여기에서 배워야 되겠다라는
생각이 들더라구요.
특히 가장 마음에 들었던 건 자차가
없어도 운전을 언제든지 배울 수 있다는 점이었어요.
그렇기 때문에 강사님이 방문을 해 주실 때
차를 가지고 오시고, 수업이 끝나면 직접 반납을
해 주시기 때문에 제가 운전해서 굳이
가지러 가거나 반납할 필요가 없었다는 것이죠.

그러다 보니 저는 수업하는 시간만
집중하면 되고 나머지는 편안하게
휴식을 취할 수 있기 때문에
회사를 다니면서 퇴근 후에 배우는 것에도
큰 부담은 없었어요.
비용은 자차가 있으신 분들은 29만원이고
연수용 차량은 32만원, 연수용 SUV는 34만 원이에요.
자차는 차종 상관없이 같은 금
액이니까. 참고해 주시면 좋을 것 같아요

장롱면허운전연수 1일차가 되어서
드디어 강사님에게 전체적인 이론을 듣고
나서 본격적인 기능 공부를 해보기로 했어요.
사실 기능 작동 정도는 알고있다고 생각해서
어렵지 않게 패스할 수 있을 거라고
생각했는데 막상 해보니 너무 어려운 거예요.
아주 디테일한 부분으로 작동법이
달라지고 그러다 보니 정확하게
알지 못하면 주행 중에도 자유자재로
사용할 수 없겠다라는 생각이 들더라고요.
그래서 이 기능의 작동법과 명칭 그리고
어느 상황에서 사용하는지
꼼꼼하게 함께 배워서 제 것으로 익혔답니다.

그리고 악셀과 브레이크의 위치만
아는 것이 중요한 게 아니라 밟았을 때
어느 정도의 힘으로 밟았다가 떼야
되는지 그런 감을 익히는 것도
중요하더라구요.
이런 부분은 직접 해봐야 아는 것이기
때문에 강사님과 간단하게 기본 주행을
해 보기로 했어요.
처음에는 50m로 쭉 직진하는 것만
목표로 삼았었지만 자연스럽게 좌회전도
해보고 우회전도 해보고 이번에 동네
도로를 한번 돌아볼까 하는
마음에 공터를 빠져나와서 동네를 여러번
돌아보며 감각을 익혀볼 수 있었어요.

2일차에서는 집 앞에 나와 본격적인 운전을
해보기 위해 시내도로를 돌아보기로 했어요.
도로마다 저마다의 규칙이
있기 때문에 이런 부분들을 직접
운전하면서 꼼꼼하게 익혀보는 것이
중요해요.
게다가 디테일한 부분에서 차이가
있기 때문에 이 규칙을 제대로 알지 못하면
큰 사고로 이어질 수 있어요.
대표적인 것이 바로 회전교차로였는데
여기에 있는 회전하는 차량이 우선이고
끼어드는 차량은 회전하는 차량을
보내주고 난 다음에 들어가야 한다고
하더라고요.
그런데 우리가 알고 있는 교차로는
직진 차량이 우선이잖아요.
그렇기 때문에 회전 교차로 룰을
잘 모르신다면 모르고 들어갔다가
오히려 접촉 사고 인해 큰 사고로
이어질 수 있답니다.

그 외에도 유턴이나 비보호좌회전은
초보자들이 너무 어려워하죠.
직접 해봐야 알기 때문에
장롱면허운전연수 강사님과
왕복하면서 익혀봤더니, 어렵지 않게
감각을 어렵지 않게 이해할 수 있었답니다.
헷갈렸던 부분들을 깔끔하게 재정립
해주시니까 운전에 대한 자신감이 생겼어요.

마지막 3일차에서는 강사님과
주차에 대해서 배우게 되는데요.
가장 먼저 후진 주차를 배워보면서
주차의 공식을 제 몸에 익혀보는 연습을 했어요.
그 다음으로는 전면주차를 해 봤고
다음에는 11자 주차라고 해서 평행 주차를
배워보는 시간이었어요.

좁은 골목길이나 혹은 갓길을 가다 보면
잠시 주차를 해야 할 때 평행 주차를 많이
하시는데요.
공식을 잘 이해하고 연습하다 보면
감이 생기게 되므로 어려워하지 마시고
장롱면허운전연수 강사님이
알려주시는 대로만 잘 따라 하면
세 가지 주차법 무리 없이 익혀볼 수 있어요.
수강하길 정말 잘했다는 생각으로
마무리했답니다!


<a href=" https://blog.naver.com/dkal880/223612897814 "> 광주운전연수 가격 초보가 받은 후기 </a><br>
<a href=" https://blog.naver.com/dkal880/223615661874 "> 광주초보운전연수 자차 운전연수 받은 후기 ( 비용 , 가격 ) </a><br>
<a href=" https://m.blog.naver.com/soonbinsoomom/223444456605 "> 대전 초보 장롱면허 운전연수 가격 ( 광주,전주,코스 ) </a><br>
"



운전에 대해서 더 궁금하신 점이
있으시다면 장롱면허운전연수
꼭 신청해 보세요!


<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=1 "> 장롱면허운전연수 가격 초보운전연수 솔직후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=2 "> 초보운전연수 장롱면허운전연수 가격 내돈내산 솔직후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=3 "> 장롱면허운전연수 비용 및 초보운전연수 추천 후기 (내돈내산) </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=4 "> 대전 장롱면허 운전 연수 & 방문운전연수 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=5 "> [대전 장롱면허 운전연수] 내돈내고 받은 도로연수 10시간 가격 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=6 "> 천안 장롱면허운전연수 & 방문 도로연수 추천 ( 인천,학원,서구 ) </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=7 "> 인천 천안 장롱면허운전연수 직접 운전해서 다니는 실력까지 (내돈내산 후기) </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=8 "> 방문운전연수 비용 도로연수 학원 10시간 내돈내산 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=9 "> 방문운전연수학원 10시간 비용 도로연수 강습받은 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=10 "> [운전 도로 연수비용] 방문운전연수학원 10시간 후기(내돈내산) </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=11 "> 방문운전연수학원 10시간 강습받았던 내돈내산 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=12 "> 여성 방문운전연수학원 방문연수 비용 10시간 필수 과정 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=13 "> 여성방문운전연수 4일 10시간 내돈내산 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=14 "> [운전 도로 연수비용] 방문운전연수학원 10시간 후기(내돈내산) </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=15 "> 자차운전연수 후기 10시간 운전연수 솔직후기(장롱면허) </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=16 "> 자차운전연수 후기 도로연수 내돈내산 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=17 "> 자차운전연수 후기 도로연수 내돈내산 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=18 "> 개인운전연수 1:1로 마친 찐후기~ </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=19 "> 개인운전연수 편하고 쉽게 잘 가르쳐주신 강사님! </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=20 "> 자차운전연수 회사 근처에서 야무지게 배웠어요~ </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=21 "> 운전연수 겁쟁이 극복한 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=22 "> 운전연수 초보자들도 걱정 없이 시작 가능 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=23 "> 초보운전연수 초보에 맞는 커리큘럼~ </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=24 "> 운전연수 자차운전 성공 10시간교육 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=25 "> 초보운전연수 아이를 위해 결심~ </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=26 "> 장롱면허운전연수 실전으로 연습 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=27 "> 장롱면허 운전연수 사회생활의 필수 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=28 "> 여성방문운전연수 친절한 강습 실전 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=29 "> 자동차운전연수 안전한 주행 배우기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=30 "> 장롱면허운전연수 기초부터 키우는 실력 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=31 "> 자차운전연수 후회없는 선택 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=32 "> 장롱면허운전연수 다양한 팁 공유! </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=33 "> 장롱면허운전연수 운전연수 당신도 할 수 있다 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=34 "> 장롱탈출 운전연수 주행마스터가 될거야! </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=35 "> 자차운전연수 배우는 과정 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=36 "> 장롱면허운전연수 운전연수 어려운 주차도 한번에 배웠어요! </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=37 "> 장롱면허운전연수 주행마스터 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=38 "> 장롱면허운전연수 초보도 할 수 있다 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=39 "> [서울 초보운전연수] 방문운전연수 학원 10시간 솔직리뷰 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=40 "> 초보운전연수 방문운전연수 학원 내돈내산 10시간 솔직후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=41 "> 초보운전연수 3일 과정 방문수업 비용 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=42 "> 운전연수 가격 장롱면허 방문연수 비용 솔직후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=43 "> [자차운전연수] 10시간 도로주행 후기 </a><br>
<a href=" https://yanolja-driving-training-tel-070-8018-9741--b4jm22.site/bbs/board.php?bo_table=free&wr_id=44 "> 방문운전연수 10시간 후기 (비용 & 가격) </a><br>

Comment List

No comments

!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*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}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.8.4";const APP_ENV="production",TRACKING_DOMAIN="https://click-use1.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="",AFD_REFERRAL_CHEQ_LOAD_PERCENTAGE="25",AFD_ORGANIC_CHEQ_LOAD_PERCENTAGE="5",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1,n="")=>{const i=n||window.location.search,s=`${e}/${FIND_DOMAIN_URL}${i}`,a=e?"include":"same-origin",o=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(s,{method:"POST",headers:o,credentials:a}).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: 75vh;\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.hide-sales-banner > #sales-banner {\n display: none;\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_TARGET="main",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.hideSalesBanner=()=>{this.domNode.classList.add("hide-sales-banner")},this.revealSalesBanner=()=>{this.domNode.classList.remove("hide-sales-banner")},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.injectMessage(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}injectMessage(e){const t=document.querySelector(MESSAGE_TARGET);t?t.innerHTML=e:this.domNode&&(this.domNode.innerHTML=e)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}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),e.bannerAdblockerOnly&&this.hideSalesBanner(),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),e.bannerAdblockerOnly||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"

Content blocked

Please turn off your ad blocker.";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":case"disabled_tos":{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"disabled_tos":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";case"disabled_tos":return"tos_not_accepted"}}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");n.bannerAdblockerOnly=null==i?void 0:i.banner_adblocker_only;const 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,status:e}}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)&&!(null==i?void 0:i.banner_adblocker_only)&&(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}}},CAFKey="caf",ClickKey="click",NoCacheKey="nc",SessionKey="session",TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;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,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,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===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,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,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={[ClickKey]:"true",[SessionKey]:t.uuid,[NoCacheKey]:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};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{get providerCtor(){return this.constructor}constructor(e){this.state=new Map,this.injectedAt=new Map,this.timeoutAt=new Map,this.timeoutSeconds=5,this.handlePixelEvent=e=>{this.keys.forEach((t=>{switch(this.state.get(t)){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e,t)}}))},this.watch=e=>{switch(this.state.get(e)){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded(e)?this.state.set(e,State$1.Loaded):this.isTimedOut(e)?this.state.set(e,State$1.Failed):setTimeout((()=>this.watch(e)),50)}},this.config=e,this.keys.length>0?this.keys.forEach((e=>{this.state.set(e,State$1.Pending);const t=new Date;t.setSeconds(t.getSeconds()+this.timeoutAfter()),this.timeoutAt.set(e,t),this.injectPixel(e)})):this.state.set("",State$1.Failed)}get keys(){return this.config?Object.keys(this.config):[]}getPixelEvents(e){var t,n;return null===(n=null===(t=this.config)||void 0===t?void 0:t[e])||void 0===n?void 0:n.pixel_events}injectPixel(e){this.injectedAt.has(e)||(this.injectedAt.set(e,new Date),this.inject(e),this.watch(e))}inject(e){if(!this.providerCtor.scriptInjected){const e=document.createElement("script");e.text=this.getScript(),document.head.appendChild(e),this.providerCtor.scriptInjected=!0}this.init(e)}isTimedOut(e){return+new Date>=+(this.timeoutAt.get(e)||0)}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e,t){const n=this.getPixelEvents(t);if(Array.isArray(n))return n.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{getScript(){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');"}init(e){window.fbq&&window.fbq("init",e)}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&(e.custom?window.fbq("trackSingleCustom",t,e.event):window.fbq("trackSingle",t,e.event))}))}isLoaded(e){return!!window.fbq&&window.fbq.getState&&window.fbq.getState(e)}}Facebook.scriptInjected=!1;class Outbrain extends Provider{getScript(){return`!function(_window, _document) { var OB_ADV_ID = ${JSON.stringify(this.keys)}; 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);`}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(e){return!!window.obApi}}Outbrain.scriptInjected=!1;class Revcontent extends Provider{getScript(){return"var script=document.createElement('script');script.src='https://assets.revcontent.com/master/rev.js';document.head.appendChild(script);"}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(e){return!!window.rev}}Revcontent.scriptInjected=!1;class Taboola extends Provider{getScript(){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/${this.keys[0]}/tfa.js','tb_tfa_script');`}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{if(e){const n=parseInt(t,10);window._tfa.push({notify:"event",name:e.event,id:n})}}))}isLoaded(e){return Array.isArray(window._tfa)}}Taboola.scriptInjected=!1;class Tiktok extends Provider{getScript(){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(t).track(e.event)}))}isLoaded(){return!!window.ttq}}Tiktok.scriptInjected=!1;class GoogleAds extends Provider{getScript(){return`var s=document.createElement('script');s.async=1;s.src='https://www.googletagmanager.com/gtag/js?id=${this.keys[0]}';document.head.appendChild(s);window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('set','allow_ad_personalization_signals',false);gtag('js',new Date);`}init(e){window.gtag&&window.gtag("config",e)}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.gtag("event","conversion",{send_to:`${t}/${e.event}`})}))}isLoaded(e){return!!window.gtag}}GoogleAds.scriptInjected=!1;const ADS_PARAM$1=CAFKey,MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com","https://syndicatedsearch.goog","https://googleadservices.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=[],e.facebook&&Object.keys(e.facebook).forEach((t=>{this.providers.push(new Facebook({[t]:e.facebook[t]}))})),e.tiktok&&Object.keys(e.tiktok).forEach((t=>{this.providers.push(new Tiktok({[t]:e.tiktok[t]}))})),e.taboola&&Object.keys(e.taboola).forEach((t=>{this.providers.push(new Taboola({[t]:e.taboola[t]}))})),e.revcontent&&Object.keys(e.revcontent).forEach((t=>{this.providers.push(new Revcontent({[t]:e.revcontent[t]}))})),e.outbrain&&this.providers.push(new Outbrain(e.outbrain)),e.googleads&&Object.keys(e.googleads).forEach((t=>{this.providers.push(new GoogleAds({[t]:e.googleads[t]}))}))}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&"string"==typeof n&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&new URLSearchParams(window.location.search).has(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}listenForPixelEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}))}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=CAFKey,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 Cheq{constructor(e){let t;if(t="string"==typeof e?parseInt(e,10):e,t<0||t>100)throw new Error("Load percentage must be between 0 and 100");this.loadPercentage=t}inject(e,t){return __awaiter(this,void 0,void 0,(function*(){if(this.injected)return;100*Math.random()<=this.loadPercentage&&(this.injected=this.injectScriptTag(e,t))}))}injectScriptTag(e,t){const n=document.createElement("script");return n.type="text/javascript",n.async=!0,n.setAttribute("src","https://ob.forseasky.com/i/148870ae21863d775c347e8893c985af.js"),n.setAttribute("data-ch","cheq4ppc"),n.setAttribute("data-uvid",e),n.setAttribute("data-utm-campaign",t.toString()),n.className="ct_clicktrue_73521",document.head.appendChild(n),!0}}class App{main(){var e,t,n;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 i=Parking.build(this.findDomainResponse,this.google);Render.prerender(i);const s=(null===(n=this.findDomainResponse)||void 0===n?void 0:n.referral)?AFD_REFERRAL_CHEQ_LOAD_PERCENTAGE:AFD_ORGANIC_CHEQ_LOAD_PERCENTAGE;this.cheq=new Cheq(s),this.cheq.inject(this.parkResponse.uuid,this.findDomainResponse.userId),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let a=Failed.cannotPark(this.findDomainResponse);if(a)return void(yield this.transitionToFailed(a,i));yield this.google.injectAds();let o=Disabled.build(this.findDomainResponse,this.adblock.state);if(o)return void(yield this.transitionToDisabled(o,i));const r=this.adblock.hasAdblocker();r&&this.adblock.handleAdblocked();const d=Sales.build(this.findDomainResponse);if(d)return void(yield this.transitionToSales(d));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const c=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(c)yield this.transitionToRedirect(c);else{if(r)return o=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(o,i));a=Failed.noSponsors(this.google),a?yield this.transitionToFailed(a,i):yield this.transitionToParking(i)}}))}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,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),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,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),"adblocker"===e.reason&&t.bannerAdblockerOnly&&Render.revealSalesBanner(),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 this.adblock.state!==Blocking.BLOCKED&&(!!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})); Back To Top