Kampusgw.com

Menu

Profesiku: Kisah Seorang Perwira Pelayaran Niaga

Perkenalkan, nama saya Cahya Fajar Budi Hartanto, biasa dipanggil Fajar. Saya lahir di Semarang, 12 April 1982 dari keluarga yang sederhana dan besar di salah satu sudut perkampungan kota Semarang. Sama seperti kebanyakan anak di kampung tempat tinggal saya, sayapun bercita-cita untuk menjadi lebih sukses dari orang tua saya. Masa kecil saya penuh bayangan, suatu hari kelak saya akan bekerja dengan pakaian seragam seperti polisi atau tentara.

Seiring dengan berjalannya waktu, tahun 2000 saya lulus dari SMA dan harus memutuskan untuk melanjutkan kuliah. Saat itu saya dihadapkan pada keinginan menempuh studi keguruan tapi dilarang oleh ayah dengan alasan sama dengan profesi beliau dan keinginan ibu yang bekerja sebagai perawat agar saya menjadi dokter. Tapi menurut saya itu di luar kemampuan saya.

Sebagai lulusan dari SMA favorit di kota Semarang, ujian masuk PTN seolah memaksa saya untuk memilih jurusan yang juga favorit pada masa itu, Arsitektur. Namun, setelah saya telusuri lebih lanjut ada biaya yang cukup besar dan saya tidak mau merepotkan orang tua saya sehingga meskipun sudah lolos tes, saya tidak melanjutkan tahapan berikutnya.

Pada bagian awal kisah ini, saya ingin menggaris bawahi satu hal yang cukup penting saat menentukan pilihan kuliah, yaitu galilah sebanyak mungkin informasi terkait jurusan yang akan kita tuju, sekali salah memilih maka akan fatal akibatnya. Informasi bisa diperoleh dari perguruan tinggi atau fakultas yang dituju atau dari kakak kelas yang sudah lebih dulu menempuh studi di sana. Dengarkan juga pertimbangan orang tua meskipun tidak harus menuruti 100% keinginan mereka jika itu kita sadari tidak sesuai passion kita.

Kisah berlanjut, dimana akhirnya aku memutuskan untuk masuk ke Akademi Pelayaran Niaga Indonesia (Akpelni). Ini bermula dari obrolan dengan ayah saya yang mengingatkan saya pada kegagalan saya saat mendaftar ke SMA dengan gaya pendidikan ala militer tahun 1997 silam. Memori itu bak gayung bersambut ketika saya mencoba datang ke Akpelni, saat saya melihat mahasiswa (di kampus ini disebut Taruna) yang berjalan tegap dengan seragamnya yang gagah, mengingatkan saya pada angan-angan di masa kecil saya dulu. Tidak berpikir panjang, saya sampaikan keinginan saya pada orang tua yang tentu sangat kaget mendengar bahwa anaknya akan menempuh pendidikan sebagai seorang calon perwira kapal niaga yang harus bekerja jauh dari keluarga. Tapi tekad menjadi Taruna tidak bisa dibendung lagi dan proses pendidikan saya jalani dengan restu orang tua.

Pendidikan di Akpelni tergolong keras bagi saya terutama pada masa pembinaan fisik dan mental yang harus dijalani sebelum masuk dalam rangkaian proses perkuliahan. Seringkali saya merasa ingin menyerah, tapi setiap kali rasa itu muncul, setiap kali itu pula saya ingat perjuangan orang tua saya dalam mempersiapkan biaya studi dan saya hadirkan bayangan membahagiakan mereka setelah selesai kuliah. Itulah motivasi terbesar saya dalam menjalani hari-hari perkuliahan saya yang sarat dengan disiplin super ketat ala militer.

Meskipun Akpelni memang kampus sipil tapi untuk menggembleng mental tarunanya, mereka menggunakan Instruktur dari TNI AL dan juga Kepolisian. Hal ini sangat bisa dimaklumi karena dunia kerja lulusan Akpelni nantinya di laut atau sektor kemaritiman yang menuntut kehandalan dalam menghadapi banyaknya tantangan. Sekilas saya akan jelaskan tentang almamater saya sebelum berlanjut ke kisah profesi saya setelah lulus dari kampus ini.

