Онлайн Казино Пин Ап На Деньги: Pin Up Casino»

Онлайн Казино Pin Up ᐉ Играть На Деньги На Официальном Сайте Пин Ап

Content

Также бездепозитные бонусы можно найти в Телеграм-канале онлайн казино, которые активируются по промокоду. Выполнив вход в Телеграмм канал, можно смотреть гонки стримеров в ПинАп, получающих ошеломительные заносы на различных слотах казино. Примечательно, что в день казино Pin-up позволяет переводить не более рублей.

  • Поэтому рекомендуется уточнять все подробности непосредственно перед совершением транзакции в службе поддержки казино Пин Ап.
  • Казино распознает характеристики гаджета, настраивая экранные формы под графику и габариты экрана смартфона.
  • Мобильное заведение Pin Upward предлагает адаптивный дизайн, ускоренный запуск аппаратов, быстрый доступ к любимым развлечениям.

В мобильных приложениях оформление окон адаптируется под конкретные характеристики графики гаджета, обеспечивая комфортное управление нужными опциями и игровыми автоматами. Гостям следует учитывать, что на устаревших моделях смартфонов могут включаться не все игровые автоматы. Также иногда не запускаются старые игры на современных mobile устройствах. Есть некоторые технические ограничения на live-игры в мобильных телефонах. Мобильная версия Пинап казино – зарегистрироваться с телефона и соц.

Как Создать Кабинет Игрока И Пройти Идентификацию В On Line Casino Pin Up

Мобильный клуб ПинАп предлагает ускоренные выплаты, круглосуточный» «доступ к сертифицированному контенту и своевременные уведомления про запуск турниров, акций. Заработать щедрые подарки можно и в ходе временных акций, участвуя в еженедельных викторинах. Каждую среду стартует квиз – ответьте на вопросы и получите фриспины! Также каждый час разыгрывается крупная сумма – акция «Джекпот часа». Ещё официальный сайт казино Пин Ап готов вознаградить именинников.

  • Если все условия соблюдены, а правила не нарушены, вывод оформляется стандартным способом.
  • Сразу после обмена деньги подлежит отыграть и только после этого их можно будет вывести.
  • Создать профиль разрешается через номер телефона и популярные мессенджеры, социальные сети.
  • Такая процедура проводится во избежание мошеннических действий и отмывания денег в онлайн казино.

Компания-оператор казино обязуется соблюдать строгие правила и нормы, установленные регулирующим органом Кюрасао, чтобы обеспечить безопасность и честность игры для своих клиентов. Работа под юрисдикцией лицензии Кюрасао подтверждает, что казино Пин Ап соответствует определенным стандартам и требованиям, чтобы обеспечить надежное и честное игровое окружение. Получить доступ к установочному файлу легко – отправьте запрос в live-чат или перейдите в соответствующий раздел на сайте pin up онлайн.

Интерфейс И Возможности Пин Ап Казино

Пин Уп дает возможность каждому игроку открыть подарочную коробку и получить ценные призы. Какая из вариаций приза будет спрятана в Gift box — заранее узнать нельзя, так как она определяется с помощью рандомайзера. Чтобы получить одну подарочную коробку, общая сумма ставок» «должна превышать 100 bucks. Проверить наличие Present box можно в личном кабинете — их актуальное количество обновляется автоматически.

  • Также этот клуб осыпает новых и активных пользователей разными бонусами за регистрацию и промокодами.
  • Если ответ не придет и тогда, пишите в службу поддержки сайта.
  • Услуги доступны в режиме day to day и устанавливать какие-либо софты в память гаджета не нужно.
  • Оба приложения распространяются бесплатно, но перед тем, как загрузить один из двух вариантов нужно понять, чем они отличаются.
  • Мобильная версия казино работает в барузере, а приложение Пин Ап казино необходимо скачать.

Игроки Pin-Up» «on line casino подтверждают, что разработчики сделали максимально удобный и мобильный способ погрузиться в азартный мир игровых аппаратов на реальные деньги. Попробуйте и вы, ведь оригинальное мобильное приложение доступно для скачивания абсолютно бесплатно. Официальный сайт Pin-up как онлайн казино появилось в 2016 году. Зеркало Pin-up 134 Casino защищено от блокировок, что усиливает его популярность среди игроков.

Отзывы Игроков О Выплатах

