Kampusgw.com

Menu

Tips Selesai S2 & S3 dengan Cepat Nangkula Utaberta: Lulus S2 dalam 6 bulan dan S3 dalam 2 tahun

       Dosen ialah salah satu profesi yang masih diminati oleh generasi muda Indonesia saat ini. Alasannya beragam. Menyalurkan passion, terpanggil untuk menginspirasi, membagi ilmu, ibadah, sebagai bentuk pelayanan terhadap sesama dan seterusnya.

Untuk menjadi dosen yang keren, setiap individu seyogyanya telah menamatkan pendidikan Strata 2 dan Strata 3. Meskipun begitu, praktek di lapangan tidak selamanya demikian. Banyak dosen yang masih bergelar S2, bahkan tidak sedikit yang masih berstatus S1.

Pertanyaan yang sering dilontarkan oleh para mahasiswa S1 ialah, “kapan waktu terbaik untuk melanjutkan S2 dan S3 jika memang bercita-cita menjadi dosen?” Jawabannya memang relatif. Ada kelompok yang menyarankan seorang Sarjana untuk bekerja di luar akademik agar “pengalaman lapangan” ada. Ada pula yang sebaliknya. Semakin cepat meraih S3, semakin cepat seseorang untuk menebarkan manfaat di bidang pendidikan.

Di Indonesia sendiri, rata-rata dibutuhkan 4 semester untuk meraih Master dan 5 tahun di meraih Doktor. Kendati ada yang memerlukan waktu lebih singkat dan lebih lama. Namanya juga rata-rata hehe.

Nah, kali ini Kampusgw.com beruntung banget. Pasalnya, berhasil mewawancarai salah satu diaspora cemerlang di negeri jiran Malaysia. Jebolan S1 Arsitektur Universitas Indonesia ini sekarang dikenal sebagai salah satu dosen paling keren di bidangnya. Selain itu, sosok yang telah menulis puluhan buku ini lulus dengan masa studi yang mengagumkan.

Ada yang bisa tebak berapa? Ya, memang sangat cepat. Beliau menyelesaikan pendidikan S2 dengan masa studi 6 bulan dan jenjang S3 dalam waktu 2 tahun. Bagaimana prestasi itu bisa tercapai? Apa saja rahasianya? Yuk kita bongkar sekarang.

 

Siapa nama lengkap Bapak?

Nama lengkap saya Nangkula Utaberta.

 

Apa kesibukan Bapak sehari-hari?

Saya adalah Profesor Madya di Jabatan Seni Bina (Arsitektur), Fakulti Reka Bentuk dan Seni Bina, Universiti Putra Malaysia. Di Universitas ini saya mengajar 2-3 mata kuliah setiap semester. Saat ini saya menyelia atau membimbing lebih dari 20 orang Mahasiswa S2 dan S3 beserta beberapa orang mahasiswa S1 tahun akhir.

Di samping mengajar, saya juga mengetuai group riset WARIS (Warisan Alam Budaya dan Reka Bentuk Islam) atau dalam Bahasa Inggrisnya Culture and Heritage of Islamic Design-Research Group. Riset group kami tahun ini menjalankan lebih dari 30 research grant yang aktif dengan lebih dari 20 orang research assistant dan lebih dari 70 orang Mahasiswa Pasca Sarjana yang bernaung di bawah group riset kami.

Kami juga dituntut untuk menerbitkan berbagai penulisan ilmiah dalam bentuk jurnal yang terindeks SCOPUS atau ISI di samping buku ilmiah, prosiding seminar dan conference juga berbagai laporan teknis dan populer.

 

Bisa diceritakan latar belakang pendidikan Bapak?

Saya menyelesaikan S-1 dari Jurusan Arsitektur, Fakultas Teknik, Universitas Indonesia.  Pada tahun 2003 untuk kemudian melanjutkan S2 dan S3 ke Universitas Teknologi Malaysia yang saya (Alhamdulillah) selesaikan selama 6 bulan dan 2 tahun pada 2004 dan 2007.

 

Apakah sejak kecil Bapak bercita-cita sebagai pengajar?

Cita –cita saya sejak kecil adalah menjadi seorang Arsitek karena saya suka melukis dan menggambar. Di sisi lain, saya juga suka bercerita dan membagi ilmu ke orang lain. Dari sinilah yang saya merasakan menjadi pengajar sekaligus arsitek ssebagai sebuah profesi yang sangat sesuai untuk saya.

 