Akpelni adalah pendidikan tinggi vokasi yang berdiri sejak 17 September 1964 dan dikelola oleh Yayasan Wiyata Dharma. Ada 3 program studi yang ketiganya sudah mendapat Akreditasi dari Badan Akreditasi Nasional Perguruan Tinggi (BAN-PT) dengan predikat B yaitu Nautika, Teknika, dan Ketatalaksanaan Pelayaran Niaga dan Kepelabuhanan (KPN). Program studi Nautika mengajarkan tentang bagaimana bernavigasi dengan efektif dan efisien dalam membawa muatan atau penumpang menggunakan sarana transportasi laut yaitu kapal niaga. Program studi Teknika mengajarkan tentang permesinan kapal niaga termasuk pengoperasian, perawatan, dan perbaikannya sehingga menunjang keselamatan pelayaran dan perlindungan lingkungan laut. Program studi KPN mencetak tenaga sektor maritim yang bekerja di darat, (shore-based), seperti di perusahaan pelayaran, keagenan, asuransi, ekspedisi muatan, pergudangan, dan masih banyak instansi terkait pengelolaan pelabuhan dan pengoperasian kapal. Program studi Nautika dan Teknika juga memiliki pengesahan (Approval) dari Kementerian Perhubungan melalui Direktorat Jenderal Perhubungan Laut. Hal ini karena selain bergelar Ahli Madya dengan ijazah D-III, lulusan kedua program studi tersebut juga diberikan sertifikat kompetensi profesi sebagai Ahli Nautika Tingkat-III atau Ahli Teknika Tingkat-III. Pendidikan dilaksanakan 4 semester di kampus (untuk KPN 5 semester) dan 2 semester di kapal (untuk KPN 1 semester di perusahaan atau instansi terkait), tentunya dengan kurikulum yang lebih dari 60%-nya adalah praktek yang lebih fokus pada penguasaan keterampilan.

Lulus dari Akpelni tahun 2004, saya kembali ke perusahaan tempat saya melaksanakan praktek kerja lapangan, yang langsung memberikan saya kesempatan mulai berkarir sebagai perwira dek junior di salah satu armadanya yang berlayar antar samudera (foreign going). Saya keliling dunia di atas kapal bernama MT. Aditi dengan awak kapal dari berbagai bangsa. Saat inilah kompetensi kita sebagai lulusan perguruan tinggi maritim sesungguhnya mulai diuji. Perwira kapal niaga dalam menjalankan profesinya tunduk pada International Maritime Organization melalui konvensi-konvensi yang telah ditetapkan dan berlaku secara Internasional, salah satunya adalah Standard of Training, Certification, and Watch Keeping for Seafarers (STCW) 1978 beserta amandemennya.

Untuk menjadi pelaut yang profesional, kita harus memenuhi seluruh tuntutan keahlian dan keterampilan di dalam STCW tersebut. Beberapa kriteria atau kompetensi yang dipersyaratkan antara lain memiliki kemampuan bernavigasi dengan menggunakan bantuan obyek darat, benda angkasa, maupun peralatan navigasi elektronika, mampu merespon keadaan darurat sesuai prosedur yang tepat, mampu menangani proses bongkar-muat dan mempertahankan stabilitas kapal, mengerti aspek keselamatan pelayaran dan perlindungan lingkungan laut, siap mengaplikasikan peraturan atau hukum yang berlaku di bidang kemaritiman, serta tentunya mampu berbahasa Inggris dengan menggunakan Standard Marine Communication Phrases. Dokumen-dokumen yang harus disiapkan antara lain Seaman Book, Passport, Medical Certificate yang sesuai standar Balai Kesehatan Kerja Pelayaran, Certificate of Competency, dan Certificate of Proficiency yang cukup banyak mulai dari yang tingkat dasar sampai yang lanjutan sesuai spesifikasi jenis kapalnya.