Casino online pin up — это онлайн-казино, которое предлагает разнообразные игры , включая слоты, блэкджек, рулетку и покер. PinUp принадлежит и управляется той же компанией, которая владеет и управляет наземными казино в Лас-Вегасе и Атлантик-Сити. Поэтому на казино распространяются те же правила, что и на другие казино. Однако, поскольку это онлайн-казино, оно не облагается теми же налогами, что и другие казино. Это делает казино популярным выбором для многих игроков, которые хотят играть в азартные игры без необходимости платить налоги на свой выигрыш.

  • Устаревшие слоты иногда не включаются на современных смартфонах, а новые игры не запускаются в более ранних моделях mobile устройств.
  • Мобильная версия казино Пин Ап – это копия официального сайта, адаптированная под экран смартфонов и планшетов.
  • Если ваш прогноз оказался верным, то они сразу зачисляться на счет.
  • Отзывы игроков о казино Пин Уп подтверждают, что с выводом выигрышей не бывает необоснованных задержек.

На фотографиях должны быть перечисленные в прошлом абзаце данные. Сделайте фото паспорта, а лучше сделайте фото вместе с паспортом, чтобы у сотрудников технической поддержки не осталось сомнений о том, кто верифицирует профиль. Для того чтобы получить пинкоины, необходимо пополнить счет от 500 RUB or 10 USD and 10 EUR / 200 UAH. Для того чтобы улучшить качество предоставляемых услуг, повысить лояльность игроков используются различные программы поощрений. Клуб Pin-up Casino предлагает своим клиентам широкий ассортимент игр, а также прозрачные условия сотрудничества и выгодную программу лояльности.

Акции И Бонусы Пин Уп

Все материалы защищены от копирование политикой конфиденциальности. Мы не проводим игр на деньги, а несем лишь информационный характер. Вы можете написать в онлайн-чат, его иконку найдете на главной странице казино в правом нижнем углу.

  • Регистрироваться в Pin-up могут пользователи из Казахстана.
  • Затем нужно прочесть правила обслуживания в Pin Upwards, согласившись с ними.
  • Демо-версия позволяет играть в слоты бесплатно на виртуальные средства.
  • Для трансляций используется профессиональное оборудование.
  • Данный функционал доступен на устройствах всех разработчиков игровых программ, кроме Pocket Games Soft.

Полноценное приложение на ПК можно сказать только с официального сайта азартного клуба. Там есть раздел, где собраны установочные файлы под все современные операционные системы. Получив 120% за регистрацию и первый депозит от 100 рублей, гость имеет возможность сразу играть на деньги, получая реальные выигрыши. А если первый депозит составит от 500 рублей, гостю PinUp» «gamble выдается по 250 бесплатных спинов в течение пяти дней для игры на популярных слотах.

Обзор Личного Кабинета Pin-up Casino

На специализированных сайтах можно найти специальные промокоды на получение бездепов от оператора PinUp casino. Для активации бонуса введите его в личном кабинете и нажмите кнопку активации. Как только Pin Upwards блокируется провайдером, сразу используйте актуальное зеркало, чтобы продолжить играть и делать ставки онлайн. Зеркала позволяют обойти любые ограничения и получить полноценный доступ к возможностям онлайн казино.

В отличии от приложения ее не нужно скачивать, достаточно лишь запустить браузер на телефоне и войти на сайт ПинУп. Казино распознает характеристики гаджета, настраивая экранные формы под графику и габариты экрана смартфона. Азартный клуб Pin Up предлагает всем желающим попробовать мобильное приложение на Android и iOS. Скачать можно бесплатно из магазинов Play Market или App Store, а также с официального сайта.

Особенности Регистрации И Вход В Аккаунт

Еще одним условием получения выигрыша является соблюдение лимитов. Если все условия соблюдены, а правила не нарушены, вывод оформляется стандартным способом. Получить еще больше выгодных поощрений можно, если регулярно отслеживать акции на сайте, подписаться на группу PinUp в Telegram и следить за обновлениями в социальных сетях. Не стоит забывать о том, что условия каждого из поощрений отличаются.

  • Интерфейс интегрируется под размеры экрана портативного гаджета игрока, воспроизводя лишь главные страницы, примитивное меню.
  • Максимальная сумма денежного бонуса зависит от условий конкретной акции.
  • Профессионалы, стримеры и обычные игроки в своих отзывах отмечают этот гейминг портал, как настоящий сайт для азартных развлечений.
  • Процесс длиться примерно 10 секунд и требует от вас актуального почтового ящика и пароля к нему.
  • Гости  казино могут спокойно скачать любые приложения Pin Up, устанавливая их на разные гаджеты.
  • Открытие аккаунтов в казино Пин Ап разрешено только совершеннолетним посетителям Выполнить регистрационную процедуру в данном онлайн клубе смогут даже неопытные новички.