Sebenarnya, apa panggilan hidup Bapak?

Saya selalu bermimpi untuk membantu orang lain berhasil dalam hidup mereka. Itu sebabnya saya senang sekali ketika ada anak bangsa yang berminat untuk melanjutkan kuliah S2 atau S3 mereka. Panggilan hidup saya adalah membesarkan riset group saya ke tingkat internasional untuk kemudian membantu dan memberikan beasiswa kepada putra-putri bangsa kita yang ingin melanjutkan kuliah mereka baik di Indonesia ataupun di luar negeri.

 

Apa suka duka Bapak sebagai dosen?

Mengajar di depan kelas atau berbagi sedikit ilmu yang ada pada kita di kuliah umum, seminar ataupun forum internasional selalu membahagiakan hidup saya. Melihat hasil penelitian kita digunakan untuk kebaikan orang banyak juga sangat berbekas di hati saya. Saya selalu berdoa semoga yang sedikit waqaf ilmu yang kita sedeqahkan dapat membantu dan memberi makna kepada orang lain.

Kesedihan yang mendalam adalah ketika kita gagal mengajak mahasiswa kita ke arah yang lebih baik. Kadangkala kita melihat potensi besar pada diri mereka yang seringkali disia-siakan karena malas ataupun semangat perjuangan hidup mereka yang lemah.

 

Apa pengalaman paling mengesankan sejauh ini sebagai dosen?

Saya suka menulis baik itu populer ataupun ilmiah. Pengalaman paling mengesankan adalah ketika menerima Anugerah Buku Negara dari pemerintah Malaysia untuk 2 tahun berturut-turut pada tahun 2014 dan 2015 yang diserahkan langsung oleh Perdana Menteri dan Wakil Perdana Menteri Malaysia.

 

Apa saja kesibukan Bapak selain Tri Dharma Perguruan Tinggi? Apakah Bapak berkecimpung di bidang lain?

Kami mendirikan sebuah Centre yang bernama Centre for Mosques and Islamic Development (MID), dimana kami membantu merancang Masjid, Musholla dan beberapa bangunan secara gratis. Setiap tahun biasanya 4-5 Masjid atau bangunan akan kami tangani, sedikit sumbangan kami untuk orang banyak. Saya juga aktif mendokumentasikan kuliah-kuliah umum saya dalam bentuk buku dan video di Youtube.  Di samping itu saya banyak terlibat dalam pembangunan jaringan kerjasama Arsitektur Islam di Asia Tenggara dengan beberapa Universitas Islam dan Universitas Negeri dan Swasta di Indonesia dan Malaysia.

 

Di luar sana ada asumsi yang mengatakan bahwa sangat dianjurkan bagi anak muda yang bermimpi menjadi dosen untuk langsung melanjutkan S2 dan S3 tanpa jeda setelah tamat S1. Bagaimana tanggapan Bapak?

Saya rasa asumsi itu positif karena biasanya jika seorang mahasaiswa langsung melanjutkan ke S2 dan S3 setelah S1 mereka lebih fokus dan lebih cepat selesai. Dalam bidang saya, pengalaman bekerja sebagai seorang arsitek dapat diperoleh sambil anda menyelesaikan S2 atau S3, seperti dengan terlibat dalam centre MID (diatas). Jadi tidak perlu dikhususkan untuk bekerja dulu secara terpisah.

 

Dengan melihat usia Bapak sekarang ini, Anda telah mengantongi berbagai prestasi yang membanggakan. Sebenarnya berapa jam rata-rata Anda istirahat (tidur) setiap harinya?

Alhamdulillah saya menyelesaikan S2 pada usia 24 tahun, S3 pada usia 27 tahun dan menjadi Profesor Madya di usia 32 tahun. Semua ini atas izin dari Allah dan tidak lepas bantuan dari keluarga dan rekan-rekan saya.