Selain itu, untuk bekerja pada jabatan tertentu di kapal, diperlukan Certificate of Endorsement sebagai pengukuhan kewenangan kita untuk bekerja di kapal ukuran berapa dan menjabat sebagai apa. Kalau berbicara soal jenjang karir di profesi saya ini, secara normal akan dimulai dari jabatan mualim junior, kemudian seiring dengan pengalaman masa berlayar dan peningkatan sertifikat keahlian, akan terus menanjak ke mualim senior hingga mencapai puncak karier sebagai Nakhoda.

Setelah bekerja selama hampir 3 tahun pertama terhitung sejak lulus kuliah, saya melanjutkan program sertifikasi Ahli Nautika Tingkat-II di Politeknik Ilmu Pelayaran (PIP) Semarang dan lulus tahun 2008. Kemudian saya kembali ke laut hingga tahun 2011 saya duduk lagi di bangku studi untuk menempuh program sertfikasi Ahli Nautika Tingkat-I di Balai Besar Pendidikan, Penyegaran, dan Peningkatan Ilmu Pelayaran (BP3IP) Jakarta. Dengan selesainya masa pendidikan dan pelatihan (diklat) saya tersebut, maka saya berhak mendapatkan pengakuan predikat sebagai Master Mariner (disingkat M.Mar.) sesuai dengan Peraturan Pemerintah Republik Indonesia Nomor 7 tahun 2000 tentang Kepelautan.

Sebagai perwira dek, saya termasuk beruntung karena dapat menapak cukup cepat di karier laut saya. Hanya 6 bulan saya menjabat sebagai Mualim-IV, saya kemudian mendapat promosi jabatan menjadi Mualim-III. Tugas Mualim-IV adalah membantu Mualim-I dan Nakhoda mengurus dokumen muatan dan kapal. Sementara Mualim-III bertugas merawat peralatan keselamatan jiwa dan pemadam kebakaran. Hanya di satu kapal dengan satu kali kontrak saya menjabat Mualim-III, di kapal berikutnya saya langsung menjadi Mualim-II yang bertanggung jawab pada peralatan navigasi dan menjadi perwira medis kapal. Tipe kapal yang menjadi spesialisasi saya adalah kapal tanker, meskipun saya juga pernah menjadi Mualim-I dan Nakhoda di kapal dengan muatan komoditas umum (general cargo ship). Perusahaan dimana saya pernah bekerja adalah PT. Arpeni Pratama Ocean Line Tbk., First Delta Shipping Sdn.Bhd. (Malaysia), Hyundai Merchant Marine Co.Ltd. (Jepang), PT. Inti Energi Line, dan V.Ships (Asia Group) Pte. Ltd. (Singapura).

Saat saya menuliskan kisah tentang profesi saya sebagai perwira kapal niaga ini, saya sedang menjalani profesi lain yaitu sebagai dosen. Saya mengabdikan diri kembali ke almamater, tentunya dengan menempuh studi lanjut dari D-III ke S-1 dan S-2 yang disertai perjuangan panjang nan melelahkan. Satu hal yang ingin saya sampaikan di sini adalah jangan berhenti di satu level kehidupan, jika memang diperlukan keluarlah dari zona nyaman untuk meningkatkan prestasi yang gilang-gemilang.

Tentu pada kesempatan ini saya tidak akan berkisah tentang profesi dosen karena nanti akan jadi bias. Namun, saya hanya ingin menunjukkan juga pada generasi muda bahwa kuliah di perguruan tinggi maritim khususnya di jurusan kepelautan, tidak hanya menyiapkan untuk bekerja di kapal, tapi jika suatu saat hendak bekerja di darat, baik itu di perusahaan pelayaran, menjadi akademisi, atau bahkan berkarir di militer sekalipun, juga terbuka peluang yang sangat besar. Sampai saat ini meskipun saya mengajar di kampus, tapi sertifikat keahlian dan keterampilan pelaut saya yang harus di-updating setiap 5 tahun sekali, saat ini seluruhnya dalam kondisi aktif, sehingga jika sewaktu-waktu muncul keinginan untuk kembali berlayar, saya dapat mempergunakannya kembali.

