Загрузка данных
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function a(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=a(s);fetch(s.href,i)}})();const Br={num:{tn:"трлн в‚Ѕ",bn:"млрд в‚Ѕ",mn:"млн в‚Ѕ"},nav:{buy:"Р—Р° покупками",inventory:"Рнвентарь",sales:"РњРѕРё продажи",cases:"Кейсы",chats:"Переписки",shop:"Магазин",gifts:"Подарки",season:"Сезон",work:"РАБОТА"},work:{title:"РАБОТА",perClick:"Доход Р·Р° клик",level:"Уровень {n}",maxLevel:"Уровень {n} В· макс.",upgrade:"Прокачать Р·Р° {price}",maxed:"Максимальный уровень",hint:"Р–РјРё РїРѕ компьютеру Рё зарабатывай"},common:{title:"РњРѕР№ ресейл",close:"Закрыть",player:"РРіСЂРѕРє",leaders:"Р›РДЕРЫ",lang:"Р РЈ",cancel:"Отмена",ok:"Понятно",got:"Получено",unavailable:"НЕДОСТУПНО"},settings:{title:"Настройки",music:"Музыка",sounds:"Р—РІСѓРєРё",language:"ЯЗЫК",ru:"Р СѓСЃСЃРєРёР№",en:"English",tr:"TГјrkГ§e",es:"EspaГ±ol",promo:"РџР РћРњРћРљРћР”",promoPlaceholder:"Введите РїСЂРѕРјРѕРєРѕРґ",promoApply:"РџР РМЕНРРўР¬",promoEmpty:"Введите РїСЂРѕРјРѕРєРѕРґ",promoInvalid:"РџСЂРѕРјРѕРєРѕРґ РЅРµ найден",promoApplied:"Подарок получен!"},buy:{title:"Р—Рђ РџРћРљРЈРџРљРђРњР!",writeSeller:"Написать продавцу",estimate:"Оценка стоимости",stolen:"Товар СѓР¶Рµ РЅРµ доступен.",notFound:"Товар РЅРµ найден.",selectInv:"Выберите вещь РІ инвентаре.",tutLocked:"Соверши первую продажу, чтобы покупать товары",skip:"РќР• ЖДАТЬ",untilRefresh:"До обновления:"},tut:{pickCase:"Открой бесплатный кейс",openCase:"Нажми, чтобы открыть",keep:"Забери предмет",goInv:"Открой инвентарь",list:"Выставь РЅР° продажу",price:"Двигай ползунок Рё назначь цену",goBuy:"Загляни Р·Р° покупками",pickGoods:"Выбери товар",write:"Напиши продавцу",greet:"Поздоровайся",ask:"РЎРїСЂРѕСЃРё Рѕ товаре",buyNow:"РљСѓРїРё товар",goChat:"Тебе написал покупатель",sellAccept:"Согласись РЅР° продажу",skip:"РџР РћРџРЈРЎРўРРўР¬ ОБУЧЕНРР•"},inventory:{title:"РНВЕНТАРЬ",sell:"РќРђ ПРОДАЖУ",quickSell:"БЫСТРАЯ ПРОДАЖА",repair:"РџРћР§РРќРРўР¬",tabInv:"РНВЕНТАРЬ",tabCol:"КОЛЛЕКЦРРЇ",collectionMain:"РћРЎРќРћР’РќРђРЇ",collectionAutumn2026:"ОСЕНЬ 2026",collected:"Собрано: {n} / {total}",confirmSell:"Продать В«{name}В» Р·Р° {price}?",empty:"Рнвентарь РїСѓСЃС‚. Открой кейс или РєСѓРїРё товар!",colNotOwned:"РќР• СОБРАН",inInv:"Р’ РНВЕНТАРЕ",quickTitle:"Быстрая продажа",quickConfirm:"Продать Р·Р° {price}",brokenTag:" БУ"},sales:{title:"МОРПРОДАЖР",empty:"Нет товаров РЅР° продаже.",detail:"ПОДРОБНЕЕ",unlist:"РЎРќРЇРўР¬ РЎ ПРОДАЖР"},sellSetup:{title:"ВЫСТАВЛЯЕМ РќРђ ПРОДАЖУ",submit:"Выставить РЅР° продажу",yourPrice:"РўРІРѕСЏ цена",zoneBelow:"РЅРёР¶Рµ рынка",zoneMarket:"рыночная",zoneAbove:"выше рынка"},cases:{title:"КЕЙСЫ",forAd:"Р—Рђ РЕКЛАМУ",free:"БЕСПЛАТНЫЙ КЕЙС!",freeBtn:"БЕСПЛАТНО",contents:"Содержимое кейса",buyMulti:"Купить несколько",freeTitle:"БЕСПЛАТНЫЕ КЕЙСЫ",mineTitle:"МОРКЕЙСЫ",seasonalTitle:"СЕЗОННЫЕ КЕЙСЫ",regularTitle:"ОБЫЧНЫЕ КЕЙСЫ",openOwned:"ОТКРЫТЬ"},caseName:{ad:"Бесплатный кейс",vk:"Р’Рљ-кейс",tier1:"Картонный кейс",tier2:"Деревянный кейс",tier3:"Золотой кейс",tier4:"Кейс-аквариум",tier5:"Премиальный кейс",tier6:"Рубиновый кейс",tier7:"Королевский кейс",tier8:"Рксклюзивный кейс"},roulette:{opening1:"Открываем кейс…",openingN:"Открываем {n} кейса…",won:"Р’С‹ получили:",keep:"Забрать",sell:"Продать {price}",allToInv:"Р’СЃС‘ РІ инвентарь",inInv:"Р’ РНВЕНТАРЕ",rerollFree:"ЕЩЁ Р РђР— БЕСПЛАТНО",rerollWarning:"Р’РќРРњРђРќРР•! Текущие предметы РЅРµ сохранятся!"},chats:{title:"ПЕРЕПРРЎРљР",empty:"Переписок РїРѕРєР° нет.",optGreet:"Здравствуйте, заинтересовал ваш товар!",optTakeNow:"Заберу РїСЂСЏРјРѕ сейчас!",optDiscount:"РЎРєРёРґРєР° будет? Р’РѕР·СЊРјСѓ за…",optTrade:"Предлагаю обмен на…",optAsk:"Задать РІРѕРїСЂРѕСЃ Рѕ товаре",optSmalltalk:"Как дела Сѓ вас?",optAcceptTrade:"Согласиться РЅР° обмен",optDeclineTrade:"Отказаться РѕС‚ обмена",optAskCond:"Спросить Рѕ состоянии товара",optProposeSur:"Предложить доплату",optAnswerCond:"Ответить РЅР° РІРѕРїСЂРѕСЃ",optRefuseCond:"РќРµ скажу",optSell:"Продать Р·Р° {price}",optCounter:"Предложить РЅРѕРІСѓСЋ цену",optDecline:"Отказаться",optAcceptSur:"Согласиться (доплата {amount})",optCounterSur:"Предложить СЃРІРѕСЋ цену",optDeclineSur:"Отказаться РѕС‚ обмена",optBye:"До свидания",done:"Диалог завершён",report:"Пожаловаться",tradePick:"ВЫБЕРРРўР• ВЕЩЬ ДЛЯ ОБМЕНА",tradeEmpty:"Р’ инвентаре нет вещей для обмена.",noTradeItems:"Нет вещей для обмена",tradeOfferHint:"Предлагает РЅР° обмен (нажмите для оценки):",tradeLabel:"Предложено РЅР° обмен",sellerYou:"Продаёте РІС‹",hobby:"Увлечение: {hobby}",wants:"Что ему РЅСѓР¶РЅРѕ: {items}"},shop:{title:"МАГАЗРРќ",starter:"Набор новичка",autumnBundle:"Осенний набор",megaBundle:"Мега-набор",promo:"РђРљР¦РРЇ",details:"ПОДРОБНЕЕ",bought:"Куплено",offers:"РђРљР¦РР",currency:"ВАЛЮТА",noAds:"Отключение рекламы",disclaimer:"Внимание! Рто игровая валюта, Р° РЅРµ настоящие деньги. Совершая РїРѕРєСѓРїРєСѓ, РІС‹ подтверждаете что ознакомлены СЃ этой информацией Рё РЅРµ имеете претензий",starterList1:"10 000 000 в‚Ѕ",starterList2:"Мерседес",starterList3:"3 премиальных кейса",starterList4:"Отключение рекламы",autumnList1:"Рыжий БМВ",autumnList2:"10 000 000 в‚Ѕ",autumnList3:"5 дубовых кейсов",autumnList4:"Отключение рекламы",megaList1:"Авиакомпания",megaList2:"3 эксклюзивных кейса",megaList3:"10 млрд в‚Ѕ",megaList4:"Отключение рекламы",megaBenefit:"ВЫГОДА 30%",megaOfferTitle:"Мгновенно стань богаче 90% РёРіСЂРѕРєРѕРІ!",offerDays:{one:"{n} день",few:"{n} РґРЅСЏ",many:"{n} дней"},starterAdvantage:"ПОЛУЧРУНРКАЛЬНОЕ РџР Р•РМУЩЕСТВО!",autumnProgressFaster:"ПРОДВРГАЙСЯ РџРћ СЕЗОНУ БЫСТРЕЕ!",noAdsPrompt:"НАДОЕЛА РЕКЛАМА?",dontWant:"РќР• РҐРћР§РЈ"},gifts:{title:"ПОДАРКР",claim:"ЗАБРАТЬ",day:"ДЕНЬ",review:"ОТЗЫВ",forReview:"Р—Рђ ОТЗЫВ",subscription:"Р—Рђ ПОДПРРЎРљРЈ",get:"ПОЛУЧРРўР¬",g1:"Школьный кейс",g2:"Кейс-тыква",g3:"Кейс путешественника",g4:"Айпад",g5:"4Рљ Телевизор",g6:"Дубовый кейс",g7:"Ретрокар"},season:{title:"ОСЕННРР™ СЕЗОН",eyebrow:"СЕЗОН 1",heroTitle:"Осень 2026",heroDaysOne:"Остался {n} день РґРѕ конца",heroDaysFew:"Осталось {n} РґРЅСЏ РґРѕ конца",heroDaysMany:"Осталось {n} дней РґРѕ конца",heroEnded:"СЕЗОН ЗАВЕРШЕН",activeDates:"Продажи засчитываются СЃ 1 сентября РїРѕ 30 РЅРѕСЏР±СЂСЏ В· серверное время",endedDates:"Сезонные продажи завершены В· коллекция Рё награды доступны",leaves:"листья",collected:"коллекция",sales:"продажи",tab:{collection:"КОЛЛЕКЦРРЇ",rewards:"НАГРАДЫ",leaders:"Р›РДЕРЫ СЕЗОНА"},chest:{school:"Школьный кейс",pumpkin:"Кейс-тыква",traveler:"Кейс путешественника",premium:"Дубовый кейс",autumnPremium:"Осенний премиум",mythic:"Мифический кейс"},chestHint:{school:"Школа, урожай Рё полезные мелочи",pumpkin:"Дом, РґРѕР¶РґСЊ Рё Хэллоуин",traveler:"РџРѕС…РѕРґС‹, сад Рё сезонная техника",premium:"Техника, транспорт Рё недвижимость",autumnPremium:"Крупные активы стоимостью РѕС‚ РѕРґРЅРѕРіРѕ миллиарда рублей",mythic:"Содержит секретный предмет"},chestPool:"Р’ коллекции кейса: {n}",owned:"Р’ наличии: {n}",buyForLeaves:"РљРЈРџРРўР¬ В· {n} рџЌЃ",open:"ОТКРЫТЬ",adEyebrow:"БЕСПЛАТНАЯ ПОПЫТКА",adChest:"Осенний кейс",adChestHint:"РћРґРёРЅ РёР· {n} предметов школьного, тыквенного, РїРѕС…РѕРґРЅРѕРіРѕ или РґСѓР±РѕРІРѕРіРѕ кейса В· без Осеннего премиума",adChestOdds:"Чем дешевле предмет, тем выше шанс выпадения",watchAd:"СМОТРЕТЬ РЕКЛАМУ",guideTitle:"Новый сезон! Осень 2026.",guideIntro:"Собирайте осенние предметы РґРѕ 30 РЅРѕСЏР±СЂСЏ Рё заполняйте сезонную коллекцию. Соревнуйтесь СЃ РґСЂСѓРіРёРјРё игроками РІ таблицах лидеров, проходите этапы коллекционера Рё получайте РїСЂРёР·С‹!",guideStart:"ОТКРЫТЬ КЕЙСЫ",collectionTitle:"Осенняя коллекция",notFound:"ЕЩЁ РќР• НАЙДЕНО",secretItem:"Секретный предмет",secretChance:"0,01%",duplicateBonus:"Дубликаты: {n}",notEnoughLeaves:"Недостаточно средств",chestBought:"Сезонный кейс куплен",chestOpened:"Осенний кейс открыт!",duplicates:"Повторных предметов: {n}",rewardClaimed:"Сезонная награда получена",rewardReadyEyebrow:"СЕЗОННЫЙ ПРОГРЕСС",rewardReadyTitle:"СЕЗОННАЯ НАГРАДА ДОСТУПНА!",rewardReadyText:{one:"Ртап Р·Р° {n} уникальный предмет пройден",few:"Ртап Р·Р° {n} уникальных предмета пройден",many:"Ртап Р·Р° {n} уникальных предметов пройден"},rewardReadyAction:"ЗАБРАТЬ НАГРАДУ",rewardEyebrow:"РџРЈРўР¬ КОЛЛЕКЦРОНЕРА",rewardTitle:"Сезонный прогресс",forItems:{one:"Р—Р° {n} уникальный предмет",few:"Р—Р° {n} уникальных предмета",many:"Р—Р° {n} уникальных предметов"},claim:"ЗАБРАТЬ",claimed:"ПОЛУЧЕНО",needMore:"РќРЈР–РќРћ ЕЩЁ {n}",rewardLeaves:"{n} осенних листьев",scrollPrevious:"Предыдущие награды",scrollNext:"Следующие награды",leaderTitle:"Лидеры сезона",leaderDaysOne:"{n} день РґРѕ конца сезона",leaderDaysFew:"{n} РґРЅСЏ РґРѕ конца сезона",leaderDaysMany:"{n} дней РґРѕ конца сезона",leaderEnded:"СЕЗОН ЗАВЕРШЕН",leaderSales:"Продавцы сезона",leaderCollection:"Коллекционеры сезона",leaderEmpty:"Участников РїРѕРєР° нет",sold:{one:"{n} продажа",few:"{n} продажи",many:"{n} продаж"},itemsCount:{one:"{n} предмет",few:"{n} предмета",many:"{n} предметов"},item:{pencil:"Карандаш",corn_cob:"Початок",notebook:"Тетрадь",ruler:"Линейка",mushroom:"Гриб",marker_set:"Набор маркеров",candle:"Свеча",jam:"Варенье",walnuts:"Грецкие орехи",pumpkin:"Тыква",mask:"Маска",pencil_case:"Пенал",rake:"Грабли",apple_basket:"РљРѕСЂР·РёРЅР° яблок",heating_pad:"Грелка",potato_sack:"Мешок картошки",chanterelle_basket:"РљРѕСЂР·РёРЅР° лисичек",jack_o_lantern:"Фонарь Джека",umbrella:"Зонтик",thermos:"Термос",headlamp:"Налобный фонарь",calculator:"Калькулятор",school_backpack:"Портфель школьный",pruning_shears:"Секатор",shoe_dryer:"Сушилка для РѕР±СѓРІРё",shirt:"Рубашка",halloween_costume:"Костюм РЅР° Хэллоуин",raincoat:"Дождевик",rubber_boots:"Резиновые сапоги",blanket:"Плед",moccasins:"Мокасины",hiking_backpack:"Походный рюкзак",trekking_shoes:"РћР±СѓРІСЊ для треккинга",wheelbarrow:"Тачка",heater:"Обогреватель",inflatable_ghost:"Надувной призрак",leaf_blower:"Р’РѕР·РґСѓС…РѕРґСѓРІРєР°",fruit_dryer:"Сушилка для фруктов",tent:"Палатка",scarecrow:"Пугало",pump:"Насос",microscope:"РњРёРєСЂРѕСЃРєРѕРї",rocking_chair:"Кресло-качалка",ipad:"Айпад",tv_4k:"4Рљ Телевизор",wood_stove:"Дровяная печь",sofa:"Диван",tame_owl:"РЎРѕРІР° ручная",fireplace:"Камин",interactive_board:"Рнтерактивная РґРѕСЃРєР°",forest_atv:"Лесной квадроцикл",retro_car:"Ретрокар",orange_bmw:"Рыжий БМВ",school_bus:"Школьный автобус",cottage:"Коттедж",haunted_castle:"Замок СЃ призраками",private_school:"Частная школа",country_residential_complex:"Загородный Р–Рљ",university:"Университет",historic_estate:"Рсторическая усадьба",classic_car_museum:"Музей ретроавтомобилей",education_platform:"Образовательная платформа",country_hotel_chain:"Сеть загородных отелей",agricultural_holding:"Агрохолдинг",heating_equipment_plant:"Завод отопительной техники",horror_film_studio:"Киностудия фильмов ужасов",halloween_theme_park:"Тематический парк Хэллоуина",vast_forest:"Огромный лес",mountain_resort:"Горный РєСѓСЂРѕСЂС‚",orange_bugatti:"Оранжевый Бугатти"}},leaders:{collectors:"КОЛЛЕКЦРОНЕРЫ",rich:"БОГАЧР",sellers:"ПРОДАВЦЫ",you:"Р’С‹",items:{one:"{n}/{total}",few:"{n}/{total}",many:"{n}/{total}"},sold:{one:"{n} продажа",few:"{n} продажи",many:"{n} продаж"},loading:"Загрузка рейтинга…"},cond:{new:"НОВЫЙ",used:"Р‘/РЈ",worn:"СРЕДНЕЕ",broken:"ПОВРЕЖДЁН"},tier:{1:"ОБЫЧНЫЙ",2:"НЕОБЫЧНЫЙ",3:"РЕДКРР™",4:"ЦЕННЫЙ",5:"ПРЕМРАЛЬНЫЙ",6:"ПРЕСТРЖНЫЙ",7:"КОРОЛЕВСКРР™",8:"РКСКЛЮЗРВНЫЙ",9:"РЈРќРКАЛЬНЫЙ"},npcType:{troll:"Тролль",businessman:"Бизнесмен",talker:"Болтун",economist:"Ркономный",hasty:"Торопыга",ordinary:"Обычный",collector:"Коллекционер",appraiser:"Оценщик",impulsive:"Рмпульсивный",pushy:"Наглец",hypehunter:"Хайпхантер"},hobby:{fishing:"рыбалка",basketball:"баскетбол",football:"футбол",music:"музыка",cooking:"готовка",photo:"фотография"},popup:{yourSurcharge:"Ваша доплата",sellerAsksSurcharge:"Продавец РїСЂРѕСЃРёС‚ доплату {amount}",propose:"Предложить",requestSurcharge:"Запросить доплату",proposeHint:"Сколько покупатель доплатит сверх обмена (РґРѕ {max})",counterTitle:"Ваша цена",buyerOfferedYourPrice:"Покупатель предложил {min} В· ваша цена {max}",countTitle:"Сколько купить",buyN:"Купить {n} — {total}",codewordsTitle:"Выберите РєРѕРґРѕРІРѕРµ слово",reviewTitle:"Оцените РёРіСЂСѓ",authMsg:"Авторизуйся, чтобы оценить РёРіСЂСѓ Рё получить подарок",login:"Войти",reviewOffer:"Оцени РёРіСЂСѓ Рё получи В«{name}В»",review:"Оценить",vkCommunityMessage:"Подпишись РЅР° сообщество РёРіСЂС‹ ВКонтакте Рё получи бесплатный кейс!",vkCommunityGo:"ПЕРЕЙТР",caseBonusTitle:"БОНУС Р—Рђ 10 КЕЙСОВ!",caseBonusMessage:"Открой В«{name}В» ещё раз бесплатно Р·Р° рекламу!",caseBonusSaved:"Предметы РёР· предыдущего открытия сохранятся!",caseBonusWatch:"СМОТРЕТЬ РЕКЛАМУ",caseBonusDismiss:"РќР• РҐРћР§РЈ",refreshMsg:"РћР±РЅРѕРІРё страницу, чтобы оценить РёРіСЂСѓ",reviewGiven:"Подарок Р·Р° отзыв СѓР¶Рµ получен",leaderboardAuthMsg:"Авторизуйтесь, чтобы попасть в таблицу лидеров и соревноваться СЃВ РґСЂСѓРіРёРјРё игроками",estimate:"Оценка стоимости",market:"Рынок: {min}–{max} в‚Ѕ",countQ:"Сколько купить?",chooseCount:"Выберите количество",codeword:"РљРѕРґРѕРІРѕРµ слово"},dlg:{npcGreet:"Здравствуйте! Рнтересует?",collectorSellerWant:"Здравствуйте! Рщу В«{wanted}В» для коллекции. Если есть — можем обсудить обмен.",collectorSellerDuplicate:"Здравствуйте! Рщу В«{wanted}В» для коллекции. Ртот товар Сѓ меня повторный, поэтому готов обсудить хорошую цену.",appraiserSellerGreet:"Здравствуйте! РЇ сверил состояние Рё рынок — цена честная. Разумный торг уместен.",impulsiveSellerGreet:"Выставил РїСЂСЏРјРѕ сейчас. Предлагайте разумную цену — РјРѕРіСѓ быстро согласиться.",pushySellerGreet:"Товар отличный, поэтому цена высокая. Сильно уступать РЅРµ планирую.",hypeSellerGreet:"Люблю сезонные Рё статусные предметы. Предложите что-РЅРёР±СѓРґСЊ хайповое — РѕР±СЃСѓРґРёРј обмен.",npcHello:"Здравствуйте! Да, РІСЃС‘ РІ наличии.",playerTakeNow:"Заберу РїСЂСЏРјРѕ сейчас!",npcDealOk:"Отлично, договорились!",playerAsk:"Расскажите подробнее Рѕ товаре",condNew:"Состояние отличное, почти новый.",condUsed:"Пользовались активно, РЅРѕ РІСЃС‘ работает.",condWorn:"Среднее состояние, есть следы использования.",condBroken:"Честно скажу — есть поломка.",condFine:"Р’СЃС‘ РІ РїРѕСЂСЏРґРєРµ.",playerSmalltalk:"Как дела Сѓ вас?",hastyNoTalk:"Р’С‹ совсем РЅРµ цените РјРѕС‘ время!",talkerSmalltalk:"Отлично, спасибо что спросили! Приятно поболтать рџЉ",bizSmalltalk:"Так, Рє чему эти РІРѕРїСЂРѕСЃС‹? Давайте ближе Рє делу.",ordSmalltalk:"Нормально, Р° Рє чему РІРѕРїСЂРѕСЃ?",playerDiscount:"РЎРєРёРґРєР° будет? Р’РѕР·СЊРјСѓ Р·Р° {price}",playerTradeOffer:"Предлагаю обмен РЅР° В«{name}В»",surchargeOffer:"Рто неравноценный обмен, РЅРѕ СЃ вашей доплатой {amount} — согласен.",playerTrade:"Согласен РЅР° обмен!",npcSwap:"Отлично, меняемся!",playerCounterSur:"Рђ если доплачу {amount}?",npcSurDeal:"Рдёт, РїРѕ рукам!",npcSurLow:"Маловато. Меньше {amount} РЅРµ РІРѕР·СЊРјСѓ.",playerDeclineTrade:"Нет, без обмена.",npcOkWhatever:"РќСѓ ладно, как хотите.",playerBye:"До свидания",npcBye:"Всего РґРѕР±СЂРѕРіРѕ!",gateRefuse:"РҐР°-С…Р°. РЇ РЅР° такое РЅРµ ведусь. Р РґРѕ свидания",gateBail:"РќСѓ Рё ладно :(",gatePass:"Окей, теперь РІРёР¶Сѓ тебя. Что хотел?",trollBuy:"РћРѕ, СЃРІРѕР№ человек! Беру, РїРѕ рукам.",trollCounterReject:"Рћ, СЃРІРѕР№ человек! Шаришь! РќРѕ это слишком РґРѕСЂРѕРіРѕ, РЅРµ потяну.",trollStillHigh:"Р’СЃС‘ равно РґРѕСЂРѕРіРѕ. РњРѕР№ потолок: {price}.",trollSell:"РћРѕ, СЃРІРѕР№ человек! Для тебя отдам Р·Р° {price}.",stolen:"РћР№, СѓР¶Рµ продал РґСЂСѓРіРѕРјСѓ, извините!",gateWarn:"вљ пёЏ Собеседник РЅРµ РІРёРґРёС‚ ваше сообщение! Для отправки сообщения напишите В«{word}В»",askTradeCond:"Рђ РІ каком состоянии ваш товар?",suspicious:"РҐРј, подозрительно… РЅСѓ ладно. Р’РѕР·СЊРјСѓ Р·Р° {price}.",playerAgree:"Договорились!",flake:"РћР№, передумал, извините!",npcThanks:"Отлично, спасибо!",hastyNoBargain:"РЇ Р¶Рµ назвал цену! Некогда торговаться, всего РґРѕР±СЂРѕРіРѕ.",aboveCap:"Нет, это выше моего потолка. Остаюсь РїСЂРё своём предложении.",counterOk:"Хорошо, договорились!",playerCounter:"Давайте Р·Р° {price}?",playerDeclineSale:"Нет, РЅРµ отдам. До свидания",npcGoodLuck:"Жаль, удачи!",notEnoughMoney:"РЈ вас РЅРµ хватает денег :(",notEnoughSur:"РЈ вас РЅРµ хватает РЅР° доплату :(",playerAcceptSur:"Согласен, доплачу {amount}.",surTooMuch:"Столько РЅРµ доплачу. Максимум {amount} сверху.",playerProposeSur:"Махнёмся, РЅРѕ доплатите {amount}?",playerProposeNoSur:"Махнёмся без доплаты?",surAcceptedSwap:"Рдёт, доплачу. Меняемся!",ignoredLeave:"Долго РЅРµ отвечаете, СЏ передумал.",playerRefuse:"РќРµ скажу.",toldNew:"Товар новый, РІСЃС‘ идеально.",toldUsed:"Р‘/РЈ, пользовались, РЅРѕ РІСЃС‘ работает.",toldWorn:"Состояние среднее, есть следы использования.",toldBroken:"Поломанный, надо будет чинить."},toast:{sold:"Продано Р·Р° {price}",bought:"Куплено: {name}",boughtStarter:"Куплено: Набор новичка",boughtAutumnBundle:"Куплено: Осенний набор",boughtMegaBundle:"Куплено: Мега-набор",listed:"Выставлено РЅР° продажу",unlisted:"Снято СЃ продажи",repaired:"Починено",maxListings:"Максимум 6 позиций",notEnough:"Недостаточно средств",tradeGot:"Обмен: получено В«{name}В»",tradeGotSur:"Обмен: В«{name}В» + {amount}",newSaleMsg:"РќРѕРІРѕРµ сообщение РїРѕ продаже",marketRefreshed:"Обновился ассортимент «За покупками»",reportSent:"Жалоба отправлена. +{reward}",adsOff:"Реклама отключена",adsAlreadyOff:"Реклама СѓР¶Рµ отключена",rewardClaimed:"Награда получена",giftGot:"Получено: {name}"},buyer:{biz:"Беру! РќРѕ цена кусается — скиньте РґРѕ {price}?",bizFull:"Беру Р·Р° {price}, РїРѕ рукам?",tradeOffer:"Махнёмся? Предлагаю В«{name}В» РЅР° обмен.",econ:"Дороговато. {price} — Рё заберу.",econFull:"{price} — беру.",hasty:"Тороплюсь! Скиньте РґРѕ {price} — заберу сейчас.",hastyFull:"Беру РїСЂСЏРјРѕ сейчас Р·Р° {price}! Отдаёте?",talker:"Здравствуйте! Рђ РІ каком состоянии товар, давно пользовались?",troll:"Беру Р·Р° {price}, отдаёте?",ord:"РЎРєРёРґРєСѓ РґРѕ {price} сделаете?",ordFull:"Беру Р·Р° {price}, отдаёте?",pushy:"Заберу Р·Р° {price}. Да, СЃРєРёРґРєР° большая — РЅРѕ РјРѕС‘ предложение действует сейчас.",collector:"Рщу именно В«{name}В» РІ коллекцию. Готов взять Р·Р° {price}.",appraiser:"Оцениваю товар как {condition}. Если это так, то хочу купить Р·Р° {price}. РџРѕ рукам?",impulsive:"Решил сразу: забираю Р·Р° {price}!",pushyType:"Дам {price}. Да, СЃРєРёРґРєР° большая — РЅРѕ если предложите разумную встречную цену, подумаю.",hypeWanted:"Обожаю сезонные Рё статусные вещи! Р—Р° В«{name}В» дам {price}.",hypeRegular:"Обычно охочусь Р·Р° сезонными вещами, РЅРѕ В«{name}В» тоже РІРѕР·СЊРјСѓ Р·Р° {price}.",fairFull:"Цена устраивает. Беру Р·Р° {price} без торга.",lucky:"Очень нужная вещь! Беру Р·Р° {price}, РЅРµ торгуясь.",newOk:"Отлично, новый! Беру Р·Р° {price}.",condThenDiscount:"Раз {cond} — тогда скиньте. Р’РѕР·СЊРјСѓ Р·Р° {price}."},condShort:{new:"новый",used:"Р‘/РЈ",worn:"средний",broken:"повреждённый"},trade:{discountOk:"Договорились, РїРѕ рукам!",sellAtYourPrice:"Готов отдать РїРѕ вашей цене — {price} в‚Ѕ!",discountNo:"Нет, это слишком большая СЃРєРёРґРєР° Р·Р° такой товар.",discountNo2:"РќРµ, РїРѕ такой цене РЅРµ отдам.",tradeYes:"РҐР°, Р° почему Р±С‹ Рё нет? РџРѕ рукам, меняемся!",tradeYes2:"Рдёт, меняемся!",tradeNo:"Обмен РЅРµ интересует, спасибо.",collectorWishlistYes:"Р’РѕС‚ это как раз предмет РёР· моего СЃРїРёСЃРєР°! РџРѕ рукам, меняемся.",trollTrade:"РҐР°, СЏ тебя затролил! Рщи себя РІ тиктоке",trollNice:"РћРѕ, СЃРІРѕР№ человек! РЎРєРёРЅСѓ тебе хорошо.",condThenDiscount:"Раз {cond} — тогда скиньте. Р’РѕР·СЊРјСѓ Р·Р° {price}."},trollCodewords:["бурмалда","хаммам","массажные столы","турецкая баня","черемша","брдыщ"],namesMale:["Владислав","Олег","Дмитрий","РРіРѕСЂСЊ","Сергей","Кирилл","Артём","Роман","Павел"],namesFemale:["Марина","Светлана","РђРЅРЅР°","Юлия","Наталья","Екатерина"]},Nr={num:{tn:"T RUB",bn:"B RUB",mn:"M RUB"},nav:{buy:"Shopping",inventory:"Inventory",sales:"My sales",cases:"Cases",chats:"Chats",shop:"Shop",gifts:"Gifts",season:"Season",work:"WORK"},work:{title:"WORK",perClick:"Income per click",level:"Level {n}",maxLevel:"Level {n} В· max",upgrade:"Upgrade for {price}",maxed:"Max level reached",hint:"Tap the computer and earn"},common:{title:"My Resale",close:"Close",player:"Player",leaders:"LEADERS",lang:"EN",cancel:"Cancel",ok:"Got it",got:"Claimed",unavailable:"LOCKED"},settings:{title:"Settings",music:"Music",sounds:"Sounds",language:"LANGUAGE",ru:"Р СѓСЃСЃРєРёР№",en:"English",tr:"TГјrkГ§e",es:"EspaГ±ol",promo:"PROMO CODE",promoPlaceholder:"Enter promo code",promoApply:"APPLY",promoEmpty:"Enter a promo code",promoInvalid:"Promo code not found",promoApplied:"Gift received!"},buy:{title:"SHOPPING!",writeSeller:"Message seller",estimate:"Price estimate",stolen:"Item is no longer available.",notFound:"Item not found.",selectInv:"Select an item in your inventory.",tutLocked:"Make your first sale to start buying",skip:"DON'T WAIT",untilRefresh:"Refresh in:"},tut:{pickCase:"Open the free case",openCase:"Tap to open",keep:"Take the item",goInv:"Open inventory",list:"Put it up for sale",price:"Drag the slider to set a price",goBuy:"Go shopping",pickGoods:"Pick an item",write:"Message the seller",greet:"Say hello",ask:"Ask about the item",buyNow:"Buy the item",goChat:"A buyer messaged you",sellAccept:"Agree to the sale",skip:"SKIP TUTORIAL"},inventory:{title:"INVENTORY",sell:"SELL",quickSell:"QUICK SELL",repair:"REPAIR",tabInv:"INVENTORY",tabCol:"COLLECTION",collectionMain:"MAIN",collectionAutumn2026:"AUTUMN 2026",collected:"Collected: {n} / {total}",confirmSell:"Sell “{name}” for {price}?",empty:"Inventory is empty. Open a case or buy an item!",colNotOwned:"NOT COLLECTED",inInv:"IN INVENTORY",quickTitle:"Quick sell",quickConfirm:"Sell for {price}",brokenTag:" BR"},sales:{title:"MY SALES",empty:"No items for sale.",detail:"DETAILS",unlist:"REMOVE FROM SALE"},sellSetup:{title:"LISTING FOR SALE",submit:"List for sale",yourPrice:"Your price",zoneBelow:"below market",zoneMarket:"market",zoneAbove:"above market"},cases:{title:"CASES",forAd:"FOR AD",free:"FREE CASE!",freeBtn:"FREE",contents:"Case contents",buyMulti:"Buy several",freeTitle:"FREE CASES",mineTitle:"MY CASES",seasonalTitle:"SEASONAL CASES",regularTitle:"REGULAR CASES",openOwned:"OPEN"},caseName:{ad:"Free case",vk:"VK case",tier1:"Cardboard case",tier2:"Wooden case",tier3:"Golden case",tier4:"Aquarium case",tier5:"Premium case",tier6:"Ruby case",tier7:"Royal case",tier8:"Exclusive case"},roulette:{opening1:"Opening case…",openingN:"Opening {n} cases…",won:"You got:",keep:"Keep",sell:"Sell {price}",allToInv:"All to inventory",inInv:"IN INVENTORY",rerollFree:"REROLL FOR FREE",rerollWarning:"WARNING! Current items will not be saved!"},chats:{title:"CHATS",empty:"No chats yet.",optGreet:"Hello, I am interested in your item!",optTakeNow:"I will take it right now!",optDiscount:"Any discount? I will take it for…",optTrade:"I propose a trade for…",optAsk:"Ask about the item",optSmalltalk:"How are you?",optAcceptTrade:"Accept the trade",optDeclineTrade:"Decline the trade",optAskCond:"Ask about the item condition",optProposeSur:"Ask for a surcharge",optAnswerCond:"Answer the question",optRefuseCond:"Won’t say",optSell:"Sell for {price}",optCounter:"Offer a new price",optDecline:"Decline",optAcceptSur:"Accept (surcharge {amount})",optCounterSur:"Offer your price",optDeclineSur:"Decline the trade",optBye:"Goodbye",done:"Chat ended",report:"Report",tradePick:"CHOOSE AN ITEM TO TRADE",tradeEmpty:"No items in your inventory to trade.",noTradeItems:"No items to trade",tradeOfferHint:"Offers for trade (tap to estimate):",tradeLabel:"Offered for trade",sellerYou:"You are selling",hobby:"Hobby: {hobby}",wants:"Wants: {items}"},shop:{title:"SHOP",starter:"Starter pack",autumnBundle:"Autumn Bundle",megaBundle:"Mega Bundle",promo:"SALE",details:"DETAILS",bought:"Bought",offers:"OFFERS",currency:"CURRENCY",noAds:"Remove ads",disclaimer:"Disclaimer: This is in-game currency, not real money. By making a purchase, you acknowledge that you have read this notice and have no claims.",starterList1:"10,000,000 RUB",starterList2:"Mercedes",starterList3:"3 premium cases",starterList4:"Remove ads",autumnList1:"Orange BMW",autumnList2:"10,000,000 RUB",autumnList3:"5 Oak Cases",autumnList4:"Remove ads",megaList1:"Airline",megaList2:"3 Exclusive Cases",megaList3:"10 billion RUB",megaList4:"Remove ads",megaBenefit:"SAVE 30%",megaOfferTitle:"Instantly become richer than 90% of players!",offerDays:{one:"{n} day",few:"{n} days",many:"{n} days"},starterAdvantage:"GET A UNIQUE ADVANTAGE!",autumnProgressFaster:"PROGRESS THROUGH THE SEASON FASTER!",noAdsPrompt:"TIRED OF ADS?",dontWant:"NOT NOW"},gifts:{title:"GIFTS",claim:"CLAIM",day:"DAY",review:"REVIEW",forReview:"FOR REVIEW",subscription:"FOR SUBSCRIPTION",get:"GET",g1:"School Case",g2:"Pumpkin Case",g3:"Traveler's Case",g4:"iPad",g5:"4K Television",g6:"Oak Case",g7:"Retro Car"},season:{title:"AUTUMN SEASON",eyebrow:"SEASON 1",heroTitle:"Autumn 2026",heroDaysOne:"{n} day left",heroDaysFew:"{n} days left",heroDaysMany:"{n} days left",heroEnded:"SEASON ENDED",activeDates:"Sales count from September 1 through November 30 В· server time",endedDates:"Season sales have ended В· collection and rewards remain available",leaves:"leaves",collected:"collection",sales:"sales",tab:{collection:"COLLECTION",rewards:"REWARDS",leaders:"SEASON LEADERS"},chest:{school:"School Case",pumpkin:"Pumpkin Case",traveler:"Traveler's Case",premium:"Oak Case",autumnPremium:"Autumn Premium",mythic:"Mythic Case"},chestHint:{school:"School, harvest and useful little things",pumpkin:"Home, rain and Halloween",traveler:"Hiking, gardening and seasonal gear",premium:"Tech, transport and real estate",autumnPremium:"Major assets worth at least one billion rubles",mythic:"Contains a secret item"},chestPool:"Case collection: {n}",owned:"Owned: {n}",buyForLeaves:"BUY В· {n} рџЌЃ",open:"OPEN",adEyebrow:"FREE ATTEMPT",adChest:"Autumn Case",adChestHint:"One of {n} School, Pumpkin, Traveler or Oak Case items В· no Autumn Premium drops",adChestOdds:"Cheaper items have a higher drop chance",watchAd:"WATCH AN AD",guideTitle:"New season! Autumn 2026.",guideIntro:"Collect autumn items through November 30 and complete the seasonal collection. Compete with other players on the leaderboards, reach collector milestones, and earn prizes!",guideStart:"OPEN CASES",collectionTitle:"Autumn collection",notFound:"NOT FOUND YET",secretItem:"Secret Item",secretChance:"0.01%",duplicateBonus:"Duplicates: {n}",notEnoughLeaves:"Not enough funds",chestBought:"Seasonal case purchased",chestOpened:"Autumn case opened!",duplicates:"Duplicate items: {n}",rewardClaimed:"Season reward claimed",rewardReadyEyebrow:"SEASON PASS",rewardReadyTitle:"SEASON REWARD AVAILABLE!",rewardReadyText:{one:"Milestone for {n} unique item completed",few:"Milestone for {n} unique items completed",many:"Milestone for {n} unique items completed"},rewardReadyAction:"CLAIM REWARD",rewardEyebrow:"COLLECTOR PATH",rewardTitle:"Season Pass",forItems:{one:"For {n} unique item",few:"For {n} unique items",many:"For {n} unique items"},claim:"CLAIM",claimed:"CLAIMED",needMore:"NEED {n} MORE",rewardLeaves:"{n} autumn leaves",scrollPrevious:"Previous rewards",scrollNext:"Next rewards",leaderTitle:"Season leaders",leaderDaysOne:"{n} day until the season ends",leaderDaysFew:"{n} days until the season ends",leaderDaysMany:"{n} days until the season ends",leaderEnded:"SEASON ENDED",leaderSales:"Sellers of the season",leaderCollection:"Collectors of the season",leaderEmpty:"No participants yet",sold:{one:"{n} sale",few:"{n} sales",many:"{n} sales"},itemsCount:{one:"{n} item",few:"{n} items",many:"{n} items"},item:{pencil:"Pencil",corn_cob:"Corn Cob",notebook:"Notebook",ruler:"Ruler",mushroom:"Mushroom",marker_set:"Marker Set",candle:"Candle",jam:"Jam",walnuts:"Walnuts",pumpkin:"Pumpkin",mask:"Mask",pencil_case:"Pencil Case",rake:"Rake",apple_basket:"Basket of Apples",heating_pad:"Heating Pad",potato_sack:"Sack of Potatoes",chanterelle_basket:"Basket of Chanterelles",jack_o_lantern:"Jack-o'-lantern",umbrella:"Umbrella",thermos:"Thermos",headlamp:"Headlamp",calculator:"Calculator",school_backpack:"School Backpack",pruning_shears:"Pruning Shears",shoe_dryer:"Shoe Dryer",shirt:"Shirt",halloween_costume:"Halloween Costume",raincoat:"Raincoat",rubber_boots:"Rubber Boots",blanket:"Blanket",moccasins:"Moccasins",hiking_backpack:"Hiking Backpack",trekking_shoes:"Trekking Shoes",wheelbarrow:"Wheelbarrow",heater:"Heater",inflatable_ghost:"Inflatable Ghost",leaf_blower:"Leaf Blower",fruit_dryer:"Fruit Dryer",tent:"Tent",scarecrow:"Scarecrow",pump:"Pump",microscope:"Microscope",rocking_chair:"Rocking Chair",ipad:"iPad",tv_4k:"4K Television",wood_stove:"Wood-burning Stove",sofa:"Sofa",tame_owl:"Tame Owl",fireplace:"Fireplace",interactive_board:"Interactive Board",forest_atv:"Forest ATV",retro_car:"Retro Car",orange_bmw:"Orange BMW",school_bus:"School Bus",cottage:"Cottage",haunted_castle:"Haunted Castle",private_school:"Private School",country_residential_complex:"Country Residential Complex",university:"University",historic_estate:"Historic Estate",classic_car_museum:"Classic Car Museum",education_platform:"Education Platform",country_hotel_chain:"Country Hotel Chain",agricultural_holding:"Agricultural Holding",heating_equipment_plant:"Heating Equipment Plant",horror_film_studio:"Horror Film Studio",halloween_theme_park:"Halloween Theme Park",vast_forest:"Vast Forest",mountain_resort:"Mountain Resort",orange_bugatti:"Orange Bugatti"}},leaders:{collectors:"COLLECTORS",rich:"TYCOONS",sellers:"SELLERS",you:"You",items:{one:"{n}/{total}",few:"{n}/{total}",many:"{n}/{total}"},sold:{one:"{n} sale",few:"{n} sales",many:"{n} sales"},loading:"Loading ranking…"},cond:{new:"NEW",used:"USED",worn:"WORN",broken:"BROKEN"},tier:{1:"COMMON",2:"UNCOMMON",3:"RARE",4:"VALUABLE",5:"PREMIUM",6:"PRESTIGE",7:"ROYAL",8:"EXCLUSIVE",9:"UNIQUE"},npcType:{troll:"Troll",businessman:"Businessman",talker:"Talker",economist:"Thrifty",hasty:"Hasty",ordinary:"Ordinary",collector:"Collector",appraiser:"Appraiser",impulsive:"Impulsive",pushy:"Pushy",hypehunter:"Hype hunter"},hobby:{fishing:"fishing",basketball:"basketball",football:"football",music:"music",cooking:"cooking",photo:"photography"},popup:{yourSurcharge:"Your surcharge",sellerAsksSurcharge:"Seller asks for a surcharge {amount}",propose:"Offer",requestSurcharge:"Request a surcharge",proposeHint:"How much the buyer pays on top of the trade (up to {max})",counterTitle:"Your price",buyerOfferedYourPrice:"Buyer offered {min} В· your price {max}",countTitle:"How many to buy",buyN:"Buy {n} — {total}",codewordsTitle:"Choose a code word",reviewTitle:"Rate the game",authMsg:"Sign in to rate the game and get a gift",login:"Sign in",reviewOffer:"Rate the game and get “{name}”",review:"Rate",vkCommunityMessage:"Subscribe to the game community on VKontakte and get a free case!",vkCommunityGo:"OPEN",caseBonusTitle:"BONUS FOR 10 CASES!",caseBonusMessage:"Open “{name}” one more time for free by watching an ad!",caseBonusSaved:"Items from the previous opening will be kept!",caseBonusWatch:"WATCH AD",caseBonusDismiss:"NOT NOW",refreshMsg:"Refresh the page to rate the game",reviewGiven:"Review gift already claimed",leaderboardAuthMsg:"Sign in to join the leaderboard and compete with other players",estimate:"Price estimate",market:"Market: {min}–{max} RUB",countQ:"How many to buy?",chooseCount:"Choose amount",codeword:"Code word"},dlg:{npcGreet:"Hello! Interested?",collectorSellerWant:"Hello! I’m looking for “{wanted}” for my collection. If you have one, we can discuss a trade.",collectorSellerDuplicate:"Hello! I’m looking for “{wanted}” for my collection. This item is a duplicate, so I’m open to a good price.",appraiserSellerGreet:"Hello! I checked the condition and the market — the price is fair. A reasonable offer is welcome.",impulsiveSellerGreet:"Just listed it. Make a reasonable offer — I might agree quickly.",pushySellerGreet:"It’s a great item, so the price is high. Don’t expect a big discount.",hypeSellerGreet:"I love seasonal and high-status items. Offer me something trendy and we can discuss a trade.",npcHello:"Hello! Yes, it’s all in stock.",playerTakeNow:"I will take it right now!",npcDealOk:"Great, deal!",playerAsk:"Tell me more about the item?",condNew:"Condition is excellent, almost new.",condUsed:"Used a lot, but everything works.",condWorn:"Average condition, some wear.",condBroken:"Honestly — there is a defect.",condFine:"Everything is fine.",playerSmalltalk:"How are you?",hastyNoTalk:"You don’t value my time at all!",talkerSmalltalk:"Great, thanks for asking! Nice to chat рџЉ",bizSmalltalk:"So, what’s with these questions? Let’s get to the point.",ordSmalltalk:"Fine, why do you ask?",playerDiscount:"Any discount? I’ll take it for {price}",playerTradeOffer:"I propose a trade for “{name}”",surchargeOffer:"It’s an uneven trade, but with your surcharge of {amount} — I agree.",playerTrade:"I accept the trade!",npcSwap:"Great, let’s swap!",playerCounterSur:"What if I pay {amount}?",npcSurDeal:"Deal, let’s do it!",npcSurLow:"Too little. I won’t take less than {amount}.",playerDeclineTrade:"No, without a trade.",npcOkWhatever:"Fine, as you wish.",playerBye:"Goodbye",npcBye:"All the best!",gateRefuse:"Ha-ha. I won’t fall for that. Goodbye",gateBail:"Oh well :(",gatePass:"Okay, now I see you. What did you want?",trollBuy:"Oh, one of us! Deal, I’ll take it.",trollCounterReject:"Oh, you’re one of us! You get it! But that’s too expensive—I can’t afford it.",trollStillHigh:"Still too expensive. My limit is {price}.",trollSell:"Oh, one of us! For you I’ll sell it for {price}.",stolen:"Oops, already sold it to someone else, sorry!",gateWarn:"вљ пёЏ The other person can’t see your message! To send a message, type “{word}”",askTradeCond:"What condition is your item in?",suspicious:"Hmm, that seems suspicious… Fine, I’ll take it for {price}.",playerAgree:"Deal!",flake:"Oops, changed my mind, sorry!",npcThanks:"Great, thank you!",hastyNoBargain:"I already named my price! No time to haggle, goodbye.",aboveCap:"No, that’s above my limit. I’ll keep my offer.",counterOk:"Okay, deal!",playerCounter:"How about {price}?",playerDeclineSale:"No, I won’t sell it. Goodbye",npcGoodLuck:"Too bad, good luck!",notEnoughMoney:"You don’t have enough money :(",notEnoughSur:"You don’t have enough for the surcharge :(",playerAcceptSur:"Okay, I’ll pay {amount}.",surTooMuch:"I won’t pay that much. Max {amount} on top.",playerProposeSur:"Let’s swap, but pay {amount} extra?",playerProposeNoSur:"Let’s swap with no surcharge?",surAcceptedSwap:"Deal, I’ll pay extra. Let’s swap!",ignoredLeave:"You took too long to reply, I changed my mind.",playerRefuse:"Won’t say.",toldNew:"The item is new, everything’s perfect.",toldUsed:"Used, but everything works.",toldWorn:"Average condition, some wear.",toldBroken:"Broken, will need fixing."},toast:{sold:"Sold for {price}",bought:"Bought: {name}",boughtStarter:"Bought: Starter pack",boughtAutumnBundle:"Bought: Autumn Bundle",boughtMegaBundle:"Bought: Mega Bundle",listed:"Listed for sale",unlisted:"Removed from sale",repaired:"Repaired",maxListings:"Maximum 6 listings",notEnough:"Not enough funds",tradeGot:"Trade: got “{name}”",tradeGotSur:"Trade: “{name}” + {amount}",newSaleMsg:"New message about your sale",marketRefreshed:"The “Shopping” lineup has refreshed",reportSent:"Report sent. +{reward}",adsOff:"Ads removed",adsAlreadyOff:"Ads already removed",rewardClaimed:"Reward claimed",giftGot:"Got: {name}"},buyer:{biz:"I’ll take it! But the price bites — lower it to {price}?",bizFull:"I’ll take it for {price}, deal?",tradeOffer:"Wanna swap? I offer “{name}” for trade.",econ:"A bit pricey. {price} and I’ll take it.",econFull:"{price} and I’ll take it.",hasty:"In a hurry! Lower it to {price} — I’ll take it now.",hastyFull:"I’ll take it right now for {price}! Will you sell?",talker:"Hello! What condition is the item in, used it long?",troll:"I’ll take it for {price}, will you sell?",ord:"Can you discount it to {price}?",ordFull:"I’ll take it for {price}, will you sell?",pushy:"I’ll take it for {price}. Yes, that’s a big discount — but my offer is good right now.",collector:"I need “{name}” for my collection. I’m ready to pay {price}.",appraiser:"I think this item is {condition}. If so, I’d like to buy it for {price}. Deal?",impulsive:"Decided right away: I’ll take it for {price}!",pushyType:"I’ll pay {price}. Yes, that’s a big discount — but I may consider a reasonable counteroffer.",hypeWanted:"I love seasonal and high-status items! I’ll pay {price} for “{name}”.",hypeRegular:"I usually hunt for seasonal items, but I’ll take “{name}” for {price}.",fairFull:"The price works for me. I’ll take it for {price}, no haggling.",lucky:"Really need this! I’ll take it for {price}, no haggling.",newOk:"Great, it’s new! I’ll take it for {price}.",condThenDiscount:"Since it’s {cond} — then lower it. I’ll take it for {price}."},condShort:{new:"new",used:"used",worn:"worn",broken:"broken"},trade:{discountOk:"Agreed, deal!",sellAtYourPrice:"I’ll sell it at your price — {price} RUB!",discountNo:"No, that’s too big a discount for such an item.",discountNo2:"Nah, I won’t sell it for that price.",tradeYes:"Ha, why not? Deal, let’s swap!",tradeYes2:"Deal, let’s swap!",tradeNo:"Not interested in a trade, thanks.",collectorWishlistYes:"That’s exactly what’s on my wishlist! Deal, let’s swap.",trollTrade:"Ha, I trolled you! Look for yourself on TikTok",trollNice:"Oh, one of us! I’ll give you a good deal.",condThenDiscount:"Since it’s {cond} — then lower the price. I’ll take it for {price}."},trollCodewords:["balderdash","hammam","massage tables","Turkish bath","wild garlic","kaboom"],namesMale:["Vladislav","Oleg","Dmitry","Igor","Sergey","Kirill","Artyom","Roman","Pavel"],namesFemale:["Marina","Svetlana","Anna","Yulia","Natalya","Ekaterina"]},xr={num:{tn:"trln RUB",bn:"mlr RUB",mn:"mln RUB"},nav:{buy:"AlД±ЕџveriЕџ",inventory:"Envanter",sales:"SatД±ЕџlarД±m",cases:"Kasalar",chats:"Mesajlar",shop:"MaДџaza",gifts:"Hediyeler",season:"Sezon",work:"Д°Ећ"},work:{title:"Д°Ећ",perClick:"TД±klama baЕџД±na kazanГ§",level:"Seviye {n}",maxLevel:"Seviye {n} В· maks.",upgrade:"{price} karЕџД±lД±ДџД±nda geliЕџtir",maxed:"Maksimum seviyeye ulaЕџД±ldД±",hint:"Bilgisayara dokun ve para kazan"},common:{title:"Д°kinci El DГјkkГўnД±m",close:"Kapat",player:"Oyuncu",leaders:"LД°DERLER",lang:"TR",cancel:"Д°ptal",ok:"AnladД±m",got:"AlД±ndД±",unavailable:"KД°LД°TLД°"},settings:{title:"Ayarlar",music:"MГјzik",sounds:"Sesler",language:"DД°L",ru:"Р СѓСЃСЃРєРёР№",en:"English",tr:"TГјrkГ§e",es:"EspaГ±ol",promo:"PROMOSYON KODU",promoPlaceholder:"Promosyon kodunu gir",promoApply:"UYGULA",promoEmpty:"Bir promosyon kodu gir",promoInvalid:"Promosyon kodu bulunamadД±",promoApplied:"Hediyen alД±ndД±!"},buy:{title:"ALIЕћVERД°Ећ!",writeSeller:"SatД±cД±ya yaz",estimate:"Fiyat deДџerlendirmesi",stolen:"Bu ГјrГјn artД±k satД±Еџta deДџil.",notFound:"ГњrГјn bulunamadД±.",selectInv:"Envanterinden bir ГјrГјn seГ§.",tutLocked:"ГњrГјn satД±n almak iГ§in ilk satД±ЕџД±nД± yap",skip:"BEKLEME",untilRefresh:"Yenilenmeye kalan:"},tut:{pickCase:"Гњcretsiz kasayД± aГ§",openCase:"AГ§mak iГ§in dokun",keep:"ГњrГјnГј al",goInv:"Envanteri aГ§",list:"SatД±Еџa Г§Д±kar",price:"KaydД±rД±cД±yД± sГјrГјkleyip fiyat belirle",goBuy:"AlД±ЕџveriЕџe git",pickGoods:"Bir ГјrГјn seГ§",write:"SatД±cД±ya yaz",greet:"Selam ver",ask:"ГњrГјn hakkД±nda soru sor",buyNow:"ГњrГјnГј satД±n al",goChat:"Bir alД±cД± sana yazdД±",sellAccept:"SatД±ЕџД± kabul et",skip:"EДћД°TД°MД° ATLA"},inventory:{title:"ENVANTER",sell:"SATIЕћA Г‡IKAR",quickSell:"HIZLI SAT",repair:"ONAR",tabInv:"ENVANTER",tabCol:"KOLEKSД°YON",collectionMain:"ANA",collectionAutumn2026:"SONBAHAR 2026",collected:"Toplanan: {n} / {total}",confirmSell:"“{name}” adlД± ГјrГјnГј {price} karЕџД±lД±ДџД±nda satmak istiyor musun?",empty:"Envanterin boЕџ. Bir kasa aГ§ veya ГјrГјn satД±n al!",colNotOwned:"TOPLANMADI",inInv:"ENVANTERDE",quickTitle:"HД±zlД± satД±Еџ",quickConfirm:"{price} karЕџД±lД±ДџД±nda sat",brokenTag:" HSR"},sales:{title:"SATIЕћLARIM",empty:"SatД±Еџta ГјrГјn yok.",detail:"AYRINTILAR",unlist:"SATIЕћTAN KALDIR"},sellSetup:{title:"SATIЕћA Г‡IKAR",submit:"SatД±Еџa Г§Д±kar",yourPrice:"Senin fiyatД±n",zoneBelow:"piyasanД±n altД±nda",zoneMarket:"piyasa fiyatД±",zoneAbove:"piyasanД±n ГјstГјnde"},cases:{title:"KASALAR",forAd:"REKLAMLA",free:"ГњCRETSД°Z KASA!",freeBtn:"ГњCRETSД°Z",contents:"Kasa iГ§eriДџi",buyMulti:"Birden fazla al",freeTitle:"ГњCRETSД°Z KASALAR",mineTitle:"KASALARIM",seasonalTitle:"SEZONLUK KASALAR",regularTitle:"KLASД°K KASALAR",openOwned:"AГ‡"},caseName:{ad:"Гњcretsiz kasa",vk:"VK kasasД±",tier1:"Karton kasa",tier2:"AhЕџap kasa",tier3:"AltД±n kasa",tier4:"Akvaryum kasasД±",tier5:"Premium kasa",tier6:"Yakut kasa",tier7:"Kraliyet kasasД±",tier8:"Г–zel kasa"},roulette:{opening1:"Kasa aГ§Д±lД±yor…",openingN:"{n} kasa aГ§Д±lД±yor…",won:"KazandД±klarД±n:",keep:"Al",sell:"{price} karЕџД±lД±ДџД±nda sat",allToInv:"TГјmГјnГј envantere al",inInv:"ENVANTERDE",rerollFree:"ГњCRETSД°Z TEKRAR Г‡EVД°R",rerollWarning:"DД°KKAT! Mevcut ГјrГјnler kaydedilmeyecek!"},chats:{title:"MESAJLAR",empty:"HenГјz mesaj yok.",optGreet:"Merhaba, ГјrГјnГјnГјzle ilgileniyorum!",optTakeNow:"Hemen alД±yorum!",optDiscount:"Д°ndirim olur mu? Ећu fiyata alД±rД±m…",optTrade:"Ећununla takas teklif ediyorum…",optAsk:"ГњrГјn hakkД±nda sor",optSmalltalk:"NasД±lsД±nД±z?",optAcceptTrade:"TakasД± kabul et",optDeclineTrade:"TakasД± reddet",optAskCond:"ГњrГјnГјn durumunu sor",optProposeSur:"ГњstГјne para iste",optAnswerCond:"Soruyu yanД±tla",optRefuseCond:"SГ¶ylemeyeceДџim",optSell:"{price} karЕџД±lД±ДџД±nda sat",optCounter:"Yeni fiyat teklif et",optDecline:"Reddet",optAcceptSur:"Kabul et (ek Г¶deme {amount})",optCounterSur:"Kendi fiyatД±nД± teklif et",optDeclineSur:"TakasД± reddet",optBye:"HoЕџГ§a kal",done:"Sohbet sona erdi",report:"ЕћikГўyet et",tradePick:"TAKAS Д°Г‡Д°N BД°R ГњRГњN SEГ‡",tradeEmpty:"Envanterinde takas edilecek ГјrГјn yok.",noTradeItems:"Takas edilecek ГјrГјn yok",tradeOfferHint:"Takas teklifi (deДџerini gГ¶rmek iГ§in dokun):",tradeLabel:"Takas teklifi",sellerYou:"SatД±cД± sensin",hobby:"Hobisi: {hobby}",wants:"AradД±ДџД± ГјrГјnler: {items}"},shop:{title:"MAДћAZA",starter:"BaЕџlangД±Г§ Paketi",autumnBundle:"Sonbahar Paketi",megaBundle:"Mega Paket",promo:"FIRSAT",details:"AYRINTILAR",bought:"SatД±n alД±ndД±",offers:"FIRSATLAR",currency:"PARA BД°RД°MД°",noAds:"ReklamlarД± kaldД±r",disclaimer:"UyarД±: Bu gerГ§ek para deДџil, oyun iГ§i para birimidir. SatД±n alma iЕџlemi yaparak bu bildirimi okuduДџunuzu ve kabul ettiДџinizi onaylarsД±nД±z.",starterList1:"10.000.000 RUB",starterList2:"Mercedes",starterList3:"3 premium kasa",starterList4:"ReklamlarД± kaldД±r",autumnList1:"Turuncu BMW",autumnList2:"10.000.000 RUB",autumnList3:"5 MeЕџe Kasa",autumnList4:"ReklamlarД± kaldД±r",megaList1:"Havayolu Еџirketi",megaList2:"3 Г–zel Kasa",megaList3:"10 milyar RUB",megaList4:"ReklamlarД± kaldД±r",megaBenefit:"%30 TASARRUF",megaOfferTitle:"AnД±nda oyuncularД±n %90’ından daha zengin ol!",offerDays:{one:"{n} gГјn",few:"{n} gГјn",many:"{n} gГјn"},starterAdvantage:"BENZERSД°Z BД°R AVANTAJ KAZAN!",autumnProgressFaster:"SEZONDA DAHA HIZLI Д°LERLE!",noAdsPrompt:"REKLAMLARDAN BIKTIN MI?",dontWant:"ЕћД°MDД° DEДћД°L"},gifts:{title:"HEDД°YELER",claim:"AL",day:"GГњN",review:"DEДћERLENDД°R",forReview:"DEДћERLENDД°RME Г–DГњLГњ",subscription:"TAKД°P Г–DГњLГњ",get:"AL",g1:"Okul KasasД±",g2:"BalkabaДџД± KasasД±",g3:"Gezgin KasasД±",g4:"iPad",g5:"4K Televizyon",g6:"MeЕџe KasasД±",g7:"Klasik Otomobil"},season:{title:"SONBAHAR SEZONU",eyebrow:"1. SEZON",heroTitle:"Sonbahar 2026",heroDaysOne:"Bitmesine {n} gГјn kaldД±",heroDaysFew:"Bitmesine {n} gГјn kaldД±",heroDaysMany:"Bitmesine {n} gГјn kaldД±",heroEnded:"SEZON SONA ERDД°",activeDates:"SatД±Еџlar 1 EylГјl–30 KasД±m arasД±nda sayД±lД±r В· sunucu saati",endedDates:"Sezon satД±ЕџlarД± sona erdi В· koleksiyon ve Г¶dГјller hГўlГў eriЕџilebilir",leaves:"yaprak",collected:"koleksiyon",sales:"satД±Еџ",tab:{collection:"KOLEKSД°YON",rewards:"Г–DГњLLER",leaders:"SEZON LД°DERLERД°"},chest:{school:"Okul KasasД±",pumpkin:"BalkabaДџД± KasasД±",traveler:"Gezgin KasasД±",premium:"MeЕџe KasasД±",autumnPremium:"Sonbahar Premium",mythic:"Efsanevi Kasa"},chestHint:{school:"Okul, hasat ve iЕџe yarar kГјГ§Гјk eЕџyalar",pumpkin:"Ev, yaДџmur ve CadД±lar BayramД±",traveler:"DoДџa yГјrГјyГјЕџГј, bahГ§e ve sezonluk ekipman",premium:"Teknoloji, ulaЕџД±m ve gayrimenkul",autumnPremium:"En az bir milyar ruble deДџerindeki bГјyГјk varlД±klar",mythic:"Gizli bir ГјrГјn iГ§erir"},chestPool:"Kasadaki koleksiyon ГјrГјnГј: {n}",owned:"Sende: {n}",buyForLeaves:"AL В· {n} рџЌЃ",open:"AГ‡",adEyebrow:"ГњCRETSД°Z DENEME",adChest:"Sonbahar KasasД±",adChestHint:"Okul, BalkabaДџД±, Gezgin veya MeЕџe kasalarД±ndaki {n} ГјrГјnden biri В· Sonbahar Premium ГјrГјnГј Г§Д±kmaz",adChestOdds:"Daha ucuz ГјrГјnlerin Г§Д±kma ihtimali daha yГјksek",watchAd:"REKLAM Д°ZLE",guideTitle:"Yeni sezon! Sonbahar 2026.",guideIntro:"30 KasД±m’a kadar sonbahar ГјrГјnlerini topla ve sezon koleksiyonunu tamamla. Liderlik tablolarД±nda diДџer oyuncularla yarД±Еџ, koleksiyon hedeflerine ulaЕџ ve Г¶dГјlleri kazan!",guideStart:"KASALARI AГ‡",collectionTitle:"Sonbahar koleksiyonu",notFound:"HENГњZ BULUNMADI",secretItem:"Gizli ГњrГјn",secretChance:"%0,01",duplicateBonus:"Tekrarlar: {n}",notEnoughLeaves:"Yeterli bakiyen yok",chestBought:"Sezonluk kasa satД±n alД±ndД±",chestOpened:"Sonbahar kasasД± aГ§Д±ldД±!",duplicates:"Tekrarlanan ГјrГјnler: {n}",rewardClaimed:"Sezon Г¶dГјlГј alД±ndД±",rewardReadyEyebrow:"SEZON Д°LERLEMESД°",rewardReadyTitle:"SEZON Г–DГњLГњ HAZIR!",rewardReadyText:{one:"{n} benzersiz ГјrГјn hedefi tamamlandД±",few:"{n} benzersiz ГјrГјn hedefi tamamlandД±",many:"{n} benzersiz ГјrГјn hedefi tamamlandД±"},rewardReadyAction:"Г–DГњLГњ AL",rewardEyebrow:"KOLEKSД°YONCU YOLU",rewardTitle:"Sezon Д°lerlemesi",forItems:{one:"{n} benzersiz ГјrГјn iГ§in",few:"{n} benzersiz ГјrГјn iГ§in",many:"{n} benzersiz ГјrГјn iГ§in"},claim:"AL",claimed:"ALINDI",needMore:"{n} TANE DAHA GEREKД°YOR",rewardLeaves:"{n} sonbahar yapraДџД±",scrollPrevious:"Г–nceki Г¶dГјller",scrollNext:"Sonraki Г¶dГјller",leaderTitle:"Sezon liderleri",leaderDaysOne:"Sezonun bitmesine {n} gГјn kaldД±",leaderDaysFew:"Sezonun bitmesine {n} gГјn kaldД±",leaderDaysMany:"Sezonun bitmesine {n} gГјn kaldД±",leaderEnded:"SEZON SONA ERDД°",leaderSales:"Sezonun satД±cД±larД±",leaderCollection:"Sezonun koleksiyoncularД±",leaderEmpty:"HenГјz katД±lД±mcД± yok",sold:{one:"{n} satД±Еџ",few:"{n} satД±Еџ",many:"{n} satД±Еџ"},itemsCount:{one:"{n} ГјrГјn",few:"{n} ГјrГјn",many:"{n} ГјrГјn"},item:{pencil:"KurЕџun Kalem",corn_cob:"MД±sД±r KoГ§anД±",notebook:"Defter",ruler:"Cetvel",mushroom:"Mantar",marker_set:"KeГ§eli Kalem Seti",candle:"Mum",jam:"ReГ§el",walnuts:"Ceviz",pumpkin:"BalkabaДџД±",mask:"Maske",pencil_case:"Kalem Kutusu",rake:"TД±rmД±k",apple_basket:"Elma Sepeti",heating_pad:"SД±cak Su TorbasД±",potato_sack:"Patates Г‡uvalД±",chanterelle_basket:"Tilki MantarД± Sepeti",jack_o_lantern:"CadД±lar BayramД± Feneri",umbrella:"Ећemsiye",thermos:"Termos",headlamp:"Kafa LambasД±",calculator:"Hesap Makinesi",school_backpack:"Okul Г‡antasД±",pruning_shears:"Budama MakasД±",shoe_dryer:"AyakkabД± Kurutucusu",shirt:"GГ¶mlek",halloween_costume:"CadД±lar BayramД± KostГјmГј",raincoat:"YaДџmurluk",rubber_boots:"Lastik Г‡izme",blanket:"Battaniye",moccasins:"Mokasen",hiking_backpack:"YГјrГјyГјЕџ SД±rt Г‡antasД±",trekking_shoes:"Trekking AyakkabД±sД±",wheelbarrow:"El ArabasД±",heater:"IsД±tД±cД±",inflatable_ghost:"ЕћiЕџme Hayalet",leaf_blower:"Yaprak Гњfleme Makinesi",fruit_dryer:"Meyve Kurutucusu",tent:"Г‡adД±r",scarecrow:"Korkuluk",pump:"Pompa",microscope:"Mikroskop",rocking_chair:"Sallanan Sandalye",ipad:"iPad",tv_4k:"4K Televizyon",wood_stove:"Odun SobasД±",sofa:"Kanepe",tame_owl:"Evcil BaykuЕџ",fireplace:"ЕћГ¶mine",interactive_board:"AkД±llД± Tahta",forest_atv:"Orman ATV’si",retro_car:"Klasik Otomobil",orange_bmw:"Turuncu BMW",school_bus:"Okul OtobГјsГј",cottage:"KД±r Evi",haunted_castle:"Perili Ећato",private_school:"Г–zel Okul",country_residential_complex:"KД±rsal Konut Sitesi",university:"Гњniversite",historic_estate:"TarihГ® MalikГўne",classic_car_museum:"Klasik Otomobil MГјzesi",education_platform:"EДџitim Platformu",country_hotel_chain:"KД±r Otelleri Zinciri",agricultural_holding:"TarД±m Holding Ећirketi",heating_equipment_plant:"IsД±tma EkipmanД± FabrikasД±",horror_film_studio:"Korku Filmi StГјdyosu",halloween_theme_park:"CadД±lar BayramД± Tema ParkД±",vast_forest:"UГ§suz BucaksД±z Orman",mountain_resort:"DaДџ Tatil Merkezi",orange_bugatti:"Turuncu Bugatti"}},leaders:{collectors:"KOLEKSД°YONCULAR",rich:"ZENGД°NLER",sellers:"SATICILAR",you:"Sen",items:{one:"{n}/{total}",few:"{n}/{total}",many:"{n}/{total}"},sold:{one:"{n} satД±Еџ",few:"{n} satД±Еџ",many:"{n} satД±Еџ"},loading:"SД±ralama yГјkleniyor…"},cond:{new:"YENД°",used:"KULLANILMIЕћ",worn:"YIPRANMIЕћ",broken:"BOZUK"},tier:{1:"SIRADAN",2:"SIRA DIЕћI",3:"NADД°R",4:"DEДћERLД°",5:"PREMД°UM",6:"PRESTД°JLД°",7:"KRALД°YET",8:"Г–ZEL",9:"EЕћSД°Z"},npcType:{troll:"Trol",businessman:"Д°Еџ Д°nsanД±",talker:"Geveze",economist:"Tutumlu",hasty:"Aceleci",ordinary:"SД±radan",collector:"Koleksiyoncu",appraiser:"Eksper",impulsive:"Fevri",pushy:"YГјzsГјz",hypehunter:"Trend AvcД±sД±"},hobby:{fishing:"balД±kГ§Д±lД±k",basketball:"basketbol",football:"futbol",music:"mГјzik",cooking:"yemek yapmak",photo:"fotoДџrafГ§Д±lД±k"},popup:{yourSurcharge:"Senin ek Г¶demen",sellerAsksSurcharge:"SatД±cД± {amount} ek Г¶deme istiyor",propose:"Teklif et",requestSurcharge:"Ek Г¶deme iste",proposeHint:"AlД±cД±nД±n takasa ekleyeceДџi tutar (en fazla {max})",counterTitle:"Senin fiyatД±n",buyerOfferedYourPrice:"AlД±cД±nД±n teklifi {min} В· senin fiyatД±n {max}",countTitle:"KaГ§ tane alД±nacak?",buyN:"{n} tane al — {total}",codewordsTitle:"Bir parola seГ§",reviewTitle:"Oyunu deДџerlendir",authMsg:"Oyunu deДџerlendirip hediye almak iГ§in giriЕџ yap",login:"GiriЕџ yap",reviewOffer:"Oyunu deДџerlendir, “{name}” kazan",review:"DeДџerlendir",vkCommunityMessage:"Oyunun VKontakte topluluДџunu takip et ve Гјcretsiz bir kasa kazan!",vkCommunityGo:"GД°T",caseBonusTitle:"10 KASA AГ‡MA BONUSU!",caseBonusMessage:"Reklam izleyerek “{name}” kasasД±nД± bir kez daha Гјcretsiz aГ§!",caseBonusSaved:"Г–nceki aГ§Д±lД±Еџtan Г§Д±kan eЕџyalar korunacak!",caseBonusWatch:"REKLAM Д°ZLE",caseBonusDismiss:"ЕћД°MDД° DEДћД°L",refreshMsg:"Oyunu deДџerlendirmek iГ§in sayfayД± yenile",reviewGiven:"DeДџerlendirme hediyesi zaten alД±ndД±",leaderboardAuthMsg:"Liderlik tablosuna katД±lД±p diДџer oyuncularla yarД±Еџmak iГ§in giriЕџ yap",estimate:"Fiyat deДџerlendirmesi",market:"Piyasa: {min}–{max} RUB",countQ:"KaГ§ tane almak istiyorsun?",chooseCount:"Adet seГ§",codeword:"Parola"},dlg:{npcGreet:"Merhaba! Д°lgileniyor musunuz?",collectorSellerWant:"Merhaba! Koleksiyonum iГ§in “{wanted}” arД±yorum. Elinizde varsa takasД± konuЕџabiliriz.",collectorSellerDuplicate:"Merhaba! Koleksiyonum iГ§in “{wanted}” arД±yorum. Bu ГјrГјn bende fazladan var, bu yГјzden iyi bir fiyata aГ§Д±ДџД±m.",appraiserSellerGreet:"Merhaba! ГњrГјnГјn durumunu ve piyasayД± inceledim; fiyat makul. MantД±klД± bir teklif sunabilirsiniz.",impulsiveSellerGreet:"Daha yeni ilana koydum. MantД±klД± bir fiyat sГ¶yleyin, hemen kabul edebilirim.",pushySellerGreet:"ГњrГјn harika, o yГјzden fiyatД± yГјksek. BГјyГјk bir indirim beklemeyin.",hypeSellerGreet:"Sezonluk ve prestijli ГјrГјnleri severim. Trend bir Еџey teklif edin, takasД± konuЕџalД±m.",npcHello:"Merhaba! Evet, ГјrГјn hГўlГў bende.",playerTakeNow:"Hemen alД±yorum!",npcDealOk:"Harika, anlaЕџtД±k!",playerAsk:"ГњrГјn hakkД±nda biraz daha bilgi verir misiniz?",condNew:"Durumu mГјkemmel, neredeyse sД±fД±r.",condUsed:"Г‡ok kullanД±ldД± ama her Еџeyi Г§alД±ЕџД±yor.",condWorn:"Orta durumda, kullanД±m izleri var.",condBroken:"AГ§Д±kГ§asД± bir arД±zasД± var.",condFine:"Her Еџey yolunda.",playerSmalltalk:"NasД±lsД±nД±z?",hastyNoTalk:"ZamanД±ma hiГ§ saygД± duymuyorsunuz!",talkerSmalltalk:"HarikayД±m, sorduДџunuz iГ§in teЕџekkГјrler! Sohbet etmek gГјzel рџЉ",bizSmalltalk:"Bu sorular da nereden Г§Д±ktД±? Konuya gelelim.",ordSmalltalk:"Д°yiyim, neden sordunuz?",playerDiscount:"Д°ndirim olur mu? {price} karЕџД±lД±ДџД±nda alД±rД±m.",playerTradeOffer:"“{name}” ile takas teklif ediyorum.",surchargeOffer:"Takas denk deДџil ama {amount} ek Г¶deme yaparsanД±z kabul ederim.",playerTrade:"TakasД± kabul ediyorum!",npcSwap:"Harika, takas yapalД±m!",playerCounterSur:"{amount} eklesem nasД±l olur?",npcSurDeal:"TamamdД±r, anlaЕџtД±k!",npcSurLow:"Az oldu. {amount} altД±na olmaz.",playerDeclineTrade:"HayД±r, takas olmasД±n.",npcOkWhatever:"Peki, siz bilirsiniz.",playerBye:"HoЕџГ§a kalД±n",npcBye:"Д°yi gГјnler!",gateRefuse:"Ha ha. Buna kanmam. HoЕџГ§a kal.",gateBail:"Neyse artД±k :(",gatePass:"Tamam, Еџimdi seni gГ¶rГјyorum. Ne istiyordun?",trollBuy:"Ooo, bizdensin! Tamam, alД±yorum.",trollCounterReject:"Ooo, bizdensin! Bu iЕџi biliyorsun! Ama o fiyat bana fazla, gГјcГјm yetmez.",trollStillHigh:"HГўlГў pahalД±. Г‡Д±kabileceДџim en yГјksek fiyat: {price}.",trollSell:"Ooo, bizdensin! Sana {price} karЕџД±lД±ДџД±nda bД±rakД±rД±m.",stolen:"Eyvah, baЕџkasД±na sattД±m bile. Kusura bakma!",gateWarn:"вљ пёЏ KarЕџД± taraf mesajД±nД± gГ¶remiyor! Mesaj gГ¶ndermek iГ§in “{word}” yaz.",askTradeCond:"ГњrГјnГјnГјz ne durumda?",suspicious:"Hmm, bu biraz ЕџГјpheli… Peki, {price} karЕџД±lД±ДџД±nda alД±yorum.",playerAgree:"AnlaЕџtД±k!",flake:"Pardon, vazgeГ§tim!",npcThanks:"Harika, teЕџekkГјrler!",hastyNoBargain:"FiyatД±mД± zaten sГ¶yledim! PazarlД±Дџa vaktim yok, hoЕџГ§a kalД±n.",aboveCap:"HayД±r, bu bГјtГ§emi aЕџД±yor. Teklifim deДџiЕџmedi.",counterOk:"Peki, anlaЕџtД±k!",playerCounter:"{price} olsa?",playerDeclineSale:"HayД±r, satmД±yorum. HoЕџГ§a kalД±n.",npcGoodLuck:"ГњzГјldГјm, bol Еџans!",notEnoughMoney:"Yeterli paranД±z yok :(",notEnoughSur:"Ek Г¶deme iГ§in yeterli paranД±z yok :(",playerAcceptSur:"Tamam, {amount} ekleyeceДџim.",surTooMuch:"O kadar eklemem. En fazla {amount} veririm.",playerProposeSur:"Takas yapalД±m ama siz {amount} ekleyin?",playerProposeNoSur:"Ek Г¶deme olmadan takas yapalД±m mД±?",surAcceptedSwap:"AnlaЕџtД±k, farkД± Г¶derim. Takas yapalД±m!",ignoredLeave:"Г‡ok geГ§ yanД±t verdiniz, vazgeГ§tim.",playerRefuse:"SГ¶ylemeyeceДџim.",toldNew:"ГњrГјn sД±fД±r, her Еџeyi kusursuz.",toldUsed:"KullanД±lmД±Еџ ama her Еџeyi Г§alД±ЕџД±yor.",toldWorn:"Orta durumda, kullanД±m izleri var.",toldBroken:"Bozuk, onarД±lmasД± gerekecek."},toast:{sold:"{price} karЕџД±lД±ДџД±nda satД±ldД±",bought:"SatД±n alД±ndД±: {name}",boughtStarter:"SatД±n alД±ndД±: BaЕџlangД±Г§ Paketi",boughtAutumnBundle:"SatД±n alД±ndД±: Sonbahar Paketi",boughtMegaBundle:"SatД±n alД±ndД±: Mega Paket",listed:"SatД±Еџa Г§Д±karД±ldД±",unlisted:"SatД±Еџtan kaldД±rД±ldД±",repaired:"OnarД±ldД±",maxListings:"En fazla 6 ilan verebilirsin",notEnough:"Yeterli bakiyen yok",tradeGot:"Takastan gelen: “{name}”",tradeGotSur:"Takas: “{name}” + {amount}",newSaleMsg:"Д°lanД±nla ilgili yeni mesaj",marketRefreshed:"AlД±ЕџveriЕџ ГјrГјnleri yenilendi",reportSent:"ЕћikГўyet gГ¶nderildi. +{reward}",adsOff:"Reklamlar kaldД±rД±ldД±",adsAlreadyOff:"Reklamlar zaten kaldД±rД±lmД±Еџ",rewardClaimed:"Г–dГјl alД±ndД±",giftGot:"AlД±ndД±: {name}"},buyer:{biz:"AlД±yorum! Ama fiyat biraz yГјksek; {price} olur mu?",bizFull:"{price} karЕџД±lД±ДџД±nda alД±yorum, anlaЕџtД±k mД±?",tradeOffer:"Takas yapalД±m mД±? “{name}” teklif ediyorum.",econ:"Biraz pahalД±. {price} olursa alД±rД±m.",econFull:"{price} olursa alД±rД±m.",hasty:"Acelem var! {price} yapД±n, hemen alayД±m.",hastyFull:"{price} karЕџД±lД±ДџД±nda hemen alД±yorum! SatД±yor musunuz?",talker:"Merhaba! ГњrГјn ne durumda, uzun sГјredir mi kullanД±yorsunuz?",troll:"{price} karЕџД±lД±ДџД±nda alД±yorum, satar mД±sД±nД±z?",ord:"{price} olur mu?",ordFull:"{price} karЕџД±lД±ДџД±nda alД±yorum, satar mД±sД±nД±z?",pushy:"{price} veririm. Evet, bГјyГјk indirim istiyorum ama teklifim Еџu an geГ§erli.",collector:"Koleksiyonum iГ§in tam olarak “{name}” arД±yorum. {price} Г¶demeye hazД±rД±m.",appraiser:"Bence bu ГјrГјn {condition}. Г–yleyse {price} karЕџД±lД±ДџД±nda almak istiyorum. AnlaЕџtД±k mД±?",impulsive:"KararД±mД± verdim: {price} karЕџД±lД±ДџД±nda alД±yorum!",pushyType:"{price} veririm. Evet, bГјyГјk indirim istiyorum ama makul bir karЕџД± teklif dГјЕџГјnГјrГјm.",hypeWanted:"Sezonluk ve prestijli ГјrГјnlere bayД±lД±rД±m! “{name}” iГ§in {price} veririm.",hypeRegular:"Genelde sezonluk ГјrГјnlerin peЕџindeyim ama “{name}” iГ§in {price} veririm.",fairFull:"Fiyat bana uyar. PazarlД±ksД±z {price} karЕџД±lД±ДџД±nda alД±yorum.",lucky:"Bu tam ihtiyacД±m olan Еџey! PazarlД±ksД±z {price} karЕџД±lД±ДџД±nda alД±yorum.",newOk:"Harika, sД±fД±rmД±Еџ! {price} karЕџД±lД±ДџД±nda alД±yorum.",condThenDiscount:"{cond} durumundaysa indirim yapД±n. {price} karЕџД±lД±ДџД±nda alД±rД±m."},condShort:{new:"sД±fД±r",used:"kullanД±lmД±Еџ",worn:"yД±pranmД±Еџ",broken:"bozuk"},trade:{discountOk:"TamamdД±r, anlaЕџtД±k!",sellAtYourPrice:"Sizin fiyatД±nД±zdan veriyorum: {price} RUB!",discountNo:"HayД±r, bu ГјrГјn iГ§in bu kadar bГјyГјk indirim yapamam.",discountNo2:"Yok, o fiyata satmam.",tradeYes:"Ha, neden olmasД±n? Tamam, takas yapalД±m!",tradeYes2:"AnlaЕџtД±k, takas yapalД±m!",tradeNo:"Takas dГјЕџГјnmГјyorum, teЕџekkГјrler.",collectorWishlistYes:"Bu tam da istek listemdeki ГјrГјn! AnlaЕџtД±k, takas yapalД±m.",trollTrade:"Ha, seni trolledim! Kendini TikTok’ta ara.",trollNice:"Ooo, bizdensin! Sana gГјzel bir indirim yaparД±m.",condThenDiscount:"{cond} durumundaysa indirim yapД±n. {price} karЕџД±lД±ДџД±nda alД±rД±m."},trollCodewords:["zД±rvalД±k","hamam","masaj masalarД±","TГјrk hamamД±","yabani sarД±msak","bam"],namesMale:["Vladislav","Oleg","Dmitri","Д°gor","Sergey","Kirill","Artyom","Roman","Pavel"],namesFemale:["Marina","Svetlana","Anna","Yulia","Natalya","Ekaterina"]},qr={num:{tn:"bill. RUB",bn:"mil M RUB",mn:"M RUB"},nav:{buy:"Compras",inventory:"Inventario",sales:"Mis ventas",cases:"Cajas",chats:"Mensajes",shop:"Tienda",gifts:"Regalos",season:"Temporada",work:"TRABAJO"},work:{title:"TRABAJO",perClick:"Ingresos por clic",level:"Nivel {n}",maxLevel:"Nivel {n} В· mГЎx.",upgrade:"Mejorar por {price}",maxed:"Nivel mГЎximo alcanzado",hint:"Toca la computadora para ganar dinero"},common:{title:"Mi Negocio de Reventa",close:"Cerrar",player:"Jugador",leaders:"LГЌDERES",lang:"ES",cancel:"Cancelar",ok:"Entendido",got:"Obtenido",unavailable:"BLOQUEADO"},settings:{title:"Ajustes",music:"MГєsica",sounds:"Sonidos",language:"IDIOMA",ru:"Р СѓСЃСЃРєРёР№",en:"English",tr:"TГјrkГ§e",es:"EspaГ±ol",promo:"CГ“DIGO PROMOCIONAL",promoPlaceholder:"Introduce el cГіdigo",promoApply:"CANJEAR",promoEmpty:"Introduce un cГіdigo promocional",promoInvalid:"No se encontrГі el cГіdigo",promoApplied:"ВЎRegalo recibido!"},buy:{title:"ВЎDE COMPRAS!",writeSeller:"Escribir al vendedor",estimate:"TasaciГіn",stolen:"Este artГculo ya no estГЎ disponible.",notFound:"No se encontrГі el artГculo.",selectInv:"Elige un artГculo de tu inventario.",tutLocked:"Haz tu primera venta para poder comprar",skip:"NO ESPERAR",untilRefresh:"Se actualiza en:"},tut:{pickCase:"Abre la caja gratis",openCase:"Toca para abrir",keep:"QuГ©date el artГculo",goInv:"Abre el inventario",list:"Ponlo a la venta",price:"Arrastra el control para fijar el precio",goBuy:"Ve de compras",pickGoods:"Elige un artГculo",write:"Escribe al vendedor",greet:"Saluda",ask:"Pregunta por el artГculo",buyNow:"Compra el artГculo",goChat:"Te ha escrito un comprador",sellAccept:"Acepta la venta",skip:"SALTAR TUTORIAL"},inventory:{title:"INVENTARIO",sell:"VENDER",quickSell:"VENTA RГЃPIDA",repair:"REPARAR",tabInv:"INVENTARIO",tabCol:"COLECCIГ“N",collectionMain:"PRINCIPAL",collectionAutumn2026:"OTOГ‘O 2026",collected:"Conseguidos: {n} / {total}",confirmSell:"ВїVender “{name}” por {price}?",empty:"Tu inventario estГЎ vacГo. ВЎAbre una caja o compra un artГculo!",colNotOwned:"NO CONSEGUIDO",inInv:"EN EL INVENTARIO",quickTitle:"Venta rГЎpida",quickConfirm:"Vender por {price}",brokenTag:" RTO"},sales:{title:"MIS VENTAS",empty:"No tienes artГculos a la venta.",detail:"DETALLES",unlist:"RETIRAR DE LA VENTA"},sellSetup:{title:"PONER A LA VENTA",submit:"Poner a la venta",yourPrice:"Tu precio",zoneBelow:"por debajo del mercado",zoneMarket:"precio de mercado",zoneAbove:"por encima del mercado"},cases:{title:"CAJAS",forAd:"CON ANUNCIO",free:"ВЎCAJA GRATIS!",freeBtn:"GRATIS",contents:"Contenido de la caja",buyMulti:"Comprar varias",freeTitle:"CAJAS GRATIS",mineTitle:"MIS CAJAS",seasonalTitle:"CAJAS DE TEMPORADA",regularTitle:"CAJAS CLГЃSICAS",openOwned:"ABRIR"},caseName:{ad:"Caja gratis",vk:"Caja de VK",tier1:"Caja de cartГіn",tier2:"Caja de madera",tier3:"Caja de oro",tier4:"Caja acuario",tier5:"Caja prГ©mium",tier6:"Caja de rubГ",tier7:"Caja real",tier8:"Caja exclusiva"},roulette:{opening1:"Abriendo la caja…",openingN:"Abriendo {n} cajas…",won:"Has conseguido:",keep:"Guardar",sell:"Vender por {price}",allToInv:"Todo al inventario",inInv:"EN EL INVENTARIO",rerollFree:"VOLVER A GIRAR GRATIS",rerollWarning:"ВЎATENCIГ“N! Los artГculos actuales no se guardarГЎn."},chats:{title:"MENSAJES",empty:"TodavГa no tienes conversaciones.",optGreet:"ВЎHola! Me interesa tu artГculo.",optTakeNow:"ВЎMe lo llevo ahora mismo!",optDiscount:"ВїMe haces un descuento? Lo compro por…",optTrade:"Te propongo cambiarlo por…",optAsk:"Preguntar por el artГculo",optSmalltalk:"ВїCГіmo estГЎs?",optAcceptTrade:"Aceptar el intercambio",optDeclineTrade:"Rechazar el intercambio",optAskCond:"Preguntar por el estado",optProposeSur:"Pedir una diferencia",optAnswerCond:"Responder la pregunta",optRefuseCond:"No decirlo",optSell:"Vender por {price}",optCounter:"Proponer otro precio",optDecline:"Rechazar",optAcceptSur:"Aceptar (diferencia de {amount})",optCounterSur:"Proponer tu precio",optDeclineSur:"Rechazar el intercambio",optBye:"AdiГіs",done:"ConversaciГіn finalizada",report:"Denunciar",tradePick:"ELIGE UN ARTГЌCULO PARA INTERCAMBIAR",tradeEmpty:"No tienes artГculos para intercambiar.",noTradeItems:"No hay artГculos para intercambiar",tradeOfferHint:"Ofrece a cambio (toca para tasar):",tradeLabel:"Ofrecido a cambio",sellerYou:"TГє vendes",hobby:"AficiГіn: {hobby}",wants:"Busca: {items}"},shop:{title:"TIENDA",starter:"Pack de inicio",autumnBundle:"Pack de OtoГ±o",megaBundle:"Mega Pack",promo:"OFERTA",details:"DETALLES",bought:"Comprado",offers:"OFERTAS",currency:"MONEDA",noAds:"Quitar anuncios",disclaimer:"Aviso: Esta es una moneda del juego, no dinero real. Al realizar una compra, confirmas que has leГdo y aceptado este aviso.",starterList1:"10.000.000 RUB",starterList2:"Mercedes",starterList3:"3 cajas prГ©mium",starterList4:"Quitar anuncios",autumnList1:"BMW naranja",autumnList2:"10.000.000 RUB",autumnList3:"5 Cajas de Roble",autumnList4:"Quitar anuncios",megaList1:"AerolГnea",megaList2:"3 Cajas Exclusivas",megaList3:"10 mil millones de RUB",megaList4:"Quitar anuncios",megaBenefit:"AHORRA UN 30 %",megaOfferTitle:"ВЎHazte mГЎs rico que el 90 % de los jugadores al instante!",offerDays:{one:"{n} dГa",few:"{n} dГas",many:"{n} dГas"},starterAdvantage:"ВЎCONSIGUE UNA VENTAJA ГљNICA!",autumnProgressFaster:"ВЎAVANZA MГЃS RГЃPIDO EN LA TEMPORADA!",noAdsPrompt:"ВїCANSADO DE LOS ANUNCIOS?",dontWant:"AHORA NO"},gifts:{title:"REGALOS",claim:"RECLAMAR",day:"DГЌA",review:"VALORAR",forReview:"POR VALORAR",subscription:"POR SEGUIRNOS",get:"CONSEGUIR",g1:"Caja Escolar",g2:"Caja Calabaza",g3:"Caja del Viajero",g4:"iPad",g5:"Televisor 4K",g6:"Caja de Roble",g7:"Coche ClГЎsico"},season:{title:"TEMPORADA DE OTOГ‘O",eyebrow:"TEMPORADA 1",heroTitle:"OtoГ±o 2026",heroDaysOne:"Queda {n} dГa",heroDaysFew:"Quedan {n} dГas",heroDaysMany:"Quedan {n} dГas",heroEnded:"TEMPORADA FINALIZADA",activeDates:"Las ventas cuentan del 1 de septiembre al 30 de noviembre В· hora del servidor",endedDates:"Las ventas de temporada han terminado В· la colecciГіn y las recompensas siguen disponibles",leaves:"hojas",collected:"colecciГіn",sales:"ventas",tab:{collection:"COLECCIГ“N",rewards:"RECOMPENSAS",leaders:"CLASIFICACIГ“N"},chest:{school:"Caja Escolar",pumpkin:"Caja Calabaza",traveler:"Caja del Viajero",premium:"Caja de Roble",autumnPremium:"OtoГ±o PrГ©mium",mythic:"Caja MГtica"},chestHint:{school:"Escuela, cosecha y pequeГ±os objetos Гєtiles",pumpkin:"Hogar, lluvia y Halloween",traveler:"Senderismo, jardГn y equipo de temporada",premium:"TecnologГa, transporte e inmuebles",autumnPremium:"Grandes activos con un valor mГnimo de mil millones de rublos",mythic:"Contiene un artГculo secreto"},chestPool:"ColecciГіn de la caja: {n}",owned:"Tienes: {n}",buyForLeaves:"COMPRAR В· {n} рџЌЃ",open:"ABRIR",adEyebrow:"INTENTO GRATIS",adChest:"Caja de OtoГ±o",adChestHint:"Uno de los {n} artГculos de las cajas Escolar, Calabaza, del Viajero o de Roble В· sin artГculos de OtoГ±o PrГ©mium",adChestOdds:"Los artГculos mГЎs baratos tienen mГЎs probabilidades de salir",watchAd:"VER ANUNCIO",guideTitle:"ВЎNueva temporada! OtoГ±o 2026.",guideIntro:"Consigue artГculos de otoГ±o hasta el 30 de noviembre y completa la colecciГіn de temporada. Compite con otros jugadores en las clasificaciones, alcanza los hitos de coleccionista y gana premios.",guideStart:"ABRIR CAJAS",collectionTitle:"ColecciГіn de otoГ±o",notFound:"AГљN NO ENCONTRADO",secretItem:"ArtГculo Secreto",secretChance:"0,01 %",duplicateBonus:"Repetidos: {n}",notEnoughLeaves:"No tienes saldo suficiente",chestBought:"Caja de temporada comprada",chestOpened:"ВЎCaja de otoГ±o abierta!",duplicates:"ArtГculos repetidos: {n}",rewardClaimed:"Recompensa de temporada reclamada",rewardReadyEyebrow:"PROGRESO DE TEMPORADA",rewardReadyTitle:"ВЎRECOMPENSA DE TEMPORADA DISPONIBLE!",rewardReadyText:{one:"Hito de {n} artГculo Гєnico completado",few:"Hito de {n} artГculos Гєnicos completado",many:"Hito de {n} artГculos Гєnicos completado"},rewardReadyAction:"RECLAMAR RECOMPENSA",rewardEyebrow:"RUTA DEL COLECCIONISTA",rewardTitle:"Progreso de temporada",forItems:{one:"Por {n} artГculo Гєnico",few:"Por {n} artГculos Гєnicos",many:"Por {n} artГculos Гєnicos"},claim:"RECLAMAR",claimed:"RECLAMADA",needMore:"FALTAN {n}",rewardLeaves:"{n} hojas de otoГ±o",scrollPrevious:"Recompensas anteriores",scrollNext:"Recompensas siguientes",leaderTitle:"LГderes de temporada",leaderDaysOne:"Queda {n} dГa de temporada",leaderDaysFew:"Quedan {n} dГas de temporada",leaderDaysMany:"Quedan {n} dГas de temporada",leaderEnded:"TEMPORADA FINALIZADA",leaderSales:"Vendedores de la temporada",leaderCollection:"Coleccionistas de la temporada",leaderEmpty:"TodavГa no hay participantes",sold:{one:"{n} venta",few:"{n} ventas",many:"{n} ventas"},itemsCount:{one:"{n} artГculo",few:"{n} artГculos",many:"{n} artГculos"},item:{pencil:"LГЎpiz",corn_cob:"Mazorca de MaГz",notebook:"Cuaderno",ruler:"Regla",mushroom:"Seta",marker_set:"Juego de Rotuladores",candle:"Vela",jam:"Mermelada",walnuts:"Nueces",pumpkin:"Calabaza",mask:"MГЎscara",pencil_case:"Estuche",rake:"Rastrillo",apple_basket:"Cesta de Manzanas",heating_pad:"Bolsa de Agua Caliente",potato_sack:"Saco de Patatas",chanterelle_basket:"Cesta de Rebozuelos",jack_o_lantern:"Calabaza de Halloween",umbrella:"Paraguas",thermos:"Termo",headlamp:"Linterna Frontal",calculator:"Calculadora",school_backpack:"Mochila Escolar",pruning_shears:"Tijeras de Podar",shoe_dryer:"Secador de Calzado",shirt:"Camisa",halloween_costume:"Disfraz de Halloween",raincoat:"Impermeable",rubber_boots:"Botas de Agua",blanket:"Manta",moccasins:"Mocasines",hiking_backpack:"Mochila de Senderismo",trekking_shoes:"Calzado de Trekking",wheelbarrow:"Carretilla",heater:"Calefactor",inflatable_ghost:"Fantasma Inflable",leaf_blower:"Soplador de Hojas",fruit_dryer:"Deshidratador de Frutas",tent:"Tienda de CampaГ±a",scarecrow:"EspantapГЎjaros",pump:"Bomba",microscope:"Microscopio",rocking_chair:"Mecedora",ipad:"iPad",tv_4k:"Televisor 4K",wood_stove:"Estufa de LeГ±a",sofa:"SofГЎ",tame_owl:"BГєho Domesticado",fireplace:"Chimenea",interactive_board:"Pizarra Interactiva",forest_atv:"Quad de Bosque",retro_car:"Coche ClГЎsico",orange_bmw:"BMW naranja",school_bus:"AutobГєs Escolar",cottage:"Casa de Campo",haunted_castle:"Castillo Encantado",private_school:"Colegio Privado",country_residential_complex:"UrbanizaciГіn Rural",university:"Universidad",historic_estate:"Finca HistГіrica",classic_car_museum:"Museo de AutomГіviles ClГЎsicos",education_platform:"Plataforma Educativa",country_hotel_chain:"Cadena de Hoteles Rurales",agricultural_holding:"Grupo Agroindustrial",heating_equipment_plant:"FГЎbrica de Equipos de CalefacciГіn",horror_film_studio:"Estudio de Cine de Terror",halloween_theme_park:"Parque TemГЎtico de Halloween",vast_forest:"Bosque Inmenso",mountain_resort:"Complejo TurГstico de MontaГ±a",orange_bugatti:"Bugatti naranja"}},leaders:{collectors:"COLECCIONISTAS",rich:"MAGNATES",sellers:"VENDEDORES",you:"TГє",items:{one:"{n}/{total}",few:"{n}/{total}",many:"{n}/{total}"},sold:{one:"{n} venta",few:"{n} ventas",many:"{n} ventas"},loading:"Cargando clasificaciГіn…"},cond:{new:"NUEVO",used:"USADO",worn:"DESGASTADO",broken:"ROTO"},tier:{1:"COMГљN",2:"POCO COMГљN",3:"RARO",4:"VALIOSO",5:"PRГ‰MIUM",6:"PRESTIGIOSO",7:"REAL",8:"EXCLUSIVO",9:"ГљNICO"},npcType:{troll:"Trol",businessman:"Empresario",talker:"Hablador",economist:"Ahorrador",hasty:"Impaciente",ordinary:"Normal",collector:"Coleccionista",appraiser:"Tasador",impulsive:"Impulsivo",pushy:"Descarado",hypehunter:"Cazatendencias"},hobby:{fishing:"pesca",basketball:"baloncesto",football:"fГєtbol",music:"mГєsica",cooking:"cocina",photo:"fotografГa"},popup:{yourSurcharge:"Tu diferencia",sellerAsksSurcharge:"El vendedor pide una diferencia de {amount}",propose:"Proponer",requestSurcharge:"Pedir una diferencia",proposeHint:"Cantidad que el comprador aГ±ade al intercambio (hasta {max})",counterTitle:"Tu precio",buyerOfferedYourPrice:"Oferta del comprador: {min} В· tu precio: {max}",countTitle:"ВїCuГЎntas quieres comprar?",buyN:"Comprar {n} — {total}",codewordsTitle:"Elige una palabra clave",reviewTitle:"Valora el juego",authMsg:"Inicia sesiГіn para valorar el juego y recibir un regalo",login:"Iniciar sesiГіn",reviewOffer:"Valora el juego y consigue “{name}”",review:"Valorar",vkCommunityMessage:"ВЎSigue la comunidad del juego en VKontakte y consigue una caja gratis!",vkCommunityGo:"ABRIR",caseBonusTitle:"ВЎBONO POR ABRIR 10 CAJAS!",caseBonusMessage:"ВЎMira un anuncio y vuelve a abrir “{name}” gratis!",caseBonusSaved:"ВЎLos artГculos de la apertura anterior se conservarГЎn!",caseBonusWatch:"VER ANUNCIO",caseBonusDismiss:"AHORA NO",refreshMsg:"Actualiza la pГЎgina para valorar el juego",reviewGiven:"Ya has recibido el regalo por valorar",leaderboardAuthMsg:"Inicia sesiГіn para entrar en la clasificaciГіn y competir con otros jugadores",estimate:"TasaciГіn",market:"Mercado: {min}–{max} RUB",countQ:"ВїCuГЎntas quieres comprar?",chooseCount:"Elige la cantidad",codeword:"Palabra clave"},dlg:{npcGreet:"ВЎHola! ВїTe interesa?",collectorSellerWant:"ВЎHola! Busco “{wanted}” para mi colecciГіn. Si tienes uno, podemos hablar de un intercambio.",collectorSellerDuplicate:"ВЎHola! Busco “{wanted}” para mi colecciГіn. Este artГculo lo tengo repetido, asГ que acepto una buena oferta.",appraiserSellerGreet:"ВЎHola! He revisado el estado y el mercado: el precio es justo. Acepto ofertas razonables.",impulsiveSellerGreet:"Acabo de publicarlo. Hazme una oferta razonable; puede que acepte enseguida.",pushySellerGreet:"Es un artГculo excelente, por eso el precio es alto. No esperes un gran descuento.",hypeSellerGreet:"Me encantan los artГculos de temporada y de prestigio. OfrГ©ceme algo que estГ© de moda y hablamos de un intercambio.",npcHello:"ВЎHola! SГ, todavГa lo tengo.",playerTakeNow:"ВЎMe lo llevo ahora mismo!",npcDealOk:"ВЎPerfecto, trato hecho!",playerAsk:"ВїPuedes contarme algo mГЎs sobre el artГculo?",condNew:"EstГЎ en un estado excelente, casi nuevo.",condUsed:"Se ha usado bastante, pero todo funciona.",condWorn:"EstГЎ algo desgastado y tiene marcas de uso.",condBroken:"Sinceramente, tiene una averГa.",condFine:"Todo estГЎ en orden.",playerSmalltalk:"ВїCГіmo estГЎs?",hastyNoTalk:"ВЎNo valoras mi tiempo en absoluto!",talkerSmalltalk:"ВЎMuy bien, gracias por preguntar! Da gusto charlar рџЉ",bizSmalltalk:"ВїA quГ© vienen tantas preguntas? Vayamos al grano.",ordSmalltalk:"Bien, Вїpor quГ© lo preguntas?",playerDiscount:"ВїMe haces un descuento? Lo compro por {price}.",playerTradeOffer:"Te propongo cambiarlo por “{name}”.",surchargeOffer:"El intercambio no es justo, pero acepto si aГ±ades {amount}.",playerTrade:"ВЎAcepto el intercambio!",npcSwap:"ВЎPerfecto, hagamos el intercambio!",playerCounterSur:"ВїY si aГ±ado {amount}?",npcSurDeal:"ВЎTrato hecho!",npcSurLow:"Es muy poco. No aceptarГ© menos de {amount}.",playerDeclineTrade:"No, prefiero no hacer el intercambio.",npcOkWhatever:"De acuerdo, como quieras.",playerBye:"AdiГіs",npcBye:"ВЎQue te vaya bien!",gateRefuse:"Ja, ja. No voy a caer en eso. AdiГіs.",gateBail:"Pues nada :(",gatePass:"Vale, ahora sГ te veo. ВїQuГ© querГas?",trollBuy:"ВЎEh, eres de los mГos! Trato hecho, me lo llevo.",trollCounterReject:"ВЎEh, eres de los mГos! ВЎSabes cГіmo va esto! Pero es demasiado caro para mГ.",trollStillHigh:"Sigue siendo demasiado caro. Mi lГmite es {price}.",trollSell:"ВЎEh, eres de los mГos! A ti te lo dejo por {price}.",stolen:"Vaya, ya se lo vendГ a otra persona. ВЎLo siento!",gateWarn:"вљ пёЏ La otra persona no puede ver tu mensaje. Para enviarlo, escribe “{word}”.",askTradeCond:"ВїEn quГ© estado estГЎ tu artГculo?",suspicious:"Mmm, esto parece sospechoso… EstГЎ bien, lo compro por {price}.",playerAgree:"ВЎTrato hecho!",flake:"Vaya, he cambiado de opiniГіn. ВЎLo siento!",npcThanks:"ВЎPerfecto, gracias!",hastyNoBargain:"ВЎYa te he dicho mi precio! No tengo tiempo para regatear. AdiГіs.",aboveCap:"No, eso supera mi lГmite. Mantengo mi oferta.",counterOk:"De acuerdo, ВЎtrato hecho!",playerCounter:"ВїQuГ© te parece {price}?",playerDeclineSale:"No, no lo vendo. AdiГіs.",npcGoodLuck:"QuГ© pena. ВЎSuerte!",notEnoughMoney:"No tienes suficiente dinero :(",notEnoughSur:"No tienes suficiente dinero para pagar la diferencia :(",playerAcceptSur:"De acuerdo, aГ±adirГ© {amount}.",surTooMuch:"No pagarГ© tanto. Como mГЎximo aГ±adirГ© {amount}.",playerProposeSur:"ВїLo intercambiamos si aГ±ades {amount}?",playerProposeNoSur:"ВїLo intercambiamos sin pagar ninguna diferencia?",surAcceptedSwap:"Trato hecho, pagarГ© la diferencia. ВЎIntercambiemos!",ignoredLeave:"Has tardado demasiado en responder. He cambiado de opiniГіn.",playerRefuse:"No te lo dirГ©.",toldNew:"El artГculo estГЎ nuevo, todo estГЎ perfecto.",toldUsed:"EstГЎ usado, pero todo funciona.",toldWorn:"EstГЎ algo desgastado y tiene marcas de uso.",toldBroken:"EstГЎ roto y habrГЎ que repararlo."},toast:{sold:"Vendido por {price}",bought:"Comprado: {name}",boughtStarter:"Comprado: Pack de inicio",boughtAutumnBundle:"Comprado: Pack de OtoГ±o",boughtMegaBundle:"Comprado: Mega Pack",listed:"Puesto a la venta",unlisted:"Retirado de la venta",repaired:"Reparado",maxListings:"Puedes publicar un mГЎximo de 6 anuncios",notEnough:"No tienes saldo suficiente",tradeGot:"Intercambio: recibiste “{name}”",tradeGotSur:"Intercambio: “{name}” + {amount}",newSaleMsg:"Nuevo mensaje sobre tu anuncio",marketRefreshed:"Se ha renovado la secciГіn “Compras”",reportSent:"Denuncia enviada. +{reward}",adsOff:"Anuncios eliminados",adsAlreadyOff:"Los anuncios ya estГЎn desactivados",rewardClaimed:"Recompensa reclamada",giftGot:"Conseguido: {name}"},buyer:{biz:"ВЎMe lo llevo! Pero el precio es alto. ВїLo dejas en {price}?",bizFull:"Me lo llevo por {price}, Вїtrato hecho?",tradeOffer:"ВїHacemos un intercambio? Te ofrezco “{name}”.",econ:"Es un poco caro. Si lo dejas en {price}, me lo llevo.",econFull:"{price} y me lo llevo.",hasty:"ВЎTengo prisa! DГ©jalo en {price} y me lo llevo ahora.",hastyFull:"ВЎMe lo llevo ahora mismo por {price}! ВїLo vendes?",talker:"ВЎHola! ВїEn quГ© estado estГЎ? ВїLo has usado mucho tiempo?",troll:"Te doy {price}, Вїlo vendes?",ord:"ВїMe lo dejas en {price}?",ordFull:"Te doy {price}, Вїlo vendes?",pushy:"Te doy {price}. SГ, es un descuento grande, pero mi oferta solo vale ahora.",collector:"Busco justo “{name}” para mi colecciГіn. Estoy dispuesto a pagar {price}.",appraiser:"Creo que este artГculo estГЎ {condition}. Si es asГ, quiero comprarlo por {price}. ВїTrato hecho?",impulsive:"Ya lo he decidido: ВЎme lo llevo por {price}!",pushyType:"Te doy {price}. SГ, es un descuento grande, pero podrГa valorar una contraoferta razonable.",hypeWanted:"ВЎMe encantan los artГculos de temporada y de prestigio! Te doy {price} por “{name}”.",hypeRegular:"Normalmente busco artГculos de temporada, pero te doy {price} por “{name}”.",fairFull:"El precio me parece bien. Me lo llevo por {price}, sin regatear.",lucky:"ВЎJusto lo que necesitaba! Me lo llevo por {price}, sin regatear.",newOk:"ВЎPerfecto, estГЎ nuevo! Me lo llevo por {price}.",condThenDiscount:"Si estГЎ {cond}, hazme un descuento. Te doy {price}."},condShort:{new:"nuevo",used:"usado",worn:"desgastado",broken:"roto"},trade:{discountOk:"ВЎDe acuerdo, trato hecho!",sellAtYourPrice:"Acepto tu precio: ВЎ{price} RUB!",discountNo:"No, es un descuento demasiado grande para este artГculo.",discountNo2:"No, no lo venderГ© por ese precio.",tradeYes:"Ja, Вїpor quГ© no? ВЎTrato hecho, hagamos el intercambio!",tradeYes2:"ВЎTrato hecho, hagamos el intercambio!",tradeNo:"No me interesa un intercambio, gracias.",collectorWishlistYes:"ВЎEs justo lo que tengo en mi lista de deseos! Trato hecho, hagamos el intercambio.",trollTrade:"ВЎJa, te he trolleado! BГєscate en TikTok.",trollNice:"ВЎEh, eres de los mГos! Te harГ© un buen precio.",condThenDiscount:"Si estГЎ {cond}, hazme un descuento. Te doy {price}."},trollCodewords:["paparruchas","hammam","mesas de masaje","baГ±o turco","ajo silvestre","pum"],namesMale:["Vladislav","Oleg","Dmitri","Igor","SerguГ©i","Kirill","Artyom","Roman","Pavel"],namesFemale:["Marina","Svetlana","Anna","Yulia","Natalia","Ekaterina"]},Ye={ru:Br,en:Nr,tr:xr,es:qr},cs={ru:"ru-RU",en:"en-US",tr:"tr-TR",es:"es-ES"};let Me="ru";function Pr(e){const t=e.trim().toLowerCase().split(/[-_]/)[0];return t==="ru"||t==="en"||t==="tr"||t==="es"?t:"en"}function Dr(e){Me=e,typeof document<"u"&&(document.documentElement.lang=Me,document.title=Ye[Me].common.title)}function ut(){return Me}function r(e,t){const a=e.split(".").reduce((n,s)=>n&&typeof n=="object"?n[s]:void 0,Ye[Me]);return typeof a!="string"?e:t?a.replace(/\{(\w+)\}/g,(n,s)=>String(t[s]??`{${s}}`)):a}function zr(e){const t=Math.abs(Math.trunc(e));if(Me!=="ru")return t===1?"one":"many";const a=t%100;if(a>=11&&a<=14)return"many";const n=t%10;return n===1?"one":n>=2&&n<=4?"few":"many"}function Je(e,t,a={}){return r(`${e}.${zr(t)}`,{...a,n:t})}function Oa(e){return e.toLocaleString(cs[Me])}function jr(){return cs[Me]}function bn(e){const t=["namesMale","namesFemale"];for(const a of t)for(const n of Object.values(Ye)){const s=n[a].indexOf(e);if(s>=0)return Ye[Me][a][s]??e}return e}function Wa(e){for(const t of Object.values(Ye)){const a=t.trollCodewords.indexOf(e);if(a>=0)return Ye[Me].trollCodewords[a]??e}return e}function Pt(){return Ye[Me]}const Fr=[{id:"tier1",tier:1,price:100,priceType:"coins",minItemValue:50},{id:"tier2",tier:2,price:1300,priceType:"coins",minItemValue:500},{id:"tier3",tier:3,price:1e4,priceType:"coins",minItemValue:5e3},{id:"tier4",tier:4,price:1e5,priceType:"coins",minItemValue:5e4},{id:"tier5",tier:5,price:15e5,priceType:"coins",minItemValue:6e5},{id:"tier6",tier:6,price:7e6,priceType:"coins",minItemValue:5e6},{id:"tier7",tier:7,price:17e7,priceType:"coins",minItemValue:55e6},{id:"tier8",tier:8,price:35e8,priceType:"coins",minItemValue:5e8},{id:"ad",tier:0,price:null,priceType:"ad",minItemValue:50}],Gr=[20,15,12,10,8,7,5.5,5,4,3.5,3,2.5,2,1.5,1],Qt={cases:Fr,positionChances:Gr},Hr="autumn2026",ls=Date.UTC(2026,7,31,21),Va=Date.UTC(2026,10,30,21),Ur=24*60*60*1e3,Ya=["school","pumpkin","traveler","premium","autumnPremium"],k=e=>`./assets/season/autumn-2026/items/${typeof e=="number"?`autumn${e}.jpg`:e}`,Ja=[{id:"pencil",image:k(1),priceMin:30,priceMax:120},{id:"corn_cob",image:k(2),priceMin:80,priceMax:250},{id:"notebook",image:k(3),priceMin:70,priceMax:300},{id:"ruler",image:k(4),priceMin:80,priceMax:400},{id:"mushroom",image:k(5),priceMin:150,priceMax:700},{id:"marker_set",image:k(6),priceMin:300,priceMax:1500},{id:"candle",image:k(7),priceMin:250,priceMax:1500},{id:"jam",image:k(8),priceMin:350,priceMax:1200},{id:"walnuts",image:k(9),priceMin:600,priceMax:1800},{id:"pumpkin",image:k(10),priceMin:400,priceMax:3e3},{id:"mask",image:k(11),priceMin:350,priceMax:2500},{id:"pencil_case",image:k(12),priceMin:500,priceMax:3e3},{id:"rake",image:k(13),priceMin:900,priceMax:4e3},{id:"apple_basket",image:k(14),priceMin:900,priceMax:3e3},{id:"heating_pad",image:k(15),priceMin:1200,priceMax:4500},{id:"potato_sack",image:k(16),priceMin:1200,priceMax:4e3},{id:"chanterelle_basket",image:k(17),priceMin:1800,priceMax:6500},{id:"jack_o_lantern",image:k(18),priceMin:1200,priceMax:6e3},{id:"umbrella",image:k(19),priceMin:1200,priceMax:7e3},{id:"thermos",image:k(20),priceMin:1500,priceMax:9e3},{id:"headlamp",image:k(21),priceMin:1200,priceMax:9e3},{id:"calculator",image:k(22),priceMin:700,priceMax:7e3},{id:"school_backpack",image:k(23),priceMin:2500,priceMax:2e4},{id:"pruning_shears",image:k(24),priceMin:1500,priceMax:1e4},{id:"shoe_dryer",image:k(25),priceMin:1700,priceMax:8e3},{id:"shirt",image:k(26),priceMin:2e3,priceMax:15e3},{id:"halloween_costume",image:k(27),priceMin:2500,priceMax:2e4},{id:"raincoat",image:k(28),priceMin:2500,priceMax:18e3},{id:"rubber_boots",image:k(29),priceMin:2500,priceMax:15e3},{id:"blanket",image:k(30),priceMin:3e3,priceMax:3e4},{id:"moccasins",image:k(31),priceMin:4e3,priceMax:25e3},{id:"hiking_backpack",image:k(33),priceMin:6e3,priceMax:5e4},{id:"trekking_shoes",image:k(32),priceMin:8e3,priceMax:45e3},{id:"wheelbarrow",image:k(34),priceMin:6e3,priceMax:3e4},{id:"heater",image:k(35),priceMin:4e3,priceMax:5e4},{id:"inflatable_ghost",image:k(36),priceMin:4e3,priceMax:4e4},{id:"leaf_blower",image:k(37),priceMin:1e4,priceMax:8e4},{id:"fruit_dryer",image:k(59),priceMin:6e3,priceMax:6e4},{id:"tent",image:k(38),priceMin:1e4,priceMax:15e4},{id:"scarecrow",image:k(39),priceMin:5e3,priceMax:5e4},{id:"pump",image:k(40),priceMin:1e4,priceMax:15e4},{id:"microscope",image:k(41),priceMin:15e3,priceMax:5e5},{id:"rocking_chair",image:k(42),priceMin:2e4,priceMax:18e4},{id:"ipad",image:k(43),priceMin:6e4,priceMax:3e5},{id:"tv_4k",image:k(44),priceMin:5e4,priceMax:8e5},{id:"wood_stove",image:k(45),priceMin:7e4,priceMax:7e5},{id:"sofa",image:k(46),priceMin:6e4,priceMax:8e5},{id:"tame_owl",image:k(47),priceMin:15e4,priceMax:15e5},{id:"fireplace",image:k(48),priceMin:15e4,priceMax:3e6},{id:"interactive_board",image:k(49),priceMin:25e4,priceMax:2e6},{id:"forest_atv",image:k(50),priceMin:1e6,priceMax:4e6},{id:"retro_car",image:k(51),priceMin:2e6,priceMax:8e7},{id:"orange_bmw",image:k(52),priceMin:7e6,priceMax:25e6},{id:"school_bus",image:k(53),priceMin:1e7,priceMax:35e6},{id:"cottage",image:k(54),priceMin:7e6,priceMax:15e7},{id:"haunted_castle",image:k(55),priceMin:1e9,priceMax:8e9},{id:"private_school",image:k(56),priceMin:1e9,priceMax:5e9},{id:"country_residential_complex",image:k(57),priceMin:15e9,priceMax:25e10},{id:"university",image:k(58),priceMin:25e9,priceMax:5e11},{id:"historic_estate",image:k(60),priceMin:1e9,priceMax:4e9},{id:"classic_car_museum",image:k(61),priceMin:12e8,priceMax:6e9},{id:"education_platform",image:k("autumn62_ru.jpg"),priceMin:15e8,priceMax:8e9},{id:"country_hotel_chain",image:k(63),priceMin:2e9,priceMax:12e9},{id:"agricultural_holding",image:k(64),priceMin:3e9,priceMax:18e9},{id:"heating_equipment_plant",image:k(65),priceMin:4e9,priceMax:25e9},{id:"horror_film_studio",image:k(66),priceMin:6e9,priceMax:4e10},{id:"halloween_theme_park",image:k(67),priceMin:9e9,priceMax:65e9},{id:"vast_forest",image:k(68),priceMin:15e9,priceMax:12e10},{id:"mountain_resort",image:k(69),priceMin:25e9,priceMax:2e11},{id:"orange_bugatti",image:k(70),priceMin:5e8,priceMax:1e12}],Kr=Qt.cases.filter(e=>e.tier>=1&&e.tier<=8&&e.minItemValue>0).map(e=>({tier:e.tier,minItemValue:e.minItemValue})).sort((e,t)=>t.minItemValue-e.minItemValue),Wr=e=>Kr.find(t=>e>=t.minItemValue)?.tier??1,tt=e=>(e.priceMin+e.priceMax)/2,Vr=[{id:"school",size:15},{id:"pumpkin",size:15},{id:"traveler",size:14},{id:"premium",size:11},{id:"autumnPremium",size:14},{id:"mythic",size:1}],Sn=Qt.positionChances,Yr=[...Ja].sort((e,t)=>tt(e)-tt(t)||e.priceMin-t.priceMin),Za=new Map;let da=0;for(const e of Vr)Yr.slice(da,da+e.size).forEach((t,a)=>{Za.set(t.id,{chestId:e.id,weight:Sn[a]??Sn.at(-1)??1})}),da+=e.size;const Jr=new Set(["tent","pump","microscope","rocking_chair","ipad"]),Zr=new Set(["orange_bmw","school_bus","forest_atv","cottage","retro_car"]),Qr={1:4,2:4,3:4,4:4,5:3.5,6:3.5,7:6.5,8:8,9:4},Xr=(e,t)=>{const a=Qr[t];if(e.priceMax/e.priceMin<=a)return{priceMin:e.priceMin,priceMax:e.priceMax};const n=(e.priceMin+e.priceMax)/2,s=2*n/(1+a),i=s*a,o=10**Math.max(0,Math.floor(Math.log10(n))-1);return{priceMin:Math.ceil(s/o)*o,priceMax:Math.floor(i/o)*o}},se=Ja.map(e=>{const t=Za.get(e.id),a=e.id==="orange_bugatti"?9:t.chestId==="traveler"?Jr.has(e.id)?4:3:t.chestId==="premium"?Zr.has(e.id)?6:5:Wr(e.priceMin);return{...e,...Xr(e,a),tier:a,...t}}),ei=e=>{const t=Ja.map(n=>({item:n,drop:Za.get(n.id)})).filter(({drop:n})=>n.chestId===e),a=t.reduce((n,{drop:s})=>n+s.weight,0);return t.reduce((n,{item:s,drop:i})=>n+s.priceMin*i.weight,0)/a},ti=e=>{const t=10**Math.floor(Math.log10(e)),a=e/t,n=[1,1.2,1.5,2,2.5,3,4,5,7.5,10],s=n.reduce((i,o)=>Math.abs(o-a)<Math.abs(i-a)?o:i,n[0]);return Math.round(s*t)},ai={school:2,pumpkin:1.75,traveler:1.65,premium:1.5,autumnPremium:1.5},_n=e=>ti(ei(e)*ai[e]),Ie={school:{price:_n("school"),draws:1,image:"./assets/season/autumn-2026/cases/case_season_1.jpg"},pumpkin:{price:5e3,draws:1,image:"./assets/season/autumn-2026/cases/case_season_2.jpg"},traveler:{price:45e3,draws:1,image:"./assets/season/autumn-2026/cases/case_season_3.jpg"},premium:{price:15e5,draws:1,image:"./assets/season/autumn-2026/cases/case_season_4.jpg"},autumnPremium:{price:_n("autumnPremium"),draws:1,image:"./assets/season/autumn-2026/cases/case_season_5.jpg"},mythic:{price:0,draws:1,image:"./assets/season/autumn-2026/cases/case_mythic.jpg"}},us={image:"./assets/season/autumn-2026/cases/case_season_ad.jpg"},ft=se.filter(e=>e.tier===1||e.tier===2).map(e=>({item:e,expectedPrice:(e.priceMin+e.priceMax)/2})).sort((e,t)=>e.expectedPrice-t.expectedPrice||e.item.priceMin-t.item.priceMin).map((e,t,a)=>({...e,weight:a.length-t})),ds=e=>`autumn:${e}`,ni=e=>`autumn-owned:${e}`,ms=e=>e==="school"||e==="pumpkin"||e==="traveler"||e==="premium"||e==="autumnPremium"||e==="mythic";function Re(e){if(!e?.startsWith("autumn:"))return null;const t=e.slice(7);return t==="ad"||ms(t)?t:null}function Be(e){if(!e?.startsWith("autumn-owned:"))return null;const t=e.slice(13);return ms(t)?t:null}function si(e){if(e==="mythic"){const n=se.find(o=>o.chestId==="mythic"),s=se.filter(o=>o.chestId==="autumnPremium"),i=s.reduce((o,u)=>o+u.weight,0);return[{...n,chance:.01},...s.map(o=>({...o,chance:i>0?o.weight/i*99.99:0})).sort((o,u)=>u.chance-o.chance||tt(o)-tt(u))]}const t=e==="ad"?ft.map(n=>({item:n.item,weight:n.weight})):se.filter(n=>n.chestId===e).map(n=>({item:n,weight:n.weight})),a=t.reduce((n,s)=>n+s.weight,0);return t.map(({item:n,weight:s})=>({...n,chance:a>0?s/a*100:0})).sort((n,s)=>s.chance-n.chance||tt(n)-tt(s))}const be=[{required:1,rewards:[{kind:"autumnChest",chestId:"school",amount:1}]},{required:2,rewards:[{kind:"coins",amount:1e3}]},{required:5,rewards:[{kind:"autumnChest",chestId:"pumpkin",amount:1}]},{required:10,rewards:[{kind:"autumnChest",chestId:"school",amount:3}]},{required:15,rewards:[{kind:"coins",amount:5e3}]},{required:20,rewards:[{kind:"autumnChest",chestId:"pumpkin",amount:1}]},{required:25,rewards:[{kind:"item",itemId:"halloween_costume"}]},{required:30,rewards:[{kind:"autumnChest",chestId:"traveler",amount:1}]},{required:35,rewards:[{kind:"coins",amount:5e5}]},{required:40,rewards:[{kind:"autumnChest",chestId:"premium",amount:1}]},{required:50,rewards:[{kind:"coins",amount:1e7}]},{required:55,rewards:[{kind:"item",itemId:"orange_bmw"}]},{required:60,rewards:[{kind:"item",itemId:"classic_car_museum"}]},{required:65,rewards:[{kind:"case",caseId:"tier8",amount:1}]},{required:69,rewards:[{kind:"autumnChest",chestId:"mythic",amount:1}]},{required:70,rewards:[],showcaseItemId:"orange_bugatti"}];function ps(){return{version:2,leaves:0,chests:{school:1,pumpkin:0,traveler:0,premium:0,autumnPremium:0,mythic:0},items:{},claimedMilestones:[],sales:0}}const ri=["amber_headphones","maple_camera","pumpkin_keyboard","forest_sneakers","cinnamon_watch","rainy_console","acorn_speaker","harvest_drone","mushroom_lamp","bonfire_phone","copper_bicycle","cranberry_laptop","fog_projector","oak_guitar","plaid_armchair","chestnut_scooter","golden_thermos","autumn_motorcycle","orchard_car","scarlet_piano","leaffall_yacht","amber_gallery","sunset_castle","eternal_autumn"],ii=new Map(ri.map((e,t)=>[e,se[t].id])),oi=new Map([[2,5],[4,10],[6,15],[8,20],[10,25],[12,30],[14,35],[16,40],[18,45],[20,50],[22,55],[24,60]]),ma=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),fe=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):0;function ci(e){if(!ma(e))return ps();const t=e.version!==2,a=ma(e.chests)?e.chests:{},n=ma(e.items)?e.items:{},s={};for(const[o,u]of Object.entries(n)){const l=fe(u);if(l<=0)continue;const d=t?ii.get(o)??o:o;s[d]=(s[d]??0)+l}const i=Array.isArray(e.claimedMilestones)?[...new Set(e.claimedMilestones.map(fe).filter(o=>o>0).map(o=>t?oi.get(o)??o:o))].sort((o,u)=>o-u):[];return{version:2,leaves:fe(e.leaves),chests:{school:fe(a.school)+fe(a.leaf),pumpkin:fe(a.pumpkin)+fe(a.harvest),traveler:fe(a.traveler),premium:fe(a.premium)+fe(a.golden),autumnPremium:fe(a.autumnPremium),mythic:fe(a.mythic)},items:s,claimedMilestones:i,sales:fe(e.sales)}}const Se=e=>e>=ls&&e<Va,hs=e=>e>=Va,Ia=(e,t,a)=>Se(e)&&t&&!a,li=e=>Se(e)?"season":"buy",ui=e=>e.leaves===0&&e.sales===0&&e.claimedMilestones.length===0&&Object.keys(e.items).length===0&&e.chests.school<=1&&e.chests.pumpkin===0&&e.chests.traveler===0&&e.chests.premium===0&&e.chests.autumnPremium===0&&e.chests.mythic===0;function fs(e,t,a){const n=ci(e);return!hs(t)||a||!ui(n)?n:{...n,chests:{...n.chests,school:0}}}const gs=e=>Math.max(0,Math.ceil((Va-e)/Ur));function di(e,t){return Se(t)?{...e,sales:e.sales+1}:e}function je(e){const t=new Set(se.map(a=>a.id));return Object.entries(e.items).filter(([a,n])=>t.has(a)&&n>0).length}function mi(e,t,a){if(!Ya.includes(a))return null;const n=Ie[a].price;return t<n?null:{state:{...e,chests:{...e.chests,[a]:e.chests[a]+1}},coins:t-n}}function ys(e,t){const a=se.filter(i=>i.chestId===e),n=a.reduce((i,o)=>i+o.weight,0);let s=Math.max(0,Math.min(.999999999,t()))*n;for(const i of a)if(s-=i.weight,s<0)return i;return a[a.length-1]}function ks(e){const t=ft.reduce((n,s)=>n+s.weight,0);let a=Math.max(0,Math.min(.999999999,e()))*t;for(const n of ft)if(a-=n.weight,a<0)return n.item;return ft[ft.length-1].item}function vs(e,t=Math.random){return e==="ad"?ks(t):ys(e,t)}function pi(e,t,a=Math.random){if(e.chests[t]<=0)return null;const n=Ie[t],s={...e.items},i=[];let o=0;for(let u=0;u<n.draws;u+=1){const l=ys(t,a);(s[l.id]??0)>0&&(o+=1),s[l.id]=(s[l.id]??0)+1,i.push(l.id)}return{state:{...e,chests:{...e.chests,[t]:e.chests[t]-1},items:s},itemIds:i,duplicates:o}}function hi(e,t=Math.random){const a=ks(t),n=e.items[a.id]??0,s=n>0?1:0;return{state:{...e,items:{...e.items,[a.id]:n+1}},itemIds:[a.id],duplicates:s}}function Xt(e,t){return be.some(a=>a.required===t&&a.rewards.length>0)&&je(e)>=t&&!e.claimedMilestones.includes(t)}function fi(e,t,a){return be.filter(n=>n.required>t&&n.required<=a&&Xt(e,n.required)).at(-1)}function gi(e,t){return Xt(e,t)?{...e,claimedMilestones:[...e.claimedMilestones,t].sort((a,n)=>a-n)}:null}const yi=new Map(se.map(e=>[e.id,e.image])),ee=e=>e==="education_platform"?`./assets/season/autumn-2026/items/autumn62_${ut()==="ru"?"ru":"en"}.jpg`:yi.get(e)??`./assets/goods/${parseInt(e,10)}.jpg`,ve=e=>`./assets/cases/${e}`,ie=e=>`./assets/shop/${e}`,dt=()=>({ru:"no_ads_ru.svg",en:"no_ads.svg",tr:"no_ads_tr.svg",es:"no_ads_es.svg"})[ut()],bt=e=>`<img class="icon" src="./assets/icons/${e}.svg" alt="" />`;function xt(e){e.querySelectorAll(".card__name, .card__price, .rwon__name, .shopcard__amount, .casecard__name, .cocard__name, .giftcard__reward, .buyitem__left .btn").forEach(t=>{t.style.fontSize="";const a=parseFloat(getComputedStyle(t).fontSize)||22,n=Math.max(11,a*.5);t.style.whiteSpace="nowrap";let s=a;for(let i=0;i<80&&t.scrollWidth>t.clientWidth&&s>n;i++)s-=1,t.style.fontSize=`${s}px`})}const ki=()=>ut()==="ru"?"в‚Ѕ":"RUB";function T(e){return e>=1e12?`${pa(e/1e12)} ${r("num.tn")}`:e>=1e9?`${pa(e/1e9)} ${r("num.bn")}`:e>=1e6?`${pa(e/1e6)} ${r("num.mn")}`:`${e.toLocaleString(jr())} ${ki()}`}const pa=e=>{const t=Number(e.toFixed(1)).toString();return ut()==="en"?t:t.replace(".",",")};function O(e,t,a){e.addEventListener("click",n=>{const s=n.target.closest(t);s&&e.contains(s)&&a(s,n)})}function vi(e){let t=e;const a=new Set;return{getState:()=>t,setState(n){const s=typeof n=="function"?n(t):n;t={...t,...s},a.forEach(i=>i(t))},subscribe(n){return a.add(n),()=>a.delete(n)}}}const ze=new Map;let bi=1,ot=!1,Dt=0,Qa=0;const ct=()=>Date.now();function Ze(){const e=ot?ct()-Dt:0;return ct()-Qa-e}function Si(){return Qa+(ot?Math.max(0,ct()-Dt):0)}function bs(e){e.nativeTimer!=null&&clearTimeout(e.nativeTimer),e.nativeFrame!=null&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e.nativeFrame),e.nativeTimer=void 0,e.nativeFrame=void 0}function Mn(e){!ze.has(e.id)||ot||(e.nativeTimer=void 0,e.nativeFrame=void 0,e.kind==="interval"?(e.remaining=e.delay,Xa(e)):ze.delete(e.id),e.kind==="frame"?e.callback(Ze()):e.callback())}function Xa(e){if(!(ot||!ze.has(e.id)))if(e.startedAt=ct(),e.kind==="frame"&&typeof requestAnimationFrame=="function")e.nativeFrame=requestAnimationFrame(()=>Mn(e));else{const t=e.kind==="frame"?Math.max(0,e.remaining||16):Math.max(0,e.remaining);e.nativeTimer=setTimeout(()=>Mn(e),t)}}function en(e,t,a){const n=bi++,s={id:n,kind:e,callback:t,delay:Math.max(0,a),remaining:e==="frame"?16:Math.max(0,a),startedAt:ct()};return ze.set(n,s),Xa(s),n}function tn(e){const t=ze.get(e);t&&(bs(t),ze.delete(e))}const C=(e,t=0)=>en("timeout",e,t),ge=tn,St=(e,t=0)=>en("interval",e,t),Pe=tn,Le=e=>en("frame",e,16),Ra=tn;function _i(e){if(e===ot)return;const t=ct();if(ot=e,e){Dt=t;for(const a of ze.values()){const n=Math.max(0,t-a.startedAt);a.remaining=Math.max(0,a.remaining-n),bs(a)}return}Qa+=Math.max(0,t-Dt);for(const a of ze.values())Xa(a)}const ea=[{id:"001",name:"Шариковая ручка",tier:1,priceMin:50,priceMax:150,quickSell:25,quickSellBroken:10,caseChance:20},{id:"002",name:"Булавка",tier:1,priceMin:50,priceMax:150,quickSell:25,quickSellBroken:10,caseChance:15},{id:"003",name:"Ластик",tier:1,priceMin:50,priceMax:120,quickSell:25,quickSellBroken:10,caseChance:12},{id:"004",name:"Монета советская",tier:1,priceMin:60,priceMax:200,quickSell:30,quickSellBroken:12,caseChance:10},{id:"005",name:"Расчёска",tier:1,priceMin:70,priceMax:200,quickSell:35,quickSellBroken:14,caseChance:8},{id:"006",name:"Пачка чипсов",tier:1,priceMin:70,priceMax:250,quickSell:35,quickSellBroken:14,caseChance:7},{id:"007",name:"Зажигалка",tier:1,priceMin:80,priceMax:200,quickSell:40,quickSellBroken:16,caseChance:5.5},{id:"008",name:"Леденец",tier:1,priceMin:80,priceMax:250,quickSell:40,quickSellBroken:16,caseChance:5},{id:"009",name:"Бургер",tier:1,priceMin:90,priceMax:280,quickSell:45,quickSellBroken:18,caseChance:4},{id:"010",name:"Блокнот",tier:1,priceMin:100,priceMax:300,quickSell:50,quickSellBroken:20,caseChance:3.5},{id:"011",name:"РќРѕСЃРєРё",tier:1,priceMin:100,priceMax:400,quickSell:50,quickSellBroken:20,caseChance:3},{id:"012",name:"РљСЂСѓР¶РєР°",tier:1,priceMin:100,priceMax:350,quickSell:50,quickSellBroken:20,caseChance:2.5},{id:"013",name:"Чехол",tier:1,priceMin:120,priceMax:350,quickSell:60,quickSellBroken:24,caseChance:2},{id:"014",name:"Минифигурка",tier:1,priceMin:120,priceMax:400,quickSell:60,quickSellBroken:24,caseChance:1.5},{id:"015",name:"Брелок",tier:1,priceMin:150,priceMax:400,quickSell:75,quickSellBroken:30,caseChance:1},{id:"016",name:"РљРЅРёРіР°",tier:2,priceMin:500,priceMax:1500,quickSell:250,quickSellBroken:100,caseChance:20},{id:"017",name:"Черемша",tier:2,priceMin:500,priceMax:1500,quickSell:250,quickSellBroken:100,caseChance:15},{id:"018",name:"РљРѕРІСЂРёРє для Р№РѕРіРё",tier:2,priceMin:550,priceMax:1800,quickSell:275,quickSellBroken:110,caseChance:12},{id:"019",name:"Ремень",tier:2,priceMin:600,priceMax:2e3,quickSell:300,quickSellBroken:120,caseChance:10},{id:"020",name:"Кепка",tier:2,priceMin:700,priceMax:2e3,quickSell:350,quickSellBroken:140,caseChance:8},{id:"021",name:"Флешка",tier:2,priceMin:700,priceMax:2e3,quickSell:350,quickSellBroken:140,caseChance:7},{id:"022",name:"РњРёРЅРё-пылесос",tier:2,priceMin:700,priceMax:2500,quickSell:350,quickSellBroken:140,caseChance:5.5},{id:"023",name:"Солнечные очки",tier:2,priceMin:800,priceMax:3e3,quickSell:400,quickSellBroken:160,caseChance:5},{id:"024",name:"Мышка",tier:2,priceMin:800,priceMax:2500,quickSell:400,quickSellBroken:160,caseChance:4},{id:"025",name:"Виниловая пластинка",tier:2,priceMin:800,priceMax:3e3,quickSell:400,quickSellBroken:160,caseChance:3.5},{id:"026",name:"PSP",tier:2,priceMin:800,priceMax:2800,quickSell:400,quickSellBroken:160,caseChance:3},{id:"027",name:"Аквариум",tier:2,priceMin:1e3,priceMax:3500,quickSell:500,quickSellBroken:200,caseChance:2.5},{id:"028",name:"Скейтборд",tier:2,priceMin:1200,priceMax:4e3,quickSell:600,quickSellBroken:240,caseChance:2},{id:"029",name:"Шахматы",tier:2,priceMin:1500,priceMax:5e3,quickSell:750,quickSellBroken:300,caseChance:1.5},{id:"030",name:"Колонка",tier:2,priceMin:1500,priceMax:4500,quickSell:750,quickSellBroken:300,caseChance:1},{id:"031",name:"РљСЂРѕСЃСЃРѕРІРєРё",tier:3,priceMin:5e3,priceMax:15e3,quickSell:2500,quickSellBroken:1e3,caseChance:15},{id:"032",name:"РџСѓС…РѕРІРёРє",tier:3,priceMin:5e3,priceMax:2e4,quickSell:2500,quickSellBroken:1e3,caseChance:12},{id:"033",name:"Ролики",tier:3,priceMin:5e3,priceMax:15e3,quickSell:2500,quickSellBroken:1e3,caseChance:20},{id:"034",name:"PS5",tier:3,priceMin:25e3,priceMax:5e4,quickSell:12500,quickSellBroken:5e3,caseChance:1},{id:"035",name:"Фотоаппарат",tier:3,priceMin:7e3,priceMax:25e3,quickSell:3500,quickSellBroken:1400,caseChance:10},{id:"036",name:"Гироскутер",tier:3,priceMin:7e3,priceMax:25e3,quickSell:3500,quickSellBroken:1400,caseChance:8},{id:"037",name:"Велосипед",tier:3,priceMin:8e3,priceMax:3e4,quickSell:4e3,quickSellBroken:1600,caseChance:7},{id:"038",name:"Гитара",tier:3,priceMin:8e3,priceMax:3e4,quickSell:4e3,quickSellBroken:1600,caseChance:5.5},{id:"039",name:"Switch",tier:3,priceMin:8e3,priceMax:3e4,quickSell:4e3,quickSellBroken:1600,caseChance:5},{id:"040",name:"РЎРЅРѕСѓР±РѕСЂРґ",tier:3,priceMin:1e4,priceMax:35e3,quickSell:5e3,quickSellBroken:2e3,caseChance:4},{id:"041",name:"ФПВ Друн",tier:3,priceMin:1e4,priceMax:4e4,quickSell:5e3,quickSellBroken:2e3,caseChance:3.5},{id:"042",name:"РњРёРЅРё-проектор",tier:3,priceMin:1e4,priceMax:35e3,quickSell:5e3,quickSellBroken:2e3,caseChance:3},{id:"043",name:"Надувная лодка",tier:3,priceMin:1e4,priceMax:35e3,quickSell:5e3,quickSellBroken:2e3,caseChance:2.5},{id:"044",name:"Р РѕР±РѕС‚-пылесос",tier:3,priceMin:12e3,priceMax:4e4,quickSell:6e3,quickSellBroken:2400,caseChance:2},{id:"045",name:"Рлектросамокат",tier:3,priceMin:15e3,priceMax:5e4,quickSell:7500,quickSellBroken:3e3,caseChance:1.5},{id:"046",name:"Айфон",tier:4,priceMin:5e4,priceMax:15e4,quickSell:25e3,quickSellBroken:1e4,caseChance:20},{id:"047",name:"Квадроцикл",tier:4,priceMin:5e4,priceMax:18e4,quickSell:25e3,quickSellBroken:1e4,caseChance:15},{id:"048",name:"Горный велосипед",tier:4,priceMin:6e4,priceMax:2e5,quickSell:3e4,quickSellBroken:12e3,caseChance:12},{id:"049",name:"РРіСЂРѕРІРѕР№ РџРљ",tier:4,priceMin:7e4,priceMax:22e4,quickSell:35e3,quickSellBroken:14e3,caseChance:10},{id:"050",name:"Ноутбук",tier:4,priceMin:7e4,priceMax:25e4,quickSell:35e3,quickSellBroken:14e3,caseChance:8},{id:"051",name:"Кольцо СЃ бриллиантом",tier:4,priceMin:8e4,priceMax:25e4,quickSell:4e4,quickSellBroken:16e3,caseChance:7},{id:"052",name:"Студийный микрофон",tier:4,priceMin:8e4,priceMax:28e4,quickSell:4e4,quickSellBroken:16e3,caseChance:5.5},{id:"053",name:"РќРёРІР°",tier:4,priceMin:8e4,priceMax:3e5,quickSell:4e4,quickSellBroken:16e3,caseChance:5},{id:"054",name:"Телескоп",tier:4,priceMin:1e5,priceMax:35e4,quickSell:5e4,quickSellBroken:2e4,caseChance:4},{id:"055",name:"Форд фокус",tier:4,priceMin:1e5,priceMax:4e5,quickSell:5e4,quickSellBroken:2e4,caseChance:3.5},{id:"056",name:"VR-шлем",tier:4,priceMin:1e5,priceMax:35e4,quickSell:5e4,quickSellBroken:2e4,caseChance:3},{id:"057",name:"Домашний кинотеатр",tier:4,priceMin:15e4,priceMax:45e4,quickSell:75e3,quickSellBroken:3e4,caseChance:2.5},{id:"058",name:"Бильярд",tier:4,priceMin:15e4,priceMax:45e4,quickSell:75e3,quickSellBroken:3e4,caseChance:2},{id:"059",name:"Катер",tier:4,priceMin:15e4,priceMax:45e4,quickSell:75e3,quickSellBroken:3e4,caseChance:1.5},{id:"060",name:"Гидроцикл",tier:4,priceMin:2e5,priceMax:5e5,quickSell:1e5,quickSellBroken:4e4,caseChance:1},{id:"061",name:"РњРёРЅРё-гольф",tier:5,priceMin:6e5,priceMax:2e6,quickSell:3e5,quickSellBroken:12e4,caseChance:20},{id:"062",name:"Снегоход",tier:5,priceMin:6e5,priceMax:2e6,quickSell:3e5,quickSellBroken:12e4,caseChance:15},{id:"063",name:"Бассейн",tier:5,priceMin:7e5,priceMax:2e6,quickSell:35e4,quickSellBroken:14e4,caseChance:12},{id:"064",name:"Баня",tier:5,priceMin:8e5,priceMax:2e6,quickSell:4e5,quickSellBroken:16e4,caseChance:10},{id:"065",name:"Боулинг РІ РґРѕРј",tier:5,priceMin:8e5,priceMax:25e5,quickSell:4e5,quickSellBroken:16e4,caseChance:8},{id:"066",name:"Домашний спортзал",tier:5,priceMin:8e5,priceMax:25e5,quickSell:4e5,quickSellBroken:16e4,caseChance:7},{id:"067",name:"Гараж",tier:5,priceMin:1e6,priceMax:3e6,quickSell:5e5,quickSellBroken:2e5,caseChance:5.5},{id:"068",name:"Трактор",tier:5,priceMin:1e6,priceMax:3e6,quickSell:5e5,quickSellBroken:2e5,caseChance:5},{id:"069",name:"Октавия",tier:5,priceMin:12e5,priceMax:25e5,quickSell:6e5,quickSellBroken:24e4,caseChance:4},{id:"070",name:"Камаро",tier:5,priceMin:12e5,priceMax:3e6,quickSell:6e5,quickSellBroken:24e4,caseChance:3.5},{id:"071",name:"Мустанг",tier:5,priceMin:15e5,priceMax:35e5,quickSell:75e4,quickSellBroken:3e5,caseChance:3},{id:"072",name:"Мерседес",tier:5,priceMin:15e5,priceMax:4e6,quickSell:75e4,quickSellBroken:3e5,caseChance:2.5},{id:"073",name:"Тесла",tier:5,priceMin:2e6,priceMax:5e6,quickSell:1e6,quickSellBroken:4e5,caseChance:2},{id:"074",name:"Квартира-студия",tier:5,priceMin:2e6,priceMax:5e6,quickSell:1e6,quickSellBroken:4e5,caseChance:1.5},{id:"075",name:"Дача",tier:5,priceMin:3e6,priceMax:5e6,quickSell:15e5,quickSellBroken:6e5,caseChance:1},{id:"076",name:"BMW M5",tier:6,priceMin:5e6,priceMax:9e6,quickSell:25e5,quickSellBroken:1e6,caseChance:20},{id:"077",name:"Кофейня",tier:6,priceMin:5e6,priceMax:15e6,quickSell:25e5,quickSellBroken:1e6,caseChance:15},{id:"078",name:"Ресторан",tier:6,priceMin:5e6,priceMax:15e6,quickSell:25e5,quickSellBroken:1e6,caseChance:12},{id:"079",name:"РњРёРЅРё-отель",tier:6,priceMin:7e6,priceMax:2e7,quickSell:35e5,quickSellBroken:14e5,caseChance:10},{id:"080",name:"Гелик",tier:6,priceMin:8e6,priceMax:15e6,quickSell:4e6,quickSellBroken:16e5,caseChance:8},{id:"081",name:"Офис",tier:6,priceMin:8e6,priceMax:2e7,quickSell:4e6,quickSellBroken:16e5,caseChance:7},{id:"082",name:"Автограф Роналду",tier:6,priceMin:8e6,priceMax:25e6,quickSell:4e6,quickSellBroken:16e5,caseChance:5.5},{id:"083",name:"Бентли",tier:6,priceMin:1e7,priceMax:22e6,quickSell:5e6,quickSellBroken:2e6,caseChance:5},{id:"084",name:"Гольф-клуб",tier:6,priceMin:1e7,priceMax:3e7,quickSell:5e6,quickSellBroken:2e6,caseChance:4},{id:"085",name:"Феррари",tier:6,priceMin:12e6,priceMax:25e6,quickSell:6e6,quickSellBroken:24e5,caseChance:3.5},{id:"086",name:"Яхта",tier:6,priceMin:12e6,priceMax:35e6,quickSell:6e6,quickSellBroken:24e5,caseChance:3},{id:"087",name:"Отель 3*",tier:6,priceMin:15e6,priceMax:4e7,quickSell:75e5,quickSellBroken:3e6,caseChance:2.5},{id:"088",name:"Трёшка РІ РњРѕСЃРєРІРµ",tier:6,priceMin:2e7,priceMax:5e7,quickSell:1e7,quickSellBroken:4e6,caseChance:2},{id:"089",name:"Роллс-Р РѕР№СЃ",tier:6,priceMin:2e7,priceMax:5e7,quickSell:1e7,quickSellBroken:4e6,caseChance:1.5},{id:"090",name:"Торговый центр",tier:6,priceMin:2e7,priceMax:5e7,quickSell:1e7,quickSellBroken:4e6,caseChance:1},{id:"091",name:"Домик РІ Рталии",tier:7,priceMin:55e6,priceMax:28e7,quickSell:275e5,quickSellBroken:11e6,caseChance:20},{id:"092",name:"Ресторан Мишлен",tier:7,priceMin:55e6,priceMax:2e8,quickSell:275e5,quickSellBroken:11e6,caseChance:15},{id:"093",name:"Круизный лайнер",tier:7,priceMin:6e7,priceMax:22e7,quickSell:3e7,quickSellBroken:12e6,caseChance:12},{id:"094",name:"Аквапарк",tier:7,priceMin:7e7,priceMax:3e8,quickSell:35e6,quickSellBroken:14e6,caseChance:10},{id:"095",name:"Бутик РІ центре РњРѕСЃРєРІС‹",tier:7,priceMin:8e7,priceMax:38e7,quickSell:4e7,quickSellBroken:16e6,caseChance:8},{id:"096",name:"Виноградник РІ Бордо",tier:7,priceMin:8e7,priceMax:35e7,quickSell:4e7,quickSellBroken:16e6,caseChance:7},{id:"097",name:"Вертолёт",tier:7,priceMin:9e7,priceMax:27e7,quickSell:45e6,quickSellBroken:18e6,caseChance:5.5},{id:"098",name:"Вилла РІ Тоскане",tier:7,priceMin:1e8,priceMax:45e7,quickSell:5e7,quickSellBroken:2e7,caseChance:5},{id:"099",name:"Завод",tier:7,priceMin:12e7,priceMax:5e8,quickSell:6e7,quickSellBroken:24e6,caseChance:4},{id:"100",name:"РЇС…С‚-клуб",tier:7,priceMin:15e7,priceMax:48e7,quickSell:75e6,quickSellBroken:3e7,caseChance:3.5},{id:"101",name:"Маленький остров",tier:7,priceMin:2e8,priceMax:2e9,quickSell:1e8,quickSellBroken:4e7,caseChance:3},{id:"102",name:"Бугатти Р§РёСЂРѕРЅ",tier:7,priceMin:23e7,priceMax:37e7,quickSell:115e6,quickSellBroken:46e6,caseChance:2.5},{id:"103",name:"Замок РІРѕ Франции",tier:7,priceMin:3e8,priceMax:2e9,quickSell:15e7,quickSellBroken:6e7,caseChance:2},{id:"104",name:"Бриллиант 20 карат",tier:7,priceMin:3e8,priceMax:3e9,quickSell:15e7,quickSellBroken:6e7,caseChance:1.5},{id:"105",name:"Пентхаус РІ Дубае",tier:7,priceMin:36e7,priceMax:22e8,quickSell:18e7,quickSellBroken:72e6,caseChance:1},{id:"106",name:"Нефтяная скважина",tier:8,priceMin:5e8,priceMax:4e9,quickSell:25e7,quickSellBroken:1e8,caseChance:20},{id:"107",name:"Картина Пикассо",tier:8,priceMin:5e8,priceMax:6e9,quickSell:25e7,quickSellBroken:1e8,caseChance:15},{id:"108",name:"Замок РІ Шотландии",tier:8,priceMin:7e8,priceMax:5e9,quickSell:35e7,quickSellBroken:14e7,caseChance:12},{id:"109",name:"Коллекция картин",tier:8,priceMin:9e8,priceMax:6e9,quickSell:45e7,quickSellBroken:18e7,caseChance:10},{id:"110",name:"Технологический стартап",tier:8,priceMin:9e8,priceMax:9e9,quickSell:45e7,quickSellBroken:18e7,caseChance:8},{id:"111",name:"Футбольный клуб",tier:8,priceMin:12e8,priceMax:1e10,quickSell:6e8,quickSellBroken:24e7,caseChance:7},{id:"112",name:"РњРѕСЂСЃРєРѕР№ РїРѕСЂС‚",tier:8,priceMin:18e8,priceMax:12e9,quickSell:9e8,quickSellBroken:36e7,caseChance:5.5},{id:"113",name:"Отель 5*",tier:8,priceMin:18e8,priceMax:1e10,quickSell:9e8,quickSellBroken:36e7,caseChance:5},{id:"114",name:"Авиакомпания",tier:8,priceMin:25e8,priceMax:18e9,quickSell:125e7,quickSellBroken:5e8,caseChance:4},{id:"115",name:"Бизнес-центр",tier:8,priceMin:4e9,priceMax:2e10,quickSell:2e9,quickSellBroken:8e8,caseChance:3.5},{id:"116",name:"Жилой Квартал",tier:8,priceMin:45e8,priceMax:25e9,quickSell:225e7,quickSellBroken:9e8,caseChance:3},{id:"117",name:"Федеральный телеканал",tier:8,priceMin:9e9,priceMax:45e9,quickSell:45e8,quickSellBroken:18e8,caseChance:2.5},{id:"118",name:"Башня РћРєРѕ",tier:8,priceMin:18e9,priceMax:15e10,quickSell:9e9,quickSellBroken:36e8,caseChance:2},{id:"119",name:"Архипелаг",tier:8,priceMin:18e9,priceMax:18e10,quickSell:9e9,quickSellBroken:36e8,caseChance:1.5},{id:"120",name:"Сан-Марино",tier:8,priceMin:45e9,priceMax:45e10,quickSell:225e8,quickSellBroken:9e9,caseChance:1}],B={npcTypeWeights:{ordinary:.24,businessman:.1,talker:.1,economist:.1,hasty:.1,troll:.04,collector:.09,appraiser:.12,impulsive:.02,pushy:.07,hypehunter:.02},moodRoll:{good:.1,bad:.1},moodDiscountMult:{good:1.3,ok:1,bad:.6},conditionRoll:{used:.18,worn:.15,broken:.12},conditionRollBusinessman:{used:0,worn:.06,broken:.04},discountByCondition:{new:{chance:.28,maxFrac:.12},used:{chance:.62,maxFrac:.35},worn:{chance:.75,maxFrac:.5},broken:{chance:.92,maxFrac:.8}},discountSmallAskBonus:.22,discountRapportBonus:{greeted:.08,perQuestion:.05,maxQuestions:2},buyerFullPriceChance:{troll:.08,businessman:.12,talker:.28,economist:.16,hasty:.45,ordinary:.3,collector:0,appraiser:0,impulsive:0,pushy:0,hypehunter:0},buyerPushyChance:.12,buyerPushyDiscount:{min:.2,max:.5},buyerMaxDiscount:{troll:.12,businessman:.18,talker:.1,economist:.2,hasty:0,ordinary:.12,hypehunter:.1},buyerCounterRecovery:{troll:.55,businessman:.45,talker:.75,economist:.4,hasty:1,ordinary:.65,collector:1,appraiser:.82,impulsive:.9,pushy:.78,hypehunter:1},buyerConditionDiscount:{new:0,used:.07,worn:.15,broken:.35},buyerTradeOfferChance:.45,tradeChance:{troll:.5,businessman:.1,talker:.3,economist:.9,hasty:.1,ordinary:.3,collector:.8,appraiser:.55,impulsive:.7,pushy:.25,hypehunter:.6},tradeTolerance:{troll:.7,businessman:1,talker:.85,economist:.6,hasty:.95,ordinary:.85,collector:.7,appraiser:.9,impulsive:.85,pushy:.95,hypehunter:.8},luckyBuyerChance:.03,luckyTradeChance:.005,luckyTradeMinRatio:.5,troll:{bailOnCodeword:.6,acceptRaisedCounterChance:.5,reportReward:1e3},hasty:{minSec:5,maxSec:60},stolenBaseChance:.15};let Xe=Date.now()>>>0||1;function mt(){Xe|=0,Xe=Xe+1831565813|0;let e=Math.imul(Xe^Xe>>>15,1|Xe);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}const Q=e=>mt()<e,ae=(e,t)=>e+Math.floor(mt()*(t-e+1)),Ae=e=>e[Math.floor(mt()*e.length)];function ta(e){const t=e.reduce((n,s)=>n+s,0);let a=mt()*t;for(let n=0;n<e.length;n++)if(a-=e[n],a<=0)return n;return e.length-1}const La=ea.map(e=>e.id),Mi=["man_1.jpg","man_2.jpg","man_3.jpg","man_4.jpg","man_5.jpg","man_6.jpg","man_7.jpg","man_8.jpg"],wi=["woman_1.jpg","woman_1-1.jpg","woman_1-2.jpg","woman_1-3.jpg","woman_5.jpg","woman_6.jpg","woman_7.jpg","woman_8.jpg"],Ss=B.npcTypeWeights,wn=Object.keys(Ss),Ci=["fishing","basketball","football","music","cooking","photo"];let Ai=0;function Ti(){const e=mt();return e<B.moodRoll.good?"good":e<B.moodRoll.good+B.moodRoll.bad?"bad":"ok"}function Ei(e){const t=e==="businessman"?B.conditionRollBusinessman:B.conditionRoll,a=mt();return a<t.broken?"broken":a<t.broken+t.worn?"worn":a<t.broken+t.worn+t.used?"used":"new"}function $i(e=!1){if(!e&&!Q(.6))return[];const t=Q(.5)?1:2,a=new Set;for(;a.size<t;)a.add(Ae(La));return[...a]}const Oi=()=>wn[ta(wn.map(e=>Ss[e]))]??"ordinary";function aa(e=Oi()){const t=Q(.5),a=$i(e==="collector"),n=e==="collector"?[...new Set([Ae(La),Ae(La)])]:[];return{id:`npc${Ai++}`,name:Ae(t?Pt().namesMale:Pt().namesFemale),avatar:Ae(t?Mi:wi),type:e,mood:Ti(),hobby:Ae(Ci),wants:a,otherItems:n}}const Ii=e=>e==="bad"?"ok":"good",Ri=e=>e==="good"?"ok":"bad",at=(e,t)=>t>0?Ii(e):t<0?Ri(e):e,na=(e,t)=>e.type==="ordinary"?e.mood:at(e.mood,t),an=e=>r(`npcType.${e}`),_s=e=>r(`hobby.${e}`);function lt(e=""){const t=globalThis.crypto;return t&&typeof t.randomUUID=="function"?e+t.randomUUID():e+Date.now().toString(36)+Math.random().toString(36).slice(2,10)}const Li=ea,Bi=()=>lt("m");function Ni(e,t=aa(),a){let n=t;const s=a??Ei(n.type),{priceMin:i,priceMax:o,quickSellBroken:u}=e,l=Math.round((i+o)/2);if(n.type==="collector"){const m=n.wants.filter(h=>h!==e.id);m.length||m.push(Ae(Li.filter(h=>h.id!==e.id)).id);const p=n.otherItems.filter(h=>h!==e.id);(t.otherItems.includes(e.id)||Q(.45))&&p.push(e.id),n={...n,wants:m,otherItems:p}}let d;switch(s){case"new":d=Q(.88)?ae(l,o):ae(o,Math.round(o*1.2));break;case"used":d=Q(.7)?ae(i,l):ae(l,o);break;case"worn":d=Q(.8)?ae(Math.round(i*.7),i):ae(l,o);break;default:d=Q(.85)?ae(u,i):ae(l,o)}return n.type==="appraiser"?d=s==="new"?l:s==="used"?i:s==="worn"?Math.max(u,Math.round(i*.85)):u:n.type==="pushy"?d=Math.max(d,Math.round(o*ae(115,140)/100)):n.type==="impulsive"?d=Math.max(u,Math.round(d*.9)):n.type==="hypehunter"&&(e.season||e.tier>=5)?d=Math.round(d*1.2):n.type==="collector"&&n.otherItems.includes(e.id)&&(d=Math.max(u,Math.round(d*.8))),{uid:Bi(),itemId:e.id,condition:s,price:d,seller:n}}function xi(e,t){const a=e.slice(),n=[];for(let s=0;s<t&&a.length;s++){const i=a.map(d=>Math.max(0,d.caseChance)),u=i.some(d=>d>0)?ta(i):ae(0,a.length-1),l=a.splice(u,1)[0];n.push(Ni(l))}return n}function qi(e,t){const a=e.price/t.priceMin,n=Math.max(0,2.2-a)/1.2;return Math.min(.6,B.stolenBaseChance+n*.3)}const Pi=()=>ae(B.hasty.minSec,B.hasty.maxSec);function Di(){return{openedSinceBonus:0,pendingCaseIds:[]}}const Ms=e=>e==="autumn:mythic"||e==="autumn-owned:mythic";function zt(e,t,a){const n=Math.max(0,Math.floor(a));if(n===0||Ms(t))return e;const s=e.openedSinceBonus+n,i=Math.floor(s/10);return{openedSinceBonus:s%10,pendingCaseIds:[...e.pendingCaseIds,...Array.from({length:i},()=>t)]}}function ws(e,t){return e.pendingCaseIds[0]!==t?null:{...e,pendingCaseIds:e.pendingCaseIds.slice(1)}}const nn=180,zi=12,X=ea,Cs=se.map(e=>({id:e.id,name:e.id,tier:e.tier,priceMin:e.priceMin,priceMax:e.priceMax,quickSell:Math.round(e.priceMin/2),quickSellBroken:Math.round(e.priceMin/5),caseChance:e.weight,image:e.image,season:Hr})),ji=Cs.filter(e=>se.find(t=>t.id===e.id)?.chestId!=="mythic"),Fi=[...X,...ji],Gi=e=>Se(e)?Fi:X,sn=(e=Date.now())=>xi(Gi(e),zi),Hi=[...X,...Cs],A=e=>Hi.find(t=>t.id===e),Ee=Qt.cases,Ui={coins:0,yan:0,market:sn(),marketDeadline:Date.now()+nn*1e3,inventory:[],listings:[],chats:[],claimedDays:0,salesCount:0,totalSalesCount:0,megaOfferLastMilestone:0,autumn2026:ps(),caseOpeningBonus:Di(),redeemedPromoCodes:[],workLevel:1,screen:"buy",musicOn:!0,soundOn:!0,musicVol:.7,soundVol:.7,lang:"ru"},c=vi(Ui);function As(e){Dr(e),c.setState(t=>({lang:e,market:t.market.map(a=>({...a,seller:{...a.seller,name:bn(a.seller.name)}})),chats:t.chats.map(a=>({...a,npc:{...a.npc,name:bn(a.npc.name)},gateWord:a.gateWord?Wa(a.gateWord):void 0}))}))}function j(e,t={}){c.setState({screen:e,...t})}function z(e){c.setState({toast:e}),C(()=>c.getState().toast===e&&c.setState({toast:void 0}),2200)}const ye=(e,t,a="new")=>({uid:lt("e"),itemId:e.id,condition:a,price:t});function Ki(e,t){const{seller:a,askingPrice:n,condition:s}=t,i=a.mood,o=(n-e)/n;if(o<=0)return nt(i,()=>r("trade.discountOk"));const u=B.discountByCondition[s],l=!!t.itemId&&a.otherItems.includes(t.itemId),d=!!t.seasonalItem||(t.itemTier??0)>=5;let m=1,p=0,h=u.maxFrac;if(a.type==="appraiser"&&(p=.18,h=Math.min(.8,h+.08)),a.type==="impulsive"&&(p=.35,h=Math.min(.8,h+.12)),a.type==="pushy"&&(m=.45,h*=.7),a.type==="collector"&&(l?(p=.25,h=Math.min(.8,h+.1)):(t.itemTier??0)>=3&&(m=.55,h*=.75)),a.type==="hypehunter"&&d&&(m=.5,h*=.7),o>h+.001)return Ba(i,()=>r("trade.discountNo"));const _=(1-o/h)*B.discountSmallAskBonus,b=(t.greeted?B.discountRapportBonus.greeted:0)+Math.min(t.questions,B.discountRapportBonus.maxQuestions)*B.discountRapportBonus.perQuestion,$=u.chance*m*B.moodDiscountMult[i]+p+_+b;return Q(Math.min(.97,$))?nt(at(i,1),()=>r("trade.sellAtYourPrice",{price:Oa(e)})):Ba(i,()=>r("trade.discountNo2"))}function Wi(e,t,a,n){const{seller:s}=e,i=t/a,o=B.tradeTolerance[s.type];if(s.type==="collector"&&n&&s.wants.includes(n))return i<B.luckyTradeMinRatio?{accepted:!1,newMood:s.mood,reply:()=>"",bail:!1,unequal:!0}:nt(at(s.mood,1),()=>r("trade.collectorWishlistYes"));if(i>=B.luckyTradeMinRatio&&Q(B.luckyTradeChance))return nt(at(s.mood,1),()=>r("trade.tradeYes"));if(i<o)return{accepted:!1,newMood:s.mood,reply:()=>"",bail:!1,unequal:!0};let u=B.tradeChance[s.type]*B.moodDiscountMult[s.mood];return i>=1&&(u+=.45),Q(Math.min(.97,u))?nt(at(s.mood,1),()=>r("trade.tradeYes2")):Ba(s.mood,()=>r("trade.tradeNo"))}function Vi(e,t){return Math.max(0,Math.min(e,Math.round(e-t)))}function Yi(e){return Q(B.troll.bailOnCodeword)?{accepted:!1,newMood:e.mood,bail:!0,reply:()=>r("trade.trollTrade")}:nt(at(e.mood,1),()=>r("trade.trollNice"))}const nt=(e,t)=>({accepted:!0,newMood:e,reply:t,bail:!1}),Ba=(e,t)=>({accepted:!1,newMood:e,reply:t,bail:!1});function _t(e,t){return e<t.priceMin?"below":e>t.priceMax?"above":"market"}function Mt(e,t){return t?Math.round(e.priceMin/2):e.priceMin}function Ts(e){return Math.round(e.priceMin*.3)}const Ji=Qt.positionChances;function sa(e,t){const a=e.filter(i=>i.tier===t).sort((i,o)=>o.caseChance-i.caseChance),n=ta(Ji.slice(0,a.length)),s=a[n]??a[0];return{uid:lt("c"),itemId:s.id,condition:"new",price:s.priceMin}}const jt={1:60,2:30,3:8.5,4:1.5};function rn(e){const t=Object.keys(jt).map(Number),a=t[ta(t.map(i=>jt[i]??0))]??1,n=e.filter(i=>i.tier===a),s=n[ae(0,n.length-1)]??n[0];return{uid:lt("c"),itemId:s.id,condition:"new",price:s.priceMin}}const Cn="my_resale_save";let Et=!1;const Zi={capitalm:[{name:"Барыга в„–1",score:5400,rank:1},{name:"Перекуп",score:2100,rank:2},{name:"Антон",score:880,rank:3},{name:"Резеда",score:310,rank:4},{name:"Скупщик",score:95,rank:5},{name:"РРіРѕСЂСЊ",score:40,rank:6},{name:"Мария",score:12,rank:7}],collectors:[{name:"Коллекционер",score:64,rank:1},{name:"Барыга в„–1",score:58,rank:2},{name:"Антон",score:41,rank:3},{name:"Резеда",score:27,rank:4},{name:"РРіРѕСЂСЊ",score:14,rank:5}],sellers:[{name:"Оптовик",score:1240,rank:1},{name:"Перекуп",score:870,rank:2},{name:"Барыга в„–1",score:530,rank:3},{name:"Мария",score:190,rank:4},{name:"РРіРѕСЂСЊ",score:60,rank:5}],autumnsales:[],autumncollectors:[]},Qi={"Барыга в„–1":"Dealer #1",Перекуп:"Reseller",Антон:"Anton",Резеда:"Rezeda",Скупщик:"Buyer",РРіРѕСЂСЊ:"Igor",Мария:"Maria",Коллекционер:"Collector",Оптовик:"Wholesaler"},Xi={"Барыга в„–1":"SatД±cД± #1",Перекуп:"Yeniden satД±cД±",Антон:"Anton",Резеда:"Rezeda",Скупщик:"AlД±cД±",РРіРѕСЂСЊ:"Д°gor",Мария:"Maria",Коллекционер:"Koleksiyoncu",Оптовик:"ToptancД±"},eo={"Барыга в„–1":"Comerciante n.Вє 1",Перекуп:"Revendedor",Антон:"AntГіn",Резеда:"Rezeda",Скупщик:"Comprador",РРіРѕСЂСЊ:"Igor",Мария:"MarГa",Коллекционер:"Coleccionista",Оптовик:"Mayorista"},to={en:Qi,tr:Xi,es:eo},ao={async init(){},loadingReady(){},async save(e){localStorage.setItem(Cn,JSON.stringify(e))},async load(){const e=localStorage.getItem(Cn);return e?JSON.parse(e):null},async showRewardedVideo(){return!0},async showFullscreenAdv(){return!1},showBannerAdv(){},hideBannerAdv(){},async getLeaderboard(e){return{entries:(Zi[e]??[]).map(a=>({...a,name:to[ut()]?.[a.name]??a.name}))}},async setScore(){},getLang(){return"ru"},gameplayStart(){},gameplayStop(){},now(){return Date.now()},hasPayments(){return!1},async getCatalog(){return[]},async purchase(e){return{productId:e,token:`mock-${e}`}},async consume(){},async getPurchases(){return[]},isAuthorized(){return Et},getPlayerName(){return""},async auth(){return Et=!0,!0},async canReview(){return{value:Et,reason:Et?void 0:"NO_AUTH"}},async requestReview(){return!0}};let M=ao;function no(e){M=e}let Ce=null,We=null,Ft=!1;function so(e){Ft=e,Ce&&(We&&(We.gain.value=e?0:1),!e&&Ce.state==="suspended"&&Ce.resume())}function Es(){if(typeof window>"u")return null;if(!Ce){const e=window.AudioContext||window.webkitAudioContext;if(!e)return null;try{Ce=new e}catch{return null}We=Ce.createGain(),We.gain.value=Ft?0:1,We.connect(Ce.destination)}return Ce.state==="suspended"&&!Ft&&Ce.resume(),Ce}if(typeof window<"u"){const e=()=>Es();window.addEventListener("pointerdown",e,{once:!1}),window.addEventListener("keydown",e,{once:!1})}function Y(e,t,a){const n=e.currentTime+(a.delay??0),s=e.createOscillator(),i=e.createGain();s.type=a.type??"sine",s.frequency.setValueAtTime(a.freq,n),a.to&&s.frequency.exponentialRampToValueAtTime(Math.max(1,a.to),n+a.dur);const o=Math.max(1e-4,(a.vol??1)*t);i.gain.setValueAtTime(1e-4,n),i.gain.exponentialRampToValueAtTime(o,n+.006),i.gain.exponentialRampToValueAtTime(1e-4,n+a.dur),s.connect(i).connect(We??e.destination),s.start(n),s.stop(n+a.dur+.03)}function ha(e,t,a,n,s=0){const i=e.currentTime+s,o=e.createBuffer(1,Math.ceil(e.sampleRate*a),e.sampleRate),u=o.getChannelData(0);for(let p=0;p<u.length;p++)u[p]=(Math.random()*2-1)*(1-p/u.length);const l=e.createBufferSource();l.buffer=o;const d=e.createBiquadFilter();d.type="bandpass",d.frequency.value=1200,d.Q.value=.7;const m=e.createGain();m.gain.setValueAtTime(Math.max(1e-4,n*t),i),m.gain.exponentialRampToValueAtTime(1e-4,i+a),l.connect(d).connect(m).connect(We??e.destination),l.start(i),l.stop(i+a+.02)}const ro={tap:(e,t)=>Y(e,t,{freq:520,type:"square",dur:.045,vol:.16}),select:(e,t)=>Y(e,t,{freq:430,to:660,type:"triangle",dur:.1,vol:.26}),coin:(e,t)=>{Y(e,t,{freq:920,type:"triangle",dur:.09,vol:.3}),Y(e,t,{freq:1380,type:"triangle",dur:.13,vol:.26,delay:.07})},sell:(e,t)=>{Y(e,t,{freq:660,type:"triangle",dur:.1,vol:.3}),Y(e,t,{freq:990,type:"triangle",dur:.14,vol:.28,delay:.09})},buy:(e,t)=>{Y(e,t,{freq:500,type:"sine",dur:.1,vol:.3}),Y(e,t,{freq:760,type:"sine",dur:.14,vol:.28,delay:.08})},message:(e,t)=>{Y(e,t,{freq:740,type:"sine",dur:.12,vol:.3}),Y(e,t,{freq:1040,type:"sine",dur:.16,vol:.26,delay:.1})},error:(e,t)=>{Y(e,t,{freq:440,type:"triangle",dur:.13,vol:.26}),Y(e,t,{freq:300,type:"triangle",dur:.2,vol:.24,delay:.11})},gift:(e,t)=>[0,.07,.14].forEach((a,n)=>Y(e,t,{freq:700+n*260,type:"triangle",dur:.14,vol:.26,delay:a})),win:(e,t)=>[523,659,784,1047].forEach((a,n)=>Y(e,t,{freq:a,type:"triangle",dur:.3,vol:.28,delay:n*.08})),caseOpen:(e,t)=>{ha(e,t,.4,.22),Y(e,t,{freq:300,to:900,type:"sawtooth",dur:.4,vol:.18})},success:(e,t)=>{Y(e,t,{freq:784,type:"sine",dur:.1,vol:.3}),Y(e,t,{freq:1175,type:"sine",dur:.16,vol:.26,delay:.08})},seasonReward:(e,t)=>{ha(e,t,.16,.08),[392,523,659,1047].forEach((a,n)=>Y(e,t,{freq:a,type:n===3?"sine":"triangle",dur:n===3?.32:.18,vol:n===3?.34:.27,delay:n*.075}))},mythicPulse:(e,t)=>{Y(e,t,{freq:92,to:54,type:"sine",dur:.28,vol:.55}),Y(e,t,{freq:184,to:110,type:"triangle",dur:.18,vol:.22})},mythicExplosion:(e,t)=>{ha(e,t,.75,.58),Y(e,t,{freq:72,to:34,type:"sine",dur:.78,vol:.72}),Y(e,t,{freq:180,to:960,type:"sawtooth",dur:.48,vol:.24}),[880,1320,1760].forEach((a,n)=>Y(e,t,{freq:a,type:"triangle",dur:.34,vol:.25,delay:.08+n*.055}))}};function P(e){const t=c.getState();if(!t.soundOn||Ft)return;const a=Es();!a||a.state!=="running"||ro[e]?.(a,(t.soundVol??.7)*.6)}const io={"001":"Ballpoint pen","002":"Pin","003":"Eraser","004":"Soviet coin","005":"Comb","006":"Bag of chips","007":"Lighter","008":"Lollipop","009":"Burger","010":"Notepad","011":"Socks","012":"Mug","013":"Phone case","014":"Minifigure","015":"Keychain","016":"Book","017":"Wild garlic","018":"Yoga mat","019":"Belt","020":"Cap","021":"USB drive","022":"Mini vacuum","023":"Sunglasses","024":"Mouse","025":"Vinyl record","026":"PSP","027":"Aquarium","028":"Skateboard","029":"Chess set","030":"Speaker","031":"Sneakers","032":"Down jacket","033":"Rollerblades","034":"PS5","035":"Camera","036":"Hoverboard","037":"Bicycle","038":"Guitar","039":"Switch","040":"Snowboard","041":"FPV drone","042":"Mini projector","043":"Inflatable boat","044":"Robot vacuum","045":"E-scooter","046":"iPhone","047":"ATV","048":"Mountain bike","049":"Gaming PC","050":"Laptop","051":"Diamond ring","052":"Studio microphone","053":"Niva","054":"Telescope","055":"Ford Focus","056":"VR headset","057":"Home theater","058":"Pool table","059":"Speedboat","060":"Jet ski","061":"Mini-golf","062":"Snowmobile","063":"Swimming pool","064":"Sauna","065":"Home bowling alley","066":"Home gym","067":"Garage","068":"Tractor","069":"Octavia","070":"Camaro","071":"Mustang","072":"Mercedes","073":"Tesla","074":"Studio apartment","075":"Country house","076":"BMW M5","077":"Coffee shop","078":"Restaurant","079":"Mini hotel","080":"G-Wagon","081":"Office","082":"Ronaldo autograph","083":"Bentley","084":"Golf club","085":"Ferrari","086":"Yacht","087":"3-star hotel","088":"3-room flat in Moscow","089":"Rolls-Royce","090":"Shopping mall","091":"House in Italy","092":"Michelin restaurant","093":"Cruise liner","094":"Water park","095":"Boutique in central Moscow","096":"Bordeaux vineyard","097":"Helicopter","098":"Tuscany villa","099":"Factory",100:"Yacht club",101:"Small island",102:"Bugatti Chiron",103:"Castle in France",104:"20-carat diamond",105:"Penthouse in Dubai",106:"Oil well",107:"Picasso painting",108:"Castle in Scotland",109:"Art collection",110:"Tech startup",111:"Football club",112:"Seaport",113:"5-star hotel",114:"Airline",115:"Business center",116:"Residential complex",117:"Federal TV channel",118:"Oko Tower",119:"Archipelago",120:"San Marino"},oo={"001":"TГјkenmez kalem","002":"Г‡engelli iДџne","003":"Silgi","004":"Sovyet madeni parasД±","005":"Tarak","006":"Cips paketi","007":"Г‡akmak","008":"Lolipop","009":"Hamburger","010":"Not defteri","011":"Г‡orap","012":"Kupa","013":"Telefon kД±lД±fД±","014":"Mini figГјr","015":"AnahtarlД±k","016":"Kitap","017":"Yabani sarД±msak","018":"Yoga matД±","019":"Kemer","020":"Ећapka","021":"USB bellek","022":"Mini elektrikli sГјpГјrge","023":"GГјneЕџ gГ¶zlГјДџГј","024":"Bilgisayar faresi","025":"Plak","026":"PSP","027":"Akvaryum","028":"Kaykay","029":"SatranГ§ takД±mД±","030":"HoparlГ¶r","031":"Spor ayakkabД±","032":"ЕћiЕџme mont","033":"Tekerlekli paten","034":"PS5","035":"FotoДџraf makinesi","036":"Hoverboard","037":"Bisiklet","038":"Gitar","039":"Switch","040":"Snowboard","041":"FPV drone","042":"Mini projektГ¶r","043":"ЕћiЕџme bot","044":"Robot sГјpГјrge","045":"Elektrikli scooter","046":"iPhone","047":"ATV","048":"DaДџ bisikleti","049":"Oyuncu bilgisayarД±","050":"DizГјstГј bilgisayar","051":"PД±rlanta yГјzГјk","052":"StГјdyo mikrofonu","053":"Lada Niva","054":"Teleskop","055":"Ford Focus","056":"VR baЕџlД±ДџД±","057":"Ev sinema sistemi","058":"Bilardo masasД±","059":"SГјrat teknesi","060":"Jet ski","061":"Mini golf sahasД±","062":"Kar motosikleti","063":"YГјzme havuzu","064":"Sauna","065":"Ev tipi bowling salonu","066":"Ev spor salonu","067":"Garaj","068":"TraktГ¶r","069":"Е koda Octavia","070":"Chevrolet Camaro","071":"Ford Mustang","072":"Mercedes","073":"Tesla","074":"StГјdyo daire","075":"KД±r evi","076":"BMW M5","077":"Kahve dГјkkГўnД±","078":"Restoran","079":"Butik otel","080":"Mercedes G-Serisi","081":"Ofis","082":"Ronaldo imzasД±","083":"Bentley","084":"Golf kulГјbГј","085":"Ferrari","086":"Yat","087":"3 yД±ldД±zlД± otel","088":"Moskova’da 3 odalД± daire","089":"Rolls-Royce","090":"AlД±ЕџveriЕџ merkezi","091":"Д°talya’da ev","092":"Michelin yД±ldД±zlД± restoran","093":"Yolcu gemisi","094":"Su parkД±","095":"Moskova merkezinde butik","096":"Bordeaux ГјzГјm baДџД±","097":"Helikopter","098":"Toskana’da villa","099":"Fabrika",100:"Yat kulГјbГј",101:"KГјГ§Гјk ada",102:"Bugatti Chiron",103:"Fransa’da Еџato",104:"20 karatlД±k elmas",105:"Dubai’de Г§atД± katД±",106:"Petrol kuyusu",107:"Picasso tablosu",108:"Д°skoГ§ya’da Еџato",109:"Sanat koleksiyonu",110:"Teknoloji giriЕџimi",111:"Futbol kulГјbГј",112:"Liman",113:"5 yД±ldД±zlД± otel",114:"Havayolu Еџirketi",115:"Д°Еџ merkezi",116:"Konut kompleksi",117:"Ulusal televizyon kanalД±",118:"Oko Kulesi",119:"TakД±mada",120:"San Marino"},co={"001":"BolГgrafo","002":"Imperdible","003":"Goma de borrar","004":"Moneda soviГ©tica","005":"Peine","006":"Bolsa de patatas fritas","007":"Encendedor","008":"Piruleta","009":"Hamburguesa","010":"Bloc de notas","011":"Calcetines","012":"Taza","013":"Funda de telГ©fono","014":"Minifigura","015":"Llavero","016":"Libro","017":"Ajo silvestre","018":"Esterilla de yoga","019":"CinturГіn","020":"Gorra","021":"Memoria USB","022":"Mini aspiradora","023":"Gafas de sol","024":"RatГіn","025":"Disco de vinilo","026":"PSP","027":"Acuario","028":"MonopatГn","029":"Juego de ajedrez","030":"Altavoz","031":"Zapatillas deportivas","032":"Chaqueta de plumas","033":"Patines","034":"PS5","035":"CГЎmara","036":"Hoverboard","037":"Bicicleta","038":"Guitarra","039":"Switch","040":"Tabla de snowboard","041":"Dron FPV","042":"Mini proyector","043":"Bote inflable","044":"Robot aspirador","045":"Patinete elГ©ctrico","046":"iPhone","047":"Quad","048":"Bicicleta de montaГ±a","049":"PC gaming","050":"PortГЎtil","051":"Anillo de diamantes","052":"MicrГіfono de estudio","053":"Lada Niva","054":"Telescopio","055":"Ford Focus","056":"Visor de realidad virtual","057":"Cine en casa","058":"Mesa de billar","059":"Lancha rГЎpida","060":"Moto de agua","061":"Campo de minigolf","062":"Moto de nieve","063":"Piscina","064":"Sauna","065":"Bolera domГ©stica","066":"Gimnasio domГ©stico","067":"Garaje","068":"Tractor","069":"Е koda Octavia","070":"Chevrolet Camaro","071":"Ford Mustang","072":"Mercedes","073":"Tesla","074":"Estudio","075":"Casa de campo","076":"BMW M5","077":"CafeterГa","078":"Restaurante","079":"Hotel boutique","080":"Mercedes Clase G","081":"Oficina","082":"AutГіgrafo de Ronaldo","083":"Bentley","084":"Club de golf","085":"Ferrari","086":"Yate","087":"Hotel de 3 estrellas","088":"Piso de 3 habitaciones en MoscГє","089":"Rolls-Royce","090":"Centro comercial","091":"Casa en Italia","092":"Restaurante con estrella Michelin","093":"Crucero","094":"Parque acuГЎtico","095":"Boutique en el centro de MoscГє","096":"ViГ±edo en Burdeos","097":"HelicГіptero","098":"Villa en la Toscana","099":"FГЎbrica",100:"Club nГЎutico",101:"Isla pequeГ±a",102:"Bugatti Chiron",103:"Castillo en Francia",104:"Diamante de 20 quilates",105:"ГЃtico en DubГЎi",106:"Pozo de petrГіleo",107:"Cuadro de Picasso",108:"Castillo en Escocia",109:"ColecciГіn de arte",110:"Startup tecnolГіgica",111:"Club de fГєtbol",112:"Puerto marГtimo",113:"Hotel de 5 estrellas",114:"AerolГnea",115:"Centro empresarial",116:"Complejo residencial",117:"Canal nacional de televisiГіn",118:"Torre Oko",119:"ArchipiГ©lago",120:"San Marino"},lo={en:io,tr:oo,es:co};function H(e){return e.season==="autumn2026"?r(`season.item.${e.id}`):lo[ut()]?.[e.id]??e.name}const uo="001",mo="015";function oe(){return!c.getState().tutorialDone}function po(e){return oe()&&e==="tier1"?uo:null}let $s=Promise.resolve();function ho(e){$s=e}const fa=e=>e.chats.find(t=>t.id===e.activeChatId)??e.chats[0],yt=[{id:"pickCase",sel:'[data-case="tier1"]',hint:"tut.pickCase",done:e=>e.screen!=="cases"},{id:"openCase",sel:"[data-buy]",hint:"tut.openCase",done:e=>e.screen==="roulette"},{id:"keep",sel:'[data-keep="0"]',hint:"tut.keep",done:e=>e.screen==="case-open"},{id:"goInv",sel:'[data-nav="inventory"]',hint:"tut.goInv",done:e=>e.screen==="inventory"},{id:"list",sel:"[data-list]",hint:"tut.list",done:e=>e.screen==="sell-setup"},{id:"price",sel:".sell",mode:"slider",hint:"tut.price",done:e=>e.screen==="sales"},{id:"goChat",sel:'[data-nav="chats"]',delayMs:2600,hint:"tut.goChat",done:e=>e.screen==="chats"},{id:"sellAccept",sel:"[data-accept]",hint:"tut.sellAccept",done:e=>(e.salesCount??0)>=1},{id:"goBuy",sel:'[data-nav="buy"]',hint:"tut.goBuy",onEnter:fo,done:e=>e.screen==="buy"},{id:"pickGoods",sel:".card[data-uid]",hint:"tut.pickGoods",done:e=>e.screen==="buy-item"},{id:"write",sel:"[data-write]",delayMs:1e3,hint:"tut.write",done:e=>e.screen==="chats"},{id:"greet",sel:"[data-greet]",hint:"tut.greet",done:e=>fa(e)?.greeted===!0},{id:"ask",sel:"[data-ask]",hint:"tut.ask",done:e=>(fa(e)?.questions??0)>=1},{id:"buyNow",sel:"[data-takenow]",hint:"tut.buyNow",done:e=>fa(e)?.done===!0}];function fo(){const e=c.getState().coins,t=aa("talker"),a={uid:"tut-key",itemId:mo,condition:"new",price:e,seller:t};c.setState({market:[a],marketFresh:!1})}let He=0,$t=!1,Os=0;function go(){c.setState({coins:0,inventory:[],listings:[],chats:[],market:[],marketFresh:!1,salesCount:0,seenItems:[],invTab:"inventory",screen:"cases"})}let An=0;const yo=1e3,ko=800;function Is(e){He=e,Os=Ze(),Fe(!1),W&&(W.classList.add("is-moving"),ge(An),An=C(()=>W?.classList.remove("is-moving"),600)),yt[e]?.onEnter?.()}function vo(){if(!$t){for($t=!0;He<yt.length&&yt[He].done(c.getState());){if(He+1>=yt.length){$t=!1,Bs();return}Is(He+1)}$t=!1}}let W=null,Ge=null,on=0,Tn="",En=0,$n=44;function bo(){W=document.createElement("div"),W.className="tut",W.innerHTML=`
<div class="tut__gate"></div>
<div class="tut__spot"></div>
<div class="tut__block tut__block--t"></div>
<div class="tut__block tut__block--b"></div>
<div class="tut__block tut__block--l"></div>
<div class="tut__block tut__block--r"></div>
<div class="tut__tap"></div>
<div class="tut__pointer">
<svg viewBox="0 0 40 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M16 21V7.5a4 4 0 0 1 8 0V20l4.2.9a6 6 0 0 1 4.6 6.5l-1 8.2A8 8 0 0 1 24 47h-3.4a8 8 0 0 1-6.3-3.1L6.6 33.7a4 4 0 0 1 .9-5.7 4 4 0 0 1 5.1.5L16 31V21Z"
fill="#fff" stroke="#2a2a2a" stroke-width="2.2" stroke-linejoin="round"/>
</svg>
</div>
<div class="tut__hint"></div>`,document.body.appendChild(W),Ge=document.createElement("button"),Ge.className="tut__skip",Ge.textContent=r("tut.skip"),Ge.addEventListener("click",()=>{Bs()}),document.body.appendChild(Ge)}function Ot(){W&&W.classList.add("is-off")}function It(e){W&&W.querySelector(".tut__gate").classList.toggle("is-on",e)}function Fe(e){W&&(W.querySelector(".tut__pointer").classList.toggle("is-shown",e),W.querySelector(".tut__hint").classList.toggle("is-shown",e),e||W.querySelector(".tut__tap").classList.remove("is-on"))}function On(e,t){const a=Number.parseFloat(e);return Number.isFinite(a)?e.trim().endsWith("%")?t*a/100:a:0}function So(e,t,a,n){const s=getComputedStyle(e),i=e.getBoundingClientRect().width,o=e.getBoundingClientRect().height,u=[s.borderTopLeftRadius,s.borderTopRightRadius,s.borderBottomRightRadius,s.borderBottomLeftRadius].map(m=>{const[p="0",h=p]=m.trim().split(/\s+/);return[Math.min(a/2,On(p,i)+t),Math.min(n/2,On(h,o)+t)]}),l=u.map(([m])=>`${Math.round(m)}px`).join(" "),d=u.map(([,m])=>`${Math.round(m)}px`).join(" ");return`${l} / ${d}`}function _o(e){if(!W)return;W.classList.remove("is-off");const t=8,a=1,n=e.getBoundingClientRect(),s=Math.round(Math.max(0,n.left-t)),i=Math.round(Math.max(0,n.top-t)),o=Math.round(n.width+t*2),u=Math.round(n.height+t*2),l=window.innerWidth,d=window.innerHeight,m=W.querySelector(".tut__spot"),p=So(e,t,o,u);m.style.cssText=`left:${s}px;top:${i}px;width:${o}px;height:${u}px;border-radius:${p}`;const h=(_,b,$,w,L)=>{const V=W.querySelector(_);V.style.cssText=`left:${b}px;top:${$}px;width:${Math.max(0,w)}px;height:${Math.max(0,L)}px`};h(".tut__block--t",0,0,l,i+a),h(".tut__block--b",0,i+u-a,l,d-(i+u)+a),h(".tut__block--l",0,i-a,s,u+a*2),h(".tut__block--r",s+o,i-a,l-(s+o),u+a*2)}function Mo(e,t){if(!W)return;const a=8,n=e.getBoundingClientRect(),s=Math.round(Math.max(0,n.left-a)),i=Math.round(Math.max(0,n.top-a)),o=Math.round(n.width+a*2),u=Math.round(n.height+a*2),l=window.innerWidth,d=window.innerHeight,m=W.querySelector(".tut__pointer"),p=W.querySelector(".tut__tap");if(t.mode==="slider"){const V=document.querySelector("#track"),le=document.querySelector("[data-submit]");if(V&&le){m.classList.add("tut__pointer--travel");const ue=V.getBoundingClientRect(),he=le.getBoundingClientRect(),U=ue.left+ue.width/2,v=ue.top+ue.height/2,f=Math.min(ue.width*.3,150),g=he.left+he.width/2,y=he.top+he.height/2-4,E=4200,S=1100,R=1e3,I=1100,J=E+S+R+I,x=Ze()%J,G=ke=>(1-Math.cos(ke*Math.PI))/2;let D,Z,ne=!1;if(x<E){const ke=Math.sin(Math.PI*x/E);D=U+f*ke*Math.sin(2*Math.PI*1.5*x/E),Z=v}else if(x<E+S){const ke=G((x-E)/S);D=U+(g-U)*ke,Z=v+(y-v)*ke}else if(x<E+S+R)D=g,Z=y,ne=!0;else{const ke=G((x-E-S-R)/I);D=g+(U-g)*ke,Z=y+(v-y)*ke}m.style.left=`${D}px`,m.style.top=`${Z}px`,p.style.left=`${g}px`,p.style.top=`${y+4}px`,p.classList.toggle("is-on",ne)}}else m.classList.remove("tut__pointer--travel"),p.classList.remove("is-on"),m.style.left=`${s+o/2}px`,m.style.top=`${i+4}px`;const h=W.querySelector(".tut__hint"),_=t.hint?r(t.hint):"";_!==Tn&&(h.textContent=_,Tn=_,En=h.offsetWidth||0,$n=h.offsetHeight||44);const b=16,$=En,w=$n;h.style.left=`${Math.min(l-$/2-8,Math.max($/2+8,s+o/2))}px`;const L=i+u+b;h.style.top=`${L+w<d-8?L:Math.max(8,i-w-b)}px`}function Rs(){if(on=Le(Rs),!oe()){Ls();return}const e=yt[He];if(!e||!e.sel){Ot(),Fe(!1),It(!1);return}const t=Ze()-Os,a=e.delayMs??0,n=He===0?0:yo;if(t<a){Ot(),Fe(!1),It(!1);return}if(t<a+n){Ot(),Fe(!1),It(!0);return}It(!1);const s=document.querySelector(e.sel);if(!s){Ot(),Fe(!1);return}_o(s),t>=a+n+ko?(Mo(s,e),Fe(!0)):Fe(!1)}function Ls(){Ra(on),W?.remove(),W=null,Ge?.remove(),Ge=null}function wo(){oe()&&(bo(),Is(0),c.subscribe(()=>{oe()&&vo()}),on=Le(Rs))}let In=!1;async function Bs(){if(In)return;In=!0,c.setState({tutorialDone:!0}),Ue(),Ls(),await Co();const e=li(M.now());j(e,e==="season"?{backTo:"buy"}:{})}function Co(){M.gameplayStop();const e=document.createElement("div");e.id="loader",e.innerHTML='<img class="logo" src="./assets/icons/logo.svg" alt="" /><div class="bar"><div class="fill" style="width:100%"></div></div>',document.body.appendChild(e);const t=new Promise(a=>C(a,1e3));return Promise.all([$s,t]).then(()=>new Promise(a=>{e.classList.add("is-done"),C(()=>{e.remove(),M.gameplayStart(),Xs(),a()},500)}))}const Ao=25,To=10,Na=25,Rn=({screen:e,backTo:t})=>e==="chats"||e==="chat-item"||e==="trade-pick"||e==="item-view"&&t==="chats",Eo=(e,t)=>Rn(e)&&!Rn(t);function $o(e){let t=!1;return{recordClaim(a,n){return t||!n||a<Ao?!1:(t=!0,e(),!0)}}}function Oo(e,t){let a=!1;return{recordNavigation(n){return a||!n.eligible||!n.leftChats||n.salesCount<e?!1:(a=!0,t(),!0)}}}function Io(e,t){let a=Math.max(0,Math.trunc(e)),n=!1;return{recordSales(s){const i=Math.max(0,Math.trunc(s.totalSales)),o=i>a;return a=Math.max(a,i),n||!s.eligible||!o||i===0||i%Na!==0||i<=s.lastShownMilestone?!1:(n=!0,t(i),!0)}}}const Ro=["coins","yan","market","marketDeadline","inventory","listings","claimedDays","lastClaimAt","firstLaunchAt","starterBought","starterSalesOfferSeen","autumnBundleBought","megaBundleBought","megaOfferLastMilestone","autumnBundleOfferStartedAt","ownedCases","salesCount","totalSalesCount","seenItems","autumn2026","caseOpeningBonus","redeemedPromoCodes","autumnGuideSeen","noAds","reviewRewardGiven","vkCommunityRewardGiven","tutorialDone","workLevel","musicOn","soundOn","musicVol","soundVol"];function Ns(e){return Object.fromEntries(Ro.map(t=>[t,e[t]]))}function xs(e){return JSON.stringify(Ns(e))}function Lo(e,t,a=ls){const n=(l,d=0)=>typeof l=="number"&&Number.isFinite(l)?Math.max(0,Math.trunc(l)):d,s=n(t.salesCount,e.salesCount??0),i=Math.max(s,n(t.totalSalesCount,e.totalSalesCount??s)),o=Math.floor(i/Na)*Na,u=t.megaOfferLastMilestone==null?o:Math.min(o,n(t.megaOfferLastMilestone));return{...e,...t,totalSalesCount:i,megaOfferLastMilestone:u,autumn2026:fs(t.autumn2026,a,t.autumnGuideSeen===!0)}}const qe={collectors:"collectors",rich:"capitalm",sellers:"sellers",autumnSales:"autumnsales",autumnCollectors:"autumncollectors"},qs=1e6,Bo=676767;function xa(e){return e===Bo}function pt(e,t){return e==="rich"?Math.floor(t/qs):t}function No(e,t){return e==="rich"?t*qs:t}function xo(e){return e==="chat"}const qo=new Set(ea.map(e=>e.id)),Po=new Set(se.map(e=>e.id));function Do(e){const t=new Set(e.seenItems??[]);let a=!1,n=e.autumn2026.items,s=!1;for(const i of e.inventory){if(Po.has(i.itemId)){(n[i.itemId]??0)<=0&&(s||(n={...n}),n[i.itemId]=1,s=!0);continue}qo.has(i.itemId)&&!t.has(i.itemId)&&(t.add(i.itemId),a=!0)}return!a&&!s?null:{...a?{seenItems:[...t]}:{},...s?{autumn2026:{...e.autumn2026,items:n}}:{}}}const zo="https://vk.ru/myresale_yg",ce="vk";function wt(e){const t=Number.isFinite(e)?Math.max(0,e):0;return t>2e10?8:t>7e8?7:t>4e7?6:t>3e6?5:t>5e5?4:3}async function jo(e,t,a=Math.random){return await t()?hi(e,a):null}function Fo(e,t){const a=di(e.autumn2026,t);return a===e.autumn2026?null:{autumn2026:a}}function Go(e,t,a){const n=t.itemIds.map(s=>se.find(i=>i.id===s)).filter(s=>s!=null).map(a);return{autumn2026:t.state,inventory:[...e.inventory,...n]}}function Ho(e,t,a){const n=be.find(l=>l.required===t);if(!n)return null;let s=gi(e.autumn2026,t);if(!s)return null;let i=e.coins,o=e.inventory,u={...e.ownedCases};for(const l of n.rewards)if(l.kind==="leaves")s={...s,leaves:s.leaves+l.amount};else if(l.kind==="coins")i+=l.amount;else if(l.kind==="autumnChest")s={...s,chests:{...s.chests,[l.chestId]:s.chests[l.chestId]+l.amount}};else if(l.kind==="case")u[l.caseId]=(u[l.caseId]??0)+l.amount;else{const d=se.find(p=>p.id===l.itemId),m=d?A(l.itemId):X.find(p=>p.id===l.itemId);m&&(o=[...o,a(m)],d&&(s={...s,items:{...s.items,[l.itemId]:(s.items[l.itemId]??0)+1}}))}return{autumn2026:s,coins:i,inventory:o,ownedCases:u}}const Ps={SEASON:{autumnChestId:"traveler"},AUTUMN2026:{autumnChestId:"pumpkin"},HALLOWEEN:{autumnChestId:"pumpkin",autumnItemIds:["halloween_costume","jack_o_lantern"]},J67HGTOKT:{classicCaseId:"tier7"},KNBFTUIHV:{classicCaseId:"tier8"},"872GCBMK":{classicCaseId:"tier8",classicCaseAmount:3}},Uo=new Set([...Object.keys(Ps),"GIFT"]);function Ko(e,t,a){const n=t.trim().toUpperCase();if(!Uo.has(n))return null;const s=Array.isArray(e.redeemedPromoCodes)?e.redeemedPromoCodes.map(d=>d.trim().toUpperCase()):[];if(s.includes(n))return null;const i=n==="GIFT"?{classicCaseId:`tier${wt(e.coins)}`}:Ps[n],o={...e.ownedCases};let u=e.autumn2026,l=e.inventory;if(i.classicCaseId){const d=i.classicCaseAmount??1;o[i.classicCaseId]=(o[i.classicCaseId]??0)+d}if(i.autumnChestId&&(u={...u,chests:{...u.chests,[i.autumnChestId]:u.chests[i.autumnChestId]+1}}),i.autumnItemIds?.length){const d={...u.items},m=i.autumnItemIds.map(p=>(d[p]=(d[p]??0)+1,a(p)));u={...u,items:d},l=[...l,...m]}return{inventory:l,ownedCases:o,autumn2026:u,redeemedPromoCodes:[...s,n]}}const qa=7*24*60*60*1e3,Wo=24*60*60*1e3,ga=qa+Wo,Ln=6;function Vo(e,t){const a=Number.isFinite(e)?e:t,n=Math.max(0,t-a),s=Math.floor(n/ga);if(s>=Ln)return{phase:"ended",available:!1,cycle:Ln,remainingMs:0};const i=n-s*ga;return i<qa?{phase:"active",available:!0,cycle:s+1,remainingMs:qa-i}:{phase:"pause",available:!1,cycle:s+1,remainingMs:ga-i}}const Yo=e=>e.tutorialDone===!0,$e=()=>M.now()-Si();function Ue(){if(oe())return;const e=["buy","buy-item"].includes(c.getState().screen);c.setState({market:sn($e()),marketDeadline:$e()+nn*1e3,marketFresh:!e}),e||z(r("toast.marketRefreshed"))}async function Jo(){await M.showRewardedVideo()&&Ue()}const Ds=e=>r(`dlg.cond${e[0].toUpperCase()}${e.slice(1)}`),Zo={talker:1,businessman:-1,hasty:-1};let cn=0;function Qo(e){const t=e.seller;if(t.type==="collector"){const a=t.wants.find(n=>n!==e.itemId)??t.wants[0];if(a){const n=t.otherItems.includes(e.itemId);return r(n?"dlg.collectorSellerDuplicate":"dlg.collectorSellerWant",{wanted:H(A(a))})}}return t.type==="appraiser"?r("dlg.appraiserSellerGreet"):t.type==="impulsive"?r("dlg.impulsiveSellerGreet"):t.type==="pushy"?r("dlg.pushySellerGreet"):t.type==="hypehunter"?r("dlg.hypeSellerGreet"):r("dlg.npcGreet")}function Xo(e){const t=c.getState().chats.find(i=>i.kind==="buy"&&i.uid===e.uid&&!i.done);if(t)return c.setState(i=>({activeChatId:t.id,chatOpen:!0,chats:i.chats.map(o=>o.id===t.id?{...o,unread:!1,ignored:!1}:o)})),t.id;const a=`chat${cn++}`,n=e.seller.type==="troll",s={id:a,npc:e.seller,kind:"buy",itemId:e.itemId,uid:e.uid,price:e.price,messages:[{from:"npc",build:()=>Qo(e)}],unread:!1,greeted:!1,questions:0,done:!1,gate:n?"pending":void 0};if(c.setState(i=>({chats:[s,...i.chats],activeChatId:a,chatOpen:!0})),!oe()){const i=A(e.itemId),o=e.seller.type==="hasty"?Pi():30;(e.seller.type==="hasty"||Q(qi(e,i)))&&C(()=>ec(a),o*1e3)}return a}function ec(e){const t=F(e);!t||t.done||(N(e,()=>r("dlg.stolen")),me(e),oa(t.uid))}const zs=e=>({seller:e.npc,askingPrice:e.price,condition:ln(e.uid),greeted:e.greeted,questions:e.questions,fasterPickup:!1,bulk:!1,itemId:e.itemId,itemTier:A(e.itemId).tier,seasonalItem:!!A(e.itemId).season}),ln=e=>c.getState().market.find(t=>t.uid===e)?.condition??"new",js=(e,t)=>{const a=F(e);K(e,{npc:{...a.npc,mood:na(a.npc,t)}})};function Ne(e){const t=F(e);if(t.npc.type!=="troll"||t.gate!=="pending")return!1;const a=Ae(Pt().trollCodewords);return K(e,{gate:"open",gateWord:a}),C(()=>N(e,()=>r("dlg.gateWarn",{word:Wa(a)})),500),!0}function tc(e){te(e,()=>r("chats.optGreet")),K(e,{greeted:!0}),!Ne(e)&&C(()=>N(e,()=>r("dlg.npcHello")),500)}function ac(e){const t=F(e);te(e,()=>r("chats.optTakeNow")),!Ne(e)&&C(()=>{N(e,()=>r("dlg.npcDealOk")),Gs(e,t.price)},500)}function nc(e){const t=F(e);if(te(e,()=>r("dlg.playerAsk")),K(e,{questions:t.questions+1}),Ne(e))return;const a=ln(t.uid);js(e,Zo[t.npc.type]??0),C(()=>N(e,()=>Ds(a)),500)}const sc={talker:1,businessman:-1};function rc(e){const t=F(e);if(te(e,()=>r("chats.optSmalltalk")),K(e,{smalltalkAsked:!0}),Ne(e))return;const a=t.npc.type;if(a==="hasty"){C(()=>N(e,()=>r("dlg.hastyNoTalk")),500),me(e);return}js(e,sc[a]??0);const n=()=>r(a==="talker"?"dlg.talkerSmalltalk":a==="businessman"?"dlg.bizSmalltalk":"dlg.ordSmalltalk");C(()=>N(e,n),500)}function ic(e,t){const a=F(e);if(te(e,()=>r("dlg.playerDiscount",{price:q(t)})),Ne(e))return;const n=Ki(t,zs(a));K(e,{npc:{...a.npc,mood:n.newMood}}),C(()=>{N(e,n.reply),n.accepted?Gs(e,t):n.bail&&me(e)},500)}const Pa=e=>{const t=A(e);return(t.priceMin+t.priceMax)/2};function oc(e,t){const a=F(e),n=c.getState().inventory.find(l=>l.uid===t);if(!n)return;const s=A(n.itemId),i=Pa(n.itemId),o=a.price;if(te(e,()=>r("dlg.playerTradeOffer",{name:H(s)})),Ne(e))return;const u=Wi(zs(a),i,o,n.itemId);if(K(e,{npc:{...a.npc,mood:u.newMood}}),u.unequal){const l=Vi(a.price,i);if(l<=0)return;K(e,{surcharge:l,surchargeGive:n.uid}),C(()=>N(e,()=>r("dlg.surchargeOffer",{amount:q(l)})),500);return}C(()=>{N(e,u.reply),u.accepted&&un(e,n.uid)},500)}function un(e,t,a=0){const n=F(e),s=A(n.itemId);c.setState(i=>({coins:i.coins-a,inventory:[...i.inventory.filter(o=>o.uid!==t),ye(s,s.priceMin)]})),oa(n.uid),Hs(e),z(r("toast.tradeGot",{name:H(s)}))}function cc(e){const t=F(e);if(!t.surcharge||!t.surchargeGive||!c.getState().inventory.some(n=>n.uid===t.surchargeGive))return;if(c.getState().coins<t.surcharge){N(e,()=>r("dlg.notEnoughSur"));return}const a=t.surcharge;te(e,()=>r("dlg.playerAcceptSur",{amount:q(a)})),C(()=>N(e,()=>r("dlg.npcSwap")),450),un(e,t.surchargeGive,t.surcharge)}function lc(e,t){const a=F(e);if(!a.surcharge||!a.surchargeGive)return;te(e,()=>r("dlg.playerCounterSur",{amount:q(t)}));const n=Math.round(a.surcharge*.75);C(()=>{t>=n&&c.getState().coins>=t?(N(e,()=>r("dlg.npcSurDeal")),un(e,a.surchargeGive,t)):N(e,()=>r("dlg.npcSurLow",{amount:q(n)}))},500)}function uc(e){te(e,()=>r("dlg.playerDeclineTrade")),K(e,{surcharge:void 0,surchargeGive:void 0}),C(()=>N(e,()=>r("dlg.npcOkWhatever")),450)}function dc(e){te(e,()=>r("chats.optBye")),C(()=>N(e,()=>r("dlg.npcBye")),400),me(e)}function mc(e){te(e,()=>r("dlg.gateRefuse")),C(()=>N(e,()=>r("dlg.gateBail")),400),me(e)}function pc(e){const t=F(e);te(e,()=>t.gateWord?Wa(t.gateWord):Pt().trollCodewords[0]??"");const a=Yi(t.npc);if(a.bail){K(e,{gate:"passed",npc:{...t.npc,mood:a.newMood}}),C(()=>{N(e,a.reply),me(e,{reportable:!0})},500);return}const n=a.newMood;if(t.kind==="sell"){const s=t.counterPrice??t.price;K(e,{gate:"passed",npc:{...t.npc,mood:n}}),t.counterPrice==null||Q(B.troll.acceptRaisedCounterChance)?C(()=>{N(e,()=>r("dlg.trollBuy")),Js(e,s)},500):C(()=>N(e,()=>r("dlg.trollCounterReject")),500);return}C(()=>{if(Q(.6)){const s=Math.round(t.price*(.7+Math.random()*.15));K(e,{gate:"passed",price:s,npc:{...t.npc,mood:n}}),N(e,()=>r("dlg.trollSell",{price:q(s)}))}else K(e,{gate:"passed",npc:{...t.npc,mood:n}}),N(e,()=>r("dlg.gatePass"))},500)}function hc(e){const t=B.troll.reportReward;c.setState(a=>({coins:a.coins+t})),K(e,{reportable:!1}),z(r("toast.reportSent",{reward:q(t)})),Us(e,1500)}function Fs(e){typeof window<"u"&&window.dispatchEvent(new CustomEvent("game:bought",{detail:{itemId:e}}))}function Gs(e,t){const a=F(e);if(c.getState().coins<t){N(e,()=>r("dlg.notEnoughMoney")),P("error");return}const n=A(a.itemId);c.setState(s=>({coins:s.coins-t,inventory:[...s.inventory,ye(n,t,ln(a.uid))]})),oa(a.uid),Hs(e),P("buy"),z(r("toast.bought",{name:H(n)})),Fs(n.id)}function Hs(e){me(e)}function me(e,t={}){const a=F(e);K(e,{done:!0,typing:!1,...t}),a?.kind==="buy"&&oa(a.uid),t.reportable||Us(e)}function Us(e,t=2600){C(()=>{F(e)&&(K(e,{closing:!0}),C(()=>fc(e),450))},t)}function fc(e){c.setState(t=>{const a=t.chats.filter(s=>s.id!==e),n=t.activeChatId===e?a[0]?.id:t.activeChatId;return{chats:a,activeChatId:n}})}function Ct(e){const t=xo(e);c.setState(a=>({totalSalesCount:(a.totalSalesCount??a.salesCount??0)+1,...t?{salesCount:(a.salesCount??0)+1,...Fo(a,M.now())??{}}:{}}))}let ya=!1;const Ks="game:autumn-milestone-claimed";async function Bn(e,t=Math.random,a=!1,n=1){if(ya)return[];ya=!0;try{if(!a&&!Se(M.now()))return z(r("common.unavailable")),P("error"),[];const s=Math.max(1,Math.min(4,Math.floor(n))),i=c.getState();let o=i.coins,u;if(e==="ad"){if(s!==1)return[];u=await jo(i.autumn2026,()=>M.showRewardedVideo(),t)}else{let p=i.autumn2026;if(a){if(s!==1||p.chests[e]<=0)return z(r("common.unavailable")),P("error"),[]}else{if(e==="mythic")return z(r("common.unavailable")),P("error"),[];for(let b=0;b<s;b+=1){const $=mi(p,o,e);if(!$)return z(r("toast.notEnough")),P("error"),[];p=$.state,o=$.coins}}const h=[];let _=0;for(let b=0;b<s;b+=1){const $=pi(p,e,t);if(!$)return[];p=$.state,h.push(...$.itemIds),_+=$.duplicates}u={state:p,itemIds:h,duplicates:_}}if(!u)return[];const l=e==="ad"?c.getState():i,d=[],m=Go({...l,coins:o,autumn2026:u.state},u,p=>{const h=ye(A(p.id),Math.round((p.priceMin+p.priceMax)/2));return d.push(h),h});return c.setState({coins:o,...m,caseOpeningBonus:zt(l.caseOpeningBonus,`autumn:${e}`,s)}),P("caseOpen"),d}finally{ya=!1}}function gc(e){const t=be.find(n=>n.required===e)?.rewards.filter(n=>n.kind==="item").map(n=>n.itemId)??[],a=Ho(c.getState(),e,n=>ye(n,n.priceMin));return a?(c.setState(a),P("gift"),z(r("season.rewardClaimed")),t.forEach(Fs),typeof window<"u"&&window.dispatchEvent(new CustomEvent(Ks,{detail:{required:e}})),!0):!1}function yc(e){const t=Ko(c.getState(),e,a=>{const n=A(a);return ye(n,Math.round((n.priceMin+n.priceMax)/2))});return t?(c.setState(t),P("gift"),!0):!1}function kc(e){const t=hn(e);if(!t)return;const a=A(t.itemId),n=Mt(a,t.condition==="broken");c.setState(s=>({coins:s.coins+n,inventory:s.inventory.filter(i=>i.uid!==e)})),Ct("inventoryQuick"),z(r("toast.sold",{price:q(n)}))}function vc(e){const t=hn(e);if(!t||t.condition!=="broken")return;const a=Ts(A(t.itemId));if(c.getState().coins<a)return z(r("toast.notEnough"));c.setState(n=>({coins:n.coins-a,inventory:n.inventory.map(s=>s.uid===e?{...s,condition:"new"}:s)})),z(r("toast.repaired"))}function Ws(e){const t=c.getState().listings.find(a=>a.uid===e);t&&(c.setState(a=>({listings:a.listings.filter(n=>n.uid!==e),inventory:[...a.inventory,{uid:t.uid,itemId:t.itemId,condition:t.condition,price:t.price}],chats:a.chats.filter(n=>!(n.kind==="sell"&&n.uid===e))})),z(r("toast.unlisted")))}function bc(e,t){const a=hn(e);if(!a)return;if(c.getState().listings.length>=6)return z(r("toast.maxListings"));const n={...a,price:t};c.setState(s=>({inventory:s.inventory.filter(i=>i.uid!==e),listings:[...s.listings,n]})),z(r("toast.listed")),dn(n.uid)}function dn(e){if(oe()){C(()=>{const t=c.getState().listings.find(a=>a.uid===e);t&&Sc(t)},2500);return}C(()=>{const t=c.getState().listings.find(n=>n.uid===e);if(!t)return;c.getState().chats.some(n=>n.kind==="sell"&&n.uid===e&&!n.done)||Mc(t),dn(e)},ae(8,20)*1e3)}function Sc(e){const t=aa("ordinary"),a=`chat${cn++}`,n={id:a,npc:t,kind:"sell",itemId:e.itemId,uid:e.uid,price:e.price,messages:[{from:"npc",build:()=>r("buyer.ordFull",{price:q(e.price)})}],unread:!0,flash:"new",greeted:!0,questions:0,done:!1,flake:0,maxPrice:e.price,ourCondition:e.condition};c.setState(s=>({chats:[n,...s.chats]})),z(r("toast.newSaleMsg")),P("message"),ia(a)}const q=T;function _c(e,t){let a=t;const n=A(e.itemId),s=e.price,i=Math.min(s,n.priceMax),o=Math.max(1,n.priceMax-n.priceMin),u=Math.max(0,Math.min(1,(i-n.priceMin)/o)),l=U=>Math.min(s,Math.round(i*(1-U*u)));let d=s,m=0,p=!1,h=!1,_=!1,b=()=>"",$,w,L=!1,V=!1;if(a.type==="collector")a={...a,wants:[n.id,...a.wants.filter(U=>U!==n.id)]},d=Math.max(1,Math.round(i*ae(110,125)/100)),b=()=>r("buyer.collector",{name:H(n),price:q(d)});else if(a.type==="appraiser"){const U=e.condition==="new"?Math.round((n.priceMin+n.priceMax)/2):e.condition==="used"?n.priceMin:e.condition==="worn"?Math.max(n.quickSell,Math.round(n.priceMin*.85)):n.quickSellBroken;d=Math.max(1,Math.min(s,U)),b=()=>r("buyer.appraiser",{condition:r(`condShort.${e.condition}`),price:q(d)})}else if(a.type==="impulsive")d=Math.max(1,Math.round(Math.min(s,n.priceMax)*ae(100,108)/100)),m=.12,b=()=>r("buyer.impulsive",{price:q(d)});else if(a.type==="pushy"){const U=Math.round(B.buyerPushyDiscount.min*100),v=Math.round(B.buyerPushyDiscount.max*100);d=Math.max(1,Math.round(s*(1-ae(U,v)/100))),b=()=>r("buyer.pushyType",{price:q(d)})}else if(a.type==="hypehunter"){const U=!!n.season||n.tier>=5;d=U?Math.max(1,Math.round(i*ae(110,120)/100)):l(B.buyerMaxDiscount.hypehunter),b=()=>r(U?"buyer.hypeWanted":"buyer.hypeRegular",{name:H(n),price:q(d)})}else{const U=a.type!=="hasty"&&Q(B.buyerPushyChance);if(L=!U&&s<=n.priceMax&&Q(B.buyerFullPriceChance[a.type]),U){const v=Math.round(B.buyerPushyDiscount.min*100),f=Math.round(B.buyerPushyDiscount.max*100);d=Math.max(1,Math.round(s*(1-ae(v,f)/100))),b=()=>r("buyer.pushy",{price:q(d)}),m=a.type==="troll"?.3:a.type==="ordinary"?.2:0}else if(L)d=s,b=()=>r("buyer.fairFull",{price:q(s)});else switch(a.type){case"businessman":d=l(B.buyerMaxDiscount.businessman),b=()=>d<s?r("buyer.biz",{price:q(d)}):r("buyer.bizFull",{price:q(d)});break;case"economist":if(Q(B.buyerTradeOfferChance)){const v=Cc(i);p=!0,$=v.id,w=Ac(),b=()=>r("buyer.tradeOffer",{name:H(v)})}else d=l(B.buyerMaxDiscount.economist),b=()=>d<s?r("buyer.econ",{price:q(d)}):r("buyer.econFull",{price:q(d)});break;case"hasty":d=l(B.buyerMaxDiscount.hasty),b=()=>d<s?r("buyer.hasty",{price:q(d)}):r("buyer.hastyFull",{price:q(d)}),m=.5,h=!0;break;case"talker":d=l(B.buyerMaxDiscount.talker),b=()=>r("buyer.talker"),_=!0,h=!0;break;case"troll":d=l(B.buyerMaxDiscount.troll),b=()=>r("buyer.troll",{price:q(d)}),m=.3;break;default:d=l(B.buyerMaxDiscount.ordinary),b=()=>d<s?r("buyer.ord",{price:q(d)}):r("buyer.ordFull",{price:q(d)}),m=.2}!L&&Q(B.luckyBuyerChance)&&(V=!0,d=s,m=0,p=!1,_=!1,h=!1,$=void 0,w=void 0,b=()=>r("buyer.lucky",{price:q(s)}))}const le=Math.min(s,n.priceMax),ue=B.buyerCounterRecovery[a.type],he=L||V?s:Math.max(d,Math.min(le,Math.round(d+(le-d)*ue)));return{npc:a,price:d,flake:m,wantsTrade:p,ignore:h,asksCondition:_,build:b,tradeItemId:$,tradeCondition:w,maxPrice:he,lucky:V,regularFullPrice:L}}function Mc(e){if(!c.getState().listings.some($=>$.uid===e.uid))return;const t=_c(e,aa()),{npc:a,flake:n,wantsTrade:s,ignore:i,asksCondition:o,build:u,tradeItemId:l,tradeCondition:d,maxPrice:m,lucky:p,regularFullPrice:h}=t,_=`chat${cn++}`,b={id:_,npc:a,kind:"sell",itemId:e.itemId,uid:e.uid,price:t.price,messages:[{from:"npc",build:u}],unread:!0,flash:"new",greeted:!0,questions:0,done:!1,flake:n,maxPrice:m,wantsTrade:s,tradeItemId:l,tradeCondition:d,asksCondition:o,ourCondition:e.condition,gate:!p&&!h&&a.type==="troll"?"pending":void 0};c.setState($=>({chats:[b,...$.chats]})),z(r("toast.newSaleMsg")),P("message"),ia(_),C(()=>wc(_),3e4),i&&C(()=>Tc(_),4e4)}function wc(e){const t=F(e);!t||t.done||t.ignored||t.messages.some(a=>a.from==="player")||(K(e,{ignored:!0,flash:"ignored",npc:{...t.npc,mood:na(t.npc,-1)}}),ia(e))}function Cc(e){const t=e*.5,a=e*1.4,n=X.filter(s=>{const i=(s.priceMin+s.priceMax)/2;return i>=t&&i<=a});return Ae(n.length?n:X)}const Ac=()=>{const e=Math.random();return e<.1?"broken":e<.3?"worn":e<.55?"used":"new"};function Tc(e){const t=F(e);!t||t.done||t.messages.some(a=>a.from==="player")||(N(e,()=>r("dlg.ignoredLeave")),me(e))}const Ec=B.buyerConditionDiscount;function $c(e){const t=F(e),a=t.ourCondition??"new";te(e,()=>r(`dlg.told${a[0].toUpperCase()}${a.slice(1)}`)),K(e,{asksCondition:!1,npc:{...t.npc,mood:na(t.npc,1)}}),C(()=>{if(a==="new")N(e,()=>r("buyer.newOk",{price:q(t.price)}));else{const n=Math.round(t.price*(1-Ec[a]));K(e,{price:n}),N(e,()=>r("buyer.condThenDiscount",{cond:r(`condShort.${a}`),price:q(n)}))}},450)}function Oc(e){const t=F(e);te(e,()=>r("dlg.playerRefuse")),K(e,{asksCondition:!1,npc:{...t.npc,mood:na(t.npc,-1)}}),C(()=>N(e,()=>r("dlg.suspicious",{price:q(t.price)})),450)}function Ic(e){const t=F(e);te(e,()=>r("dlg.askTradeCond")),K(e,{tradeAsked:!0});const a=t.tradeCondition??"new";C(()=>N(e,()=>Ds(a)),450)}function Vs(e,t){const a=F(e),n=A(a.tradeItemId);c.setState(s=>({coins:s.coins+t,listings:s.listings.filter(i=>i.uid!==a.uid),inventory:[...s.inventory,{...ye(n,Math.round((n.priceMin+n.priceMax)/2)),condition:a.tradeCondition??"new"}]})),me(e),P("success"),z(t>0?r("toast.tradeGotSur",{name:H(n),amount:q(t)}):r("toast.tradeGot",{name:H(n)}))}function Rc(e){const t=F(e);t.tradeItemId&&c.getState().listings.some(a=>a.uid===t.uid)&&(te(e,()=>r("dlg.playerTrade")),C(()=>N(e,()=>r("dlg.npcSwap")),450),Vs(e,0))}const Ys=e=>c.getState().listings.find(t=>t.uid===e.uid)?.price??A(e.itemId).priceMax,Lc={economist:.95,businessman:1,ordinary:1.05,talker:1.15,hasty:1.1,troll:1.05};function Bc(e,t){const a=F(e);if(!a.wantsTrade||!a.tradeItemId||(te(e,()=>t>0?r("dlg.playerProposeSur",{amount:q(t)}):r("dlg.playerProposeNoSur")),Ne(e)))return;const n=Pa(a.itemId),s=Pa(a.tradeItemId),i=n*(Lc[a.npc.type]??1),o=Math.min(Ys(a),Math.max(0,Math.round(i-s)));C(()=>{c.getState().listings.some(u=>u.uid===a.uid)&&(t<=o?(N(e,()=>r("dlg.surAcceptedSwap")),Vs(e,t)):N(e,()=>r("dlg.surTooMuch",{amount:q(o)})))},500)}function Nc(e){const t=F(e);if(c.getState().listings.some(a=>a.uid===t.uid)&&(te(e,()=>t.wantsTrade?r("dlg.playerTrade"):r("dlg.playerAgree")),!Ne(e))){if(t.flake&&Q(t.flake)){C(()=>N(e,()=>r("dlg.flake")),450),me(e);return}c.setState(a=>({coins:a.coins+t.price,listings:a.listings.filter(n=>n.uid!==t.uid)})),C(()=>N(e,()=>r("dlg.npcThanks")),450),me(e),Ct("chat"),z(r("toast.sold",{price:q(t.price)}))}}function xc(e,t){const a=F(e);if(te(e,()=>r("dlg.playerCounter",{price:q(t)})),K(e,{counterPrice:t}),Ne(e))return;if(a.npc.type==="hasty"){C(()=>N(e,()=>r("dlg.hastyNoBargain")),450),me(e);return}const n=a.maxPrice??a.price;C(()=>{t<=n?(N(e,()=>r("dlg.counterOk")),Js(e,t)):N(e,()=>a.npc.type==="troll"&&a.gate==="passed"?r("dlg.trollStillHigh",{price:q(n)}):r("dlg.aboveCap"))},500)}function Js(e,t){const a=F(e);c.getState().listings.some(n=>n.uid===a.uid)&&(c.setState(n=>({coins:n.coins+t,listings:n.listings.filter(s=>s.uid!==a.uid)})),C(()=>N(e,()=>r("dlg.npcThanks")),450),me(e),Ct("chat"),z(r("toast.sold",{price:q(t)})))}function qc(e){te(e,()=>r("dlg.playerDeclineSale")),C(()=>N(e,()=>r("dlg.npcGoodLuck")),400),me(e),P("error")}function Zs(e){const t=Be(e)??Re(e);if(t)return si(t).map(s=>({...A(s.id),chance:s.chance}));const a=Ee.find(s=>s.id===e);if(e===ce){const s=wt(c.getState().coins);return X.filter(i=>i.tier===s).sort((i,o)=>o.caseChance-i.caseChance).map(i=>({...i,chance:i.caseChance}))}if(!a)return[];if(a.priceType==="ad"){const s=X.filter(o=>jt[o.tier]!=null),i={};return s.forEach(o=>{i[o.tier]=(i[o.tier]??0)+1}),s.map(o=>({...o,chance:(jt[o.tier]??0)/(i[o.tier]||1)})).sort((o,u)=>o.tier-u.tier||u.caseChance-o.caseChance)}const n=a.tier||1;return X.filter(s=>s.tier===n).sort((s,i)=>i.caseChance-s.caseChance).map(s=>({...s,chance:s.caseChance}))}function mn(){const e=c.getState();return e.coins<100&&e.inventory.length===0}async function Pc(e,t=1){const a=Be(e);if(a)return t===1?Bn(a,Math.random,!0):[];const n=Re(e);if(n)return Bn(n,Math.random,!1,t);const s=Ee.find(d=>d.id===e),i=s.tier||1;if(s.priceType==="ad"){const d=await M.showRewardedVideo();return d&&(c.setState(m=>({caseOpeningBonus:zt(m.caseOpeningBonus,e,1)})),P("caseOpen")),d?[rn(X)]:[]}const u=e==="tier1"&&t===1&&mn()?0:s.price*t;if(c.getState().coins<u)return z(r("toast.notEnough")),P("error"),[];c.setState(d=>({coins:d.coins-u,caseOpeningBonus:zt(d.caseOpeningBonus,e,t)})),P("caseOpen");const l=po(e);if(l){const d=A(l);return[ye(d,Math.round((d.priceMin+d.priceMax)/2))]}return Array.from({length:t},()=>sa(X,i))}let ka=!1;async function Dc(e,t,a=!1,n=Math.random){const s=Be(e)??Re(e);if(!t.length||s==="mythic"||ka)return[];const i=Ee.find(o=>o.id===e);if(!s&&!i&&e!==ce)return[];ka=!0;try{if(!await M.showRewardedVideo())return[];const o=t.length;let u;if(s)u=Array.from({length:o},()=>{const l=vs(s,n);return ye(A(l.id),Math.round((l.priceMin+l.priceMax)/2))});else{const l=e===ce?wt(c.getState().coins):i?.tier||1;u=Array.from({length:o},()=>i?.priceType==="ad"?rn(X):sa(X,l))}if(s&&a){const l=new Set(t.map(d=>d.uid));c.setState(d=>{const m={...d.autumn2026.items};return t.forEach(p=>{const h=Math.max(0,(m[p.itemId]??0)-1);h>0?m[p.itemId]=h:delete m[p.itemId]}),u.forEach(p=>{m[p.itemId]=(m[p.itemId]??0)+1}),{inventory:[...d.inventory.filter(p=>!l.has(p.uid)),...u],autumn2026:{...d.autumn2026,items:m}}})}return P("caseOpen"),u}finally{ka=!1}}let va=!1;function zc(e){const t=ws(c.getState().caseOpeningBonus,e);return t?(c.setState({caseOpeningBonus:t}),!0):!1}async function jc(e,t=Math.random){if(va||Ms(e))return null;const a=Be(e)??Re(e),n=Ee.find(s=>s.id===e);if(!a&&!n&&e!==ce||c.getState().caseOpeningBonus.pendingCaseIds[0]!==e)return null;va=!0;try{if(!await M.showRewardedVideo())return null;const s=c.getState(),i=ws(s.caseOpeningBonus,e);if(!i)return null;if(a){const l=vs(a,t),d=ye(A(l.id),Math.round((l.priceMin+l.priceMax)/2)),m=s.autumn2026.items[l.id]??0;return c.setState({caseOpeningBonus:i,inventory:[...s.inventory,d],autumn2026:{...s.autumn2026,items:{...s.autumn2026.items,[l.id]:m+1}}}),P("caseOpen"),{wins:[d],preGranted:!0}}const o=e===ce?wt(s.coins):n?.tier||1,u=n?.priceType==="ad"?rn(X):sa(X,o);return c.setState({caseOpeningBonus:i}),P("caseOpen"),{wins:[u],preGranted:!1}}finally{va=!1}}function Fc(e){c.setState(t=>({inventory:[...t.inventory,e]}))}function Gc(e){const t=A(e.itemId),a=Mt(t,e.condition==="broken");c.setState(n=>({coins:n.coins+a})),Ct("rouletteQuick")}function Hc(e){const t=A(e.itemId),a=Mt(t,e.condition==="broken");c.setState(n=>({coins:n.coins+a,inventory:n.inventory.filter(s=>s.uid!==e.uid)})),Ct("rouletteQuick")}const Gt=[{day:1,kind:"autumnChest",chestId:"school"},{day:2,kind:"autumnChest",chestId:"pumpkin"},{day:3,kind:"autumnChest",chestId:"traveler"},{day:4,kind:"item",itemId:"ipad"},{day:5,kind:"item",itemId:"tv_4k"},{day:6,kind:"autumnChest",chestId:"premium"},{day:7,kind:"item",itemId:"retro_car"}],Uc=864e5,Kc=()=>Math.floor(M.now()/Uc);function Ht(){const e=c.getState(),t=Kc(),a=e.lastClaimAt??-1/0;let n=e.claimedDays;t-a>1&&(n=0);const i=!(t===a),o=n>=Gt.length&&i,u=o?0:Math.min(n,Gt.length),l=i?o?1:u+1:0;return{today:t,displayStreak:u,nextDay:l,available:i}}const Wc=()=>!c.getState().vkCommunityRewardGiven||Ht().available&&Ht().nextDay>0;function Vc(){return c.getState().vkCommunityRewardGiven?!1:(c.setState(e=>({vkCommunityRewardGiven:!0,ownedCases:{...e.ownedCases,[ce]:(e.ownedCases?.[ce]??0)+1}})),P("gift"),z(r("toast.giftGot",{name:r("caseName.vk")})),!0)}function Yc(e){const t=Ht();if(!t.available||e!==t.nextDay)return;const a=Gt.find(s=>s.day===e);if(!a)return;c.setState(s=>{const i={claimedDays:e,lastClaimAt:t.today};if(a.kind==="case")return{...i,ownedCases:{...s.ownedCases,[a.caseId]:(s.ownedCases?.[a.caseId]??0)+1}};if(a.kind==="autumnChest")return{...i,autumn2026:{...s.autumn2026,chests:{...s.autumn2026.chests,[a.chestId]:(s.autumn2026.chests[a.chestId]??0)+1}}};const o=A(a.itemId);return{...i,inventory:[...s.inventory,ye(o,o.priceMin)]}}),P("gift");const n=a.kind==="case"?r(`caseName.${a.caseId}`):a.kind==="autumnChest"?r(`season.chest.${a.chestId}`):H(A(a.itemId));z(r("toast.giftGot",{name:n}))}function Jc(e,t){c.setState(a=>({coins:a.coins+e})),z(`+${T(e)}`)}const Qs=48*36e5;function Zc(){c.getState().firstLaunchAt==null&&c.setState({firstLaunchAt:$e()})}function Ve(){const e=c.getState();if(e.starterBought)return!1;const t=e.firstLaunchAt??$e();return $e()-t<Qs}function Qc(){const e=c.getState();Se(M.now())&&(e.autumnBundleBought||Number.isFinite(e.autumnBundleOfferStartedAt)&&e.autumnBundleOfferStartedAt>0||c.setState({autumnBundleOfferStartedAt:M.now()}))}function st(){const e=c.getState();return e.autumnBundleBought||!Se(M.now())?{phase:"ended",available:!1,cycle:6,remainingMs:0}:Vo(e.autumnBundleOfferStartedAt??M.now(),M.now())}function Ut(){const e=c.getState();if(e.starterBought)return 0;const t=e.firstLaunchAt??$e();return Math.max(0,t+Qs-$e())}const pn=()=>!c.getState().noAds,Nn=0,Xc=Number.isFinite(Nn)?Math.max(0,Nn):12e4,el=Date.now(),xn=0,qn=Number.isFinite(xn)?Math.max(0,xn):0;let Pn=0,ba=!1;async function tl(){const e=Date.now();if(!pn()||ba||e-el<Xc||qn>0&&e-Pn<qn)return!1;ba=!0;try{const t=await M.showFullscreenAdv();return t&&(Pn=Date.now()),t}catch{return!1}finally{ba=!1}}function Xs(){pn()?M.showBannerAdv():M.hideBannerAdv()}function ra(){M.hideBannerAdv()}function al(){if(c.getState().starterBought)return;const e=A("072");c.setState(t=>({coins:t.coins+1e7,inventory:[...t.inventory,ye(e,e.priceMin)],ownedCases:{...t.ownedCases,tier5:(t.ownedCases?.tier5??0)+3},noAds:!0,starterBought:!0})),ra(),z(r("toast.boughtStarter"))}function nl(){if(c.getState().autumnBundleBought)return;const e=A("orange_bmw");c.setState(t=>({coins:t.coins+1e7,inventory:[...t.inventory,ye(e,e.priceMin)],autumn2026:{...t.autumn2026,chests:{...t.autumn2026.chests,premium:t.autumn2026.chests.premium+5}},noAds:!0,autumnBundleBought:!0})),ra(),z(r("toast.boughtAutumnBundle"))}function sl(){if(c.getState().megaBundleBought)return;const e=A("114");c.setState(t=>({coins:t.coins+1e10,inventory:[...t.inventory,ye(e,e.priceMin)],ownedCases:{...t.ownedCases,tier8:(t.ownedCases?.tier8??0)+3},noAds:!0,megaBundleBought:!0})),ra(),z(r("toast.boughtMegaBundle"))}function rl(){if(c.getState().noAds){z(r("toast.adsAlreadyOff"));return}c.setState({noAds:!0}),ra(),z(r("toast.adsOff"))}const il=250,er=()=>c.getState().workLevel??1,ol=(e=er())=>e,Da=(e=er())=>il*e*e;function cl(){c.setState(e=>({coins:e.coins+(e.workLevel??1)}))}function ll(){const e=c.getState(),t=e.workLevel??1,a=Da(t);return e.coins<a?(P("error"),!1):(c.setState({coins:e.coins-a,workLevel:t+1}),P("success"),!0)}function ul(e){const t=c.getState(),a=t.ownedCases?.[e]??0;if(!a)return;const n=Ee.find(o=>o.id===e);if(!n&&e!==ce)return;const s=e===ce?wt(t.coins):n?.tier||1;P("caseOpen");const i=Array.from({length:a},()=>sa(X,s));c.setState(o=>{const u={...o.ownedCases};return delete u[e],{ownedCases:u,caseOpeningBonus:zt(o.caseOpeningBonus,e,a)}}),j("roulette",{roulette:{caseId:e,wins:i}})}const F=e=>c.getState().chats.find(t=>t.id===e),hn=e=>c.getState().inventory.find(t=>t.uid===e);function K(e,t){c.setState(a=>({chats:a.chats.map(n=>n.id===e?{...n,...t}:n)}))}const tr=e=>typeof e=="function"?e:()=>e;function ia(e){C(()=>{const t=F(e);t&&t.flash&&K(e,{flash:void 0})},1600)}let za=0;const dl=280,ml=2e3,pl=240;function ar(e,t){C(()=>{F(e)?.messageAnimationKey===t&&K(e,{messageEntering:void 0,messageAnimationKey:void 0})},dl)}const te=(e,t)=>{const a=++za,n={from:"player",build:tr(t)};c.setState(s=>({chats:s.chats.map(i=>i.id===e?{...i,messages:[...i.messages,n],typing:!0,optionsHidden:!0,optionsRevealKey:void 0,messageEntering:"player",messageAnimationKey:a}:i)})),ar(e,a)},N=(e,t)=>{const a=F(e);if(!a)return;const n=c.getState().activeChatId!==e,s=!!(a.typing||a.optionsHidden),i=++za,o=s?++za:void 0,u={from:"npc",build:tr(t)};c.setState(l=>({chats:l.chats.map(d=>d.id===e?{...d,messages:[...d.messages,u],unread:n,flash:n?"new":d.flash,typing:!1,optionsHidden:s,optionsRevealKey:o,messageEntering:"npc",messageAnimationKey:i}:d)})),n&&ia(e),ar(e,i),o!=null&&C(()=>{F(e)?.optionsRevealKey===o&&(K(e,{optionsHidden:!1}),C(()=>{const d=F(e);d?.optionsRevealKey===o&&!d.optionsHidden&&K(e,{optionsRevealKey:void 0})},pl))},ml)};function oa(e){c.setState(t=>({market:t.market.filter(a=>a.uid!==e)}))}let nr=!1,et=je(c.getState().autumn2026),hl=0;function fl(){et=je(c.getState().autumn2026),nr=!0}c.subscribe(()=>{const e=c.getState(),t=Do(e);if(t){c.setState(t);return}const a=je(e.autumn2026);if(!nr){et=a;return}if(a<=et){et=a;return}const n=fi(e.autumn2026,et,a);et=a,n&&c.setState({seasonRewardNotice:{id:++hl,required:n.required}})});async function sr(){const e=c.getState(),t=Ns(e);await M.save(t),Yo(e)&&(M.setScore(qe.rich,pt("rich",e.coins)).catch(()=>{}),M.setScore(qe.collectors,pt("collectors",(e.seenItems??[]).length)).catch(()=>{}),M.setScore(qe.sellers,pt("sellers",e.salesCount)).catch(()=>{}),M.setScore(qe.autumnSales,pt("autumnSales",e.autumn2026.sales)).catch(()=>{}),M.setScore(qe.autumnCollectors,pt("autumnCollectors",je(e.autumn2026))).catch(()=>{}))}async function gl(){const e=await M.load(),t=M.now();if(e)c.setState(Lo(c.getState(),e,t));else{const a=c.getState();c.setState({autumn2026:fs(a.autumn2026,t,a.autumnGuideSeen===!0)})}c.setState(a=>({inventory:a.inventory.map(n=>({...n,uid:lt("e")})),listings:a.listings.map(n=>({...n,uid:lt("e")}))}));{const a=$e(),n=c.getState(),s=!Se(t)&&n.market.some(i=>!!A(i.itemId)?.season);(!e||!n.market?.length||n.marketDeadline<=a||s)&&c.setState({market:sn(t),marketDeadline:a+nn*1e3})}return c.getState().listings.forEach(a=>dn(a.uid)),!!e}let ja,Fa=!1,Dn=xs(c.getState());c.subscribe(()=>{const e=xs(c.getState());e!==Dn&&(Dn=e,Fa=!0,ge(ja),ja=C(rt,600))});function rt(){Fa&&(Fa=!1,ge(ja),sr())}typeof window<"u"&&window.addEventListener("pagehide",rt);const yl={good:"emoji_ok",ok:"emoji_mid",bad:"emoji_bad"},kl=e=>`./assets/icons/${yl[e]}.svg`,ca=(e,t=!0)=>`<span class="avatar">${e.avatar?`<img class="avatar__face" src="./assets/people/${e.avatar}" alt="" />`:""}${t?`<img class="mood" src="${kl(e.mood)}" alt="" />`:""}</span>`,vl={new:"card__badge--new",used:"card__badge--used",worn:"card__badge--worn",broken:"card__badge--broken"},bl=e=>r(`cond.${e}`);function zn(e){return`<span class="card__badge ${vl[e]}">${bl(e)}</span>`}const jn={1:{color:"#8a8f99"},2:{color:"#4caf50"},3:{color:"#f5c518",text:"#1a1a1a"},4:{color:"#16b8a6"},5:{color:"#9b59b6"},6:{color:"#d63a3a"},7:{color:"#3454d1"},8:{color:"#000000",text:"#f1c40f"},9:{color:"#ff8a24",text:"#171717"}};function la(e){const t=jn[e]??jn[1];return`<span class="card__badge tier-badge" style="background:${t.color};color:${t.text??"#fff"}">${r(`tier.${e}`)}</span>`}function xe(e,t={}){const a=A(e.itemId);let n="";return t.hideBadge?n="":t.showCondition?n=zn(e.condition):e.condition==="broken"&&(n=zn("broken")),`
<div class="card${a.season==="autumn2026"?" card--autumn":""}" data-uid="${e.uid}"${t.interstitial?` data-interstitial="${t.interstitial}"`:""}>
${n}
<div class="card__photo"><img src="${ee(a.id)}" alt="${H(a)}" /></div>
<div class="card__body">
<div class="card__name">${H(a)}</div>
${t.noPrice?"":`<div class="card__price">${T(e.price)}</div>`}
</div>
${t.actions??""}
</div>`}const Sl=(e,t="")=>`<button class="btn btn--green" ${t}>${e}</button>`,_l=(e,t="")=>`<button class="btn btn--blue" ${t}>${e}</button>`;let Kt=!1,rr=!1,fn=!1,ir=!1;const qt=[],Sa=new Set,Ml="#app, #loader, .overlay, .tut, .tut__skip, .toast, .rou-block, .fx-gain, .fx-coin, .fx-fly",we=()=>Kt;function wl(e,t){return e==="blur"?!0:e==="focus"?t.documentHidden:t.documentHidden||!t.documentHasFocus}function gn(e){return qt.push(e),Kt&&e(!0),()=>{const t=qt.indexOf(e);t>=0&&qt.splice(t,1)}}function Cl(e){if(!(typeof document>"u"||typeof document.getAnimations!="function")){if(e){for(const t of document.getAnimations()){if(t.playState!=="running")continue;const a=t.effect?.target;!(a instanceof Element)||!a.closest(Ml)||(Sa.add(t),t.pause())}return}for(const t of Sa)t.playState==="paused"&&t.play();Sa.clear()}}function yn(){const e=rr||fn||ir;if(e!==Kt){Kt=e,_i(e);for(const t of qt)t(e)}}function Rt(e){fn=e,yn()}function Fn(e){ir=e,e||(fn=!1),yn()}function Al(){if(typeof window>"u")return;const e=t=>{rr=wl(t,{documentHidden:document.hidden,documentHasFocus:document.hasFocus()}),yn()};document.addEventListener("visibilitychange",()=>e("visibilitychange")),window.addEventListener("blur",()=>e("blur")),window.addEventListener("focus",()=>e("focus")),window.addEventListener("pageshow",()=>e("pageshow")),e("init")}const de=e=>` data-interstitial="${e}"`,Gn=e=>{const t=Math.max(0,e);return`${String(Math.floor(t/60)).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`},_a=()=>Math.round((c.getState().marketDeadline-$e())/1e3),Tl={title:"buy.title",render(){if(oe()&&(c.getState().salesCount??0)===0)return`<p class="buy__locked">${r("buy.tutLocked")}</p>`;const a=(Se(M.now())?c.getState().market:c.getState().market.filter(n=>!A(n.itemId)?.season)).map(n=>xe(n,{hideBadge:!0,interstitial:"market-card"})).join("");return`
<div class="buybar">
<div class="buybar__timer">${r("buy.untilRefresh")} <b id="mk-timer">${Gn(_a())}</b></div>
<button class="buybar__skip" data-skip>
${r("buy.skip")} <span class="buybar__ad">${bt("Ad")}</span>
</button>
</div>
<div class="grid">${a}</div>`},mount(e){c.getState().marketFresh&&c.setState({marketFresh:!1});let t=Se(M.now());if(!t&&c.getState().market.some(s=>!!A(s.itemId)?.season)){Ue();return}if(O(e,".card",s=>j("buy-item",{selectedMarketUid:s.dataset.uid,backTo:"buy"})),O(e,"[data-skip]",()=>Jo()),_a()<=0){Ue();return}const a=e.querySelector("#mk-timer"),n=St(()=>{if(we())return;const s=Se(M.now());if(s!==t){t=s,Pe(n),Ue();return}const i=_a();if(i<=0){Pe(n),Ue();return}a&&(a.textContent=Gn(i))},1e3);return()=>Pe(n)}},Hn={below:{var:"--c-green",key:"sellSetup.zoneBelow"},market:{var:"--c-blue",key:"sellSetup.zoneMarket"},above:{var:"--c-red",key:"sellSetup.zoneAbove"}},El={title:"",back:!0,render(){const e=c.getState(),t=e.market.find(d=>d.uid===e.selectedMarketUid);if(!t)return`<p style="color:var(--c-text-muted)">${r("buy.stolen")}</p>`;const a=A(t.itemId),n=t.seller,s=0,i=Math.round(a.priceMax*1.4),o=d=>Math.min(100,Math.max(0,(d-s)/(i-s)*100)),u=_t(t.price,a),l=`var(${Hn[u].var})`;return`
<div class="buyitem">
<div class="buyitem__left">
<div class="buyitem__card">${xe(t,{hideBadge:!0})}</div>
${Sl(r("buy.writeSeller"),'data-write data-interstitial="write-seller"')}
</div>
<div class="buyitem__right">
<div class="seller">
${ca(n,!1)}
<span class="seller__info">
<span class="seller__name">${n.name}</span>
<span class="seller__type">${an(n.type)}</span>
${n.hobby?`<span class="seller__hobby">${r("chats.hobby",{hobby:_s(n.hobby)})}</span>`:""}
${n.wants.length?`<span class="seller__wants">${r("chats.wants",{items:n.wants.map(d=>H(A(d))).join(", ")})}</span>`:""}
</span>
</div>
<div class="panel">
<div class="panel__title">${r("buy.estimate")} <b style="color:${l}">${r(Hn[u].key)}</b></div>
<div class="slider">
<div class="slider__track" style="background:linear-gradient(90deg, var(--c-green) ${o(a.priceMin)}%, var(--c-blue) ${o(a.priceMin)}%, var(--c-blue) ${o(a.priceMax)}%, var(--c-red) ${o(a.priceMax)}%)"></div>
<div class="slider__mark" style="left:${o(a.priceMin)}%"><span class="dot dot--green"></span><span class="slider__mark-label">${T(a.priceMin)}</span></div>
<div class="slider__mark" style="left:${o(a.priceMax)}%"><span class="dot dot--red"></span><span class="slider__mark-label">${T(a.priceMax)}</span></div>
<div class="slider__pin" style="left:0%" data-left="${o(t.price)}"></div>
<div class="slider__value" style="left:0%; color:${l}" data-left="${o(t.price)}" data-val="${t.price}">${T(0)}</div>
</div>
</div>
</div>
</div>`},mount(e){O(e,"[data-write]",()=>{const d=c.getState(),m=d.market.find(p=>p.uid===d.selectedMarketUid);m&&(Xo(m),j("chats"))});const t=e.querySelector(".slider__pin"),a=e.querySelector(".slider__value");if(!t||!a)return;const n=Number(a.dataset.val);if(!e.closest(".app")?.classList.contains("is-entering")){t.style.left=`${t.dataset.left}%`,a.style.left=`${a.dataset.left}%`,a.textContent=T(n);return}Le(()=>{t.style.left=`${t.dataset.left}%`,a.style.left=`${a.dataset.left}%`});const i=Ze(),o=750,u=d=>1-Math.pow(1-d,3),l=d=>{const m=Math.min(1,(d-i)/o);a.textContent=T(Math.round(n*u(m))),m<1&&Le(l)};Le(l)}},Un=24*60*60*1e3;function Ga(e){const t=Math.max(0,e);if(t>=Un)return Je("shop.offerDays",Math.ceil(t/Un));const a=Math.max(0,Math.floor(t/1e3)),n=Math.floor(a/3600),s=Math.floor(a%3600/60),i=a%60;return`${n}:${String(s).padStart(2,"0")}:${String(i).padStart(2,"0")}`}const Kn={below:{var:"--c-green",key:"sellSetup.zoneBelow"},market:{var:"--c-blue",key:"sellSetup.zoneMarket"},above:{var:"--c-red",key:"sellSetup.zoneAbove"}},or=()=>`<button class="popup__close" aria-label="${r("common.close")}" data-close>Г—</button>`;function pe(e,t={}){const a=t.showClose??!0,n=t.dismissOnBackdrop??!0,s=document.createElement("div");return s.className="overlay",s.innerHTML=`<div class="popup">${a?or():""}${e}</div>`,n&&s.addEventListener("click",i=>{i.target===s&&s.remove()}),s.querySelector("[data-close]")?.addEventListener("click",()=>s.remove()),document.body.appendChild(s),s}function $l(){const e=document.createElement("div");e.className="overlay",e.innerHTML='<div class="popup settings"></div>',e.addEventListener("click",n=>{(n.target===e||n.target.closest("[data-close]"))&&e.remove()}),document.body.appendChild(e);const t=e.querySelector(".settings");function a(){const n=c.getState();t.innerHTML=`
${or()}
<h3>${r("settings.title")}</h3>
<div class="set-row">
<button class="set-icon ${n.musicOn?"":"is-off"}" data-music title="${r("settings.music")}">рџЋµ</button>
<span class="set-label">${r("settings.music")}</span>
<input type="range" class="set-vol" data-musicvol min="0" max="100" value="${Math.round(n.musicVol*100)}" ${n.musicOn?"":"disabled"} />
</div>
<div class="set-row">
<button class="set-icon ${n.soundOn?"":"is-off"}" data-sound title="${r("settings.sounds")}">${n.soundOn?"🔊":"🔇"}</button>
<span class="set-label">${r("settings.sounds")}</span>
<input type="range" class="set-vol" data-soundvol min="0" max="100" value="${Math.round(n.soundVol*100)}" ${n.soundOn?"":"disabled"} />
</div>
<div class="set-lang">
<span class="set-label">${r("settings.language")}:</span>
<div class="lang-toggle">
<button class="lang-opt ${n.lang==="ru"?"is-sel":""}" data-lang="ru">${r("settings.ru")}</button>
<button class="lang-opt ${n.lang==="en"?"is-sel":""}" data-lang="en">${r("settings.en")}</button>
<button class="lang-opt ${n.lang==="tr"?"is-sel":""}" data-lang="tr">${r("settings.tr")}</button>
<button class="lang-opt ${n.lang==="es"?"is-sel":""}" data-lang="es">${r("settings.es")}</button>
</div>
</div>
<div class="set-promo">
<label class="set-promo__label" for="settings-promocode">${r("settings.promo")}</label>
<form class="set-promo__controls" data-promo-form>
<input class="set-promo__input" id="settings-promocode" name="promocode" type="text"
maxlength="32" autocomplete="off" autocapitalize="characters" spellcheck="false"
placeholder="${r("settings.promoPlaceholder")}" />
<button class="btn btn--blue set-promo__apply" type="submit">${r("settings.promoApply")}</button>
</form>
<p class="set-promo__status" data-promo-status aria-live="polite"></p>
</div>`,t.querySelector("[data-music]").addEventListener("click",()=>{c.setState({musicOn:!c.getState().musicOn}),a()}),t.querySelector("[data-sound]").addEventListener("click",()=>{c.setState({soundOn:!c.getState().soundOn}),a()}),t.querySelector("[data-musicvol]").addEventListener("change",s=>c.setState({musicVol:+s.target.value/100})),t.querySelector("[data-soundvol]").addEventListener("change",s=>c.setState({soundVol:+s.target.value/100})),t.querySelectorAll("[data-lang]").forEach(s=>s.addEventListener("click",()=>{As(s.dataset.lang),a()})),t.querySelector("[data-promo-form]").addEventListener("submit",s=>{s.preventDefault();const i=t.querySelector('[name="promocode"]'),o=t.querySelector("[data-promo-status]"),u=i.value.trim().toUpperCase();i.value=u;const l=u?yc(u):!1;o.textContent=r(u?l?"settings.promoApplied":"settings.promoInvalid":"settings.promoEmpty"),o.classList.toggle("is-error",!l),o.classList.toggle("is-success",l)})}a()}function Ol(e,t,a){const n=Math.round(e.priceMax*1.4),s=pe(`
<h3>${r("popup.counterTitle")}</h3>
<div class="popup__price" id="pp-val"></div>
<div class="popup__verdict" id="pp-zone"></div>
<input type="range" id="pp-range" min="0" max="${n}" step="5" value="${t}" />
<p class="popup__hint">${r("popup.market",{min:Oa(e.priceMin),max:Oa(e.priceMax)})}</p>
<button class="btn btn--green" id="pp-ok">${r("popup.propose")}</button>
`),i=s.querySelector("#pp-range"),o=()=>{const u=Number(i.value),l=_t(u,e);s.querySelector("#pp-val").textContent=T(u);const d=s.querySelector("#pp-zone");d.textContent=r(Kn[l].key).toUpperCase(),d.style.color=`var(${Kn[l].var})`};i.addEventListener("input",o),o(),s.querySelector("#pp-ok").addEventListener("click",()=>{a(Number(i.value)),s.remove()})}function Il(e){const t=pe(`
<h3>${e.title}</h3>
<p class="popup__confirm-msg">${e.message}</p>
<div class="confirm-btns">
<button class="btn btn--green" id="cf-ok"${e.interstitial?` data-interstitial="${e.interstitial}"`:""}>${e.confirm}</button>
<button class="btn btn--cancel" id="cf-cancel">${r("common.cancel")}</button>
</div>
`);t.querySelector("#cf-ok").addEventListener("click",()=>{e.onConfirm(),t.remove()}),t.querySelector("#cf-cancel").addEventListener("click",()=>t.remove())}const Rl=e=>`<button class="btn btn--cancel starter__dismiss" data-bundle-dismiss data-interstitial="promo-dismiss">${e}</button>`,Ll=!1;function Qe(e,t,a,n,s,i){const o=pe(`
${i?`<div class="bundle-offer__promo bundle-offer__promo--${n}">
<span>${i.label}</span>
${i.remainingMs?"<strong data-bundle-offer-timer></strong>":i.caption?`<strong>${i.caption}</strong>`:""}
</div>`:""}
<div class="starter starter--${n} ${a.length===3?"starter--three":""} ${a.length===1?"starter--single":""}">
<div class="starter__thumbs">
${a.map(u=>`<div class="starter__thumb">
<img src="${u.image}" alt="" />
${u.badge?`<span class="starter__thumb-badge">${u.badge}</span>`:""}
</div>`).join("")}
</div>
<div class="starter__info">
<h3>${e}</h3>
<ul class="starter__list">
${a.map(u=>`<li>${u.label}</li>`).join("")}
</ul>
</div>
</div>
<div class="starter__actions">
<button class="btn ${n==="autumn"?"btn--autumn":"btn--green"} starter__buy" data-bundle-buy>${t}</button>
${i?Rl(i.dismissLabel):""}
</div>
`,{showClose:Ll,dismissOnBackdrop:!1});if(o.querySelector("[data-bundle-buy]").addEventListener("click",()=>{s(),o.remove()}),i&&(o.querySelector("[data-bundle-dismiss]").addEventListener("click",()=>{i.onDismiss?.(),o.remove()}),i.remainingMs)){const u=o.querySelector("[data-bundle-offer-timer]"),l=()=>{if(!o.isConnected)return!1;const m=i.remainingMs();return m==null||m<=0?(o.remove(),!1):(u.textContent=Ga(m),!0)};l();const d=St(()=>{l()||Pe(d)},1e3)}}function Bl(e,t,a){Qe(r("shop.starter"),e,cr(t),"green",a)}function cr(e){const t=dt();return[{image:ie("money_10m.jpg"),label:r("shop.starterList1")},{image:ee("072"),label:r("shop.starterList2")},{image:ve("case_5.jpg"),label:r("shop.starterList3")},...e?[{image:ie(t),label:r("shop.starterList4")}]:[]]}function Nl(e,t,a,n){Qe(r("shop.starter"),e,cr(t),"green",a,{label:r("shop.starterAdvantage"),dismissLabel:r("shop.dontWant"),onDismiss:n})}function xl(e,t,a){const n=dt();Qe(r("shop.autumnBundle"),e,[{image:ee("orange_bmw"),label:r("shop.autumnList1")},{image:ie("money_10m.jpg"),label:r("shop.autumnList2")},{image:"./assets/season/autumn-2026/cases/case_season_4.jpg",label:r("shop.autumnList3"),badge:"Г—5"},...t?[{image:ie(n),label:r("shop.autumnList4")}]:[]],"autumn",a)}function ql(e,t,a,n,s){const i=dt();Qe(r("shop.autumnBundle"),e,[{image:ee("orange_bmw"),label:r("shop.autumnList1")},{image:ie("money_10m.jpg"),label:r("shop.autumnList2")},{image:"./assets/season/autumn-2026/cases/case_season_4.jpg",label:r("shop.autumnList3"),badge:"Г—5"},...t?[{image:ie(i),label:r("shop.autumnList4")}]:[]],"autumn",n,{label:r("shop.autumnProgressFaster"),remainingMs:a,dismissLabel:r("shop.dontWant"),onDismiss:s})}function Pl(e,t,a){const n=dt();Qe(r("shop.noAds"),e,[{image:ie(n),label:r("shop.noAds")}],"green",t,{label:r("shop.noAdsPrompt"),dismissLabel:r("shop.dontWant"),onDismiss:a})}function lr(e){const t=dt();return[{image:ee("114"),label:r("shop.megaList1")},{image:ve("case_8.jpg"),label:r("shop.megaList2"),badge:"Г—3"},{image:ie("money_10b.jpg"),label:r("shop.megaList3")},...e?[{image:ie(t),label:r("shop.megaList4")}]:[]]}function Dl(e,t,a){Qe(r("shop.megaBundle"),e,lr(t),"green",a)}function zl(e,t,a,n){Qe(r("shop.megaOfferTitle"),e,lr(t),"green",a,{label:r("shop.promo"),caption:r("shop.megaBenefit"),dismissLabel:r("shop.dontWant"),onDismiss:n})}function ur(e){const t=pe(`
<h3>${r("popup.reviewTitle")}</h3>
<p class="popup__confirm-msg">${r("popup.authMsg")}</p>
<div class="confirm-btns">
<button class="btn btn--green" id="ap-login">${r("popup.login")}</button>
<button class="btn btn--cancel" id="ap-cancel">${r("common.cancel")}</button>
</div>
`);t.querySelector("#ap-login").addEventListener("click",()=>{t.remove(),e()}),t.querySelector("#ap-cancel").addEventListener("click",()=>t.remove())}function jl(e){const t=pe(`
<h3>${r("caseName.vk")}</h3>
<p class="popup__confirm-msg">${r("popup.vkCommunityMessage")}</p>
<div class="confirm-btns">
<button class="btn btn--blue" id="vk-community-go">${r("popup.vkCommunityGo")}</button>
<button class="btn btn--cancel" id="vk-community-cancel">${r("common.cancel")}</button>
</div>
`);t.querySelector("#vk-community-go").addEventListener("click",()=>{t.remove(),e()}),t.querySelector("#vk-community-cancel").addEventListener("click",()=>t.remove())}function Fl(e){return`
<section class="case-bonus-offer">
<h3>${r("popup.caseBonusTitle")}</h3>
<p class="popup__confirm-msg">${r("popup.caseBonusMessage",{name:e})}</p>
<p class="case-bonus-offer__saved">${r("popup.caseBonusSaved")}</p>
<div class="confirm-btns case-bonus-offer__actions">
<button class="btn btn--rewarded case-bonus-offer__watch" data-case-bonus-watch>
<span>${r("popup.caseBonusWatch")}</span>
<span class="case-bonus-offer__ad" aria-hidden="true">${bt("Ad")}</span>
</button>
<button class="btn btn--cancel" data-case-bonus-dismiss data-interstitial="case-bonus-dismiss">${r("popup.caseBonusDismiss")}</button>
</div>
</section>`}function Gl(e,t,a){const n=pe(Fl(e),{showClose:!1,dismissOnBackdrop:!1}),s=n.querySelector("[data-case-bonus-watch]");let i=!1,o=!1;const u=()=>{i||o||(o=!0,a())};s.addEventListener("click",()=>{s.disabled||(s.disabled=!0,t().then(l=>{if(!l){s.disabled=!1;return}i=!0,n.remove()}).catch(()=>{s.disabled=!1}))}),n.querySelector("[data-case-bonus-dismiss]").addEventListener("click",()=>{u(),n.remove()})}function Hl(e){const t=pe(`
<h3>${r("common.leaders")}</h3>
<p class="popup__confirm-msg">${r("popup.leaderboardAuthMsg")}</p>
<div class="confirm-btns">
<button class="btn btn--green" data-leader-login>${r("popup.login")}</button>
<button class="btn btn--cancel" data-leader-cancel>${r("common.cancel")}</button>
</div>
`);t.querySelector("[data-leader-login]").addEventListener("click",()=>{t.remove(),e()}),t.querySelector("[data-leader-cancel]").addEventListener("click",()=>t.remove())}function Ul(e,t,a){const n=pe(`
<h3>${r("popup.reviewTitle")}</h3>
<p class="popup__confirm-msg">${r("popup.reviewOffer",{name:e})}</p>
<div class="confirm-btns">
<button class="btn btn--green" id="ro-ok">${r("popup.review")}</button>
<button class="btn btn--cancel" id="ro-cancel">${r("common.cancel")}</button>
</div>
`,{showClose:!1,dismissOnBackdrop:!1});n.querySelector("#ro-ok").addEventListener("click",()=>{n.remove(),t()}),n.querySelector("#ro-cancel").addEventListener("click",()=>{a?.(),n.remove()})}function dr(e){const t=pe(`
<div class="season-guide">
<h3>${r("season.guideTitle")}</h3>
<p class="season-guide__intro">${r("season.guideIntro")}</p>
<button class="btn season-guide__start" data-season-guide-close>${r("season.guideStart")}</button>
</div>
`);t.querySelector(".popup")?.classList.add("season-guide-popup"),t.querySelector("[data-season-guide-close]").addEventListener("click",()=>{t.remove(),e?.()})}function Kl(){const e=pe(`
<h3>${r("popup.reviewTitle")}</h3>
<p class="popup__confirm-msg">${r("popup.refreshMsg")}</p>
<div class="confirm-btns">
<button class="btn btn--green" id="rr-ok">${r("common.ok")}</button>
</div>
`);e.querySelector("#rr-ok").addEventListener("click",()=>e.remove())}function Wl(e,t){const a=Math.round(e*.8),n=Math.max(1,Math.round(e/100)),s=pe(`
<h3>${r("popup.yourSurcharge")}</h3>
<div class="popup__price" id="sc-val"></div>
<input type="range" id="sc-range" min="0" max="${e}" step="${n}" value="${a}" />
<p class="popup__hint">${r("popup.sellerAsksSurcharge",{amount:T(e)})}</p>
<button class="btn btn--green" id="sc-ok">${r("popup.propose")}</button>
`),i=s.querySelector("#sc-range"),o=()=>{s.querySelector("#sc-val").textContent=T(Number(i.value))};i.addEventListener("input",o),o(),s.querySelector("#sc-ok").addEventListener("click",()=>{t(Number(i.value)),s.remove()})}function Vl(e,t){const a=Math.round(e*.3),n=Math.max(1,Math.round(e/100)),s=pe(`
<h3>${r("popup.requestSurcharge")}</h3>
<div class="popup__price" id="ps-val"></div>
<input type="range" id="ps-range" min="0" max="${e}" step="${n}" value="${a}" />
<p class="popup__hint">${r("popup.proposeHint",{max:T(e)})}</p>
<button class="btn btn--green" id="ps-ok">${r("popup.propose")}</button>
`),i=s.querySelector("#ps-range"),o=()=>{s.querySelector("#ps-val").textContent=T(Number(i.value))};i.addEventListener("input",o),o(),s.querySelector("#ps-ok").addEventListener("click",()=>{t(Number(i.value)),s.remove()})}function Yl(e,t,a){const n=Math.round((e+t)/2),s=pe(`
<h3>${r("popup.counterTitle")}</h3>
<div class="popup__price" id="cp-val"></div>
<input type="range" id="cp-range" min="${e}" max="${t}" step="${Math.max(1,Math.round((t-e)/100))}" value="${n}" />
<p class="popup__hint">${r("popup.buyerOfferedYourPrice",{min:T(e),max:T(t)})}</p>
<button class="btn btn--green" id="cp-ok">${r("popup.propose")}</button>
`),i=s.querySelector("#cp-range"),o=()=>{s.querySelector("#cp-val").textContent=T(Number(i.value))};i.addEventListener("input",o),o(),s.querySelector("#cp-ok").addEventListener("click",()=>{a(Number(i.value)),s.remove()})}function Jl(e,t){const a=pe(`
<h3>${r("popup.countQ")}</h3>
<div class="count-row">
${[2,3,4].map(i=>`<button class="count-btn" data-n="${i}">${i}</button>`).join("")}
</div>
<button class="btn btn--blue" id="count-go" disabled style="opacity:.5">${r("popup.chooseCount")}</button>
`);let n=0;const s=a.querySelector("#count-go");a.querySelectorAll("[data-n]").forEach(i=>i.addEventListener("click",()=>{n=+i.dataset.n,a.querySelectorAll("[data-n]").forEach(o=>o.classList.remove("is-sel")),i.classList.add("is-sel"),s.disabled=!1,s.style.opacity="1",s.textContent=T(e*n)})),s.addEventListener("click",()=>{n&&(t(n),a.remove())})}const Zl="orange_bugatti";function mr(){const e=c.getState(),t=e.autumn2026,a=new Set(e.inventory.map(s=>s.itemId)),n=se.map(s=>{const i=(t.items[s.id]??0)>0,o=s.id===Zl&&!i,u=r(o?"season.secretItem":`season.item.${s.id}`);return`<article class="colcard season-card ${i?"is-found":"is-locked"} ${o?"is-secret":""}" data-col-item="${s.id}">
${o?"":la(A(s.id).tier)}
<div class="colcard__photo ${o?"season-secret-photo":""}">${o?'<span aria-hidden="true">?</span>':`<img src="${ee(s.id)}" alt="${u}" loading="lazy" />`}
${i&&a.has(s.id)?`<span class="colcard__have">${r("inventory.inInv")}</span>`:""}
</div>
<div class="colcard__name">${u}</div>
${i||o?"":`<div class="colcard__overlay">${r("inventory.colNotOwned")}</div>`}
</article>`}).join("");return`<div class="season-collection-head">
<h3>${r("season.collectionTitle")}</h3>
<b>${je(t)} / ${se.length}</b>
</div>
<div class="grid season-grid">${n}</div>`}function Wn(e){return`
<div class="invtabs">
<button class="invtab ${e==="inventory"?"is-active":""}" data-tab="inventory">${r("inventory.tabInv")}</button>
<button class="invtab ${e==="collection"?"is-active":""}" data-tab="collection">${r("inventory.tabCol")}</button>
</div>`}function Ql(e){return`<div class="invtabs collection-tabs">
<button class="invtab ${e==="main"?"is-active":""}" data-collection-tab="main">${r("inventory.collectionMain")}</button>
<button class="invtab ${e==="autumn2026"?"is-active":""}" data-collection-tab="autumn2026">${r("inventory.collectionAutumn2026")}</button>
</div>`}function Xl(){const e=c.getState().inventory;return e.length?`<div class="grid">${e.map(a=>{const n=a.condition==="broken",s=`
<div class="card__actions">
<button class="cardbtn cardbtn--blue" data-list="${a.uid}">${r("inventory.sell")}</button>
<button class="cardbtn cardbtn--red" data-quick="${a.uid}">${r("inventory.quickSell")}${n?r("inventory.brokenTag"):""}</button>
${n?`<button class="cardbtn cardbtn--green" data-repair="${a.uid}">${r("inventory.repair")} (${T(Ts(A(a.itemId)))})</button>`:""}
</div>`;return xe(a,{actions:s,noPrice:!0,showCondition:!0})}).join("")}</div>`:`<p style="color:var(--c-text-muted)">${r("inventory.empty")}</p>`}function eu(){const e=c.getState(),t=new Set(e.seenItems??[]),a=new Set(e.inventory.map(s=>s.itemId)),n=X.map(s=>{const i=t.has(s.id),o=a.has(s.id);return`
<div class="colcard ${i?"":"is-locked"}" data-col-item="${s.id}">
${la(s.tier)}
<div class="colcard__photo">
<img src="${ee(s.id)}" alt="${H(s)}" />
${i&&o?`<span class="colcard__have">${r("inventory.inInv")}</span>`:""}
</div>
<div class="colcard__name">${H(s)}</div>
${i?"":`<div class="colcard__overlay">${r("inventory.colNotOwned")}</div>`}
</div>`}).join("");return`
<div class="collection-counter">${r("inventory.collected",{n:t.size,total:X.length})}</div>
<div class="grid">${n}</div>`}const tu={title:"inventory.title",render(){const e=c.getState().invTab??"inventory";if(e!=="collection")return Wn(e)+Xl();const t=hs(M.now()),a=t?c.getState().collectionTab??"main":"main",n=a==="autumn2026"?mr():eu();return Wn(e)+(t?Ql(a):"")+n},mount(e){O(e,"[data-tab]",t=>c.setState({invTab:t.dataset.tab})),O(e,"[data-collection-tab]",t=>c.setState({collectionTab:t.dataset.collectionTab})),O(e,".colcard",t=>{if(t.classList.contains("is-locked")){t.classList.remove("is-shake"),t.offsetWidth,t.classList.add("is-shake"),P("error");return}j("item-view",{viewItem:{itemId:t.dataset.colItem},backTo:"inventory"})}),O(e,"[data-quick]",t=>{const a=c.getState().inventory.find(s=>s.uid===t.dataset.quick);if(!a)return;const n=Mt(A(a.itemId),a.condition==="broken");Il({title:r("inventory.quickTitle"),message:r("inventory.confirmSell",{name:H(A(a.itemId)),price:T(n)}),confirm:r("inventory.quickConfirm",{price:T(n)}),interstitial:"quick-sell",onConfirm:()=>kc(a.uid)})}),O(e,"[data-repair]",t=>vc(t.dataset.repair)),O(e,"[data-list]",t=>j("sell-setup",{selectedMarketUid:t.dataset.list,backTo:"inventory"}))}},au=6,nu={title:"sales.title",render(){const{listings:e}=c.getState(),t=e.map(n=>{const s=`
<div class="card__actions">
<button class="cardbtn cardbtn--blue" data-detail="${n.uid}">${r("sales.detail")}</button>
<button class="cardbtn cardbtn--red" data-unlist="${n.uid}" data-interstitial="unlist-item">${r("sales.unlist")}</button>
</div>`;return xe(n,{actions:s,showCondition:!0})}).join(""),a=e.length<au?'<button class="card card--add" data-add><span class="card__plus">+</span></button>':"";return`<div class="grid">${t}${a}</div>`},mount(e){O(e,"[data-add]",()=>j("inventory")),O(e,"[data-detail]",t=>j("listing-item",{selectedMarketUid:t.dataset.detail,backTo:"sales"})),O(e,"[data-unlist]",t=>Ws(t.dataset.unlist))}},su={below:"sellSetup.zoneBelow",market:"sellSetup.zoneMarket",above:"sellSetup.zoneAbove"},ru={below:"--c-green",market:"--c-blue",above:"--c-red"};function Vn(){const e=c.getState();return e.inventory.find(t=>t.uid===e.selectedMarketUid)}const iu={title:"",back:!0,render(){const e=Vn();if(!e)return`<p style="color:var(--c-text-muted)">${r("buy.selectInv")}</p>`;const t=A(e.itemId),a=Math.max(5,Math.round(t.priceMin*.4/5)*5),n=Math.round(t.priceMax*1.4),s=t.priceMin,i=o=>(o-a)/(n-a)*100;return`
<div class="sell" data-lo="${a}" data-hi="${n}" data-min="${t.priceMin}" data-max="${t.priceMax}" data-uid="${e.uid}">
<div class="panel">
<div class="panel__title">${r("sellSetup.yourPrice")} <span id="zone-label"></span></div>
<div class="priceInput" id="price-input"></div>
<div class="slider">
<div class="slider__track" id="track"></div>
<div class="slider__mark" style="left:${i(t.priceMin)}%">
<span class="dot dot--green"></span><span class="slider__mark-label">${T(t.priceMin)}</span>
</div>
<div class="slider__mark" style="left:${i(t.priceMax)}%">
<span class="dot dot--red"></span><span class="slider__mark-label">${T(t.priceMax)}</span>
</div>
<input type="range" id="range" min="${a}" max="${n}" step="5" value="${s}" />
<div class="slider__value" id="value"></div>
</div>
</div>
${_l(r("sellSetup.submit"),'data-submit data-interstitial="list-item"')}
</div>`},mount(e){const t=e.querySelector(".sell");if(!t)return;const a=Vn(),n=A(a.itemId),s=+t.dataset.lo,i=+t.dataset.hi,o=h=>(h-s)/(i-s)*100,u=e.querySelector("#range"),l=()=>{const h=Number(u.value),_=_t(h,n),b=`var(${ru[_]})`;e.querySelector("#zone-label").innerHTML=`<b style="color:${b}">${r(su[_])}</b>`,e.querySelector("#price-input").textContent=T(h);const $=e.querySelector("#value");$.textContent=T(h),$.style.color=b;const w=t.querySelector(".slider").clientWidth,L=$.offsetWidth/2,V=Math.min(w-L,Math.max(L,o(h)/100*w));$.style.left=`${V}px`,e.querySelector("#track").style.background=`linear-gradient(90deg, var(--c-green) ${o(n.priceMin)}%, var(--c-blue) ${o(n.priceMin)}%, var(--c-blue) ${o(n.priceMax)}%, var(--c-red) ${o(n.priceMax)}%)`};u.addEventListener("input",l),l();const d=Number(u.step)||1,m=e.querySelector(".slider"),p=h=>{const _=u.getBoundingClientRect(),b=Math.min(1,Math.max(0,(h-_.left)/_.width)),$=Math.round((s+b*(i-s))/d)*d;String($)!==u.value&&(u.value=String($),l())};m.addEventListener("pointerdown",h=>p(h.clientX)),O(e,"[data-submit]",()=>{bc(a.uid,Number(u.value)),j("sales")})}},ht={ad:"case_ad.jpg",tier1:"case_1.jpg",tier2:"case_2.jpg",tier3:"case_3.jpg",tier4:"case_4.jpg",tier5:"case_5.jpg",tier6:"case_6.jpg",tier7:"case_7.jpg",tier8:"case_8.jpg",vk:"case_vk.jpg"},ou={1:"#8a8f99",2:"#4caf50",3:"#f5c518",4:"#16b8a6",5:"#9b59b6",6:"#d63a3a",7:"#3454d1",8:"#000000"};function cu(){return`<button class="casecard casecard--autumn" data-case="${ds("ad")}">
<div class="casecard__photo"><img src="${us.image}" alt="" /></div>
<div class="casecard__name">${r("season.adChest")}</div>
<span class="casebtn casebtn--rewarded">в–¶ ${r("cases.forAd")}</span>
</button>`}function lu(){return Ya.map(e=>{const t=Ie[e];return`<button class="casecard casecard--autumn" data-case="${ds(e)}">
<div class="casecard__photo"><img src="${t.image}" alt="" /></div>
<div class="casecard__name">${r(`season.chest.${e}`)}</div>
<span class="casebtn casebtn--blue">${T(t.price)}</span>
</button>`}).join("")}function uu(){const e=c.getState();return["mythic",...Ya].filter(t=>e.autumn2026.chests[t]>0).map(t=>{const a=e.autumn2026.chests[t],n=Ie[t];return`<button class="casecard casecard--autumn" data-case="${ni(t)}">
<span class="casecard__count casecard__count--autumn">Г—${a}</span>
<div class="casecard__photo"><img src="${n.image}" alt="" /></div>
<div class="casecard__name">${r(`season.chest.${t}`)}</div>
<span class="casebtn casebtn--ad">${r("cases.openOwned")}</span>
</button>`}).join("")}const du={title:"cases.title",render(){if(oe())return`<div class="grid">
<button class="casecard" data-case="tier1">
<div class="casecard__photo"><img src="${ve(ht.tier1)}" alt="" /></div>
<div class="casecard__name">${r("caseName.tier1")}</div>
<span class="casebtn casebtn--ad">${r("cases.freeBtn")}</span>
</button></div>`;const e=c.getState(),t=Se(M.now()),a=e.ownedCases??{},n=a[ce]??0,s=n>0?`
<button class="casecard" data-owned-case="${ce}">
<span class="casecard__count casecard__count--vk">Г—${n}</span>
<div class="casecard__photo"><img src="${ve(ht.vk)}" alt="" /></div>
<div class="casecard__name">${r("caseName.vk")}</div>
<span class="casebtn casebtn--blue">${r("cases.openOwned")}</span>
</button>`:"",i=Object.entries(a).filter(([h,_])=>h!==ce&&_>0).map(([h,_])=>{const b=Ee.find(L=>L.id===h);if(!b)return"";const $=ou[b?.tier??1]??"#8a8f99",w=(b?.tier??1)===8?"#f1c40f":"#fff";return`
<button class="casecard" data-owned-case="${h}">
<span class="casecard__count" style="background:${$};color:${w}">Г—${_}</span>
<div class="casecard__photo"><img src="${ve(ht[h]??"")}" alt="" /></div>
<div class="casecard__name">${r(`caseName.${h}`)}</div>
<span class="casebtn casebtn--ad">${r("cases.freeBtn")}</span>
</button>`}).join(""),o=`${s}${uu()}${i}`,u=o?`
<section class="cases-section cases-section--owned" data-owned-cases>
<h2 class="cases-section__title">${r("cases.mineTitle")}</h2>
<div class="grid">${o}</div>
</section>
<div class="cases-section-divider" data-owned-cases-divider></div>`:"",l=`<button class="casecard" data-case="ad">
<div class="casecard__photo"><img src="${ve(ht.ad)}" alt="" /></div>
<div class="casecard__name">${r("caseName.ad")}</div>
<span class="casebtn casebtn--rewarded">в–¶ ${r("cases.forAd")}</span>
</button>`,d=Ee.filter(h=>h.priceType!=="ad").map(h=>{const _=h.id==="tier1"&&mn()?`<span class="casebtn casebtn--ad">${r("cases.freeBtn")}</span>`:`<span class="casebtn casebtn--blue">${T(h.price)}</span>`;return`
<button class="casecard" data-case="${h.id}">
<div class="casecard__photo"><img src="${ve(ht[h.id]??"")}" alt="" /></div>
<div class="casecard__name">${r(`caseName.${h.id}`)}</div>
${_}
</button>`}).join(""),m=t?cu():"",p=t?`
<section class="cases-section cases-section--seasonal">
<h2 class="cases-section__title">${r("cases.seasonalTitle")}</h2>
<div class="grid">${lu()}</div>
</section>
<div class="cases-section-divider" data-cases-divider></div>`:"";return`${u}
<section class="cases-section cases-section--free">
<h2 class="cases-section__title">${r("cases.freeTitle")}</h2>
<div class="grid">${m}${l}</div>
</section>
<div class="cases-section-divider" data-free-cases-divider></div>
${p}
<section class="cases-section cases-section--regular">
<h2 class="cases-section__title">${r("cases.regularTitle")}</h2>
<div class="grid">${d}</div>
</section>`},mount(e){O(e,"[data-case]",t=>j("case-open",{selectedCaseId:t.dataset.case,backTo:"cases"})),O(e,"[data-owned-case]",t=>ul(t.dataset.ownedCase))}},mu={ad:"case_ad.jpg",tier1:"case_1.jpg",tier2:"case_2.jpg",tier3:"case_3.jpg",tier4:"case_4.jpg",tier5:"case_5.jpg",tier6:"case_6.jpg",tier7:"case_7.jpg",tier8:"case_8.jpg"},pu=e=>e===0?"0":e>=1?String(Math.round(e*10)/10):e>=.01?e.toFixed(2):e.toFixed(4),hu={title:"",back:!0,render(){const e=c.getState().selectedCaseId,t=Be(e),a=t??Re(e),n=Ee.find(w=>w.id===e);if(!n&&!a)return"";const s=Zs(e),i=n?.id==="tier1"&&mn(),o=t!==null&&c.getState().autumn2026.chests[t]>0,u=t!==null&&!o||t===null&&a==="mythic",l=n?.priceType==="ad"||a==="ad",d=a==="ad"?us.image:a?Ie[a].image:ve(mu[n.id]??""),m=r(a==="ad"?"season.adChest":a?`season.chest.${a}`:`caseName.${n.id}`),p=l?`в–¶ ${r("cases.forAd")}`:t!==null?r(o?"cases.openOwned":"common.unavailable"):u?r("common.unavailable"):i?r("cases.freeBtn"):T(a?Ie[a].price:n.price),h=s.map(w=>{const L=a==="mythic"&&w.id==="orange_bugatti";return`
<button class="cocard ${L?"cocard--secret":""}" ${L?"":`data-item="${w.id}"`}>
${L?"":la(w.tier)}
<div class="cocard__photo ${L?"cocard__photo--secret":""}">${L?'<span aria-hidden="true">?</span>':`<img src="${ee(w.id)}" alt="${H(w)}" />`}</div>
<div class="cocard__name">${L?r("season.secretItem"):H(w)}</div>
<div class="cocard__chance">${L?r("season.secretChance"):`${pu(w.chance)}%`}</div>
</button>`}).join(""),b=!l&&!i&&!u&&t===null?`<button class="btn btn--green" data-buy-multi>${r("cases.buyMulti")}</button>`:"";return`
<div class="caseopen">
<div class="caseopen__hero">
<img class="caseopen__img" src="${d}" alt="" />
<div class="caseopen__name">${m}</div>
<div class="caseopen__buttons">
<button class="btn ${l?"btn--rewarded":o?"btn--ad":"btn--blue"}" data-buy ${u?"disabled":""}>${p}</button>
${b}
</div>
</div>
<div class="caseopen__contents-title">${r("cases.contents")}</div>
<div class="caseopen__grid">${h}</div>
</div>`},mount(e){let t=!1;const a=async n=>{if(t)return;t=!0;const s=c.getState().selectedCaseId,i=e.querySelector(".caseopen__img"),o=await Pc(s,n);if(!o.length){t=!1;return}i?.classList.add("is-shaking"),await new Promise(u=>C(u,340)),j("roulette",{roulette:{caseId:s,wins:o,preGranted:Be(s)!==null||Re(s)!==null}})};O(e,"[data-buy]",()=>a(1)),O(e,"[data-buy-multi]",()=>{const n=c.getState().selectedCaseId,s=Ee.find(u=>u.id===n),i=Re(n),o=i&&i!=="ad"?Ie[i].price:s?.price??0;Jl(o,u=>a(u))}),O(e,"[data-item]",n=>j("item-view",{viewItem:{itemId:n.dataset.item},backTo:"case-open"}))}};function fu(e){const t=Be(e)??Re(e);if(t==="ad")return r("season.adChest");if(t)return r(`season.chest.${t}`);if(e===ce)return r("caseName.vk");const a=Ee.find(n=>n.id===e);return a?r(`caseName.${a.id}`):e}let Ma=!1,Lt=!1;function Wt(e=0){Ma||Lt||(Ma=!0,C(()=>{Ma=!1;const t=c.getState().caseOpeningBonus.pendingCaseIds[0];if(t){if(oe()||c.getState().screen==="roulette"||document.querySelector(".overlay")){Wt(500);return}Lt=!0,Gl(fu(t),async()=>{const a=await jc(t);return a?(Lt=!1,j("roulette",{selectedCaseId:t,roulette:{caseId:t,wins:a.wins,preGranted:a.preGranted}}),!0):!1},()=>{zc(t),Lt=!1,Wt(250)})}},e))}const gu={1:"#8a8f99",2:"#4caf50",3:"#f5c518",4:"#16b8a6",5:"#9b59b6",6:"#d63a3a",7:"#3454d1",8:"#f1c40f",9:"#ff8a24"},yu=40,Ha=32,kt="orange_bugatti",wa=' data-interstitial="case-complete"',Ua=e=>(Be(e)??Re(e))==="mythic",ku=e=>c.getState().tutorialDone===!0&&!Ua(e);function vu(e){return`
<div class="rwon-list">${e.map((a,n)=>{const s=A(a.itemId),i=Mt(s,a.condition==="broken");return`
<div class="rwon" data-i="${n}" style="--flare:${gu[s.tier]??"#8a8f99"};animation-delay:${n*.09}s">
<div class="rwon__photo">${la(s.tier)}<img src="${ee(s.id)}" alt="${H(s)}" /></div>
<div class="rwon__name">${H(s)}</div>
<div class="rwon__price">${T(s.priceMin)}–${T(s.priceMax)}</div>
<div class="rwon__btns">
<button class="btn btn--green" data-keep="${n}"${wa}>${r("roulette.keep")}</button>
<button class="btn btn--red" data-sell="${n}"${wa}>${r("roulette.sell",{price:T(i)})}</button>
</div>
</div>`}).join("")}</div>
<button class="btn btn--blue rwon__done" id="rdone"${wa}>${r("roulette.allToInv")}</button>`}const bu=(e,t,a,n)=>{const s=n?e.filter(o=>o.id!==kt):e,i=Array.from({length:yu},(o,u)=>u===Ha?A(t.itemId):s[Math.floor(Math.random()*s.length)]);return`
<div class="reel" data-reel="${a}">
<div class="reel__marker"></div>
<div class="reel__strip" data-strip="${a}">
${i.map((o,u)=>{const l=n&&o.id===kt;return`<div class="reel__cell ${l?"reel__cell--secret":""}" ${l&&u===Ha?"data-secret-win":""}>${l?'<span class="reel__secret-mark" aria-hidden="true">?</span>':`<img src="${ee(o.id)}" alt="${H(o)}" />`}</div>`}).join("")}
</div>
</div>`},Su={title:"",render(){const e=c.getState().roulette;if(!e)return"";const t=Zs(e.caseId),a=Ua(e.caseId)&&e.wins.length===1&&e.wins[0]?.itemId===kt;return`
<div class="rou ${window.innerWidth<=1024?"rou--h":""}">
<div class="rou__title" id="rou-title">${e.wins.length>1?r("roulette.openingN",{n:e.wins.length}):r("roulette.opening1")}</div>
<div class="rou__reels" id="rou-reels">${e.wins.map((s,i)=>bu(t,s,i,a)).join("")}</div>
<div class="rou__results" id="rou-results"></div>
</div>`},mount(e){const t=c.getState().roulette;if(!t)return;const{wins:a,preGranted:n=!1,caseId:s}=t,i=window.innerWidth<=1024,o=Ua(s)&&a.length===1&&a[0]?.itemId===kt,u=[];let l=null,d=null;const m=(S,R)=>{const I=C(S,R);return u.push(I),I},p=()=>{u.splice(0).forEach(ge),l?.remove(),l=null,document.body.classList.remove("is-mythic-revealing","is-mythic-exploding")},h=new Map;let _=!1;const b=()=>{a.forEach((S,R)=>{h.get(R)==="sell"?n?Hc(S):Gc(S):n||Fc(S)})},$=()=>{if(_)return;_=!0,b();const S=Be(s),R=S!==null&&c.getState().autumn2026.chests[S]<=0,I=s===ce&&(c.getState().ownedCases?.[ce]??0)<=0;j(R||I?"cases":"case-open",{roulette:void 0}),Wt()},w=()=>{p(),d?.remove(),!_&&(_=!0,b(),Wt())};if(!e.querySelector(".reel"))return w;const V=e.querySelector(".rou__reels"),le=e.scrollHeight-V.offsetHeight,ue=e.clientHeight-le-16,he=[...e.querySelectorAll(".reel")];if(i){const R=Math.max(56,Math.min(150,(ue-16*(a.length-1))/a.length));he.forEach(I=>I.style.height=`${R}px`)}else he.forEach(S=>S.style.height=`${Math.max(200,Math.min(600,ue))}px`);d=document.createElement("div"),d.className="rou-block",document.body.appendChild(d);const U=S=>i?`translateX(${S}px)`:`translateY(${S}px)`;let v=0;a.forEach((S,R)=>{const I=e.querySelector(`[data-strip="${R}"]`),J=I.parentElement,x=i?J.clientWidth:J.clientHeight,G=I.children[Ha],D=i?G.offsetLeft:G.offsetTop,Z=i?G.offsetWidth:G.offsetHeight,ne=D+Z/2-x/2;I.style.transform=U(0),Le(()=>{I.style.transition=`transform ${4.6+R*.5}s cubic-bezier(0.12, 0.7, 0.1, 1)`,I.style.transform=U(-ne)});let ke=!1;const vn=()=>{ke||(ke=!0,++v===a.length&&(o?y():E()))};I.addEventListener("transitionend",vn,{once:!0}),C(vn,(4.8+R*.5)*1e3)});let f=!1,g=!1;function y(){if(g||_)return;g=!0;const S=A(kt);l=document.createElement("div"),l.className="mythic-reveal",l.setAttribute("role","status"),l.setAttribute("aria-live","assertive"),l.innerHTML=`
<div class="mythic-reveal__core">
<span class="mythic-reveal__question" aria-label="${r("season.secretItem")}">?</span>
<img class="mythic-reveal__image" src="${ee(S.id)}" alt="${H(S)}" />
</div>
<div class="mythic-reveal__burst" aria-hidden="true">
${Array.from({length:16},(R,I)=>`<i style="--i:${I}"></i>`).join("")}
</div>`,document.body.appendChild(l),document.body.classList.add("is-mythic-revealing"),P("mythicPulse"),[900,1650,2200,2580,2810,2940].forEach(R=>m(()=>P("mythicPulse"),R)),m(()=>{if(!l||_)return;const R=e.querySelector("[data-secret-win]");R&&(R.classList.add("is-revealed"),R.innerHTML=`<img src="${ee(S.id)}" alt="${H(S)}" />`),document.body.classList.remove("is-mythic-revealing"),document.body.classList.add("is-mythic-exploding"),l.classList.add("is-exploding"),P("mythicExplosion"),m(()=>{l?.remove(),l=null,document.body.classList.remove("is-mythic-exploding"),E()},1200)},3e3)}function E(){if(f)return;f=!0,d?.remove(),P("win");const S=e.querySelector("#rou-title");S.textContent=r("roulette.won"),e.querySelector("#rou-reels").style.display="none";const R=e.querySelector("#rou-results");let I=null;ku(s)&&(I=document.createElement("section"),I.className="rou__reroll",I.innerHTML=`
<button class="btn btn--rewarded rou__reroll-btn" data-reroll>
<span>${r("roulette.rerollFree")}</span><span class="rou__reroll-ad" aria-hidden="true">${bt("Ad")}</span>
</button>
<p class="rou__reroll-warning">${r("roulette.rerollWarning")}</p>`,S.before(I)),R.innerHTML=vu(a),xt(R);let J=a.length;const x=(D,Z)=>{if(h.has(D))return;I?.remove(),I=null,h.set(D,Z);const ne=R.querySelector(`.rwon[data-i="${D}"]`);Z==="keep"?ne?.querySelector(".rwon__btns")?.replaceWith(Object.assign(document.createElement("div"),{className:"rwon__tag",textContent:r("roulette.inInv")})):ne?.remove(),--J<=0&&C($,600)};R.querySelectorAll("[data-keep]").forEach(D=>D.addEventListener("click",()=>x(+D.dataset.keep,"keep"))),R.querySelectorAll("[data-sell]").forEach(D=>D.addEventListener("click",()=>x(+D.dataset.sell,"sell"))),R.querySelector("#rdone").addEventListener("click",()=>{a.forEach((D,Z)=>x(Z,"keep"))});const G=I?.querySelector("[data-reroll]");G?.addEventListener("click",async()=>{if(_||h.size>0||G.disabled)return;G.disabled=!0;const D=await Dc(s,a,n);if(!D.length){G.disabled=!1;return}_=!0,c.setState({roulette:{caseId:s,wins:D,preGranted:n}})})}return w}},_u=280,Mu=240,wu=240,Cu=new Map,Au=new Map;function Yn(e,t,a){const n=Ze(),s=e.get(t)??n;e.has(t)||e.set(t,s);const i=Math.min(a,Math.max(0,n-s));return` style="animation-delay:-${Math.round(i)}ms"`}function Tu(e,t){const a=e.messages[e.messages.length-1]?.build()??"",n=e.kind==="sell"?"рџџў ":"";return`
<button class="chatrow ${t?"is-active":""} ${e.flash==="new"?"is-flash-green":""} ${e.flash==="ignored"?"is-flash-red":""} ${e.closing?"is-closing":""}" data-chat="${e.id}">
${ca(e.npc)}
<span class="chatrow__body">
<span class="chatrow__name">${n}${e.npc.name}</span>
<span class="chatrow__preview">${a}</span>
</span>
</button>`}function Eu(e){if(e.done){const a=e.reportable?`<button class="chatopt" data-report>${r("chats.report")}</button>`:"";return`<div class="chat__done">${r("chats.done")}</div>${a}`}if(e.gate==="open")return`
<button class="chatopt" data-gateword>${e.gateWord}</button>
<button class="chatopt" data-gaterefuse${de("chat-complete")}>${r("dlg.gateRefuse")}</button>`;if(e.kind==="sell"){if(e.wantsTrade)return e.tradeAsked?`<button class="chatopt" data-accepttrade${de("chat-complete")}>${r("chats.optAcceptTrade")}</button>
<button class="chatopt" data-proposesur>${r("chats.optProposeSur")}</button>
<button class="chatopt" data-decline${de("chat-complete")}>${r("chats.optDeclineTrade")}</button>`:`<button class="chatopt" data-asktrade>${r("chats.optAskCond")}</button>
<button class="chatopt" data-proposesur>${r("chats.optProposeSur")}</button>
<button class="chatopt" data-decline${de("chat-complete")}>${r("chats.optDeclineTrade")}</button>`;if(e.asksCondition)return`
<button class="chatopt" data-answercond>${r("chats.optAnswerCond")}</button>
<button class="chatopt" data-refusecond>${r("chats.optRefuseCond")}</button>`;const a=ua(e),n=e.price<a?`<button class="chatopt" data-counter>${r("chats.optCounter")}</button>`:"";return`
<button class="chatopt" data-accept${de("chat-complete")}>${r("chats.optSell",{price:T(e.price)})}</button>
${n}
<button class="chatopt" data-decline${de("chat-complete")}>${r("chats.optDecline")}</button>`}if(e.surcharge)return`
<button class="chatopt" data-acceptsur${de("chat-complete")}>${r("chats.optAcceptSur",{amount:T(e.surcharge)})}</button>
<button class="chatopt" data-countersur>${r("chats.optCounterSur")}</button>
<button class="chatopt" data-declinesur>${r("chats.optDeclineSur")}</button>
<button class="chatopt" data-leave${de("chat-complete")}>${r("chats.optBye")}</button>`;let t="";return e.greeted?e.smalltalkAsked||(t=`<button class="chatopt" data-ask>${r("chats.optAsk")}</button>`,e.questions>0&&(t+=`<button class="chatopt" data-smalltalk>${r("chats.optSmalltalk")}</button>`)):t=`<button class="chatopt" data-greet>${r("chats.optGreet")}</button>`,`
${t}
<button class="chatopt" data-takenow${de("chat-complete")}>${r("chats.optTakeNow")}</button>
<button class="chatopt" data-discount>${r("chats.optDiscount")}</button>
<button class="chatopt" data-trade>${r("chats.optTrade")}</button>
<button class="chatopt" data-leave${de("chat-complete")}>${r("chats.optBye")}</button>`}function ua(e){return e.kind==="sell"?c.getState().listings.find(a=>a.uid===e.uid)?.price??e.price:e.price}function $u(e){if(e.kind!=="sell"||!e.tradeItemId)return"";const t=A(e.tradeItemId),a=Math.round((t.priceMin+t.priceMax)/2),n={uid:"offer",itemId:e.tradeItemId,condition:e.tradeCondition??"new",price:a},s=xe(n,{showCondition:!!e.tradeAsked,hideBadge:!e.tradeAsked});return`<div class="trade-offer"><span class="trade-offer__hint">${r("chats.tradeOfferHint")}</span>${s}</div>`}function Ou(e){const t=e.messages.map((i,o)=>{const u=o===e.messages.length-1&&e.messageEntering===i.from&&e.messageAnimationKey!=null,l=u?Yn(Cu,e.messageAnimationKey,i.from==="player"?_u:Mu):"";return`<div class="bubble bubble--${i.from}${u?" is-entering":""}"${l}>${i.build()}</div>${o===0?$u(e):""}`}).join(""),a=!!(e.typing||e.optionsHidden),n=!a&&e.optionsRevealKey!=null,s=n?Yn(Au,e.optionsRevealKey,wu):"";return`
<div class="chat">
<div class="chat__header">
<button class="chat__back" data-chatback>в†ђ</button>
${ca(e.npc)}
<span class="chat__who"><b>${e.npc.name}</b><span>${an(e.npc.type)}</span></span>
<button class="chat__listing" data-openitem>
<img src="${ee(A(e.itemId).id)}" alt="" />
<span class="chat__listing-info">
<span class="chat__listing-name">${H(A(e.itemId))}</span>
<span class="chat__listing-price">${T(ua(e))}</span>
</span>
</button>
</div>
<div class="chat__body" id="chatbody">${t}${e.typing?'<div class="bubble bubble--npc bubble--typing"><i></i><i></i><i></i></div>':""}</div>
<div class="chat__options ${a?"is-waiting":n?"is-ready":""}"${s}>${a?"":Eu(e)}</div>
</div>`}const Iu={title:"chats.title",render(){const e=c.getState(),t=e.activeChatId??e.chats[0]?.id,a=e.chats.find(s=>s.id===t);if(!e.chats.length)return`<p style="color:var(--c-text-muted)">${r("chats.empty")}</p>`;const n=e.chats.map(s=>Tu(s,s.id===t)).join("");return`
<div class="chats ${e.chatOpen?"is-chat-open":"is-list"}">
<aside class="chats__list">${n}</aside>
<section class="chats__main">${a?Ou(a):""}</section>
</div>`},mount(e){const t=c.getState();!t.chats.some(l=>l.id===t.activeChatId)&&t.chats[0]&&c.setState({activeChatId:t.chats[0].id});const a=()=>c.getState().activeChatId??c.getState().chats[0]?.id??"",n=()=>c.getState().chats.find(l=>l.id===a());let s=!1;const i=(l,d)=>{if(s)return;s=!0;const m=a();l.classList.add("is-selected"),l.closest(".chat__options")?.classList.add("is-sending"),window.setTimeout(()=>d(m),170)},o=(l,d)=>{O(e,l,m=>i(m,d))};O(e,"[data-chat]",l=>{const d=l.dataset.chat;c.setState(m=>({activeChatId:d,chatOpen:!0,chats:m.chats.map(p=>p.id===d?{...p,unread:!1,ignored:!1}:p)}))}),O(e,"[data-chatback]",()=>c.setState({chatOpen:!1})),o("[data-greet]",tc),o("[data-ask]",nc),o("[data-smalltalk]",rc),o("[data-takenow]",ac),O(e,"[data-trade]",()=>{if(!c.getState().inventory.length)return z(r("chats.noTradeItems"));c.setState({activeChatId:a()}),j("trade-pick",{backTo:"chats"})}),o("[data-leave]",dc),O(e,"[data-discount]",()=>{const l=n(),d=A(l.itemId);Ol(d,Math.round(l.price*.9),m=>ic(l.id,m))}),o("[data-gateword]",pc),o("[data-gaterefuse]",mc),O(e,"[data-report]",()=>hc(a())),o("[data-accept]",Nc),O(e,"[data-counter]",()=>{const l=n();Yl(l.price,ua(l),d=>xc(l.id,d))}),o("[data-answercond]",$c),o("[data-refusecond]",Oc),o("[data-asktrade]",Ic),o("[data-accepttrade]",Rc),O(e,"[data-proposesur]",()=>{const l=n();l&&Vl(Ys(l),d=>Bc(l.id,d))}),o("[data-decline]",qc),o("[data-acceptsur]",cc),o("[data-declinesur]",uc),O(e,"[data-countersur]",()=>{const l=n();l?.surcharge&&Wl(l.surcharge,d=>lc(l.id,d))}),O(e,"[data-openitem]",()=>j("chat-item",{activeChatId:a(),backTo:"chats"})),O(e,".trade-offer .card",()=>{const l=n();l?.tradeItemId&&j("item-view",{viewItem:{itemId:l.tradeItemId,condition:l.tradeCondition,revealed:!!l.tradeAsked,label:r("chats.tradeLabel")},backTo:"chats"})});const u=e.querySelector("#chatbody");u&&(u.scrollTop=u.scrollHeight)}},Ru={title:"chats.tradePick",back:!0,render(){const e=c.getState().inventory;return e.length?`<div class="grid">${e.map(a=>{const n=A(a.itemId),s=Math.round((n.priceMin+n.priceMax)/2);return xe({...a,price:s})}).join("")}</div>`:`<p style="color:var(--c-text-muted)">${r("chats.tradeEmpty")}</p>`},mount(e){O(e,".card",t=>{const a=c.getState().activeChatId;a&&oc(a,t.dataset.uid),j("chats")})}},Jn={below:{var:"--c-green",key:"sellSetup.zoneBelow"},market:{var:"--c-blue",key:"sellSetup.zoneMarket"},above:{var:"--c-red",key:"sellSetup.zoneAbove"}},Lu={title:"",back:!0,render(){const e=c.getState(),t=e.chats.find(h=>h.id===e.activeChatId)??e.chats[0];if(!t)return`<p style="color:var(--c-text-muted)">${r("buy.stolen")}</p>`;const a=A(t.itemId),n=ua(t),s={uid:"view",itemId:t.itemId,condition:"new",price:n},i=0,o=Math.round(a.priceMax*1.4),u=h=>Math.min(100,Math.max(0,(h-i)/(o-i)*100)),l=_t(n,a),d=`var(${Jn[l].var})`,m=t.npc,p=t.kind==="sell"?`<div class="seller">
<span class="seller__info"><span class="seller__name">${r("chats.sellerYou")}</span></span>
</div>`:`<div class="seller">
${ca(m)}
<span class="seller__info">
<span class="seller__name">${m.name}</span>
<span class="seller__type">${an(m.type)}</span>
${m.hobby?`<span class="seller__hobby">${r("chats.hobby",{hobby:_s(m.hobby)})}</span>`:""}
${m.wants.length?`<span class="seller__wants">${r("chats.wants",{items:m.wants.map(h=>H(A(h))).join(", ")})}</span>`:""}
</span>
</div>`;return`
<div class="buyitem">
<div class="buyitem__left">${xe(s)}</div>
<div class="buyitem__right">
${p}
<div class="panel">
<div class="panel__title">${r("buy.estimate")} <b style="color:${d}">${r(Jn[l].key)}</b></div>
<div class="slider">
<div class="slider__track" style="background:linear-gradient(90deg, var(--c-green) ${u(a.priceMin)}%, var(--c-blue) ${u(a.priceMin)}%, var(--c-blue) ${u(a.priceMax)}%, var(--c-red) ${u(a.priceMax)}%)"></div>
<div class="slider__mark" style="left:${u(a.priceMin)}%"><span class="dot dot--green"></span><span class="slider__mark-label">${T(a.priceMin)}</span></div>
<div class="slider__mark" style="left:${u(a.priceMax)}%"><span class="dot dot--red"></span><span class="slider__mark-label">${T(a.priceMax)}</span></div>
<div class="slider__pin" style="left:${u(n)}%"></div>
<div class="slider__value" style="left:${u(n)}%; color:${d}">${T(n)}</div>
</div>
</div>
</div>
</div>`}},Zn={below:{var:"--c-green",key:"sellSetup.zoneBelow"},market:{var:"--c-blue",key:"sellSetup.zoneMarket"},above:{var:"--c-red",key:"sellSetup.zoneAbove"}},Bu={title:"",back:!0,render(){const e=c.getState(),t=e.listings.find(l=>l.uid===e.selectedMarketUid);if(!t)return`<p style="color:var(--c-text-muted)">${r("buy.notFound")}</p>`;const a=A(t.itemId),n=0,s=Math.round(a.priceMax*1.4),i=l=>Math.min(100,Math.max(0,(l-n)/(s-n)*100)),o=_t(t.price,a),u=`var(${Zn[o].var})`;return`
<div class="buyitem">
<div class="buyitem__left">
${xe(t,{showCondition:!0})}
<button class="btn btn--red" data-unlist data-interstitial="unlist-item">${r("sales.unlist")}</button>
</div>
<div class="buyitem__right">
<div class="seller"><span class="seller__info"><span class="seller__name">${r("chats.sellerYou")}</span></span></div>
<div class="panel">
<div class="panel__title">${r("buy.estimate")} <b style="color:${u}">${r(Zn[o].key)}</b></div>
<div class="slider">
<div class="slider__track" style="background:linear-gradient(90deg, var(--c-green) ${i(a.priceMin)}%, var(--c-blue) ${i(a.priceMin)}%, var(--c-blue) ${i(a.priceMax)}%, var(--c-red) ${i(a.priceMax)}%)"></div>
<div class="slider__mark" style="left:${i(a.priceMin)}%"><span class="dot dot--green"></span><span class="slider__mark-label">${T(a.priceMin)}</span></div>
<div class="slider__mark" style="left:${i(a.priceMax)}%"><span class="dot dot--red"></span><span class="slider__mark-label">${T(a.priceMax)}</span></div>
<div class="slider__pin" style="left:${i(t.price)}%"></div>
<div class="slider__value" style="left:${i(t.price)}%; color:${u}">${T(t.price)}</div>
</div>
</div>
</div>
</div>`},mount(e){O(e,"[data-unlist]",()=>{Ws(c.getState().selectedMarketUid),j("sales")})}},Nu={title:"",back:!0,render(){const e=c.getState().viewItem;if(!e)return`<p style="color:var(--c-text-muted)">${r("buy.notFound")}</p>`;const t=A(e.itemId),a=Math.round((t.priceMin+t.priceMax)/2),n={uid:"view",itemId:e.itemId,condition:e.condition??"new",price:a},s=0,i=Math.round(t.priceMax*1.4),o=l=>Math.min(100,Math.max(0,(l-s)/(i-s)*100)),u=e.label?`<div class="seller"><span class="seller__info"><span class="seller__name">${e.label}</span></span></div>`:"";return`
<div class="buyitem">
<div class="buyitem__left">${xe(n,{showCondition:!!e.revealed,hideBadge:!e.revealed})}</div>
<div class="buyitem__right">
${u}
<div class="panel">
<div class="panel__title">${r("buy.estimate")} <b style="color:var(--c-blue)">${r("sellSetup.zoneMarket")}</b></div>
<div class="slider">
<div class="slider__track" style="background:linear-gradient(90deg, var(--c-green) ${o(t.priceMin)}%, var(--c-blue) ${o(t.priceMin)}%, var(--c-blue) ${o(t.priceMax)}%, var(--c-red) ${o(t.priceMax)}%)"></div>
<div class="slider__mark" style="left:${o(t.priceMin)}%"><span class="dot dot--green"></span><span class="slider__mark-label">${T(t.priceMin)}</span></div>
<div class="slider__mark" style="left:${o(t.priceMax)}%"><span class="dot dot--red"></span><span class="slider__mark-label">${T(t.priceMax)}</span></div>
<div class="slider__pin" style="left:${o(a)}%"></div>
<div class="slider__value" style="left:${o(a)}%; color:var(--c-blue)">${T(a)}</div>
</div>
</div>
</div>
</div>`}},pr=[{id:"coins1k",coins:1e3,yan:1,img:"money_1k.jpg"},{id:"coins10k",coins:1e4,yan:5,img:"money_10k.jpg"},{id:"coins100k",coins:1e5,yan:25,img:"money_100k.jpg"},{id:"coins500k",coins:5e5,yan:49,img:"money_500k.jpg"},{id:"coins1m",coins:1e6,yan:75,img:"money_1m.jpg"},{id:"coins10m",coins:1e7,yan:99,img:"money_10m.jpg"},{id:"coins100m",coins:1e8,yan:125,img:"money_100m.jpg"},{id:"coins500m",coins:5e8,yan:149,img:"money_500m.jpg"},{id:"coins1b",coins:1e9,yan:199,img:"money_1b.jpg"},{id:"coins10b",coins:1e10,yan:399,img:"money_10b.jpg"},{id:"starterpack",yan:99,kind:"starter",img:"starter.jpg"},{id:"autumnpack",yan:199,kind:"autumn",img:"season_bundle.jpg"},{id:"megapack",yan:699,kind:"mega",img:"mega.jpg"},{id:"noads",yan:49,kind:"noads",img:"no_ads.svg"}],At=e=>pr.find(t=>t.id===e);let hr={};async function xu(){const e=await M.getCatalog().catch(()=>[]);hr=Object.fromEntries(e.map(t=>[t.id,t]))}function Oe(e){const t=hr[e];if(t){const n=t.currencyCode?`<span class="cur-name">${t.currencyCode}</span>`:"",s=t.currencyImage?`<img class="cur-icon" src="${t.currencyImage}" alt="" />`:"";return`${t.priceValue}${n?` ${n}`:""}${s?` ${s}`:""}`}const a=At(e);return a?`${a.yan} YAN`:""}function fr(e){const t=At(e);t&&(t.kind==="starter"?al():t.kind==="autumn"?nl():t.kind==="mega"?sl():t.kind==="noads"?rl():t.coins!=null&&Jc(t.coins,t.yan))}async function De(e){const t=await M.purchase(e);return t?(fr(t.productId),await M.consume(t.token),!0):!1}async function qu(){const e=await M.getPurchases().catch(()=>[]);for(const t of e)fr(t.productId),await M.consume(t.token)}function Qn(e){const t=Math.floor(e/1e3),a=Math.floor(t/3600),n=Math.floor(t%3600/60),s=t%60;return`${a}:${String(n).padStart(2,"0")}:${String(s).padStart(2,"0")}`}const Pu=At("starterpack"),Du=At("autumnpack"),zu=At("megapack"),ju=pr.filter(e=>e.coins!=null),Fu={title:"shop.title",render(){const e=c.getState(),t=!!e.noAds,a=st(),n=Ve()?`
<div class="shopcard is-promo">
<div class="promo-sticker">
<span class="promo-sticker__label">${r("shop.promo")}</span>
<span class="promo-sticker__timer" id="starter-timer">${Qn(Ut())}</span>
</div>
<div class="shopcard__photo"><img src="${ie(Pu.img)}" alt="" /></div>
<div class="shopcard__amount">${r("shop.starter")}</div>
<button class="shopcard__buy" data-starter-info>${r("shop.details")}</button>
</div>`:"",s=a.available?`
<div class="shopcard shopcard--autumn-bundle">
<div class="promo-sticker promo-sticker--autumn">
<span class="promo-sticker__label">${r("shop.promo")}</span>
<span class="promo-sticker__timer" id="autumn-bundle-timer">${Ga(a.remainingMs)}</span>
</div>
<div class="shopcard__photo"><img src="${ie(Du.img)}" alt="" /></div>
<div class="shopcard__amount">${r("shop.autumnBundle")}</div>
<button class="shopcard__buy" data-autumn-bundle-info>${r("shop.details")}</button>
</div>`:"",i=e.megaBundleBought?"":`
<div class="shopcard shopcard--mega is-promo">
<div class="promo-sticker">
<span class="promo-sticker__label">${r("shop.promo")}</span>
<span class="promo-sticker__timer">${r("shop.megaBenefit")}</span>
</div>
<div class="shopcard__photo"><img src="${ie(zu.img)}" alt="" /></div>
<div class="shopcard__amount">${r("shop.megaBundle")}</div>
<button class="shopcard__buy" data-mega-bundle-info>${r("shop.details")}</button>
</div>`,o=dt(),u=t?"":`
<div class="shopcard">
<div class="shopcard__photo"><img src="${ie(o)}" alt="" /></div>
<div class="shopcard__amount">${r("shop.noAds")}</div>
<button class="shopcard__buy" data-buy="noads">${Oe("noads")}</button>
</div>`,l=ju.map(b=>`
<div class="shopcard">
<div class="shopcard__photo"><img src="${ie(b.img)}" alt="" /></div>
<div class="shopcard__amount">${T(b.coins)}</div>
<button class="shopcard__buy" data-buy="${b.id}">${Oe(b.id)}</button>
</div>`).join(""),d=`${n}${s}${i}${u}`,m=d.length>0,p=m?e.shopTab??"offers":"currency";return`${m?`<div class="shop-tabs" role="tablist">
<button class="shop-tab ${p==="offers"?"is-active":""}" data-shop-tab="offers" role="tab" aria-selected="${p==="offers"}">${r("shop.offers")}</button>
<button class="shop-tab ${p==="currency"?"is-active":""}" data-shop-tab="currency" role="tab" aria-selected="${p==="currency"}">${r("shop.currency")}</button>
</div>`:""}<div class="grid grid--shop">${p==="offers"?d:l}</div>
<p class="shop__disclaimer">${r("shop.disclaimer")}</p>`},mount(e){O(e,"[data-shop-tab]",u=>{c.setState({shopTab:u.dataset.shopTab})}),O(e,"[data-buy]",u=>{De(u.dataset.buy)}),O(e,"[data-starter-info]",()=>Bl(Oe("starterpack"),!c.getState().noAds,()=>De("starterpack"))),O(e,"[data-autumn-bundle-info]",()=>xl(Oe("autumnpack"),!c.getState().noAds,()=>De("autumnpack"))),O(e,"[data-mega-bundle-info]",()=>Dl(Oe("megapack"),!c.getState().noAds,()=>De("megapack")));const t=st(),a=e.querySelector("#starter-timer"),n=e.querySelector("#autumn-bundle-timer");let s=Ve(),i=`${t.phase}:${t.cycle}`;if(!s&&t.phase==="ended")return;const o=St(()=>{if(we())return;const u=Ve();if(u!==s){s=u,Pe(o),j("shop");return}if(a){const m=Ut();if(m<=0){Pe(o),j("shop");return}a.textContent=Qn(m)}const l=st(),d=`${l.phase}:${l.cycle}`;if(d!==i){i=d,Pe(o),j("shop");return}n&&l.available&&(n.textContent=Ga(l.remainingMs))},1e3);return()=>Pe(o)}};function kn(e){return e<5e4?"tier3":e<5e5?"tier4":e<5e6?"tier5":e<5e7?"tier6":e<3e9?"tier7":"tier8"}const gr=e=>r(`caseName.${kn(e)}`);function Xn(){if(c.getState().reviewRewardGiven)return;const e=kn(c.getState().coins);c.setState(t=>({reviewRewardGiven:!0,ownedCases:{...t.ownedCases,[e]:(t.ownedCases?.[e]??0)+1}})),P("gift"),z(r("toast.giftGot",{name:r(`caseName.${e}`)}))}async function yr(){const{value:e,reason:t}=await M.canReview();if(e){await M.requestReview()&&Xn();return}if(t==="NO_AUTH"){ur(()=>kr());return}if(t==="GAME_RATED"){Xn();return}Kl()}async function kr(){await M.auth()&&yr()}function vr(){if(c.getState().reviewRewardGiven){z(r("popup.reviewGiven"));return}if(!M.isAuthorized()){ur(()=>kr());return}yr()}const br={tier1:"case_1.jpg",tier2:"case_2.jpg",tier3:"case_3.jpg",tier4:"case_4.jpg",tier5:"case_5.jpg",tier6:"case_6.jpg",tier7:"case_7.jpg",tier8:"case_8.jpg"},Gu=e=>e.kind==="case"?ve(br[e.caseId]??""):e.kind==="autumnChest"?Ie[e.chestId].image:ee(e.itemId),Hu=e=>e.kind==="case"?r(`caseName.${e.caseId}`):e.kind==="autumnChest"?r(`season.chest.${e.chestId}`):H(A(e.itemId)),Uu={title:"gifts.title",render(){const e=c.getState(),t=e.vkCommunityRewardGiven?"":`
<div class="giftcard giftcard--vk is-next">
<div class="giftcard__day">${r("gifts.subscription")}</div>
<div class="giftcard__photo"><img src="${ve("case_vk.jpg")}" alt="" /></div>
<div class="giftcard__reward">${r("caseName.vk")}</div>
<button class="giftcard__claim giftcard__claim--vk" data-vk-gift>${r("gifts.get")}</button>
</div>`,a=e.reviewRewardGiven?"":`
<div class="giftcard is-next">
<div class="giftcard__day">${r("gifts.review")}</div>
<div class="giftcard__photo"><img src="${ve(br[kn(e.coins)]??"")}" alt="" /></div>
<div class="giftcard__reward">${gr(e.coins)}</div>
<button class="giftcard__claim" data-review>${r("gifts.forReview")}</button>
</div>`,n=Ht(),s=Gt.map(i=>{const o=i.day<=n.displayStreak,u=n.available&&i.day===n.nextDay,l=o?`<button class="giftcard__claim is-claimed" disabled>${r("common.got")}</button>`:u?`<button class="giftcard__claim" data-day="${i.day}" data-interstitial="daily-reward">${r("gifts.claim")}</button>`:`<button class="giftcard__claim is-locked" disabled>${r("common.unavailable")}</button>`;return`
<div class="giftcard ${u?"is-next":""}">
<div class="giftcard__day">${i.day} ${r("gifts.day")}</div>
<div class="giftcard__photo"><img src="${Gu(i)}" alt="" /></div>
<div class="giftcard__reward">${Hu(i)}</div>
${l}
</div>`}).join("");return`<div class="grid grid--gifts">${t}${a}${s}</div>`},mount(e){O(e,"[data-day]",t=>Yc(+t.dataset.day)),O(e,"[data-review]",()=>vr()),O(e,"[data-vk-gift]",()=>{jl(()=>{window.open(zo,"_blank","noopener,noreferrer"),Vc()})})}},Ku=["collectors","rich","sellers"],Bt=10;function Sr(e){const t=Number.isFinite(e)?String(Math.trunc(Math.abs(e))).length:7;return t>=7?"is-rank-very-long":t>=4?"is-rank-long":""}function Wu(e){const t=c.getState();return e==="collectors"?(t.seenItems??[]).length:e==="rich"?t.coins:t.salesCount}function _r(e,t){return e==="rich"?T(t):e==="collectors"?Je("leaders.items",t,{total:X.length}):Je("leaders.sold",t)}function Mr(e,t){if(!t)return e.slice(0,Bt).map(s=>({...s,me:!1}));const a=e.filter(s=>s.rank!==t.rank).map(s=>({...s,me:!1})),n={...t,name:r("leaders.you"),me:!0};return t.rank<=Bt?[...a,n].sort((s,i)=>s.rank-i.rank).slice(0,Bt):[...a.slice(0,Bt-1),n]}function Vu(e,t){return`
<div class="leadrow ${t.me?"is-me":""}">
<span class="leadrow__rank ${Sr(t.rank)}">${t.rank}</span>
<span class="leadrow__name">${t.name}</span>
<span class="leadrow__score">${_r(e,t.score)}</span>
</div>`}const Yu={title:"common.leaders",render(){const e=c.getState().leadersTab??"collectors",t=Wu(e),a=e!=="sellers"||!xa(t);return`
<div class="leaders">
<div class="invtabs">${Ku.map(s=>`<button class="invtab ${s===e?"is-active":""}" data-leadtab="${s}">${r(`leaders.${s}`)}</button>`).join("")}</div>
<div class="leadlist" id="leadlist">
${a?`<div class="leadrow is-me">
<span class="leadrow__rank">…</span>
<span class="leadrow__name">${r("leaders.you")}</span>
<span class="leadrow__score">${_r(e,t)}</span>
</div>`:""}
<p class="leaders__loading">${r("leaders.loading")}</p>
</div>
</div>`},mount(e){O(e,"[data-leadtab]",s=>c.setState({leadersTab:s.dataset.leadtab}));const t=c.getState().leadersTab??"collectors",a=e.querySelector("#leadlist");let n=!1;return M.getLeaderboard(qe[t]).then(({entries:s,playerEntry:i})=>{if(n||!a)return;const o=p=>({...p,score:No(t,p.score)}),u=s.map(o),l=i?o(i):void 0,d=p=>t==="sellers"&&xa(p.score),m=Mr(u.filter(p=>!d(p)),l&&!d(l)?l:void 0);a.innerHTML=m.map(p=>Vu(t,p)).join("")}).catch(()=>{}),()=>{n=!0}}},Ju="./assets/work/pc_off.png",Zu="./assets/work/pc_on.png",Qu={title:"work.title",render(){const e=c.getState().workLevel??1,t=Da(e);return`
<div class="work">
<div class="work__hint">${r("work.hint")}</div>
<button class="work__pc" data-work-click aria-label="${r("work.hint")}">
<img class="work__pc-img work__pc-off" src="${Ju}" alt="" />
<img class="work__pc-img work__pc-on" src="${Zu}" alt="" />
</button>
<div class="work__stats">
<div class="work__income">${r("work.perClick")}<b>${T(ol(e))}</b></div>
<div class="work__level">${r("work.level",{n:e})}</div>
</div>
<button class="work__upgrade" id="work-up" data-interstitial="work-upgrade">${r("work.upgrade",{price:T(t)})}</button>
</div>`},mount(e){const t=e.querySelector(".work__pc"),a=e.querySelector("#work-up"),n=e.querySelector(".work"),s=()=>{if(!a)return;const l=c.getState().workLevel??1,d=c.getState().coins>=Da(l);a.classList.toggle("is-on",d),a.classList.toggle("is-off",!d),a.disabled=!d};s();const i=c.subscribe(s);let o=0;const u=l=>{const d=c.getState().coins;cl(),P("tap");const m=c.getState().coins-d;m>0&&Xu(n,l,m),t.classList.add("is-on"),t.classList.remove("is-hit"),t.offsetWidth,t.classList.add("is-hit"),ge(o),o=C(()=>t.classList.remove("is-on"),2e3)};return t.addEventListener("pointerdown",u),O(e,"#work-up",()=>{ll()}),()=>{ge(o),i()}}};function Xu(e,t,a){const n=e.getBoundingClientRect(),s=document.createElement("div");s.className="work__pop",s.textContent=`+${T(a)}`,s.style.left=`${t.clientX-n.left}px`,s.style.top=`${t.clientY-n.top}px`,e.appendChild(s),s.addEventListener("animationend",()=>s.remove(),{once:!0})}let Ca=!1;const ed={tier1:"case_1.jpg",tier2:"case_2.jpg",tier3:"case_3.jpg",tier4:"case_4.jpg",tier5:"case_5.jpg",tier6:"case_6.jpg",tier7:"case_7.jpg",tier8:"case_8.jpg"},td={1e3:"money_1k.jpg",5e5:"money_500k.jpg",1e6:"money_1m.jpg",1e7:"money_10m.jpg",1e10:"money_10b.jpg"};function ad(){const e=c.getState();Ca||!Ia(M.now(),e.tutorialDone===!0,e.autumnGuideSeen===!0)||(Ca=!0,queueMicrotask(()=>{Ca=!1;const t=c.getState();t.screen!=="season"||!Ia(M.now(),t.tutorialDone===!0,t.autumnGuideSeen===!0)||(c.setState({autumnGuideSeen:!0}),dr(()=>j("cases",{backTo:"season"})))}))}function nd(e){const t=be.some(a=>Xt(c.getState().autumn2026,a.required));return`<div class="invtabs season-tabs">
${["collection","rewards","leaders"].map(a=>`<button class="invtab ${e===a?"is-active":""} ${a==="rewards"&&t?"has-reward":""}" data-season-tab="${a}">${r(`season.tab.${a}`)}${a==="rewards"&&t?'<i class="season-tab__dot"></i>':""}</button>`).join("")}
</div>`}function sd(){const e=c.getState().autumn2026,t=je(e),a=gs(M.now());return`<section class="season-hero">
<div class="season-hero__copy">
<span class="season-hero__eyebrow">${r("season.eyebrow")}</span>
<h2>${r("season.heroTitle")}</h2>
<p class="season-hero__countdown">${rd(a)}</p>
</div>
<div class="season-stats">
<div class="season-stat"><b>${t}/${se.length}</b><small>${r("season.collected")}</small></div>
<div class="season-stat"><b>${e.sales}</b><small>${r("season.sales")}</small></div>
</div>
</section>`}function rd(e){if(e<=0)return r("season.heroEnded");const t=e%100,a=e%10,n=t>=11&&t<=14?"season.heroDaysMany":a===1?"season.heroDaysOne":a>=2&&a<=4?"season.heroDaysFew":"season.heroDaysMany";return r(n,{n:`<b>${e}</b>`})}function id(e){return e.kind==="leaves"?r("season.rewardLeaves",{n:e.amount}):e.kind==="coins"?T(e.amount):e.kind==="autumnChest"?`${e.amount}Г— ${r(`season.chest.${e.chestId}`)}`:e.kind==="case"?`${e.amount}Г— ${r(`caseName.${e.caseId}`)}`:H(A(e.itemId))}function od(e){if(e.kind==="coins"){const a=td[e.amount];return a?`<span class="season-reward-media"><img src="${ie(a)}" alt="${T(e.amount)}" /></span>`:'<span class="season-reward-media season-reward-media--currency" aria-hidden="true">в‚Ѕ</span>'}if(e.kind==="leaves")return'<span class="season-reward-media season-reward-media--currency" aria-hidden="true">+</span>';if(e.kind==="autumnChest")return`<span class="season-reward-media"><img src="${Ie[e.chestId].image}" alt="${r(`season.chest.${e.chestId}`)}" /></span>`;if(e.kind==="case")return`<span class="season-reward-media"><img src="${ve(ed[e.caseId]??"")}" alt="${r(`caseName.${e.caseId}`)}" /></span>`;const t=A(e.itemId);return`<span class="season-reward-media"><img src="${ee(t.id)}" alt="${H(t)}" /></span>`}function cd(e){const t=be.length-1,a=be[0];if(e<=a.required)return 0;for(let n=0;n<t;n+=1){const s=be[n],i=be[n+1];if(e>i.required)continue;const o=(e-s.required)/(i.required-s.required);return(n+o)/t*100}return 100}function ld(){const e=c.getState().autumn2026,t=je(e),a=cd(t).toFixed(2),n=be.map(s=>{const i=s.showcaseItemId?A(s.showcaseItemId):void 0,o=!!i&&(e.items[i.id]??0)>0,u=e.claimedMilestones.includes(s.required),l=t>=s.required,d=i?o?"is-complete":"is-locked":u?"is-claimed":l?"is-ready":"is-locked",m=s.rewards.length>1?"is-multi":"",p=i?`<div class="season-milestone__card season-milestone__card--showcase">
<div class="season-milestone__rewards season-milestone__rewards--showcase">
<span class="season-reward-media season-reward-media--secret ${o?"is-revealed":""}">${o?`<img src="${ee(i.id)}" alt="${H(i)}" />`:`<span class="season-reward-secret-mark" aria-label="${r("season.secretItem")}">?</span>`}
</span>
</div>
</div>`:`<div class="season-milestone__card">
<small>${Je("season.forItems",s.required)}</small>
<div class="season-milestone__rewards ${m}">
${s.rewards.map(h=>`<div>${od(h)}<b>${id(h)}</b></div>`).join("")}
</div>
${u?`<button disabled>${r("season.claimed")}</button>`:l?`<button data-autumn-claim="${s.required}" data-interstitial="season-reward">${r("season.claim")}</button>`:`<button disabled>${r("season.needMore",{n:s.required-t})}</button>`}
</div>`;return`<article class="season-milestone ${d}" data-season-milestone="${s.required}">
<div class="season-milestone__need">${s.required}</div>
<span class="season-milestone__dot">${u||o?"вњ“":""}</span>
${p}
</article>`}).join("");return`<section class="season-progress" data-season-progress="orange"
style="--season-progress:${a}%;--milestone-count:${be.length}">
<div class="season-path-head">
<div><span>${r("season.rewardEyebrow")}</span><h3>${r("season.rewardTitle")}</h3></div>
<b>${t}<small>/ ${se.length}</small></b>
</div>
<div class="season-progress__rail">
<button class="season-progress__arrow" data-season-scroll="-1" aria-label="${r("season.scrollPrevious")}">‹</button>
<div class="season-progress__viewport" data-season-viewport>
<div class="season-progress__track">
<div class="season-progress__line"><i></i></div>
<div class="season-timeline">${n}</div>
</div>
</div>
<button class="season-progress__arrow" data-season-scroll="1" aria-label="${r("season.scrollNext")}">›</button>
</div>
</section>`}function ud(e){const t=e.querySelector("[data-season-viewport]"),a=[...e.querySelectorAll("[data-season-scroll]")];if(!t||a.length===0)return()=>{};const n=[...t.querySelectorAll(".season-milestone")],s=[...t.querySelectorAll(".season-milestone.is-ready")],i=s[s.length-1]??t.querySelector(".season-milestone.is-locked")??t.querySelector(".season-milestone:last-child"),o=p=>{const h=p.offsetLeft-(t.clientWidth-p.offsetWidth)/2;return Math.max(0,Math.min(h,t.scrollWidth-t.clientWidth))},u=()=>{const p=t.scrollLeft+t.clientWidth/2;let h=0,_=Number.POSITIVE_INFINITY;return n.forEach((b,$)=>{const w=b.offsetLeft+b.offsetWidth/2,L=Math.abs(w-p);L<_&&(h=$,_=L)}),h},l=()=>{const p=t.scrollLeft<=2,h=t.scrollLeft>=t.scrollWidth-t.clientWidth-2;for(const _ of a)_.disabled=Number(_.dataset.seasonScroll)<0?p:h},d=p=>{const h=p.currentTarget,_=Number(h.dataset.seasonScroll)||1,b=Math.max(0,Math.min(n.length-1,u()+_)),$=n[b];$&&t.scrollTo({left:o($),behavior:"smooth"})};for(const p of a)p.addEventListener("click",d);t.addEventListener("scroll",l,{passive:!0}),window.addEventListener("resize",l);const m=requestAnimationFrame(()=>{i&&(t.scrollLeft=o(i)),l()});return()=>{cancelAnimationFrame(m);for(const p of a)p.removeEventListener("click",d);t.removeEventListener("scroll",l),window.removeEventListener("resize",l)}}function dd(e,t){const a=Je(t==="sales"?"season.sold":"season.itemsCount",e.score);return`<div class="leadrow ${e.me?"is-me":""}">
<span class="leadrow__rank ${Sr(e.rank)}">${e.rank}</span>
<span class="leadrow__name">${e.name}</span>
<span class="leadrow__score">${a}</span>
</div>`}function es(e,t,a){return`<section class="season-leaderboard${a===e?" is-active":""}" data-season-leaderboard="${e}">
<div class="season-leaderboard__title"><h3>${t}</h3></div>
<div class="season-leadlist" id="season-leaders-${e}">
<p class="leaders__loading">${r("leaders.loading")}</p>
</div>
</section>`}function md(e){if(e<=0)return r("season.leaderEnded");const t=e%100,a=e%10,n=t>=11&&t<=14?"season.leaderDaysMany":a===1?"season.leaderDaysOne":a>=2&&a<=4?"season.leaderDaysFew":"season.leaderDaysMany";return r(n,{n:e})}function pd(){const e=gs(M.now()),t=c.getState().seasonLeaderboardTab??"sales";return`<div class="season-leaders-intro"><h3>${r("season.leaderTitle")}</h3><p>${md(e)}</p></div>
<div class="invtabs season-leader-switch">
<button class="invtab ${t==="sales"?"is-active":""}" data-season-leader-tab="sales" aria-pressed="${t==="sales"}">${r("leaders.sellers")}</button>
<button class="invtab ${t==="collection"?"is-active":""}" data-season-leader-tab="collection" aria-pressed="${t==="collection"}">${r("leaders.collectors")}</button>
</div>
<div class="season-leaderboards">
${es("sales",r("season.leaderSales"),t)}
${es("collection",r("season.leaderCollection"),t)}
</div>`}function hd(e){let t=!1;const a=(n,s)=>{const i=e.querySelector(`#season-leaders-${n}`);M.getLeaderboard(s).then(({entries:o,playerEntry:u})=>{if(t||!i)return;const l=m=>n==="sales"&&xa(m.score),d=Mr(o.filter(m=>!l(m)),u&&!l(u)?u:void 0);i.innerHTML=d.length>0?d.map(m=>dd(m,n)).join(""):`<p class="leaders__loading">${r("season.leaderEmpty")}</p>`}).catch(()=>{t||!i||(i.innerHTML=`<p class="leaders__loading">${r("season.leaderEmpty")}</p>`)})};return a("sales",qe.autumnSales),a("collection",qe.autumnCollectors),()=>{t=!0}}const fd={title:"season.title",render(){const e=c.getState().seasonTab??"collection",t=e==="collection"?mr():e==="rewards"?ld():pd();return`<div class="season">${sd()}${nd(e)}<div class="season-content">${t}</div></div>`},mount(e){if(O(e,"[data-season-tab]",t=>c.setState({seasonTab:t.dataset.seasonTab})),O(e,"[data-season-leader-tab]",t=>c.setState({seasonLeaderboardTab:t.dataset.seasonLeaderTab})),O(e,"[data-autumn-claim]",t=>gc(Number(t.dataset.autumnClaim))),ad(),(c.getState().seasonTab??"collection")==="leaders")return hd(e);if((c.getState().seasonTab??"collection")==="rewards")return ud(e)}},gd={buy:Tl,"buy-item":El,inventory:tu,sales:nu,"sell-setup":iu,cases:du,"case-open":hu,roulette:Su,chats:Iu,"trade-pick":Ru,"chat-item":Lu,"listing-item":Bu,"item-view":Nu,shop:Fu,gifts:Uu,leaders:Yu,season:fd,work:Qu};function yd(e){if(e.isAuthorized()){e.onGranted();return}e.showPrompt(()=>{e.authorize().then(t=>{t&&e.onGranted()})})}const kd=[{id:"buy",icon:"Cart"},{id:"inventory",icon:"Items"},{id:"sales",icon:"Sales"},{id:"cases",icon:"Cases",center:!0},{id:"chats",icon:"Message"},{id:"shop",icon:"Shop"},{id:"season",icon:"season"}],ts={buy:"buy","buy-item":"buy",inventory:"inventory",sales:"sales","sell-setup":"sales",cases:"cases","case-open":"cases",roulette:"cases",chats:"chats","trade-pick":"chats","chat-item":"chats","listing-item":"sales","item-view":"chats",shop:"shop",gifts:"gifts",leaders:"leaders",season:"season",work:"work"},vd=e=>{const t=e.backTo??"buy";return{screen:t,backTo:t==="case-open"?"cases":void 0}};function bd(e){return`
<header class="topbar">
${e.back?'<button class="backbtn" data-back>в†ђ</button>':`<div class="topbar__left">
${bt("logo")}
<button class="topbar__gear" data-settings>${bt("Settings")}</button>
<button class="topgift ${c.getState().screen==="gifts"?"is-active":""}" data-nav="gifts"${de("navigation")} aria-label="${r("nav.gifts")}">
<span class="topgift__icon" style="${Vt("Gift")}"></span>${Wc()?'<span class="topgift__dot"></span>':""}
</button>
<button class="pill topwork ${c.getState().screen==="work"?"is-active":""}" data-nav="work"${de("navigation")} aria-label="${r("nav.work")}">
<span class="topwork__icon" style="${Vt("work.png")}"></span><span class="topwork__label">${r("nav.work")}</span>
</button>
<button class="pill ${c.getState().screen==="leaders"?"is-active":""}" data-leaders>${r("common.leaders")}</button>
</div>`}
<h1 class="topbar__title">${e.title?r(e.title):""}</h1>
<div class="topbar__money"><button class="money__plus" data-shop aria-label="${r("nav.shop")}">+</button> <span class="money__val">${T(c.getState().coins)}</span></div>
</header>`}const Vt=e=>{const t=e.includes(".")?e:`${e}.svg`;return`--ic:url(${new URL(`assets/icons/${t}`,document.baseURI).href})`},wr=e=>{const t=Math.floor(e/1e3);return`${Math.floor(t/3600)}:${String(Math.floor(t%3600/60)).padStart(2,"0")}`};function Sd(e){const t=c.getState(),a=t.chats.some(o=>o.unread),n=be.some(o=>Xt(t.autumn2026,o.required)),s=!!t.marketFresh,i=Ve();return`<nav class="bottomnav">
${kd.map(o=>{const l=o.id==="chats"&&a||o.id==="buy"&&s||o.id==="season"&&n?`<span class="navitem__dot ${o.id==="season"?"navitem__dot--season":""}"></span>`:"",d=o.id==="shop"&&i?`<span class="navitem__timer" id="shop-timer">${wr(Ut())}</span>`:"";return o.center?`<button class="navitem navitem--center ${e===o.id?"is-active":""}" data-nav="${o.id}"${de("navigation")}>
<span class="navitem__circle">
<span class="navitem__icon" style="${Vt(o.icon)}"></span>
<span class="navitem__label">${r(`nav.${o.id}`)}</span>
</span>
</button>`:`<button class="navitem ${e===o.id?"is-active":""}" data-nav="${o.id}"${de("navigation")}>
<span class="navitem__iconwrap">
<span class="navitem__icon" style="${Vt(o.icon)}"></span>${l}${d}
</span>
<span class="navitem__label">${r(`nav.${o.id}`)}</span>
</button>`}).join("")}
</nav>`}function _d(e){const t=document.createElement("div");document.body.appendChild(t);const a=document.createElement("div");a.className="season-reward-alert-layer",document.body.appendChild(a);let n;function s(){const v=c.getState().toast;v!==n&&(n=v,t.innerHTML=v?`<div class="toast">${v}</div>`:"")}let i,o=0,u=0;const l=300;function d(v,f=!1){const g=v??i,y=a.querySelector(".season-reward-alert");if(!y){i===g&&(i=void 0),f&&c.getState().seasonRewardNotice?.id===g&&c.setState({seasonRewardNotice:void 0});return}y.classList.contains("is-leaving")||(y.classList.add("is-leaving"),ge(u),u=C(()=>{y.isConnected&&y.remove(),i===g&&(i=void 0),f&&c.getState().seasonRewardNotice?.id===g&&c.setState({seasonRewardNotice:void 0})},l))}function m(){const v=c.getState(),f=v.seasonRewardNotice;if(f&&v.screen==="season"){ge(o),d(f.id,!0);return}if(f&&(v.screen==="case-open"||v.screen==="roulette")){ge(u),a.innerHTML="",i=void 0;return}if(!f){ge(o),d();return}f.id!==i&&(i=f.id,P("seasonReward"),ge(u),a.innerHTML=`
<section class="season-reward-alert" role="status" aria-live="polite">
<span class="season-reward-alert__icon"><img src="./assets/icons/Gift.svg" alt="" /></span>
<span class="season-reward-alert__copy">
<small>${r("season.rewardReadyEyebrow")}</small>
<strong>${r("season.rewardReadyTitle")}</strong>
<span>${Je("season.rewardReadyText",f.required)}</span>
</span>
<button data-season-reward-open>${r("season.rewardReadyAction")}</button>
</section>`,ge(o),o=C(()=>{c.getState().seasonRewardNotice?.id===f.id&&d(f.id,!0)},3e3))}O(a,"[data-season-reward-open]",()=>{ge(o),j("season",{seasonTab:"rewards"})});let p,h=null,_=c.getState().roulette,b="",$="";function w(){const v=c.getState().screen,f=v!==h,g=v==="roulette"&&c.getState().roulette!==_;if(!f&&v==="roulette"&&!g)return;const y=gd[v],E=y.render(),S=bd(y),R=v==="item-view"?ts[c.getState().backTo??"cases"]??"cases":ts[v],I=Sd(R),J=S+I;if(f){typeof p=="function"&&p(),h=v,_=v==="roulette"?c.getState().roulette:void 0,e.innerHTML=`<div class="app">${S}<main class="screen screen--${v}">${E}</main>${I}</div>`,b=E,$=J;const D=e.querySelector(".app");D.classList.add("is-entering"),C(()=>D.classList.remove("is-entering"),700);const Z=e.querySelector(".screen");p=y.mount?.(Z),xt(Z),s(),le();return}const x=E!==b,G=J!==$;if(!x&&!G){s();return}if(G){const D=e.querySelector(".app"),Z=D?.querySelector(".topbar"),ne=D?.querySelector(".bottomnav");Z&&(Z.outerHTML=S),ne&&(ne.outerHTML=I),$=J}if(x||g){typeof p=="function"&&p();const D=e.querySelector(".screen");if(D){const Z=D.scrollTop,ne=document.createElement("main");ne.className=D.className,ne.innerHTML=E,D.replaceWith(ne),ne.scrollTop=Z,p=y.mount?.(ne),xt(ne)}b=E,_=v==="roulette"?c.getState().roulette:void 0}s(),le()}let L=c.getState().coins,V=0;function le(){const v=c.getState();if(v.coins!==L){const f=L,g=v.coins,y=g-f;Ra(V);const E=Ze(),S=600,R=I=>{const J=Math.min(1,(I-E)/S),x=Math.round(f+y*(1-Math.pow(1-J,3))),G=e.querySelector(".money__val");G&&(G.textContent=T(x)),J<1&&(V=Le(R))};V=Le(R),y>0&&v.screen!=="work"&&(ue(y),P("coin")),L=g}}function ue(v){const f=e.querySelector(".topbar__money");f?.classList.remove("is-gain"),f?.offsetWidth,f?.classList.add("is-gain");const g=f?.getBoundingClientRect(),y=g?g.left+g.width/2:window.innerWidth-90,E=g?g.bottom-2:80,S=document.createElement("div");S.className="fx-gain",S.textContent=`+${T(v)}`,S.style.left=`${y}px`,S.style.top=`${E+6}px`,document.body.appendChild(S),C(()=>S.remove(),1100);for(let R=0;R<5;R++){const I=document.createElement("div");I.className="fx-coin",I.style.left=`${y}px`,I.style.top=`${E}px`,I.style.setProperty("--dx",`${(R-2)*20}px`),I.style.animationDelay=`${R*.05}s`,document.body.appendChild(I),C(()=>I.remove(),950)}}function he(v){const f=e.querySelector('[data-nav="inventory"]');if(!f)return;const g=f.getBoundingClientRect(),y=g.left+g.width/2,E=g.top+g.height/2,S=document.createElement("img");S.className="fx-fly",S.src=ee(v),S.style.left=`${y}px`,S.style.top=`${E}px`,document.body.appendChild(S);const R="translate(-50%, calc(-50% - 170px)) scale(1)",I=S.animate([{transform:"translate(-50%, -50%) scale(.5)",opacity:0,offset:0,easing:"cubic-bezier(.2,.8,.25,1)"},{transform:R,opacity:1,offset:.18,easing:"linear"},{transform:R,opacity:1,offset:.68,easing:"cubic-bezier(.55,0,.35,1)"},{transform:"translate(-50%, -50%) scale(.2)",opacity:0,offset:1}],{duration:1900});I.onfinish=()=>S.remove()}window.addEventListener("game:bought",v=>he(v.detail.itemId)),e.addEventListener("pointerdown",v=>{const f=v.target;f.closest("button")?P("tap"):f.closest(".card[data-uid]")&&P("select")}),O(e,"[data-nav]",v=>{const f=v.dataset.nav;if(f==="chats"){const g=c.getState();j("chats",oe()&&g.chats[0]?{chatOpen:!0,activeChatId:g.chats[0].id}:{chatOpen:!1})}else j(f,f==="season"?{seasonRewardNotice:void 0}:{})}),O(e,"[data-back]",()=>{const v=vd(c.getState());j(v.screen,{backTo:v.backTo})}),O(e,"[data-leaders]",()=>{const v=c.getState();if(v.screen==="leaders"){j(v.backTo??"buy");return}yd({isAuthorized:()=>M.isAuthorized(),authorize:()=>M.auth(),showPrompt:f=>Hl(f),onGranted:()=>{sr(),j("leaders",{backTo:v.screen})}})}),O(e,"[data-settings]",()=>$l()),O(e,"[data-shop]",()=>j("shop")),St(()=>{we()||c.getState().marketDeadline-$e()<=0&&Ue()},1e3),St(()=>{if(we())return;const v=e.querySelector("#shop-timer");if(v){if(!Ve()){v.remove();return}v.textContent=wr(Ut())}},1e3);let U=0;window.addEventListener("resize",()=>{Ra(U),U=Le(()=>{const v=e.querySelector(".screen");v&&xt(v)})}),c.subscribe(w),c.subscribe(s),c.subscribe(m),w(),m()}const Aa="my_resale_save",Nt="my_resale_save_meta",_e=e=>typeof e=="object"&&e!==null&&!Array.isArray(e);function gt(e){const t=JSON.stringify(e);let a=2166136261;for(let n=0;n<t.length;n+=1)a^=t.charCodeAt(n),a=Math.imul(a,16777619);return(a>>>0).toString(36)}function as(e){if(!_e(e))return!1;const t=s=>!Array.isArray(e[s])||e[s].length===0,a=s=>typeof e[s]!="number"||e[s]<=0,n=_e(e.ownedCases)?Object.values(e.ownedCases):[];return e.tutorialDone!==!0&&a("coins")&&a("yan")&&a("salesCount")&&a("totalSalesCount")&&a("claimedDays")&&(typeof e.workLevel!="number"||e.workLevel<=1)&&t("inventory")&&t("listings")&&t("seenItems")&&!n.some(s=>typeof s=="number"&&s>0)&&e.starterBought!==!0&&e.autumnBundleBought!==!0&&e.megaBundleBought!==!0&&e.noAds!==!0&&e.reviewRewardGiven!==!0}function ns(e){if(!_e(e))return[];const t=(o,u=0)=>typeof o=="number"&&Number.isFinite(o)?Math.max(u,o):u,a=o=>Array.isArray(o)?o.length:0,n=o=>o===!0?1:0,s=_e(e.autumn2026)?e.autumn2026:{},i=_e(s.items)?Object.values(s.items).filter(o=>t(o)>0).length:0;return[n(e.tutorialDone),a(e.seenItems),t(e.claimedDays),t(e.workLevel,1),n(e.starterBought),n(e.autumnBundleBought),n(e.megaBundleBought),n(e.noAds),n(e.reviewRewardGiven),i,a(s.claimedMilestones),t(e.coins),t(e.yan)]}function Md(e,t){if(!_e(e)||!_e(t))return e;const a=o=>typeof o=="number"&&Number.isFinite(o)?Math.max(0,Math.trunc(o)):0,n=(o,u)=>Object.prototype.hasOwnProperty.call(o,u),s={...e};n(t,"salesCount")&&(s.salesCount=a(t.salesCount)),n(t,"totalSalesCount")&&(s.totalSalesCount=a(t.totalSalesCount));const i=_e(t.autumn2026)?t.autumn2026:null;if(i&&n(i,"sales")){const o=_e(e.autumn2026)?e.autumn2026:{};s.autumn2026={...o,sales:a(i.sales)}}return s}function wd(e,t){const a=ns(e),n=ns(t);if(a.length===0)return!1;let s=!1;for(let i=0;i<a.length;i+=1){const o=a[i]??0,u=n[i]??0;if(o<u)return!1;o>u&&(s=!0)}return s}function ss(e,t){if(e==null)return null;if(_e(e)&&e.schema==="my_resale_v2"&&typeof e.revision=="number"&&Number.isFinite(e.revision)&&"data"in e)return{stored:e,data:e.data,revision:Math.max(0,Math.floor(e.revision)),savedAt:typeof e.savedAt=="number"&&Number.isFinite(e.savedAt)?e.savedAt:0,format:"envelope"};if(_e(t)&&t.schema==="my_resale_v2"&&typeof t.revision=="number"&&Number.isFinite(t.revision)&&(typeof t.dataHash!="string"||t.dataHash===gt(e))){const a={schema:"my_resale_v2",revision:Math.max(0,Math.floor(t.revision)),savedAt:typeof t.savedAt=="number"&&Number.isFinite(t.savedAt)?t.savedAt:0,dataHash:typeof t.dataHash=="string"?t.dataHash:void 0,data:e};return{stored:a,data:e,revision:a.revision,savedAt:a.savedAt,format:"split"}}return{stored:e,data:e,revision:0,savedAt:0,format:"legacy"}}async function Cd(){if(!window.YaGames)return null;const e=await window.YaGames.init();e.on?.("game_api_pause",()=>Fn(!0)),e.on?.("game_api_resume",()=>Fn(!1));let t=await e.getPlayer().catch(()=>null);const a=e.features.GameplayAPI;let n=null;try{n=await e.getPayments({signed:!1})}catch{}let s,i,o=0,u=Number.NEGATIVE_INFINITY,l,d=null,m=!1,p=Number.NEGATIVE_INFINITY;const h=new Map,_=new Map;let b=null;const $=5e3,w=[0,200,600],L=async()=>{if(!t)return{succeeded:!1,save:null};let f;for(const g of w){g>0&&await new Promise(y=>setTimeout(y,g));try{const y=await t.getData();return{succeeded:!0,save:ss(y?.save,y?.saveMeta)}}catch(y){f=y}}return console.warn("[Yandex Games] player.getData failed after retries; cloud writes are disabled for this session",f),{succeeded:!1,save:null}},V=async()=>{for(;l;){let f=l;l=void 0;const g=Math.max(0,$-(Date.now()-u));if(g>0&&(await new Promise(y=>setTimeout(y,g)),l&&(f=l,l=void 0)),f.json!==s&&!m)try{await t?.setData({save:f.data,saveMeta:f.meta},!0),s=f.json}catch(y){console.warn("[Yandex Games] player.setData failed; local save is kept",y)}finally{u=Date.now()}}},le=()=>(d||(d=Promise.resolve().then(V).finally(()=>{d=null})),d),ue=async()=>{for(;h.size>0;){const f=h.entries().next().value;if(!f)break;const[g,y]=f;if(h.delete(g),_.get(g)===y||!(t?.isAuthorized?.()??!1)||!await U("leaderboards.setScore"))continue;const E=Math.max(0,1e3-(Date.now()-p));E>0&&await new Promise(S=>setTimeout(S,E));try{await e.leaderboards.setScore(g,y),_.set(g,y)}catch(S){console.warn(`[Yandex Games] setScore("${g}", ${y}) failed`,S)}finally{p=Date.now()}}},he=()=>(b||(b=Promise.resolve().then(ue).finally(()=>{b=null})),b),U=async f=>{try{return e.isAvailableMethod?await e.isAvailableMethod(f):!0}catch{return!1}},v=f=>({name:f.player.publicName||r("common.player"),score:f.score,rank:f.rank});return{async init(){},loadingReady(){e.features.LoadingAPI?.ready()},async save(f){const g=JSON.stringify(f);if(g===i)return;o+=1;const y={schema:"my_resale_v2",revision:o,savedAt:Date.now()},E={schema:y.schema,revision:y.revision,savedAt:y.savedAt,dataHash:gt(f)},S=JSON.stringify({save:f,saveMeta:E});i=g;try{localStorage.setItem(Aa,g),localStorage.setItem(Nt,JSON.stringify(E))}catch{}!t||m||S===s||(l={data:f,meta:E,json:S},await le())},async load(){const f=await L();m=!f.succeeded;const g=f.save;g&&(s=JSON.stringify(g.stored));let y=null;try{const x=localStorage.getItem(Aa),G=localStorage.getItem(Nt);y=x?ss(JSON.parse(x),G?JSON.parse(G):void 0):null}catch{}const E=!!g&&!!y&&g.format==="legacy"&&y.format!=="legacy"&&!as(g.data)&&as(y.data),S=!!y&&!!g&&(y.revision>g.revision||y.revision===g.revision&&y.savedAt>g.savedAt),R=!E&&!!y&&(!g||S&&wd(y.data,g.data)),I=R?y:g;if(!I)return null;const J=R&&g?Md(I.data,g.data):I.data;if(o=Math.max(g?.revision??0,y?.revision??0),i=JSON.stringify(J),R&&y&&y.format!=="legacy"&&t&&!m){const x=y.stored,G={schema:x.schema,revision:x.revision,savedAt:x.savedAt,dataHash:gt(J)};l={data:J,meta:G,json:JSON.stringify({save:J,saveMeta:G})},await le()}else if(!R&&g?.format==="envelope"&&t&&!m){const x=g.stored,G={schema:x.schema,revision:x.revision,savedAt:x.savedAt,dataHash:gt(x.data)};l={data:x.data,meta:G,json:JSON.stringify({save:x.data,saveMeta:G})},await le()}try{if(localStorage.setItem(Aa,JSON.stringify(J)),I.format==="legacy")localStorage.removeItem(Nt);else{const x=I.stored,G={schema:x.schema,revision:x.revision,savedAt:x.savedAt,dataHash:gt(J)};localStorage.setItem(Nt,JSON.stringify(G))}}catch{}return J},showRewardedVideo(){return new Promise(f=>{let g=!1,y=!1;const E=S=>{y||(y=!0,Rt(!1),f(S))};try{e.adv.showRewardedVideo({callbacks:{onOpen(){Rt(!0)},onRewarded(){g=!0},onClose(){E(g)},onError(){E(!1)}}})}catch{E(!1)}})},showFullscreenAdv(){return new Promise(f=>{let g=!1,y=!1;const E=(S=!1)=>{y||(y=!0,Rt(!1),f(g||S))};try{e.adv.showFullscreenAdv({callbacks:{onOpen(){g=!0,Rt(!0)},onClose(S){E(!!S)},onError(){E(!1)}}})}catch{E(!1)}})},showBannerAdv(){try{e.adv.showBannerAdv?.()}catch{}},hideBannerAdv(){try{e.adv.hideBannerAdv?.()}catch{}},async getLeaderboard(f){const g=await e.leaderboards.getEntries(f,{quantityTop:10,includeUser:!1}).then(E=>E.entries.map(v)).catch(E=>(console.warn(`[Yandex Games] getEntries("${f}") failed`,E),[]));let y;return(t?.isAuthorized?.()??!1)&&await U("leaderboards.getPlayerEntry")&&(y=await e.leaderboards.getPlayerEntry(f).then(v).catch(E=>{(typeof E=="object"&&E!==null&&"code"in E?String(E.code):"")!=="LEADERBOARD_PLAYER_NOT_PRESENT"&&console.warn(`[Yandex Games] getPlayerEntry("${f}") failed`,E)})),{entries:g,playerEntry:y}},setScore(f,g){return!Number.isFinite(g)||g<0?Promise.resolve():(h.set(f,Math.floor(g)),he())},getLang(){return e.environment.i18n.lang||"ru"},gameplayStart(){a?.start()},gameplayStop(){a?.stop()},now(){return e.serverTime?.()??Date.now()},isAuthorized(){return t?.isAuthorized?.()??!1},getPlayerName(){try{return t?.getName?.()??""}catch{return""}},async auth(){try{return await e.auth.openAuthDialog(),t=await e.getPlayer().catch(()=>t),t?.isAuthorized?.()??!1}catch{return!1}},async canReview(){try{return await e.feedback.canReview()}catch{return{value:!1,reason:"UNKNOWN"}}},async requestReview(){try{const f=await e.feedback.requestReview();return!!(f.feedbackSent??f.sentFeedback)}catch{return!1}},hasPayments(){return!!n},async getCatalog(){if(!n)return[];try{return(await n.getCatalog()).map(g=>({id:g.id,title:g.title,price:g.price,priceValue:g.priceValue,currencyCode:g.priceCurrencyCode,currencyImage:g.getPriceCurrencyImage?.("svg")}))}catch{return[]}},async purchase(f){if(!n)return null;try{const g=await n.purchase({id:f});return{productId:g.productID,token:g.purchaseToken}}catch{return null}},async consume(f){try{await n?.consumePurchase(f)}catch{}},async getPurchases(){if(!n)return[];try{return(await n.getPurchases()).map(f=>({productId:f.productID,token:f.purchaseToken}))}catch{return[]}}}}function Yt(e,t){return e?0:t}function Ad(e){if(!Number.isFinite(e.loopEnd)||e.loopEnd<=0)return 0;const t=Math.max(0,e.now-e.sourceStartedAt);return(Math.max(0,e.previousOffset)+t)%e.loopEnd}const Ka=1,Jt=.5;let re=null,Te=null,it=null,Ke=null,Ta=null,Cr=0,vt=0;const Td=(e,t)=>e&&!t;function Ed(){return new URL("assets/music/cinematic_soul_guitar.mp3",document.baseURI).href}function $d(){if(typeof window>"u")return!1;if(!re){const e=window.AudioContext||window.webkitAudioContext;if(!e)return!1;try{re=new e}catch{return!1}Te=re.createGain();const t=c.getState();Te.gain.value=Yt(we(),(t.musicVol??.7)*Jt),Te.connect(re.destination)}return!0}async function Od(){it||!re||(Ta||(Ta=fetch(Ed()).then(e=>e.arrayBuffer()).then(e=>re.decodeAudioData(e)).then(e=>{it=e}).catch(()=>{})),await Ta)}function Ar(){if(!re||!Te||!it||Ke||we())return;const e=re.createBufferSource();e.buffer=it,e.loop=!0,e.loopStart=0,e.loopEnd=Math.max(.1,it.duration-Ka),e.connect(Te),vt%=e.loopEnd,Cr=re.currentTime,e.onended=()=>{Ke===e&&(Ke=null)},e.start(0,vt),Ke=e}function Tr(e){if(!Ke||!re)return;e?vt=Ad({previousOffset:vt,sourceStartedAt:Cr,now:re.currentTime,loopEnd:Math.max(.1,(it?.duration??Ka)-Ka)}):vt=0;const t=Ke;Ke=null,t.onended=null;try{t.stop()}catch{}}async function rs(){const e=c.getState();if($d())if(Te.gain.value=Yt(we(),(e.musicVol??.7)*Jt),e.musicOn){await Od();const t=c.getState(),a=Td(t.musicOn,we());Te.gain.value=Yt(!a,(t.musicVol??.7)*Jt),a&&(Ar(),re.state==="suspended"&&await re.resume())}else Te.gain.value=0,Tr(!1)}function Id(){if(typeof window>"u")return;const e=()=>{rs()};window.addEventListener("pointerdown",e),window.addEventListener("keydown",e);let t=c.getState().musicOn,a=c.getState().musicVol;c.subscribe(()=>{const n=c.getState();(n.musicOn!==t||n.musicVol!==a)&&(t=n.musicOn,a=n.musicVol,rs())}),gn(n=>{if(!re||!Te)return;const s=c.getState();if(Te.gain.value=Yt(n,(s.musicVol??.7)*Jt),n){Tr(!0);return}s.musicOn&&(Ar(),re.state==="suspended"&&re.resume())})}function Rd(e){const{dx:t,dy:a,horizontalScroller:n,verticalScroller:s,atTop:i,atBottom:o}=e;return Math.abs(t)+Math.abs(a)<10||n&&Math.abs(t)>=Math.abs(a)?!1:s?a>0&&i||a<0&&o:!0}const Ld="[data-interstitial]";function Bd(e){if(!(e instanceof Element))return null;const t=e.closest(Ld);return!t||t.matches(":disabled")?null:t}const Nd=5;function xd(e,t){let a=0,n=!1;return{record(s){!s||n||(a+=1,!(a<e)&&(n=!0,t()))}}}function qd(e,t){e?.remove(),t()}document.addEventListener("contextmenu",e=>e.preventDefault());document.addEventListener("dragstart",e=>e.preventDefault());let Ea=!1,Er=()=>{};document.addEventListener("click",e=>{if(Ea)return;if(we()){e.preventDefault(),e.stopImmediatePropagation();return}if(oe()||!pn())return;const t=Bd(e.target);t&&(e.preventDefault(),e.stopImmediatePropagation(),tl().catch(()=>!1).then(a=>{const n=()=>{if(t.isConnected){Ea=!0;try{t.click()}finally{Ea=!1}}Er(a)};if(!we()){n();return}const s=gn(i=>{i||(s(),n())})}))},{capture:!0});const Pd=".screen, .chat__body, .chats__list, .popup";let $r=0,Or=0;document.addEventListener("touchstart",e=>{$r=e.touches[0]?.clientX??0,Or=e.touches[0]?.clientY??0},{passive:!0});document.addEventListener("touchmove",e=>{if(e.touches.length>1)return;const t=e.target;if(t.closest(".overlay"))return;const a=(e.touches[0]?.clientX??0)-$r,n=(e.touches[0]?.clientY??0)-Or;if(Math.abs(a)+Math.abs(n)<10)return;if(t.closest('input[type="range"]')){if(Math.abs(a)>=Math.abs(n))return;e.preventDefault();return}const s=t.closest(Pd);Rd({dx:a,dy:n,horizontalScroller:!!t.closest(".invtabs"),verticalScroller:!!s,atTop:!s||s.scrollTop<=0,atBottom:!s||s.scrollTop+s.clientHeight>=s.scrollHeight-1})&&e.preventDefault()},{passive:!1});let Zt=!1;gn(e=>{so(e),document.body.classList.toggle("is-paused",e),Cl(e),e?(rt(),Zt&&M.gameplayStop()):Zt&&M.gameplayStart()});Al();const is=820,Dd=.5,zd=760;function Tt(){const e=window.visualViewport?.height??window.innerHeight,t=window.visualViewport?.width??window.innerWidth;document.documentElement.style.setProperty("--app-h",`${Math.round(e)}px`);const a=t>=zd&&e<is?Math.max(Dd,e/is):1;document.documentElement.style.setProperty("--ui-scale",a.toFixed(4))}Tt();window.addEventListener("resize",Tt);window.addEventListener("orientationchange",Tt);window.visualViewport?.addEventListener("resize",Tt);window.visualViewport?.addEventListener("scroll",Tt);const Ir=["logo","Cart","Items","Sales","Cases","Message","Shop","season","Gift","Settings","Ad","emoji_ok","emoji_mid","emoji_bad"].map(e=>`./assets/icons/${e}.svg`),Rr=["man_1","man_2","man_3","man_4","man_5","man_6","man_7","man_8","woman_1","woman_1-1","woman_1-2","woman_1-3","woman_5","woman_6","woman_7","woman_8"].map(e=>`./assets/people/${e}.jpg`),Lr="./assets/icons/work.png",jd=["./assets/work/pc_off.png","./assets/work/pc_on.png"];function Fd(){return[...Ir,Lr,...Rr,"./assets/cases/case_1.jpg",ee("001"),ee("015")]}function os(){const e=["case_ad","case_1","case_2","case_3","case_4","case_5","case_6","case_7","case_8","case_vk"].map(n=>`./assets/cases/${n}.jpg`),t=["starter","season_bundle","mega","money_1k","money_10k","money_100k","money_500k","money_1m","money_10m","money_100m","money_500m","money_1b","money_10b"].map(n=>`./assets/shop/${n}.jpg`).concat("./assets/shop/no_ads.svg","./assets/shop/no_ads_ru.svg","./assets/shop/no_ads_tr.svg","./assets/shop/no_ads_es.svg"),a=X.map(n=>ee(n.id));return[...Ir,Lr,...jd,...e,...t,...Rr,...a]}function $a(e,t=()=>{}){let a=0;return Promise.all(e.map(n=>new Promise(s=>{const i=new Image,o=()=>{a+=1,t(a/e.length),s()};i.onload=o,i.onerror=o,i.src=n}))).then(()=>{})}async function Gd(){const e=document.getElementById("loader-fill"),t=w=>{e&&(e.style.width=`${Math.round(w*100)}%`)},a=await Cd().catch(()=>null);a&&no(a),await M.init(),await gl(),fl(),Zc(),Qc(),await xu(),qu(),As(Pr(M.getLang()));const n=oe();n&&go();const s=()=>{const w=c.getState();if(!Zt||!Ia(M.now(),w.tutorialDone===!0,w.autumnGuideSeen===!0))return!1;const L=w.screen;return c.setState({autumnGuideSeen:!0}),rt(),dr(()=>j("cases",{backTo:L})),!0};_d(document.querySelector("#app")),n?(await $a(Fd(),t),ho($a(os()))):await $a(os(),t),t(1);const i=document.getElementById("loader");(()=>{qd(i,()=>M.loadingReady()),Zt=!0,we()||M.gameplayStart(),n||Xs(),n||s(),n&&wo()})(),Id();let u=!1;C(()=>{c.getState().reviewRewardGiven||u||oe()||Ul(gr(c.getState().coins),()=>vr(),()=>{u=!0})},5*60*1e3);const l=(w,L)=>{const V=()=>{if(w()){if(oe()||document.querySelector(".overlay")||c.getState().screen==="roulette"){C(V,5e3);return}L()}};V()};let d=!1;const m=xd(Nd,()=>{l(()=>!d&&!c.getState().noAds,()=>Pl(Oe("noads"),()=>{De("noads")},()=>{d=!0}))});Er=w=>m.record(w);let p=!1;const h=$o(()=>{l(()=>!p&&st().available,()=>ql(Oe("autumnpack"),!c.getState().noAds,()=>{const w=st();return w.available?w.remainingMs:null},()=>{De("autumnpack")},()=>{p=!0}))});window.addEventListener(Ks,w=>{const L=w.detail?.required;typeof L=="number"&&h.recordClaim(L,st().available)});const _=Oo(To,()=>{l(()=>!c.getState().starterSalesOfferSeen&&Ve(),()=>{c.setState({starterSalesOfferSeen:!0}),rt(),Nl(Oe("starterpack"),!c.getState().noAds,()=>{De("starterpack")},()=>{})})}),b=Io(c.getState().totalSalesCount??0,w=>{c.setState({megaOfferLastMilestone:w}),rt(),l(()=>!c.getState().megaBundleBought,()=>zl(Oe("megapack"),!c.getState().noAds,()=>{De("megapack")},()=>{}))});let $={screen:c.getState().screen,backTo:c.getState().backTo};c.subscribe(w=>{const L={screen:w.screen,backTo:w.backTo},V=Eo($,L);$=L,_.recordNavigation({leftChats:V,salesCount:w.salesCount??0,eligible:!w.starterSalesOfferSeen&&Ve()}),b.recordSales({totalSales:w.totalSalesCount??0,lastShownMilestone:w.megaOfferLastMilestone??0,eligible:!w.megaBundleBought})})}Gd();