Mahasiswa Arsitektur dan Arsitek selalu identik dengan begadang malam. Sebenarnya pendapat ini kurang tepat! Alhamdulillah saya jarang begadang sejak semester 3 kuliah saya. Yang terpenting adalah manajemen waktu dan fokus dalam menyelesaikan kerja-kerja anda, tanpa keduanya banyak waktu yang akan terbuang sia-sia. Saya lebih suka bekerja di pagi hari bukannya malam hari. Jadi, rata-rata tidur saya normal 7-9 jam sehari, di mana saya biasa tidur setelah Isya dan bangun pada pukul 3 atau 4 pagi.

 

Apa kegiatan Anda di waktu luang?

Saya suka membaca dan menonton film sejarah, melalui keduanya banyak ilmu dan pelajaran yang saya dapatkan. Saya juga suka menghabiskan waktu bersama istri dan anak-anak saya, juga dengan mahasiswa paska sarjana saya.

 

Kalau boleh tahu, apa sebenarnya passion Bapak?

Saya suka menulis dan membaca, karena menurut pengalaman saya menulis dan membaca dapat menjembatani dan membuka sekat-sekat pemikiran kita. Saya suka belajar hal yang baru setiap hari, profesi mengajar dan arsitek memberikan kesempatan kepada saya untuk ini. Mungkin ini passion saya.

 

Banyak yang mengatakan bahwa menjadi dosen itu tidak bisa kaya, tapi bisa dikatakan cukup. Bagaimana menurut Bapak?

Sebenarnya pendapat tersebut salah. Saya mengenal banyak dosen yang kaya dan lebih dari cukup dalam hidup mereka. Saya rasa kaya tidak berhubungan dengan profesi tertentu. Dan kaya tidak identik dengan kebahagiaan di dunia. Kejarlah kebahagiaan kita, Insya Allah anda akan selalu merasa kaya.

 

Menurut Bapak, apa saja permasalahan paling mendasar di dunia pendidikan tinggi Indonesia?

Dalam pandangan saya, pendidikan bertujuan mencerdaskan bangsa dan mengembangkan ilmu untuk membahagiakan orang lain. Pendidikan juga harus membebaskan manusia dari menjadi orang suruhan dan budak kepada manusia yang lain. Ini adalah tujuan utama pendidikan, seringkali saya temukan tujuan ini dicemari dengan tujuan keduniaan yang akhirnya merusakkan pendidikan tersebut. Inilah yang menjadi masalah utama pendidikan tinggi kita.

Pendidikan bukan untuk mengejar gelar, menyombongkan diri ataupun mencari rezeki yang haram. Jadi bukan untuk bangga-banggaan dengan rangking dan nama besar. Pendidikan tinggi kita tidak boleh menjadi menara gading yang jauh dari masyarakatnya. Kita perlu lebih fokus kepada permasalahan bangsa dan masyarakat kita.

Hanya kaum terpelajar yang dapat menggerakkan masyarakat ke arah yang lebih baik. Hanya kaum terpelajar yang yang mampu mempengaruhi kebijakan para politisi. Saya sebagai orang yang tinggal di luar negeri sering sedih melihat nasib bangsa kita. Bangsa dan negara lain sudah sangat jauh ke depan tapi kita masih berkecimpung di masalah yang itu-itu saja.

 

Bapak dikenal sebagai pengajar di bidang Arsitektur. Nah, apa sih karakter yang harus dimiliki oleh seorang mahasiswa Arsitektur yang baik?

Dalam pandangan sosial saya Mahasiswa Arsitektur perlu memiliki kepekaan sosial yang tinggi. Mereka perlu lebih banyak terlibat dalam proyek-proyek sosial di masyarakat. Mahasiswa Arsitektur juga perlu banyak membaca dan membuka wawasan, mereka karena proyek dan permasalahan yang akan mereka hadapi akan senantiasa berubah berdasarkan tempat dan waktu.

Menjadi mahasiswa arsitektur bukan hanya untuk gaya-gayaan dan tunjuk kemewahan. Jadikan ilmu anda bermanfaat bagi orang banyak niscaya anda akan bahagia di dunia dan akhirat.

 

Apa saja kompetensi lulusan Arsitektur?