Memang setiap profesi memiliki kisah suka-duka. Saya sebenarnya tidak ingin menyandingkan keduanya tapi supaya generasi penerus saya lebih siap, maka hal ini perlu saya ungkapkan di sini. Menjadi pelaut memang enak, bagaimana tidak, kita bisa keliling dunia tanpa biaya, bahkan kita dibayar oleh perusahaan. Saya pribadi sudah membuktikan dunia ini bulat dengan berlayar ke arah barat terus tanpa kembali ke timur, hingga kembali ke pelabuhan semula yaitu Singapura. Saya merasa sangat bahagia ketika berkesempatan merasakan 4 musim di negara lain yang tentu tidak dapat kita temui di Indonesia. Bertemu dengan banyak orang dari berbagai belahan dunia, mengunjungi tempat-tempat bersejarah, menikmati fasilitas transportasi umum yang nyaman, adalah beberapa hal yang jelas kita bisa rasakan selain tentunya tawaran gaji yang sangat menggiurkan.

Gaji terbesar di sepanjang karier saya adalah ketika perusahaan membayar saya sebesar US 5.500 setiap bulan untuk bekerja sebagai Mualim-II di kapal dengan deadweight 96.920 MT pada tahun 2010 dengan kontrak 9 bulan. Ini tentu jumlah yang sangat besar bagi seorang anak muda yang baru lulus dari kuliah 6 tahun sebelumnya. Tapi di balik kisah bahagia itu, tentu ada risiko yang harus dihadapi. Ancaman cuaca yang tidak menentu adalah salah satunya. Kita harus sangat familiar dengan tanda-tanda alam dan selalu memanfaatkan bantuan alat pemantau cuaca untuk mempersiapkan diri berlayar di cuaca yang tidak bersahabat.

Selain cuaca buruk, risiko kecelakaan transportasi disebabkan kelalaian juga sangat banyak terjadi di industri pelayaran kita, bahkan sampai hari inipun hal ini masih harus mendapat perhatian serius. Satu hal yang paling berat saya rasakan dalam menjalani profesi ini adalah ketika saya harus jauh dari keluarga tercinta. Setiap kali akan berangkat memulai kontrak baru, saya selalu merasakan kegetiran dalam diri karena harus meninggalkan keluarga tanpa tahu apa yang akan terjadi di kemudian hari saat saya sedang berada di tengah samudera raya. Hal ini yang ditanamkan oleh perguruan tinggi maritim dengan sistem asramanya.

Taruna dibiasakan dari sejak menjalani pendidikan untuk hidup mandiri sehingga terbebas dari ‘penyakit’ yang dikeluhkan oleh perusahaan pelayaran selaku pengguna lulusan, yaitu rindu rumah (homesick). Hal lain yang juga perlu disiapkan adalah ketahanan mental kita menghadapi pandangan negative masyarakat yang terlanjur melekat pada diri pelaut, meskipun hal itu kini sudah mulai pudar. Satu hal yang perlu diingat, apapun profesi kita pasti aka nada suka-duka, kita tidak bisa mencintai satu profesi hanya karena sukanya tapi tidak mau menjalani dukanya.

Sebagai penutup, ijinkan saya menyampaikan kepada generasi muda sekalian. Bangsa kita, negara kita, Indonesia, terkenal sebagai bangsa maritim, negara maritim. Suka atau tidak suka, kita memiliki banyak pulau yang terpisah dan laut adalah penghubungnya. Bahkan ada satu lagu yang sangat terkenal yaitu ‘Nenek Moyangku Seorang Pelaut’. Maka perhatikanlah bahwa selama lautan belum kering, masih terhampar luas ladang pekerjaan kita. Ada satu pepatah atau slogan masyarakat Bugis-Makassar yang berbunyi ‘Kualleangi Tallanga Natoalia’ yang diartikan ‘Sekali Layar Terkembang, Pantang Biduk Surut ke Pantai’. Ini memberikan semangat kepada kita, bahwa hambatan apapun akan dapat kita hadapi kalau kita yakin dan tetap semangat dalam berusaha menggapai cita-cita kita, tentunya dengan disertai iringan doa tulus sepenuh hati. Apapun profesi kita, yakini bahwa ada rencana Tuhan di balik setiap tugas dan tanggung jawab yang diamanahkan pada profesi kita tersebut. Saya tunggu kabar berikutnya dari kalian generasi muda penerus bangsa, kibarkan panji-panji kejayaan Merah-Putih di Tujuh Samudera. Salam Bahari Adhi Guna!

 