Если вы не можете найти или использовать функцию восстановления пароля, обратитесь в службу поддержки казино. Они смогут помочь вам восстановить доступ к вашему аккаунту. Также если вы сохраняли пароль в своем браузере, возможно, вы сможете его найти там. Проверьте настройки безопасности и приватности» «вашего браузера, чтобы найти сохраненные пароли. Различные бездеп подарки могут предоставляться в форме денежных перечислений на бонусный счет, либо фриспинов для запуска конкретных игровых аппаратов.

🍦 Удобное Мобильное Приложение

В зале можно играть на рубли и другую валюты, удобные для гостей из стран бывшего СНГ. В коллекции онлайн казино есть дающие слоты для игры на реальные деньги с маленькими ставками и азартные игровые автоматы, позволяющие ставить большие суммы. Почитатели азарта смогут комфортно играть на игровых автоматах, используя официальный сайт казино Pin Up. Если основной портал не доступен, гости из разных стран имеют возможность перейти и играть на альтернативных интернет зеркалах. На сегодня в этом клубе могут развлекаться посетители из России и прочих государств постсоветского пространства.

  • Понять, настолько удобное мобильное казино Pin-up с выводом средств вы сможете, перейдя на его сайт со своего мобильного телефона, или, скачав приложение на смартфон Android.
  • Новым пользователям, скачавшим приложение Пин Ап на телефон или планшет, нужно пройти регистрацию в игорном клубе, чтобы иметь возможность играть на деньги в азартных слотах.
  • Игровой клуб пользуется моделями только от ведущих провайдеров и что самое главное, берет аппараты по лицензии.
  • Некоторые новые слоты могут не работать в устаревших моделях гаджетов.
  • К сожалению, нет возможности скачать и установить полную версию игрового клиента Пин Ап для Windows, чтобы развлекаться в автоматах на ПК.

Нередки случаи, когда бонусы связаны с новогодними праздниками, годовщиной регистрации на сайте и другими подобными вещами. Быстрая регистрация, понятный красочный интерфейс и шикарная система бонусов привлекают игроков со всех стран мира, что делает эту площадку лучшим онлайн-заведением в странах СНГ. Желающие скачать казино Pin-Up apk приложение на Андроид для планшета или телефона, смогут увлекательно играть на слотах в любое удобное время как в демо-режиме, так и на деньги.

Какими Способами Можно Внести Депозит Или Вывести Выигрыш?

Игроки в отзывах отмечают некоторые недостатки приложений онлайн казино Пин Ап. Гемблеры сетуют, что в мобильных платформах совсем другие экранные формы и изменено расположение элементов меню. Сразу сложно адаптироваться и находить нужные опции, заходя в игровой сервис с помощью мобайл гаджетов. Игровой клиент на ПК работает как на стационарных компьютерах, так и на ноутбуках.

Главная миссия для нас – сохранять частную информацию каждого пользователя, выбравшего нашу платформу для онлайн-игр и операций со счетом. Посетители, уже имеющие открытый аккаунт в казино PinUp, не проводят повторную регистрацию в скачанном приложении. Они просто заходят в игровой профиль, используя свой никнейм и пароль. На главной страничке Пин Уп вы найдете ссылку на версию для Андроид и на Айфон. Многие» «пользователи предпочитают играть в Пин Ап на мобильных устройствах, потому что обеспечивается необходимая комфортабельность.

Онлайн Казино Пин Ап (pin Up Casino)