Secara prinsipnya ada tiga kompetensi utama yang harus dikuasai lulusan Arsitektur.

  1. Kemampuan untuk merancang, kreatif dan inovatif dalam upaya menyelesaikan permasalahan dan situasi yang ada melalui desain dan inovasi yang menjadikan keadaan lebih baik. Banyak orang salah paham dengan memahami kreatif sebagai asal berbeda dan unik. Kreatif di sini harus mampu memberikan solusi lebih baik dari masalah yang ada dan bukannya asal unik saja.
  2. Pengetahuan dan ilmu yang luas serta dalam. Proyek yang akan dihadapi seorang arsitek akan senantiasa berubah-ubah dengan berbagai macam jenis, kompleksitas dan ruang lingkupnya. Seorang Arsitek perlu banyak membaca dan menambah wawasan mereka. Mereka juga perlu mengunjungi berbagai tempat dan negara, agar mampu memberikan banyak solusi dengan mempertimbangkan beberapa faktor dan keadaan yang perlu diteliti dan dipahami satu persatu.
  3. Kemampuan teknis yang komprehensif dan aktual. Teknologi dan informasi akan selalu berubah dan berkembang. Seorang arsitek dituntut untuk senantiasa memperbaharui pengetahuan mereka dengan informasi teknis yang terkini dan terperinci.

 

Bagaimana prospek kerja lulusan Arsitektur?

Banyak orang menganggap lulusan arsitek hanya yang bekerja di konsultan dan menangani proyek-proyek saja. Sebenarnya pendapat ini salah karena prospek kerja seorang lulusan arsitek sangat luas. Anda bisa menjadi penulis untuk majalah atau jurnal arsitek internasional yang bergaji sangat lumayan. Anda juga bias menjadi dosen atau peneliti di berbagai universitas atau pusat penelitian terkemuka dunia. Anda juga bisa menjadi penasihat kepada bank, perusahaan atau institusi internasional yang sangat memerlukan nasihat dan pandangan anda untuk branding produk, rancangan bangunan atau bahkan keselamatan sistem keuangan mereka.

Kemampuan mendesain dan pola pikir sistematis seorang desainer sangat diperlukan di banyak tempat di dunia. Ia bahkan dapat merambah ke bidang lain seperti otomotif, desain produk hingga pembuatan film dan lagu. Banyak mahasiswa saya yang akhirnya menceburi berbagai bidang yang unik dan mencapai keadaan ekonomi yang sangat lumayan. Yang penting adalah fokuskan untuk membantu orang lain, Insya Allah anda akan senantiasa merasa bahagia.

 

Apa karakter yang harus dimiliki oleh seorang dosen?

Dosen perlu memiliki niat yang lurus dan murni untuk mendidik dan membawa kehidupan murid-muridnya ke arah yang lebih baik. Tanpa niat dan keinginan murni ini kita tidak akan pernah menjadi dosen yang baik. Kejujuran dan integritas juga sangat penting di samping semangat dan keinginan yang besar untuk berbagi dan mengembangkan ilmu pengetahuan.

 

Apa arti kesuksesan bagi Bapak sebagai seorang dosen?

Kesuksesan yang terbesar bagi saya adalah ketika saya berhasil melahirkan murid yang jauh lebih baik masa depannya dari saya. Barulah saya merasa menjadi dosen yang sukses.

 

Apa arti kebahagiaan di mata Bapak sebagai seorang dosen?

Saya sudah nyatakan sebelumnya, mengajar di depan kelas atau berbagi sedikit ilmu yang ada pada kita di kuliah umum, seminar ataupun forum internasional selalu membahagiakan hidup saya. Melihat hasil penelitian kita digunakan untuk kebaikan orang banyak juga sangat berbekas di hati saya. Saya selalu berdoa semoga yang sedikit waqaf ilmu yang kita sedeqahkan dapat membantu dan memberi makna kepada orang lain.

 

Bapak baru-baru ini meluncurkan buku mengenai perjuangan melalui S2 dan S3 dalam waktu relatif singkat. Bisa diceritakan apa judulnya dan bagaimana sinopsisnya?

Ujung tahun ini saya baru selesai menulis buku berjudul “Graduate Before Time: Saya Selesaikan S2 dalam 6 bulan dan S3 dalam 2 tahun.” Ini merupakan buku saya yang ke-25. Buku ini menceritakan tentang pengalaman pribadi dan kiat-kiat saya dalam menyelesaikan S2 dan S3 dalam waktu yang relatif singkat tersebut.

