Калькулятор золы для почвы
Рассчитайте необходимое количество древесной золы для раскисления и удобрения почвы на вашем участке, в теплице или на грядке.
0
Мешков (выбранная фасовка)
шт. (округлено вверх)
Как пользоваться калькулятором
1
Укажите площадь участка, грядки или теплицы в квадратных метрах или сотках. Например, грядка 6 м² или 0,06 сотки.
2
Выберите тип почвы и культуру, которую планируете удобрять. Калькулятор автоматически подставит рекомендованную норму золы. При необходимости скорректируйте её вручную.
3
Укажите тип внесения — основное (под перекопку) или подкормка в течение сезона. Нормы для подкормки обычно вдвое ниже основных.
4
Нажмите «Рассчитать». Вы получите массу золы в килограммах, объём в литрах, количество стаканов и вёдер, число мешков и примерную стоимость. Все цифры сразу показывают запас 10% на случай неравномерного распределения.
Примеры расчёта
Грядка томатов 12 м², суглинок
Площадь 12 м², основная норма 150 г/м² — итого 1,8 кг золы, с запасом 1,98 кг, примерно 3,3 литра объёма или 16 стаканов. Это чуть меньше половины 5-кг мешка.
Картофельное поле 3 сотки, песчаная почва
3 сотки = 300 м². Норма 150 г/м² (основное) даёт 45 кг золы, с запасом 49,5 кг. Объём около 82 литров (8 вёдер). Потребуется 5 десятикилограммовых мешков. При цене 20 руб/кг — 900 рублей.
Теплица с огурцами 18 м², подкормка
При подкормке норма 75 г/м² (половина основной). 18 × 75 = 1,35 кг, с запасом ~1,49 кг. Это около 2,5 литров или 12-13 стаканов. Одного 5-кг мешка хватит на 3 таких подкормки.
Формулы расчёта
Масса золы (кг) = Площадь (м²) × Норма (г/м²) / 1000
Масса с запасом 10% = Масса × 1.1
Стаканов (200 мл) = Объём (л) / 0.2
Вёдер (10 л) = Объём (л) / 10
Стоимость = Масса (кг) × Цена за кг
Мешков = округление_вверх(Масса / Фасовка мешка)
Нормы и ориентиры
Рекомендованные дозы золы зависят от типа почвы и выращиваемой культуры. Ниже — ориентировочные значения для основного внесения (г/м²). Для подкормок норму уменьшают в 1,5–2 раза. Все цифры примерны — обязательно учитывайте реальное состояние почвы и растений.
| Культура |
Песчаная |
Суглинок |
Глинистая |
Торфяная |
| Овощные (томаты, перцы) | 100 | 150 | 200 | 250 |
| Тыквенные (огурцы) | 100 | 150 | 200 | 250 |
| Корнеплоды | 100 | 150 | 200 | 250 |
| Картофель | 150 | 200 | 250 | 300 |
| Капуста | 200 | 250 | 300 | 350 |
| Плодовые деревья | 200 | 200 | 250 | 300 |
| Ягодные кустарники | 150 | 200 | 200 | 250 |
| Газон | 100 | 150 | 150 | 200 |
| Цветы | 100 | 150 | 150 | 200 |
* Данные основаны на агрономических справочных нормах для древесной золы. Всегда сверяйтесь с инструкцией производителя удобрений и учитывайте кислотность почвы.
Что влияет на результат
- Тип почвы. Песчаные грунты требуют меньше золы из-за высокой воздухопроницаемости, глинистые и торфяные — больше для нейтрализации кислотности и улучшения структуры.
- Кислотность (pH). На сильнокислых почвах (pH ниже 5) дозу можно увеличить до 400–500 г/м² для раскисления, но лучше предварительно проверить pH тестером или лакмусовой бумажкой.
- Культура и её потребности. Капуста и плодовые деревья выносят больше калия и фосфора, поэтому отзывчивее на золу. Газону и цветам хватает умеренных доз.
- Фракция и влажность золы. Мелкая просеянная зола имеет плотность около 0,6 кг/л, но отсыревшая или неоднородная может весить до 0,8–0,9 кг/л. Это влияет на перевод в объёмные меры.
- Способ внесения. При локальном внесении в лунки или бороздки расход на квадратный метр фактической площади меньше, чем при сплошном разбрасывании.
- Совместное применение с другими удобрениями. Золу нельзя смешивать с аммиачными формами азота, навозом и птичьим помётом — потери азота резко возрастают. Разносите их по времени минимум на 2–3 недели.
Важные нюансы
- Древесная зола — отличный источник калия, фосфора, кальция и микроэлементов, но она не содержит азота. Азотные подкормки нужно планировать отдельно.
- Зола подщелачивает почву. Не применяйте её под растения-ацидофилы: голубику, клюкву, рододендроны, гортензии, хвойные, щавель.
- При внесении золы не смешивайте её с аммиачной селитрой, мочевиной, сульфатом аммония, свежим навозом — это приводит к улетучиванию аммиака.
- Используйте только золу от чистых древесных пород, без пластика, краски, лака и остатков ДСП. Зола от окрашенной или обработанной древесины может содержать токсичные вещества.
- Храните золу в сухом месте, в закрытой таре. Влага превращает её в плотную массу и вымывает калий.
- Окончательную дозировку всегда корректируйте с учётом анализа почвы и фактического состояния растений. Калькулятор даёт отправную точку, а не абсолютную истину.
Частые ошибки
- Внесение «на глаз» без расчёта. Переизбыток золы защелачивает почву, блокирует усвоение фосфора и микроэлементов, вызывает ожоги корней.
- Игнорирование типа почвы. Норма для песка и глины отличается в 1,5–2 раза. Слепое следование одной цифре приводит либо к недокорму, либо к передозировке.
- Смешивание с азотными удобрениями в один день. Аммиак улетучивается, и растения недополучают азот. Делайте интервал не менее 2 недель.
- Применение золы неизвестного происхождения. Зола от мангалов с остатками жира и маринадов, от сжигания бытового мусора непригодна для огорода.
- Внесение под растения, не переносящие щелочную среду. Ежегодное внесение золы под картофель на нейтральных почвах может спровоцировать паршу обыкновенную.
- Хранение под открытым небом. Даже несколько дождей снижают содержание калия на 30–50%.
Ответы на частые вопросы
- Можно ли вносить золу каждый год? Да, большинство огородных культур положительно реагируют на ежегодное внесение золы, но обязательно контролируйте pH почвы каждые 2–3 года.
- Сколько весит стакан или ведро золы? 1 стакан (200 мл) ≈ 120–140 г сухой золы. 1 ведро (10 л) ≈ 6 кг. Эти цифры уже учтены в расчётах калькулятора.
- Когда лучше вносить золу — осенью или весной? Основное внесение лучше делать осенью под перекопку на тяжёлых почвах, весной — на лёгких песчаных, чтобы избежать вымывания. Подкормки — в первой половине вегетации.
- Можно ли использовать золу каменного угля? Каменноугольная зола содержит мало питательных веществ и может включать тяжёлые металлы. Для огорода используйте только древесную или растительную золу.
- Чем можно заменить золу, если её нет? Ближайшие заменители по калию — сульфат калия, калимагнезия. Для раскисления — доломитовая мука или известь, но они не содержат калия и фосфора.
- Нужно ли заделывать золу в почву? Обязательно. Разбросанная по поверхности зола быстро слеживается и может образовать корку. После внесения проведите неглубокое рыхление или полив.
Источники и справочные данные
- Агрономические справочные нормы внесения древесной золы для овощных, плодовых и декоративных культур.
- Инструкции производителей удобрений и средств для раскисления почвы.
- Рекомендации по выращиванию овощных, плодовых и декоративных культур: оптимальные дозы калийно-фосфорных подкормок.
- Практические нормы расхода посадочного материала, грунта, мульчи и удобрений для садовых и огородных участков.
- Данные о физических свойствах золы: насыпная плотность 500–700 г/л в зависимости от влажности и фракции (источник: техническая литература по деревообработке и агрохимии).
Точные нормы применения всегда берите из официальной инструкции конкретного удобрения или мелиоранта, а также ориентируйтесь на результаты агрохимического анализа почвы.
Калькулятор золы для почвы помогает быстро определить, сколько древесной золы понадобится для вашего огорода, сада или теплицы. Достаточно указать площадь участка, тип почвы и основную культуру — и вы сразу получите массу в килограммах, объём в литрах, количество стаканов, вёдер и мешков, а также примерную стоимость. Инструмент учитывает нормы расхода для разных культур и автоматически добавляет запас 10%. Расчёт основан на агрономических справочных данных и практических рекомендациях по внесению золы в качестве калийно-фосфорного удобрения и мягкого раскислителя.
CiAgICAoZnVuY3Rpb24oKSB7CiAgICAgIC8vINCt0LvQtdC80LXQvdGC0Ysg0YTQvtGA0LzRiwogICAgICB2YXIgYXJlYUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FzaC1hcmVhJyk7CiAgICAgIHZhciBhcmVhVW5pdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2gtYXJlYS11bml0Jyk7CiAgICAgIHZhciBzb2lsU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FzaC1zb2lsJyk7CiAgICAgIHZhciBjcm9wU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FzaC1jcm9wJyk7CiAgICAgIHZhciB0eXBlU2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FzaC10eXBlJyk7CiAgICAgIHZhciByYXRlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNoLXJhdGUnKTsKICAgICAgdmFyIHByaWNlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNoLXByaWNlJyk7CiAgICAgIHZhciBiYWdTZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXNoLWJhZycpOwogICAgICB2YXIgY2FsY0J0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhc2gtY2FsYy1idG4nKTsKICAgICAgdmFyIHJlc2V0QnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FzaC1yZXNldC1idG4nKTsKICAgICAgdmFyIGVycm9yTXNnID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FzaC1lcnJvcicpOwoKICAgICAgLy8g0K3Qu9C10LzQtdC90YLRiyDRgNC10LfRg9C70YzRgtCw0YLQvtCyCiAgICAgIHZhciByZXNNYXNzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlcy1tYXNzJyk7CiAgICAgIHZhciByZXNNYXNzUmVzZXJ2ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtbWFzcy1yZXNlcnZlJyk7CiAgICAgIHZhciByZXNWb2x1bWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzLXZvbHVtZScpOwogICAgICB2YXIgcmVzR2xhc3NlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtZ2xhc3NlcycpOwogICAgICB2YXIgcmVzQnVja2V0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtYnVja2V0cycpOwogICAgICB2YXIgcmVzQ29zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtY29zdCcpOwogICAgICB2YXIgcmVzQmFncyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtYmFncycpOwogICAgICB2YXIgY29zdFJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3N0LXJvdycpOwoKICAgICAgLy8g0KHQv9GA0LDQstC+0YfQvdC40Log0L3QvtGA0LwgKNCzL9C8wrIpINC+0YHQvdC+0LLQvdC+0LUg0LLQvdC10YHQtdC90LjQtQogICAgICB2YXIgYmFzZU5vcm0gPSB7CiAgICAgICAgc2FuZHk6IHsKICAgICAgICAgIHZlZ2V0YWJsZXM6IDEwMCwKICAgICAgICAgIGN1Y3VyYml0czogMTAwLAogICAgICAgICAgcm9vdHM6IDEwMCwKICAgICAgICAgIHBvdGF0bzogMTUwLAogICAgICAgICAgY2FiYmFnZTogMjAwLAogICAgICAgICAgJ2ZydWl0LXRyZWVzJzogMjAwLAogICAgICAgICAgYmVycmllczogMTUwLAogICAgICAgICAgbGF3bjogMTAwLAogICAgICAgICAgZmxvd2VyczogMTAwCiAgICAgICAgfSwKICAgICAgICBsb2FteTogewogICAgICAgICAgdmVnZXRhYmxlczogMTUwLAogICAgICAgICAgY3VjdXJiaXRzOiAxNTAsCiAgICAgICAgICByb290czogMTUwLAogICAgICAgICAgcG90YXRvOiAyMDAsCiAgICAgICAgICBjYWJiYWdlOiAyNTAsCiAgICAgICAgICAnZnJ1aXQtdHJlZXMnOiAyMDAsCiAgICAgICAgICBiZXJyaWVzOiAyMDAsCiAgICAgICAgICBsYXduOiAxNTAsCiAgICAgICAgICBmbG93ZXJzOiAxNTAKICAgICAgICB9LAogICAgICAgIGNsYXk6IHsKICAgICAgICAgIHZlZ2V0YWJsZXM6IDIwMCwKICAgICAgICAgIGN1Y3VyYml0czogMjAwLAogICAgICAgICAgcm9vdHM6IDIwMCwKICAgICAgICAgIHBvdGF0bzogMjUwLAogICAgICAgICAgY2FiYmFnZTogMzAwLAogICAgICAgICAgJ2ZydWl0LXRyZWVzJzogMjUwLAogICAgICAgICAgYmVycmllczogMjAwLAogICAgICAgICAgbGF3bjogMTUwLAogICAgICAgICAgZmxvd2VyczogMTUwCiAgICAgICAgfSwKICAgICAgICBwZWF0OiB7CiAgICAgICAgICB2ZWdldGFibGVzOiAyNTAsCiAgICAgICAgICBjdWN1cmJpdHM6IDI1MCwKICAgICAgICAgIHJvb3RzOiAyNTAsCiAgICAgICAgICBwb3RhdG86IDMwMCwKICAgICAgICAgIGNhYmJhZ2U6IDM1MCwKICAgICAgICAgICdmcnVpdC10cmVlcyc6IDMwMCwKICAgICAgICAgIGJlcnJpZXM6IDI1MCwKICAgICAgICAgIGxhd246IDIwMCwKICAgICAgICAgIGZsb3dlcnM6IDIwMAogICAgICAgIH0KICAgICAgfTsKCiAgICAgIGZ1bmN0aW9uIGdldE5vcm0oKSB7CiAgICAgICAgdmFyIHNvaWwgPSBzb2lsU2VsZWN0LnZhbHVlOwogICAgICAgIHZhciBjcm9wID0gY3JvcFNlbGVjdC52YWx1ZTsKICAgICAgICBpZiAoYmFzZU5vcm1bc29pbF0gJiYgYmFzZU5vcm1bc29pbF1bY3JvcF0pIHsKICAgICAgICAgIHJldHVybiBiYXNlTm9ybVtzb2lsXVtjcm9wXTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE1MDsgLy8gZmFsbGJhY2sKICAgICAgfQoKICAgICAgZnVuY3Rpb24gdXBkYXRlTm9ybSgpIHsKICAgICAgICB2YXIgbm9ybSA9IGdldE5vcm0oKTsKICAgICAgICB2YXIgaXNUb3AgPSB0eXBlU2VsZWN0LnZhbHVlID09PSAndG9wZHJlc3NpbmcnOwogICAgICAgIGlmIChpc1RvcCkgewogICAgICAgICAgbm9ybSA9IE1hdGgucm91bmQobm9ybSAvIDIpOwogICAgICAgIH0KICAgICAgICByYXRlSW5wdXQudmFsdWUgPSBub3JtOwogICAgICB9CgogICAgICAvLyDQodC+0LHRi9GC0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0YLQuNC/0LAg0L/QvtGH0LLRiywg0LrRg9C70YzRgtGD0YDRiywg0YLQuNC/0LAg0LLQvdC10YHQtdC90LjRjyAtPiDQsNCy0YLQvtC+0LHQvdC+0LLQu9C10L3QuNC1INC90L7RgNC80YsKICAgICAgc29pbFNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB1cGRhdGVOb3JtKTsKICAgICAgY3JvcFNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB1cGRhdGVOb3JtKTsKICAgICAgdHlwZVNlbGVjdC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB1cGRhdGVOb3JtKTsKCiAgICAgIC8vINCh0LHRgNC+0YEKICAgICAgcmVzZXRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICBhcmVhSW5wdXQudmFsdWUgPSAnJzsKICAgICAgICBhcmVhVW5pdC52YWx1ZSA9ICdtMic7CiAgICAgICAgc29pbFNlbGVjdC52YWx1ZSA9ICdsb2FteSc7CiAgICAgICAgY3JvcFNlbGVjdC52YWx1ZSA9ICd2ZWdldGFibGVzJzsKICAgICAgICB0eXBlU2VsZWN0LnZhbHVlID0gJ21haW4nOwogICAgICAgIHByaWNlSW5wdXQudmFsdWUgPSAnMCc7CiAgICAgICAgYmFnU2VsZWN0LnZhbHVlID0gJzEwJzsKICAgICAgICB1cGRhdGVOb3JtKCk7CiAgICAgICAgZXJyb3JNc2cuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICBlcnJvck1zZy50ZXh0Q29udGVudCA9ICcnOwogICAgICAgIGNsZWFyUmVzdWx0cygpOwogICAgICB9KTsKCiAgICAgIGZ1bmN0aW9uIGNsZWFyUmVzdWx0cygpIHsKICAgICAgICByZXNNYXNzLnRleHRDb250ZW50ID0gJzAnOwogICAgICAgIHJlc01hc3NSZXNlcnZlLnRleHRDb250ZW50ID0gJzAnOwogICAgICAgIHJlc1ZvbHVtZS50ZXh0Q29udGVudCA9ICcwJzsKICAgICAgICByZXNHbGFzc2VzLnRleHRDb250ZW50ID0gJzAnOwogICAgICAgIHJlc0J1Y2tldHMudGV4dENvbnRlbnQgPSAnMCc7CiAgICAgICAgcmVzQ29zdC50ZXh0Q29udGVudCA9ICfigJQnOwogICAgICAgIHJlc0JhZ3MudGV4dENvbnRlbnQgPSAnMCc7CiAgICAgIH0KCiAgICAgIC8vINCS0LDQu9C40LTQsNGG0LjRjyDQuCDRgNCw0YHRh9GR0YIKICAgICAgY2FsY0J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIGVycm9yTXNnLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgZXJyb3JNc2cudGV4dENvbnRlbnQgPSAnJzsKCiAgICAgICAgdmFyIGFyZWFWYWwgPSBhcmVhSW5wdXQudmFsdWUudHJpbSgpOwogICAgICAgIGlmIChhcmVhVmFsID09PSAnJykgewogICAgICAgICAgc2hvd0Vycm9yKCfQktCy0LXQtNC40YLQtSDQv9C70L7RidCw0LTRjCDRg9GH0LDRgdGC0LrQsC4nKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIGFyZWEgPSBwYXJzZUZsb2F0KGFyZWFWYWwpOwogICAgICAgIGlmIChpc05hTihhcmVhKSB8fCBhcmVhIDw9IDApIHsKICAgICAgICAgIHNob3dFcnJvcign0J/Qu9C+0YnQsNC00Ywg0LTQvtC70LbQvdCwINCx0YvRgtGMINC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3Ri9C8INGH0LjRgdC70L7QvC4nKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgLy8g0L/QtdGA0LXQstC+0LQg0LIg0LzCsiDQtdGB0LvQuCDRgdC+0YLQutC4CiAgICAgICAgaWYgKGFyZWFVbml0LnZhbHVlID09PSAnc290a2EnKSB7CiAgICAgICAgICBhcmVhID0gYXJlYSAqIDEwMDsKICAgICAgICB9CgogICAgICAgIHZhciByYXRlVmFsID0gcmF0ZUlucHV0LnZhbHVlLnRyaW0oKTsKICAgICAgICBpZiAocmF0ZVZhbCA9PT0gJycpIHsKICAgICAgICAgIHNob3dFcnJvcign0KPQutCw0LbQuNGC0LUg0L3QvtGA0LzRgyDRgNCw0YHRhdC+0LTQsC4nKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgdmFyIHJhdGUgPSBwYXJzZUZsb2F0KHJhdGVWYWwpOwogICAgICAgIGlmIChpc05hTihyYXRlKSB8fCByYXRlIDw9IDApIHsKICAgICAgICAgIHNob3dFcnJvcign0J3QvtGA0LzQsCDRgNCw0YHRhdC+0LTQsCDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0L/QvtC70L7QttC40YLQtdC70YzQvdGL0Lwg0YfQuNGB0LvQvtC8LicpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgdmFyIHByaWNlVmFsID0gcHJpY2VJbnB1dC52YWx1ZS50cmltKCk7CiAgICAgICAgdmFyIHByaWNlID0gMDsKICAgICAgICBpZiAocHJpY2VWYWwgIT09ICcnKSB7CiAgICAgICAgICBwcmljZSA9IHBhcnNlRmxvYXQocHJpY2VWYWwpOwogICAgICAgICAgaWYgKGlzTmFOKHByaWNlKSB8fCBwcmljZSA8IDApIHsKICAgICAgICAgICAgc2hvd0Vycm9yKCfQptC10L3QsCDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0L7RgtGA0LjRhtCw0YLQtdC70YzQvdC+0LkuJyk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBiYWdTaXplID0gcGFyc2VGbG9hdChiYWdTZWxlY3QudmFsdWUpOwogICAgICAgIGlmIChpc05hTihiYWdTaXplKSB8fCBiYWdTaXplIDw9IDApIHsKICAgICAgICAgIHNob3dFcnJvcign0J3QtdC60L7RgNGA0LXQutGC0L3QsNGPINGE0LDRgdC+0LLQutCwINC80LXRiNC60LAuJyk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyDQoNCw0YHRh9GR0YLRiwogICAgICAgIHZhciBtYXNzS2cgPSAoYXJlYSAqIHJhdGUpIC8gMTAwMDsKICAgICAgICB2YXIgbWFzc1Jlc2VydmUgPSBtYXNzS2cgKiAxLjE7CiAgICAgICAgdmFyIHZvbHVtZUwgPSBtYXNzS2cgLyAwLjY7CiAgICAgICAgdmFyIGdsYXNzZXMgPSB2b2x1bWVMIC8gMC4yOwogICAgICAgIHZhciBidWNrZXRzID0gdm9sdW1lTCAvIDEwOwogICAgICAgIHZhciBiYWdzID0gTWF0aC5jZWlsKG1hc3NLZyAvIGJhZ1NpemUpOwoKICAgICAgICAvLyDQntC60YDRg9Cz0LvQtdC90LjQtQogICAgICAgIHJlc01hc3MudGV4dENvbnRlbnQgPSByb3VuZFRvKG1hc3NLZywgMik7CiAgICAgICAgcmVzTWFzc1Jlc2VydmUudGV4dENvbnRlbnQgPSByb3VuZFRvKG1hc3NSZXNlcnZlLCAyKTsKICAgICAgICByZXNWb2x1bWUudGV4dENvbnRlbnQgPSByb3VuZFRvKHZvbHVtZUwsIDEpOwogICAgICAgIHJlc0dsYXNzZXMudGV4dENvbnRlbnQgPSBNYXRoLnJvdW5kKGdsYXNzZXMpOwogICAgICAgIHJlc0J1Y2tldHMudGV4dENvbnRlbnQgPSByb3VuZFRvKGJ1Y2tldHMsIDEpOwogICAgICAgIHJlc0JhZ3MudGV4dENvbnRlbnQgPSBiYWdzOwoKICAgICAgICBpZiAocHJpY2UgPiAwICYmIG1hc3NLZyA+IDApIHsKICAgICAgICAgIHZhciBjb3N0ID0gbWFzc0tnICogcHJpY2U7CiAgICAgICAgICByZXNDb3N0LnRleHRDb250ZW50ID0gcm91bmRUbyhjb3N0LCAwKTsKICAgICAgICAgIGNvc3RSb3cuc3R5bGUuZGlzcGxheSA9ICcnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICByZXNDb3N0LnRleHRDb250ZW50ID0gJ+KAlCc7CiAgICAgICAgICAvLyDQvdC1INGB0LrRgNGL0LLQsNC10Lwg0YHRgtGA0L7QutGDLCDQv9GA0L7RgdGC0L4g0L/RgNC+0YfQtdGA0LoKICAgICAgICB9CiAgICAgIH0pOwoKICAgICAgZnVuY3Rpb24gc2hvd0Vycm9yKG1zZykgewogICAgICAgIGVycm9yTXNnLnRleHRDb250ZW50ID0gbXNnOwogICAgICAgIGVycm9yTXNnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgIGNsZWFyUmVzdWx0cygpOwogICAgICB9CgogICAgICBmdW5jdGlvbiByb3VuZFRvKG51bSwgZGVjaW1hbHMpIHsKICAgICAgICB2YXIgZmFjdG9yID0gTWF0aC5wb3coMTAsIGRlY2ltYWxzKTsKICAgICAgICByZXR1cm4gKE1hdGgucm91bmQobnVtICogZmFjdG9yKSAvIGZhY3RvcikudG9GaXhlZChkZWNpbWFscyk7CiAgICAgIH0KCiAgICAgIC8vINCY0L3QuNGG0LjQsNC70LjQt9Cw0YbQuNGPINC90L7RgNC80Ysg0L/RgNC4INC30LDQs9GA0YPQt9C60LUKICAgICAgdXBkYXRlTm9ybSgpOwogICAgfSkoKTsKICA=