Официальные сроки обработки платежа — 24 часа, но в среднем деньги выводятся со счета в течение 1-2 часов, изредка даже быстрее. Быстрее всего обойти блокировку казино Пин Ап KZ и не потерять доступ можно через зеркало. Это идентичный к сайту ресурс, единственное отличие которого — домен. Так, при выводе средств, если есть не отыгранные бонусы, они автоматически сгорают и воспользоваться ими повторно не удастся. Максимальная сумма денежного бонуса зависит от условий конкретной акции. В каждой акции предусмотрено только разовое участие — повторно получить поощрения не удастся.

  • В зале можно играть на рубли и другую валюты, удобные для гостей из стран бывшего СНГ.
  • Некоторые игры (видеопокер, рулетки и пр. ) требуют точного выбора определенных позиций.
  • Игры от этих провайдеров обычно отличаются высоким качеством графики, захватывающим геймплеем и инновационными функциями.
  • Оператор казино также гарантирует конфиденциальность пользовательских данных, что соответствует требованиям GDPR, введенным в 2024 году для защиты личных данных в ЕС.
  • Но мы вам советуем не спешить и пробовать свою удачу на разных симуляторах, можно и в демо версии, что позволит вам выбрать наиболее прибыльную, «дающую» игру.

Это немаловажно, так как многие казино «спаивают», совмещают бонусный и реальный счет и таким образом не дают возможности вывести выигрыш, пока не будет отыгран вейджер. Есть ограничение по сумме выигрыша с любых бонусов, будь то вейджер или фриспины или бонус на депозит – выплата не более чем в десятикратном размере от суммы бонуса. Чтобы попасть на сайт Пин Ап в любой момент, используйте рабочее зеркало. Зеркала ведут на официальный сайт пин ап казино через альтернативные адреса, обходя блокировки провайдеров. Чтобы играть в pinup на ходу, скачайте мобильное приложение. Приложение позволяет играть в слоты со смартфона в любом месте.

Pin-up Вход В Личный Кабинет Официального Сайта

Логином может быть email или номер телефона в зависимости от регистрации. Чтобы зарегистрироваться, необходимо ввести e mail или номер телефона и создать надежный пароль. Затем нужно прочесть правила обслуживания в Pin Upward, согласившись с ними. Получив на электронную почту письмо из казино или смс на телефон, игрок должен нажать на горячую ссылку, чтобы активировать личный кабинет.

  • В меню «Регистрации» вам нужно будет заполнить поле «Электронная почта», «Пароль», выбрать валюту для игры и подтвердить регистрацию.
  • После подтверждения регистрации, доступ к личному кабинету будет открыт.
  • Интерьер сайта перенасыщен оригинальными оттенками зеленого, красного и черного цветов.
  • В интернете можно найти сайты партнеров Пин Ап, на которых доступны привлекательные» «промокоды, обеспечивающие приятные подарки, бонусы и фриспины для посетителей онлайн казино.

Понять, настолько удобное мобильное казино Pin Up с выводом средств вы сможете, перейдя на его сайт со своего мобильного телефона, или, скачав приложение на смартфон Android. Все ставки проводятся виртуальными фишками в бесплатном демонстрационном варианте игры. Любители азарта могут свободно выбирать из множества игровых автоматов в ассортименте PinUp, предпочитая участвовать в пробных версиях. Просто переместите курсор на интересующий вас слот и выберите опцию «Демо» для запуска.

Мобильная Версия Пин Ап И Скачиваемое Приложение На Андроид И Айфон

Пин Ап казино появилось в 2016 году, но важнее – активная лицензия Кюрасао. Pin Up on line casino предлагает честные результаты и прозрачные условия. Переходите на официальный сайт и играйте бесплатно, без регистрации или на деньги. Насладиться получиться онлайн слотами, покером, блэкджеком, рулеткой. На данный момент для защиты интересов игроков в казино используется зеркало.

Игры через приложение Пин Ап казино запускаются в демо-режиме, также можно играть на деньги в доступных слотах. Напоследок стоит отметить, что casino Pin-up удивляет не только скоростью работы, а еще и вывода средств. Мобильная версия поразит вас удобством взаимодействия с кассой, а после этого вам точно понравится, что сотрудники казино оперативно обрабатывают заявки. Если речь идет об азартных играх, то вывод придется ждать до 4 часов. Также стоит отметить, что в букмекерской конторе вы деньги получаете вообще моментально в автоматическом режиме.

Казино Пин Ап🤑: Официальный Сайт И Мобильная Версия Для Андроид