Sinopsis singkatnya berikut ini:

      Secara garis besar buku ini akan merangkum sejumlah strategi jitu untuk menyelesaikan pendidikan pascasarjana dengan berkualitas dan tepat waktu. Banyak orang salah paham tentang apa makna dan kepentingan dalam menyelesaikan S2 atau S3 dalam masa yang singkat. Sebagian besar orang berpendapat bahwa S3 merupakan sebuah pencapaian tertinggi dalam pendidikan kita sedangkan S2 sering menjadi sebuah arena untuk mencoba menghasilkan riset dan tesis atau disertasi yang sempurna tanpa cacat atau cela. Buku ini dijelaskan dengan jelas proses persiapan hingga perjalanan menyelesaikan studi dengan cepat.

      Pendapat dan pemikiran bahwa sebuah penelitian pascasarjana atau tesis harus sempurna, menyebabkan banyak pembimbing kemudian meletakkan standar yang begitu tinggi dan sangat sulit untuk dicapai oleh mahasiswa yang baru belajar untuk melakukan penelitian dan menulis secara ilmiah. Akhirnya diperlukan masa yang panjang untuk mereka menyelesaikan S2 dan S3 tersebut. Namun penulis membantah semua kendala-kendala tersebut dengan menceritakan perjuangannya melewati pascasarjana di negeri Jiran. Pendapat sebagian orang yang menyatakan bahwa master yang baik seharusnya diselesaikan minimum dalam 3 tahun sementara S3 yang ideal seharusnya selesai dalam 5 tahun dibantahkan penulis dengan membuktikan kemampuannya menyelesaikan pendidikan pascasarjana dengan cepat.

      Sejumlah tips yang disampaikan dalam buku ini membuktikan bahwa cepat atau lambat sama sekali tidak mempengaruhi kualitas dari tesis atau disertasi yang dihasilkan. Bahkan banyak pakar dan profesor terkenal di dunia kemudian mempertanyakan tesis yang lambat diselesaikan, karena ia menunjukkan lemahnya disiplin pelajar dan penyelia tesis tersebut dalam menjalankan riset mereka.

      Dalam setiap tips yang diberikan memberikan banyak motivasi kepada banyak pihak khususnya mahasiswanya bahwa hidup terlalu singkat untuk disia-siakan. Lambat menyelesaikan tesis berarti menyia-nyiakan waktu anda yang sangat berharga. Peranan dan tanggung jawab justru dimulai setelah menyelesaikan pendidikan. Fokus pencapaian seharusnya adalah merancang kehidupan setelah lulus S2 dan S3 dan bukannya menghabiskan terlalu banyak waktu hanya untuk menyelesaikannya.

      Setelah memberikan sejumlah tips, buku ini pula menjelaskan bagaimana usaha yang harus dilakukan setelah proses pendidikan pascasarjana tersebut diselesaikan. Dalam buku ini diberikan gambaran usaha penulis memberikan panduan tahapan apa saja yang dilakukan ketika selesai menempuh pendidikan. Sebagai seorang dosen, penulis juga memikirkan dan membantu para pelajar pascasarjana agar segera menyelesaikan studi untuk kemudian berbuat lebih banyak untuk bangsa dan negara. Karena baginya, tidak akan ada kesempatan untuk membantu orang lain jika masih saja sibuk memikirkan diri sendiri. Pendidikan Pascasarjana baik itu S2 ataupun S3 hanyalah sebuah medan untuk melatih diri melakukan penelitian dan menuliskannya secara ilmiah. Tugas sebenarnya adalah ketika menyelesaikan studi untuk kemudian melakukan penelitian sendiri, menjadi dosen pembimbing mahasiswa dan mempresentasikan hasil temuan tersebut  di forum nasional atau internasional melalui penulisan buku, prosiding atau jurnal. Yang diutamkan bagi penulis adalah untuk memastikan fokus studi jelas, selesaikanlah S2 dan S3 dengan masa yang sesingkat mungkin. Dan tanggung jawab dan kesempatan berkarya tersebut hanya dapat dijelajahi setelah menyelesaikan S2 dan S3.

 