Ditulis oleh :

Cahya Fajar Budi Hartanto, M.Mar., M.Si.

Kantor    :  Kampus Akpelni, Jl. Pawiyatan Luhur II No. 17 Bendan Dhuwur – Semarang

Rumah    :  Jl. Malabar I No. 662 RT. 02 RW. 04 Kp. Kalilangse, Gajahmungkur – Semarang

Ponsel    :  081390710987

Surel       :  fajar.ikaba@gmail.com

Categories:   Sosok

Comments

  • Posted: Mar 23, 2017 03:16

    dedi

    Mewakili suara dari para taruna kemaritiman. Menginspirasi
  • Posted: Mar 25, 2017 03:18

    Agus Sulistiya

    Pengalaman yang sangat inspiratif sukses selalu mas fajar
  • Posted: May 23, 2018 21:54

    Cahya Fajar

    Terima kasih atas comment-nya Mas Dedi dan Mas Agus Sulistya.
  • Posted: Jun 29, 2018 21:22

    Dimas Agum Wijaksono

    siap ijin bertanya. misalkan kita lulus dalam Prodi KPN di Akpelni dan ada juga saudara kita lulus dalam prodi Nautika. pertanyaan saya Apakah Seorang Lulusan KPN itu juga Bisa ikut Berlayar?
  • Posted: Nov 29, 2018 20:40

    Thomas

    Mas Saya Mau bertanya. Apakah tamatan IPS bisa kuliah di pelayaran? Saya baru tamat sekolah dan saya ingin jadi pelaut :)
  • mm

    Posted: Nov 30, 2018 13:13

    admin

    Wah sepertinya bisa ya Thomas. Semangat!
  • Posted: Feb 2, 2019 23:55

    Syihabudin Ahmad

    Assalamualaikum mas fajar , saya mau bertanya , Rencana lulus tahun ini mau lanjut ke Stimart AMNI Semarang dengan Prodi KPN , Tetapi saya ragu untuk dengan Prodi tersebut soalnya asli pengen banget ke Prodi Nautica tetapi syarat jurusan untuk Prodi tersebut syaratnya SMA Ipa dan SMK Jurusan Nautica sayangnya saya di SMK jurusan Otomotif , Pertanyaan saya adalah apakah Jurusan KPN Mempunyai peluang kerja yang banyak Mas ? , Terimakasih Mas Fajar , Wassalamualaikum wr eb
  • Posted: Feb 2, 2019 23:57

    Syihabudin Ahmad

    Assalamualaikum mas fajar , saya mau bertanya , Rencana lulus tahun ini mau lanjut ke Stimart AMNI Semarang dengan Prodi KPN , Tetapi saya ragu untuk dengan Prodi tersebut soalnya asli pengen banget ke Prodi Nautica tetapi syarat jurusan untuk Prodi tersebut syaratnya SMA Ipa dan SMK Jurusan Nautica sayangnya saya di SMK jurusan Otomotif , Pertanyaan saya adalah apakah Jurusan KPN Mempunyai peluang kerja yang banyak Mas ? , Terimakasih Mas Fajar , Wassalamualaikum wr wb
  • Posted: Aug 5, 2019 20:49

    Pangkat mondiana sidik

    Terimakasih bapak sudah menjadi motivator saya saat pertama kali bertemu... Tetaplah menjadi virus virus positip untuk anak muda bapak.. ??????
  • mm

    Posted: Aug 21, 2019 16:33

    admin

    Siap.
  • Posted: May 20, 2020 00:56

    Fian

    Mohon nanya kak apakah lulusan pelayaran bisa masuk TNI

error: Content is protected !!
!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.5.1";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="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).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,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),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"

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":{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,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)&&(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,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,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={click:"true",session:t.uuid,nc: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{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","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=[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();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s));const a=this.adblock.hasAdblocker();a&&this.adblock.handleAdblocked();const o=Sales.build(this.findDomainResponse);if(o)return void(yield this.transitionToSales(o));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const r=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(r)yield this.transitionToRedirect(r);else{if(a)return s=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(s));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 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}));