Некоторые новые слоты могут не работать в устаревших моделях гаджетов. Если у игрока возникли вопросы, проблемы или требуется помощь, рекомендуется обратиться в техническую поддержку Пин Ап казино через предоставленные каналы связи. Они готовы помочь в решении проблем и обеспечить приятное игровое впечатление. Каждый розыгрыш ПинАп подразумевает разнообразные подарки. Подпишитесь на каналы и следите за их деятельностью, чтобы не упустить анонс грядущей акции, свежий промокод или список актуальных зеркал. В интернете много разных сайтов с большим количеством аппаратов.

При регистрации указывайте реальные данные, чтобы не возникло проблем с верификацией аккаунта или выводом средств. Участвуя в выгодных турнирах, которые проводятся в Pin-Up casino, можно получать дополнительные суммы из крупных призовых фондов таких соревнований. Участвовать в таких розыгрышах можно на официальном сайте или на зеркалах гемблинг клуба. Приложение казино Pinap имеет встроенную букмекерскую контору, которая точно так же, как и официальный сайт, позволяет совершать ставки на спорт.

Бонусы За Установку Приложения Пин Ап Для Android И Ios

Это процедура подтверждения личности игрока, которая необходима идентификации его возраста для быстрого вывода любых сумм выигрышей. Для ее прохождения вам надо отправить оператору фотографии кредитки и паспорта. Открывайте свой личный кабинет» «и переходите во вкладку «История операций», где указаны все внесенные вами депозиты и выведенные выигрыши. Для спортивных ставок скачивается другая платформа Pin-Up bet. Поэтому, если необходима букмекерская фирма, то сообщить об этом стоит моментально. Для БК и казино сделаны разные приложения, что определенно выделяет виртуальное игровое заведение Pin Up среди таких же учреждений.

Средства приходят на игровой счёт» «моментально, и нет комиссии. Кстати, список платёжных инструментов зависит от региона проживания. Система предложит наиболее подходящие и безопасные сервисы – Skrill, Visa for australia, Piastrix, Webmoney, Payeer. На официальном сайте или в мобильном приложении в меню есть отдельный раздел под названием «ТОП игр недели». Здесь собраны самые популярные игры за последние семь дней. В правом нижнем углу каждой страницы официального сайта компании размещен онлайн чат, который позволяет связаться с компетентным менеджером.

Какой Минимальный Депозит Для Получения Бонуса?

Посетители из России смогут пользоваться актуальными зеркалами для входа в casino Pin-Up, если официальный сайт заблокирован региональными провайдерами. Данный онлайн клуб предлагает отличные преимущества для гостей из разных стран, позволяя круглосуточно развлекаться на увлекательных игровых аппаратах. В этом гемблинг заведении можно играть на деньги, открывая депозиты в разной валюте, включая рубли. Посетители, желающие скачать приложение Pin Upwards casino на свой телефон (планшет) смогут комфортно развлекаться на азартных аппаратах.

  • С помощью специальных зеркал казино Пин Ап снижается нагрузка на основной портал.
  • В интернете можно найти информацию о них на независимых сайтах, которые связаны с российским гемблингом.
  • Кстати, список платёжных инструментов зависит от региона проживания.
  • Посетители, уже имеющие открытый аккаунт в казино PinUp, не проводят повторную регистрацию в скачанном приложении.
  • Сегодня данный софт совместим с операционными системами Mac OS и Windows.
  • Сотрудник подскажет, что популярно на данный момент, предложит несколько исходов событий.

В каталогах PinUp доступны различные варианты рулетки, покера, баккара, блэкджека и других популярных азартных развлечений. Профессионалы, стримеры и обычные игроки в своих отзывах отмечают этот гейминг портал, как настоящий сайт для азартных развлечений. Работающие актуальные зеркала Пин Ап бет дают возможность гостям из разных стран легко обходить блокировку официального сайта онлайн казино. Отзывы реальных людей подтверждают комфортные условия для азартных развлечений в этом лицензионном игорном клубе. В данном заведении придерживаются политики конфиденциальности, обеспечивая надежную защиту персональных данных игроков. На нашем сайте легко можно найти зеркало для корректной работы игрового клуба Пин Ап в Казахстане.» «[newline]Также сохраняется баланс счета, история ставок и доступные бонусы.

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

Ad block detected

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

An Error Occurred

\n

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

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

An Error Occurred

\n

Services for this domain name have been disabled.

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

Content blocked

Please turn off your ad blocker.";case"disabled_mr":return`

Invalid URL

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

No sponsors

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