Apa pesan-pesan Bapak bagi para mahasiswa yang ingin menjadi dosen?

  • Yang pertama luruskan niat saudara, ikhlaskanlah sedikit ilmu yang ada pada kita untuk membantu sesama.
  • Yang kedua, jangan cepat berputus asa dalam mendidik anak didik kita. Jangan pernah merasa usaha kita sia-sia karena hasilnya mungkin memerlukan waktu yang seringkali tidak singkat.
  • Ketiga, tetaplah bersemangat dalam berbagi ilmu, jangan pelit. Sesungguhnya ilmu itu kepunyaan Allah dan kita hanya membantu mengajarkannya.
  • Keempat, jaga kejujuran dan integritas dalam kerja kita.
  • Kelima, bekerjalah secara berjamaah dengan dosen dan orang lain. Banyak berkah dengan bekerja bersama-sama, tugas yang susah juga akan terasa jauh lebih mudah.
  • Keenam, senantiasa tambah dan perbaharui ilmu anda setiap hari. Sesungguhnya hanya orang yang memiliki yang dapat memberi.
  • Ketujuh, Hati-hati dalam memanfaatkan waktu anda. Penuhi aktivitas anda dengan hal yang positif. Insha Allah anda akan berbahagia dunia dan akhirat

 

Tentang Nangkula Utaberta

      Nangkula Utaberta adalah seorang penulis internasional yang telah menghasilkan lebih 30 buku dalam bidang arsitektur terutamanya Arsitektur Islam dalam Bahasa Indonesia, Bahasa Malaysia dan Bahasa Inggris. Bersama dengan lebih dari 600 buah paper yang telah beliau terbitkan dalam berbagai jurnal dan prosiding seminar baik di level internasional maupun nasional.

Nangkula adalah penerima Anugerah Buku Negara di Malaysia untuk 2 tahun berturut-turut pada tahun 2014 dan 2015. Beliau saat ini menjabat sebagai Profesor Madya sekaligus ketua riset group Warisan Alam Budaya dan Reka Bentuk Islam (WARIS), Fakulti Reka Bentuk dan Seni Bina, Universiti Putra Malaysia (UPM).

Sebelum bergabung dengan UPM, Nangkula pernah menjadi Dosen Senior di Universiti Kebangsaan Malaysia (2009-2012), Dekan sekaligus Dosen Senior di Linton University College (2006-2009) dan Dosen tamu di Universitas Islam Negeri Malang (2009) dan Universitas Muhammadiyah Surakarta (2004). Beliau juga pernah mengajar di almamater beliau Universitas Indonesia dan Universiti Teknologi Malaysia (UTM) sebagai dosen honorer dan teaching assistant sekaligus mengajar program SPACE, UTM pada tahun 2004-2006.

Sebagai seorang akademisi, Nangkula banyak menghasilkan tulisan dan artikel yang berhubungan dengan masalah-masalah sosial dan masyarakat dari perspektif arsitektur dan Arsitektur Islam.

Nangkula dapat dihubungi di nangkulautaberta@gmail.com, website beliau nangkulautaberta@blogspot.com atau di Facebook dan twitter beliau ‘Nangkula Utaberta’.

Categories:   Sosok

Comments

  • Posted: Dec 21, 2016 16:43

    Ibnu Hajar

    Terimakasih atas pertemanan, pencerahan Ilmu, pengalamannya dan Arsitektur khususnya, keadaannya begitu kami dampakan cita-cita dan harapan anda bagi kami disini di Aceh dan Indonesia. Saya alumni S1 Universitas Arsitektur Darussalam Aceh, profesi saya Arsitek Freeland, saya merasakan peran Ilmu Arsitek khususnya di tempat saya tinggal sangat kurang apresiasinya di masyarakat, tiap kali saya memulai, saya harus bermula dengan "definisi" yang belum pernah mereka dengar apalagi melihatnya, pertanyaan saya ; bagaimana cara memulai hubungan dengan Klein yg belum memiliki pemahaman dasar tentang Arsitektur, terimakasih atas bantuannya, semoga ini menjadi awal pertemanan kita.
  • Posted: Jan 23, 2017 07:51

    Nangkula Utaberta

    No HP saya +60132916094. Boleh contact melalui FB atau WA. Saya sekarang sedang menangani desain beberapa masjid selepas gempa yang lalu. Saya juga pernah memberi kuliah Umum di UNIMAL Lhokseumawe

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.5";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: 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@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.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),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,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={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,n));yield this.google.injectAds();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s,n));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,n));i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i,n):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,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),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}));