Создание видеоигры “Крестики-нолики” с нуля: Пошаговое руководство

Создание видеоигры “Крестики-нолики” с нуля: Пошаговое руководство

Введение:

Крестики-нолики – это классическая игра, известная каждому. Её простые правила делают её отличным выбором для начинающих разработчиков игр. В этом руководстве мы подробно рассмотрим процесс создания собственной видеоигры “Крестики-нолики” с нуля. Мы охватим все этапы: от планирования и выбора технологий до написания кода и тестирования. Независимо от вашего опыта в программировании, это руководство поможет вам понять основные принципы разработки игр и создать свой собственный проект.

Этап 1: Планирование и выбор технологий

Прежде чем приступить к написанию кода, необходимо спланировать структуру игры и выбрать подходящие технологии.

1. Определение функциональности:

* Игровое поле: Необходимо определить, как будет представлено игровое поле (например, в виде двумерного массива).
* Игроки: Реализовать логику для двух игроков, которые по очереди ставят крестики и нолики.
* Определение победителя: Разработать алгоритм для проверки выигрышных комбинаций.
* Обработка ничьей: Предусмотреть ситуацию, когда все клетки заполнены, но победитель не определен.
* Пользовательский интерфейс (UI): Спроектировать интерфейс, который позволит игрокам взаимодействовать с игрой (например, кликать по клеткам).
* Сброс игры: Реализовать функцию для начала новой игры.

2. Выбор технологий:

Существует множество технологий для разработки игр. Для простоты и доступности мы рекомендуем использовать:

* HTML, CSS и JavaScript: Это стандартные веб-технологии, которые позволяют создавать игры, работающие в браузере. Они не требуют установки дополнительного программного обеспечения и позволяют легко делиться игрой с друзьями.
* JavaScript Frameworks (необязательно): Фреймворки, такие как React, Vue.js или Angular, могут упростить разработку сложных интерфейсов и управление состоянием игры. Однако для простой игры, как “Крестики-нолики”, можно обойтись и без них.

Этап 2: Создание структуры проекта

1. Создайте папку для вашего проекта. Например, “tic-tac-toe”.
2. Внутри этой папки создайте три файла:

* `index.html`: Основной HTML-файл, содержащий структуру страницы.
* `style.css`: Файл стилей, определяющий внешний вид игры.
* `script.js`: Файл JavaScript, содержащий логику игры.

Этап 3: Разработка HTML-структуры (`index.html`)

html





Крестики-нолики

Крестики-нолики



Объяснение:

* ``: Объявляет тип документа как HTML5.
* ``: Определяет язык документа как русский.
* ``: Содержит метаданные документа, такие как кодировка, заголовок и ссылку на файл стилей.
* ``: Задает заголовок страницы, который отображается в заголовке окна браузера.<br /> * `<link rel="stylesheet" href="style.css">`: Связывает HTML-файл с файлом стилей `style.css`.<br /> * `<body>`: Содержит основное содержимое страницы.<br /> * `</p><h1>Крестики-нолики</h1><p>`: Заголовок первого уровня, отображающий название игры.<br /> * `</p><div class="board">`: Контейнер для игрового поля.<br /> * `</p><div class="cell" data-index="[номер]"></div><p>`: Элементы, представляющие клетки игрового поля. Атрибут `data-index` содержит индекс клетки (от 0 до 8).<br /> * `</p><p id="message"><p>`: Элемент абзаца, который будет использоваться для отображения сообщений (например, чей ход, кто победил).<br /> * `<button id="reset-button">Начать заново</button>`: Кнопка для сброса игры.<br /> * `<script defer src="script.js"></script>`: Связывает HTML-файл с файлом JavaScript `script.js`.</p><p>Этап 4: Создание стилей (`style.css`)</p><p>css<br /> body {<br /> font-family: Arial, sans-serif;<br /> display: flex;<br /> flex-direction: column;<br /> align-items: center;<br /> justify-content: center;<br /> min-height: 100vh;<br /> margin: 0;<br /> background-color: #f0f0f0;<br /> }</p><p>h1 {<br /> margin-bottom: 20px;<br /> }</p><p>.board {<br /> display: grid;<br /> grid-template-columns: repeat(3, 100px);<br /> grid-gap: 5px;<br /> margin-bottom: 20px;<br /> }</p><p>.cell {<br /> width: 100px;<br /> height: 100px;<br /> border: 1px solid #ccc;<br /> display: flex;<br /> align-items: center;<br /> justify-content: center;<br /> font-size: 60px;<br /> cursor: pointer;<br /> background-color: #fff;<br /> user-select: none; /* Запрещает выделение текста */<br /> }</p><p>.cell:hover {<br /> background-color: #eee;<br /> }</p><p>.cell.x {<br /> color: #e44d26;<br /> }</p><p>.cell.o {<br /> color: #4183c4;<br /> }</p><p>#message {<br /> font-size: 20px;<br /> margin-bottom: 20px;<br /> }</p><p>#reset-button {<br /> padding: 10px 20px;<br /> font-size: 16px;<br /> background-color: #4CAF50;<br /> color: white;<br /> border: none;<br /> cursor: pointer;<br /> border-radius: 5px;<br /> }</p><p>#reset-button:hover {<br /> background-color: #3e8e41;<br /> }</p><p>Объяснение:</p><p>* `body`: Определяет общие стили для всего тела документа.<br /> * `font-family`: Задает шрифт для текста.<br /> * `display: flex`, `flex-direction: column`, `align-items: center`, `justify-content: center`, `min-height: 100vh`, `margin: 0`: Центрирует содержимое по вертикали и горизонтали.<br /> * `background-color`: Задает цвет фона.<br /> * `h1`: Определяет стили для заголовка первого уровня.<br /> * `margin-bottom`: Задает нижний отступ.<br /> * `.board`: Определяет стили для игрового поля.<br /> * `display: grid`, `grid-template-columns: repeat(3, 100px)`, `grid-gap: 5px`: Создает сетку 3×3 для клеток.<br /> * `.cell`: Определяет стили для каждой клетки.<br /> * `width`, `height`: Задают размеры клетки.<br /> * `border`: Задает границу клетки.<br /> * `display: flex`, `align-items: center`, `justify-content: center`: Центрирует содержимое клетки.<br /> * `font-size`: Задает размер шрифта для крестика или нолика.<br /> * `cursor: pointer`: Меняет курсор на указатель при наведении на клетку.<br /> * `background-color`: Задает цвет фона клетки.<br /> * `user-select: none`: Запрещает выделение текста в клетке.<br /> * `.cell:hover`: Определяет стили для клетки при наведении курсора.<br /> * `.cell.x`, `.cell.o`: Определяют стили для клеток, содержащих крестик или нолик (разные цвета).<br /> * `#message`: Определяет стили для элемента, отображающего сообщения.<br /> * `font-size`: Задает размер шрифта для сообщения.<br /> * `#reset-button`: Определяет стили для кнопки сброса.<br /> * `padding`: Задает внутренние отступы.<br /> * `background-color`, `color`: Задают цвет фона и текста кнопки.<br /> * `border`: Убирает границу кнопки.<br /> * `cursor: pointer`: Меняет курсор на указатель при наведении на кнопку.<br /> * `border-radius`: Задает скругление углов кнопки.<br /> * `#reset-button:hover`: Определяет стили для кнопки при наведении курсора.</p><p>Этап 5: Написание логики игры (`script.js`)</p><p>javascript<br /> const board = document.querySelector(‘.board’);<br /> const cells = document.querySelectorAll(‘.cell’);<br /> const message = document.getElementById(‘message’);<br /> const resetButton = document.getElementById(‘reset-button’);</p><p>let currentPlayer = ‘x’;<br /> let gameBoard = [”, ”, ”, ”, ”, ”, ”, ”, ”];<br /> let gameActive = true;</p><p>const winningCombinations = [<br /> [0, 1, 2],<br /> [3, 4, 5],<br /> [6, 7, 8],<br /> [0, 3, 6],<br /> [1, 4, 7],<br /> [2, 5, 8],<br /> [0, 4, 8],<br /> [2, 4, 6]<br /> ];</p><p>function checkWinner() {<br /> for (let combination of winningCombinations) {<br /> const [a, b, c] = combination;<br /> if (gameBoard[a] && gameBoard[a] === gameBoard[b] && gameBoard[a] === gameBoard[c]) {<br /> message.textContent = `Победил игрок ${gameBoard[a].toUpperCase()}!`;<br /> gameActive = false;<br /> return;<br /> }<br /> }</p><p> if (!gameBoard.includes(”)) {<br /> message.textContent = ‘Ничья!’;<br /> gameActive = false;<br /> return;<br /> }<br /> }</p><p>function handleCellClick(event) {<br /> const cell = event.target;<br /> const index = cell.dataset.index;</p><p> if (gameBoard[index] === ” && gameActive) {<br /> gameBoard[index] = currentPlayer;<br /> cell.classList.add(currentPlayer);<br /> cell.textContent = currentPlayer.toUpperCase();<br /> checkWinner();<br /> currentPlayer = currentPlayer === ‘x’ ? ‘o’ : ‘x’;<br /> if (gameActive) {<br /> message.textContent = `Ход игрока ${currentPlayer.toUpperCase()}`;<br /> }<br /> }<br /> }</p><p>function resetGame() {<br /> gameBoard = [”, ”, ”, ”, ”, ”, ”, ”, ”];<br /> gameActive = true;<br /> currentPlayer = ‘x’;<br /> message.textContent = `Ход игрока ${currentPlayer.toUpperCase()}`;<br /> cells.forEach(cell => {<br /> cell.textContent = ”;<br /> cell.classList.remove(‘x’, ‘o’);<br /> });<br /> }</p><p>cells.forEach(cell => {<br /> cell.addEventListener(‘click’, handleCellClick);<br /> });</p><p>resetButton.addEventListener(‘click’, resetGame);</p><p>message.textContent = `Ход игрока ${currentPlayer.toUpperCase()}`;</p><p>Объяснение:</p><p>* `const board = document.querySelector(‘.board’);`: Получает ссылку на элемент с классом `board` (игровое поле).<br /> * `const cells = document.querySelectorAll(‘.cell’);`: Получает список всех элементов с классом `cell` (клетки).<br /> * `const message = document.getElementById(‘message’);`: Получает ссылку на элемент с id `message` (сообщение).<br /> * `const resetButton = document.getElementById(‘reset-button’);`: Получает ссылку на элемент с id `reset-button` (кнопка сброса).<br /> * `let currentPlayer = ‘x’;`: Определяет текущего игрока (начинает с крестика).<br /> * `let gameBoard = [”, ”, ”, ”, ”, ”, ”, ”, ”];`: Создает массив, представляющий игровое поле. Пустые строки означают, что клетка свободна.<br /> * `let gameActive = true;`: Определяет, активна ли игра.<br /> * `const winningCombinations = […]`: Массив, содержащий все выигрышные комбинации индексов клеток.<br /> * `function checkWinner()`: Функция для проверки, есть ли победитель.<br /> * Перебирает все выигрышные комбинации.<br /> * Если три клетки в комбинации содержат одинаковые символы (крестик или нолик), игра заканчивается, и выводится сообщение о победителе.<br /> * Если все клетки заполнены, но победителя нет, игра заканчивается вничью.<br /> * `function handleCellClick(event)`: Функция, обрабатывающая клик по клетке.<br /> * Получает ссылку на клетку, по которой кликнули.<br /> * Получает индекс клетки из атрибута `data-index`.<br /> * Если клетка свободна и игра активна:<br /> * Записывает символ текущего игрока в массив `gameBoard`.<br /> * Добавляет класс `x` или `o` к клетке для отображения символа.<br /> * Вызывает функцию `checkWinner()` для проверки победителя.<br /> * Меняет текущего игрока.<br /> * Обновляет сообщение о ходе текущего игрока.<br /> * `function resetGame()`: Функция для сброса игры.<br /> * Очищает массив `gameBoard`.<br /> * Сбрасывает состояние игры в активное.<br /> * Устанавливает текущего игрока на крестик.<br /> * Обновляет сообщение о ходе текущего игрока.<br /> * Очищает содержимое всех клеток и убирает классы `x` и `o`.<br /> * `cells.forEach(cell => { cell.addEventListener(‘click’, handleCellClick); });`: Добавляет обработчик клика к каждой клетке.<br /> * `resetButton.addEventListener(‘click’, resetGame);`: Добавляет обработчик клика к кнопке сброса.<br /> * `message.textContent = `Ход игрока ${currentPlayer.toUpperCase()}`;`: Инициализирует сообщение о ходе текущего игрока.</p><p>Этап 6: Тестирование игры</p><p>1. Откройте файл `index.html` в браузере.<br /> 2. Поиграйте в игру, чтобы убедиться, что все функции работают правильно:</p><p>* Крестики и нолики ставятся в нужные клетки.<br /> * Определяется победитель.<br /> * Обрабатывается ничья.<br /> * Работает кнопка сброса.</p><p>3. Проверьте игру в разных браузерах, чтобы убедиться в её совместимости.</p><p>Этап 7: Дальнейшее развитие</p><p>После создания базовой версии игры вы можете добавить дополнительные функции и улучшения:</p><p>* Улучшенный пользовательский интерфейс (UI): Добавьте анимации, звуки и другие визуальные эффекты.<br /> * Выбор символа игрока: Позвольте игрокам выбирать между крестиком и ноликом.<br /> * Режим игры против компьютера: Реализуйте искусственный интеллект (ИИ) для игры против компьютера.<br /> * Уровни сложности ИИ: Добавьте разные уровни сложности для игры против компьютера.<br /> * Локальное хранилище: Сохраняйте статистику игр (количество побед, поражений, ничьих) в локальном хранилище браузера.</p><p>Заключение:</p><p>В этом руководстве мы рассмотрели процесс создания видеоигры “Крестики-нолики” с нуля, используя HTML, CSS и JavaScript. Этот проект является отличной отправной точкой для начинающих разработчиков игр. Он поможет вам понять основные принципы разработки игр и приобрести ценные навыки. Не бойтесь экспериментировать и добавлять свои собственные идеи, чтобы сделать игру еще более интересной и увлекательной. Удачи в ваших начинаниях в разработке игр!</p><div class="mh-social-bottom"><div class="mh-share-buttons clearfix"> <a class="mh-facebook" href="#" onclick="window.open('https://www.facebook.com/sharer.php?u=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html&t=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B+%E2%80%9C%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8%E2%80%9D+%D1%81+%D0%BD%D1%83%D0%BB%D1%8F%3A+%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE', 'facebookShare', 'width=626,height=436'); return false;" title="Share on Facebook"> <span class="mh-share-button"><i class="fab fa-facebook-f"></i></span> </a> <a class="mh-twitter" href="#" onclick="window.open('https://twitter.com/share?text=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B+%E2%80%9C%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8%E2%80%9D+%D1%81+%D0%BD%D1%83%D0%BB%D1%8F%3A+%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE:&url=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html', 'twitterShare', 'width=626,height=436'); return false;" title="Tweet This Post"> <span class="mh-share-button"><i class="fab fa-x-twitter"></i></span> </a> <a class="mh-linkedin" href="#" onclick="window.open('https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html&source=', 'linkedinShare', 'width=626,height=436'); return false;" title="Share on LinkedIn"> <span class="mh-share-button"><i class="fab fa-linkedin"></i></span> </a> <a class="mh-pinterest" href="#" onclick="window.open('https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html&media=https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp&description=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B+%E2%80%9C%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8%E2%80%9D+%D1%81+%D0%BD%D1%83%D0%BB%D1%8F%3A+%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE', 'pinterestShare', 'width=750,height=350'); return false;" title="Pin This Post"> <span class="mh-share-button"><i class="fab fa-pinterest"></i></span> </a> <a class="mh-email" href="mailto:?subject=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B%20%E2%80%9C%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8%E2%80%9D%20%D1%81%20%D0%BD%D1%83%D0%BB%D1%8F%3A%20%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5%20%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE&body=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html" title="Send this article to a friend" target="_blank"> <span class="mh-share-button"><i class="far fa-envelope"></i></span> </a> <a class="mh-print" href="javascript:window.print()" title="Print this article"> <span class="mh-share-button"><i class="fas fa-print"></i></span> </a> <a class="mh-whatsapp" href="#" onclick="window.open('https://api.whatsapp.com/send?phone={phone_number}&text=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B+%E2%80%9C%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8%E2%80%9D+%D1%81+%D0%BD%D1%83%D0%BB%D1%8F%3A+%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE:&url=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html', 'whatsappShare', 'width=626,height=436'); return false;" title="Share on Whatsapp"> <span class="mh-share-button"><i class="fab fa-whatsapp"></i></span> </a> <a class="mh-mastodon" href="#" onclick="window.open('https://mastodonshare.com/share?text=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B3%D1%80%D1%8B+%E2%80%9C%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%B8%D0%BA%D0%B8-%D0%BD%D0%BE%D0%BB%D0%B8%D0%BA%D0%B8%E2%80%9D+%D1%81+%D0%BD%D1%83%D0%BB%D1%8F%3A+%D0%9F%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5+%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE:&url=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html', 'mustodonShare', 'width=626,height=436'); return false;" title="Share On Mastodon"> <span class="mh-share-button"> <img class="lazy" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2025'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/themes/mh-magazine/images/mostadon-logo.png" height="25px" width="20px"> </span> </a></div></div></div><div class="entry-tags clearfix"><i class="fa fa-tag"></i><ul><li><a href="https://thehowtodo.com/tag/guide" rel="tag">guide</a></li><li><a href="https://thehowtodo.com/tag/how-to" rel="tag">how to</a></li><li><a href="https://thehowtodo.com/tag/step-by-step" rel="tag">step-by-step</a></li></ul></div></article><div class="wpdiscuz_top_clearing"></div><div id='comments' class='comments-area'><div id='respond' style='width: 0;height: 0;clear: both;margin: 0;padding: 0;'></div><div id='wpd-post-rating' class='wpd-not-rated'><div class='wpd-rating-wrap'><div class='wpd-rating-left'></div><div class='wpd-rating-data'><div class='wpd-rating-value'> <span class='wpdrv'>0</span> <span class='wpdrc'>0</span> <span class='wpdrt'>votes</span></div><div class='wpd-rating-title'>Article Rating</div><div class='wpd-rating-stars'><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg></div><div class='wpd-rate-starts'><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg><svg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path class='wpd-star' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/><path d='M0 0h24v24H0z' fill='none'/></svg></div></div><div class='wpd-rating-right'></div></div></div><div id="wpdcom" class="wpdiscuz_unauth wpd-default wpd-layout-2 wpd-comments-open"><div class="wc_social_plugin_wrapper"></div><div class="wpd-form-wrap"><div class="wpd-form-head"><div class="wpd-sbs-toggle"> <i class="far fa-envelope"></i> <span class="wpd-sbs-title">Subscribe</span> <i class="fas fa-caret-down"></i></div><div class="wpd-auth"><div class="wpd-login"> <a rel="nofollow" href="https://thehowtodo.com/wp-login.php?redirect_to=https%3A%2F%2Fthehowtodo.com%2F%25d1%2581%25d0%25be%25d0%25b7%25d0%25b4%25d0%25b0%25d0%25bd%25d0%25b8%25d0%25b5-%25d0%25b2%25d0%25b8%25d0%25b4%25d0%25b5%25d0%25be%25d0%25b8%25d0%25b3%25d1%2580%25d1%258b-%25d0%25ba%25d1%2580%25d0%25b5%25d1%2581%25d1%2582%25d0%25b8%25d0%25ba%25d0%25b8-%25d0%25bd%25d0%25be%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b8-%25d1%2581.html"><i class='fas fa-sign-in-alt'></i> Login</a></div></div></div><div class="wpdiscuz-subscribe-bar wpdiscuz-hidden"><form action="https://thehowtodo.com/wp-admin/admin-ajax.php?action=wpdAddSubscription" method="post" id="wpdiscuz-subscribe-form"><div class="wpdiscuz-subscribe-form-intro">Notify of</div><div class="wpdiscuz-subscribe-form-option" style="width:40%;"> <select class="wpdiscuz_select" name="wpdiscuzSubscriptionType"><option value="post">new follow-up comments</option><option value="all_comment" >new replies to my comments</option> </select></div><div class="wpdiscuz-item wpdiscuz-subscribe-form-email"> <input class="email" type="email" name="wpdiscuzSubscriptionEmail" required="required" value="" placeholder="Email"/></div><div class="wpdiscuz-subscribe-form-button"> <input id="wpdiscuz_subscription_button" class="wpd-prim-button wpd_not_clicked" type="submit" value="›" name="wpdiscuz_subscription_button"/></div> <input type="hidden" id="wpdiscuz_subscribe_form_nonce" name="wpdiscuz_subscribe_form_nonce" value="ce89a9fc82" /><input type="hidden" name="_wp_http_referer" value="/%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2%d0%b8%d0%b4%d0%b5%d0%be%d0%b8%d0%b3%d1%80%d1%8b-%d0%ba%d1%80%d0%b5%d1%81%d1%82%d0%b8%d0%ba%d0%b8-%d0%bd%d0%be%d0%bb%d0%b8%d0%ba%d0%b8-%d1%81.html" /></form></div><div class="wpd-form wpd-form-wrapper wpd-main-form-wrapper" id='wpd-main-form-wrapper-0_0'></div><div id="wpdiscuz_hidden_secondary_form" style="display: none;"><div class="wpd-form wpd-form-wrapper wpd-secondary-form-wrapper" id='wpd-secondary-form-wrapper-wpdiscuzuniqueid' style='display: none;'><div class="wpd-secondary-forms-social-content"></div><div class="clearfix"></div></div></div><div class="wpd-login-to-comment">Please login to comment</div></div><div id="wpd-threads" class="wpd-thread-wrapper"><div class="wpd-thread-head"><div class="wpd-thread-info " data-comments-count="0"> <span class='wpdtc' title='0'>0</span> Comments</div><div class="wpd-space"></div><div class="wpd-thread-filter"><div class="wpd-filter wpdf-reacted wpd_not_clicked wpdiscuz-hidden" wpd-tooltip="Most reacted comment"> <i class="fas fa-bolt"></i></div><div class="wpd-filter wpdf-hottest wpd_not_clicked wpdiscuz-hidden" wpd-tooltip="Hottest comment thread"> <i class="fas fa-fire"></i></div><div class="wpd-filter wpdf-sorting wpdiscuz-hidden"> <span class="wpdiscuz-sort-button wpdiscuz-date-sort-asc wpdiscuz-sort-button-active" data-sorting="oldest">Oldest</span> <i class="fas fa-sort-down"></i><div class="wpdiscuz-sort-buttons"> <span class="wpdiscuz-sort-button wpdiscuz-date-sort-desc" data-sorting="newest">Newest</span> <span class="wpdiscuz-sort-button wpdiscuz-vote-sort-up" data-sorting="by_vote">Most Voted</span></div></div></div></div><div class="wpd-comment-info-bar"><div class="wpd-current-view"><i class="fas fa-quote-left"></i> Inline Feedbacks</div><div class="wpd-filter-view-all">View all comments</div></div><div class="wpd-thread-list"><div class="wpdiscuz-comment-pagination"></div></div></div></div></div><div id="wpdiscuz-loading-bar" class="wpdiscuz-loading-bar-unauth"></div><div id="wpdiscuz-comment-message" class="wpdiscuz-comment-message-unauth"></div></div><aside class="mh-widget-col-1 mh-sidebar" itemscope="itemscope" itemtype="https://schema.org/WPSideBar"><div id="search-5" class="mh-widget widget_search"><h4 class="mh-widget-title"><span class="mh-widget-title-inner">SEARCH</span></h4><form role="search" method="get" class="search-form" action="https://thehowtodo.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Search" /></form></div><div id="mh_magazine_custom_posts-13" class="mh-widget mh_magazine_custom_posts"><h4 class="mh-widget-title"><span class="mh-widget-title-inner">POPULAR ARTICLES</span></h4><ul class="mh-custom-posts-widget clearfix"><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-152884 post type-post status-publish format-standard has-post-thumbnail category-howto category-zh tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/%e4%ba%86%e8%a7%a3%e7%99%bd%e8%89%b2%e7%88%b1%e5%bf%83%e8%a1%a8%e6%83%85%e7%ac%a6%e5%8f%b7-%f0%9f%a4%8d-%e7%9a%84%e5%90%ab%e4%b9%89%ef%bc%9a%e5%85%a8%e9%9d%a2%e6%8c%87%e5%8d%97%e4%b8%8e%e4%bd%bf.html" title="了解白色爱心表情符号 🤍 的含义:全面指南与使用技巧"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/%e4%ba%86%e8%a7%a3%e7%99%bd%e8%89%b2%e7%88%b1%e5%bf%83%e8%a1%a8%e6%83%85%e7%ac%a6%e5%8f%b7-%f0%9f%a4%8d-%e7%9a%84%e5%90%ab%e4%b9%89%ef%bc%9a%e5%85%a8%e9%9d%a2%e6%8c%87%e5%8d%97%e4%b8%8e%e4%bd%bf.html" title="了解白色爱心表情符号 🤍 的含义:全面指南与使用技巧"> 了解白色爱心表情符号 🤍 的含义:全面指南与使用技巧 </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-199698 post type-post status-publish format-standard has-post-thumbnail category-en category-howto tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/decoding-the-343-angel-number-a-comprehensive-guide-to-its-meaning-and-impact.html" title="Decoding the 343 Angel Number: A Comprehensive Guide to Its Meaning and Impact"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/decoding-the-343-angel-number-a-comprehensive-guide-to-its-meaning-and-impact.html" title="Decoding the 343 Angel Number: A Comprehensive Guide to Its Meaning and Impact"> Decoding the 343 Angel Number: A Comprehensive Guide to Its Meaning and Impact </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-44398 post type-post status-publish format-standard has-post-thumbnail category-howto category-zh tag-gmail tag-google tag-google-drive tag-guide tag-how-to tag-microsoft tag-microsoft-office tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/google%e4%ba%91%e7%ab%af%e7%a1%ac%e7%9b%98%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97%ef%bc%9a%e6%96%b0%e6%89%8b%e5%88%b0%e9%ab%98%e6%89%8b%e7%9a%84%e8%bf%9b%e9%98%b6%e6%95%99%e7%a8%8b.html" title="Google云端硬盘使用指南:新手到高手的进阶教程"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/google%e4%ba%91%e7%ab%af%e7%a1%ac%e7%9b%98%e4%bd%bf%e7%94%a8%e6%8c%87%e5%8d%97%ef%bc%9a%e6%96%b0%e6%89%8b%e5%88%b0%e9%ab%98%e6%89%8b%e7%9a%84%e8%bf%9b%e9%98%b6%e6%95%99%e7%a8%8b.html" title="Google云端硬盘使用指南:新手到高手的进阶教程"> Google云端硬盘使用指南:新手到高手的进阶教程 </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-160070 post type-post status-publish format-standard has-post-thumbnail category-en category-howto tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/mastering-the-bobber-a-comprehensive-guide-to-attaching-a-float-to-your-fishing-line.html" title="Mastering the Bobber: A Comprehensive Guide to Attaching a Float to Your Fishing Line"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/mastering-the-bobber-a-comprehensive-guide-to-attaching-a-float-to-your-fishing-line.html" title="Mastering the Bobber: A Comprehensive Guide to Attaching a Float to Your Fishing Line"> Mastering the Bobber: A Comprehensive Guide to Attaching a Float to Your Fishing Line </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-104976 post type-post status-publish format-standard has-post-thumbnail category-howto category-ru tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/%d0%ba%d0%b0%d0%ba-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d1%82%d1%8c-%d1%8d%d1%84%d1%84%d0%b5%d0%ba%d1%82%d0%b8%d0%b2%d0%bd%d1%83%d1%8e-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d1%83-%d1%83%d1%87%d0%b5%d1%82.html" title="Как создать эффективную систему учета и хранения документов в офисе: пошаговое руководство"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/%d0%ba%d0%b0%d0%ba-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d1%82%d1%8c-%d1%8d%d1%84%d1%84%d0%b5%d0%ba%d1%82%d0%b8%d0%b2%d0%bd%d1%83%d1%8e-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d1%83-%d1%83%d1%87%d0%b5%d1%82.html" title="Как создать эффективную систему учета и хранения документов в офисе: пошаговое руководство"> Как создать эффективную систему учета и хранения документов в офисе: пошаговое руководство </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-146015 post type-post status-publish format-standard has-post-thumbnail category-en category-howto tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/unlock-entertainment-how-to-watch-tv-on-your-computer.html" title="Unlock Entertainment: How to Watch TV on Your Computer"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/unlock-entertainment-how-to-watch-tv-on-your-computer.html" title="Unlock Entertainment: How to Watch TV on Your Computer"> Unlock Entertainment: How to Watch TV on Your Computer </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-181869 post type-post status-publish format-standard has-post-thumbnail category-en category-howto tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/how-to-play-fortnite-on-unsupported-devices-a-comprehensive-guide.html" title="How to Play Fortnite on Unsupported Devices: A Comprehensive Guide"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/how-to-play-fortnite-on-unsupported-devices-a-comprehensive-guide.html" title="How to Play Fortnite on Unsupported Devices: A Comprehensive Guide"> How to Play Fortnite on Unsupported Devices: A Comprehensive Guide </a></div></div></li><li class="mh-custom-posts-item mh-custom-posts-small clearfix post-116978 post type-post status-publish format-standard has-post-thumbnail category-howto category-ru tag-guide tag-how-to tag-step-by-step"><figure class="mh-custom-posts-thumb"> <a class="mh-thumb-icon mh-thumb-icon-small" href="https://thehowtodo.com/%d0%b2%d0%b5%d0%bd%d1%82%d0%b8%d0%bb%d1%8f%d1%86%d0%b8%d1%8f-%d0%ba%d0%b0%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%be%d0%b9-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d1%8b.html" title="Вентиляция канализационной системы своими руками: пошаговая инструкция"><img width="60" height="60" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2060%2060'%3E%3C/svg%3E" data-src="https://thehowtodo.com/wp-content/uploads/2025/01/cropped-images-4-1-e1736525773281.webp" class="attachment-mh-magazine-small size-mh-magazine-small wp-post-image default-featured-img lazy" alt="How To" decoding="async" /> </a></figure><div class="mh-custom-posts-header"><div class="mh-custom-posts-small-title"> <a href="https://thehowtodo.com/%d0%b2%d0%b5%d0%bd%d1%82%d0%b8%d0%bb%d1%8f%d1%86%d0%b8%d1%8f-%d0%ba%d0%b0%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d0%be%d0%bd%d0%bd%d0%be%d0%b9-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d1%8b.html" title="Вентиляция канализационной системы своими руками: пошаговая инструкция"> Вентиляция канализационной системы своими руками: пошаговая инструкция </a></div></div></li></ul></div></aside></div></div><div class="mh-footer-nav-mobile"></div><nav class="mh-navigation mh-footer-nav" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement"><div class="mh-container mh-container-inner clearfix"><div class="menu-footer-container"><ul id="menu-footer" class="menu"><li id="menu-item-217283" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-217283"><a rel="privacy-policy" href="https://thehowtodo.com/privacy-policy">Privacy Policy</a></li><li id="menu-item-107" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-107"><a href="https://thehowtodo.com/terms-conditions">Terms & Conditions</a></li><li id="menu-item-106" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-106"><a href="https://thehowtodo.com/cookies">Cookie Policy</a></li></ul></div></div></nav><div class="mh-copyright-wrap"><div class="mh-container mh-container-inner clearfix"><p class="mh-copyright"> © Copyright Onion Search Engine LLC. All rights reserved.</p></div></div> <a title="Back to Top" href="#" class="mh-back-to-top"><i class="fa fa-chevron-up"></i></a></div> <script type="speculationrules">{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/mh-magazine\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}</script> <script defer src="data:text/javascript;base64,dmFyIF9wYXE9d2luZG93Ll9wYXE9d2luZG93Ll9wYXF8fFtdO19wYXEucHVzaChbJ3RyYWNrUGFnZVZpZXcnXSk7X3BhcS5wdXNoKFsnZW5hYmxlTGlua1RyYWNraW5nJ10pOyhmdW5jdGlvbigpe3ZhciB1PSIvL2FuYWx5dGljcy5vbmlvbnNlYXJjaGVuZ2luZS5jb20vIjtfcGFxLnB1c2goWydzZXRUcmFja2VyVXJsJyx1KydtYXRvbW8ucGhwJ10pO19wYXEucHVzaChbJ3NldFNpdGVJZCcsMTNdKTt2YXIgZD1kb2N1bWVudCxnPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jykscz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtnLnR5cGU9J3RleHQvamF2YXNjcmlwdCc7Zy5hc3luYz10cnVlO2cuc3JjPXUrJ21hdG9tby5qcyc7cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnLHMpO30pKCk7"></script> <span id='wpdUserContentInfoAnchor' style='display:none;' rel='#wpdUserContentInfo' data-wpd-lity>wpDiscuz</span><div id='wpdUserContentInfo' style='overflow:auto;background:#FDFDF6;padding:20px;width:600px;max-width:100%;border-radius:6px;' class='lity-hide'></div><div id='wpd-bubble-wrapper'><span id='wpd-bubble-all-comments-count' style='display:none;' title='0'>0</span><div id='wpd-bubble-count'><svg xmlns='https://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path class='wpd-bubble-count-first' d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'/><path class='wpd-bubble-count-second' d='M0 0h24v24H0z' /></svg><span class='wpd-new-comments-count'>0</span></div><div id='wpd-bubble'><svg xmlns='https://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path class='wpd-bubble-plus-first' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'/><path class='wpd-bubble-plus-second' d='M0 0h24v24H0z' /></svg><div id='wpd-bubble-add-message'>Would love your thoughts, please comment.<span id='wpd-bubble-add-message-close'><a href='#'>x</a></span></div></div><div id='wpd-bubble-notification'><svg xmlns='https://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path class='wpd-bubble-notification-first' d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'/><path class='wpd-bubble-notification-second' d='M0 0h24v24H0z' /></svg><div id='wpd-bubble-notification-message'><div id='wpd-bubble-author'><div><span id='wpd-bubble-author-avatar'></span><span id='wpd-bubble-author-name'></span><span id='wpd-bubble-comment-date'>(<span class='wpd-bubble-spans'></span>)</span></div><span id='wpd-bubble-comment-close'><a href='#'>x</a></span></div><div id='wpd-bubble-comment'><span id='wpd-bubble-comment-text'></span><span id='wpd-bubble-comment-reply-link'>| <a href='#'>Reply</a></span></div></div></div></div><div id='wpd-editor-source-code-wrapper-bg'></div><div id='wpd-editor-source-code-wrapper'><textarea id='wpd-editor-source-code'></textarea><button id='wpd-insert-source-code'>Insert</button><input type='hidden' id='wpd-editor-uid' /></div><script type="text/javascript" src="https://thehowtodo.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://thehowtodo.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script defer id="wp-i18n-js-after" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp3cC5pMThuLnNldExvY2FsZURhdGEoIHsgJ3RleHQgZGlyZWN0aW9uXHUwMDA0bHRyJzogWyAnbHRyJyBdIH0gKTsKLyogXV0+ICovCg=="></script> <script defer type="text/javascript" src="https://thehowtodo.com/wp-content/cache/autoptimize/js/autoptimize_single_96e7dc3f0e8559e4a3f3ca40b17ab9c3.js?ver=6.1.1" id="swv-js"></script> <script defer id="contact-form-7-js-before" src="data:text/javascript;base64,dmFyIHdwY2Y3PXsiYXBpIjp7InJvb3QiOiJodHRwczpcL1wvdGhlaG93dG9kby5jb21cL3dwLWpzb25cLyIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJjYWNoZWQiOjF9Ow=="></script> <script defer type="text/javascript" src="https://thehowtodo.com/wp-content/cache/autoptimize/js/autoptimize_single_2912c657d0592cc532dff73d0d2ce7bb.js?ver=6.1.1" id="contact-form-7-js"></script> <script defer type="text/javascript" src="https://thehowtodo.com/wp-includes/js/comment-reply.min.js?ver=6.8.2" id="comment-reply-js" data-wp-strategy="async"></script> <script defer id="pojo-a11y-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgUG9qb0ExMXlPcHRpb25zID0geyJmb2N1c2FibGUiOiIiLCJyZW1vdmVfbGlua190YXJnZXQiOiIiLCJhZGRfcm9sZV9saW5rcyI6IiIsImVuYWJsZV9zYXZlIjoiIiwic2F2ZV9leHBpcmF0aW9uIjoiIn07Ci8qIF1dPiAqLwo="></script> <script defer type="text/javascript" src="https://thehowtodo.com/wp-content/plugins/pojo-accessibility/assets/js/app.min.js?ver=1.0.0" id="pojo-a11y-js"></script> <script defer id="wpdiscuz-combo-js-js-extra" src="data:text/javascript;base64,dmFyIHdwZGlzY3V6QWpheE9iaj17IndjX2hpZGVfcmVwbGllc190ZXh0IjoiSGlkZSBSZXBsaWVzIiwid2Nfc2hvd19yZXBsaWVzX3RleHQiOiJWaWV3IFJlcGxpZXMiLCJ3Y19tc2dfcmVxdWlyZWRfZmllbGRzIjoiUGxlYXNlIGZpbGwgb3V0IHJlcXVpcmVkIGZpZWxkcyIsIndjX2ludmFsaWRfZmllbGQiOiJTb21lIG9mIGZpZWxkIHZhbHVlIGlzIGludmFsaWQiLCJ3Y19lcnJvcl9lbXB0eV90ZXh0IjoicGxlYXNlIGZpbGwgb3V0IHRoaXMgZmllbGQgdG8gY29tbWVudCIsIndjX2Vycm9yX3VybF90ZXh0IjoidXJsIGlzIGludmFsaWQiLCJ3Y19lcnJvcl9lbWFpbF90ZXh0IjoiZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkIiwid2NfaW52YWxpZF9jYXB0Y2hhIjoiSW52YWxpZCBDYXB0Y2hhIENvZGUiLCJ3Y19sb2dpbl90b192b3RlIjoiWW91IE11c3QgQmUgTG9nZ2VkIEluIFRvIFZvdGUiLCJ3Y19kZW55X3ZvdGluZ19mcm9tX3NhbWVfaXAiOiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHZvdGUgZm9yIHRoaXMgY29tbWVudCIsIndjX3NlbGZfdm90ZSI6IllvdSBjYW5ub3Qgdm90ZSBmb3IgeW91ciBjb21tZW50Iiwid2Nfdm90ZV9vbmx5X29uZV90aW1lIjoiWW91J3ZlIGFscmVhZHkgdm90ZWQgZm9yIHRoaXMgY29tbWVudCIsIndjX3ZvdGluZ19lcnJvciI6IlZvdGluZyBFcnJvciIsIndjX2Jhbm5lZF91c2VyIjoiWW91IGFyZSBiYW5uZWQiLCJ3Y19jb21tZW50X2VkaXRfbm90X3Bvc3NpYmxlIjoiU29ycnksIHRoaXMgY29tbWVudCBpcyBubyBsb25nZXIgcG9zc2libGUgdG8gZWRpdCIsIndjX2NvbW1lbnRfbm90X3VwZGF0ZWQiOiJTb3JyeSwgdGhlIGNvbW1lbnQgd2FzIG5vdCB1cGRhdGVkIiwid2NfY29tbWVudF9ub3RfZWRpdGVkIjoiWW91J3ZlIG5vdCBtYWRlIGFueSBjaGFuZ2VzIiwid2NfbXNnX2lucHV0X21pbl9sZW5ndGgiOiJJbnB1dCBpcyB0b28gc2hvcnQiLCJ3Y19tc2dfaW5wdXRfbWF4X2xlbmd0aCI6IklucHV0IGlzIHRvbyBsb25nIiwid2Nfc3BvaWxlcl90aXRsZSI6IlNwb2lsZXIgVGl0bGUiLCJ3Y19jYW5ub3RfcmF0ZV9hZ2FpbiI6IllvdSBjYW5ub3QgcmF0ZSBhZ2FpbiIsIndjX25vdF9hbGxvd2VkX3RvX3JhdGUiOiJZb3UncmUgbm90IGFsbG93ZWQgdG8gcmF0ZSBoZXJlIiwid2NfY29uZmlybV9yYXRlX2VkaXQiOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZWRpdCB5b3VyIHJhdGU/Iiwid2NfZm9sbG93X3VzZXIiOiJGb2xsb3cgdGhpcyB1c2VyIiwid2NfdW5mb2xsb3dfdXNlciI6IlVuZm9sbG93IHRoaXMgdXNlciIsIndjX2ZvbGxvd19zdWNjZXNzIjoiWW91IHN0YXJ0ZWQgZm9sbG93aW5nIHRoaXMgY29tbWVudCBhdXRob3IiLCJ3Y19mb2xsb3dfY2FuY2VsZWQiOiJZb3Ugc3RvcHBlZCBmb2xsb3dpbmcgdGhpcyBjb21tZW50IGF1dGhvci4iLCJ3Y19mb2xsb3dfZW1haWxfY29uZmlybSI6IlBsZWFzZSBjaGVjayB5b3VyIGVtYWlsIGFuZCBjb25maXJtIHRoZSB1c2VyIGZvbGxvd2luZyByZXF1ZXN0LiIsIndjX2ZvbGxvd19lbWFpbF9jb25maXJtX2ZhaWwiOiJTb3JyeSwgd2UgY291bGRuJ3Qgc2VuZCBjb25maXJtYXRpb24gZW1haWwuIiwid2NfZm9sbG93X2xvZ2luX3RvX2ZvbGxvdyI6IlBsZWFzZSBsb2dpbiB0byBmb2xsb3cgdXNlcnMuIiwid2NfZm9sbG93X2ltcG9zc2libGUiOiJXZSBhcmUgc29ycnksIGJ1dCB5b3UgY2FuJ3QgZm9sbG93IHRoaXMgdXNlci4iLCJ3Y19mb2xsb3dfbm90X2FkZGVkIjoiRm9sbG93aW5nIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJpc191c2VyX2xvZ2dlZF9pbiI6IiIsImNvbW1lbnRMaXN0TG9hZFR5cGUiOiIwIiwiY29tbWVudExpc3RVcGRhdGVUeXBlIjoiMCIsImNvbW1lbnRMaXN0VXBkYXRlVGltZXIiOiI2MCIsImxpdmVVcGRhdGVHdWVzdHMiOiIwIiwid29yZHByZXNzVGhyZWFkQ29tbWVudHNEZXB0aCI6IjUiLCJ3b3JkcHJlc3NJc1BhZ2luYXRlIjoiIiwiY29tbWVudFRleHRNYXhMZW5ndGgiOiIwIiwicmVwbHlUZXh0TWF4TGVuZ3RoIjoiMCIsImNvbW1lbnRUZXh0TWluTGVuZ3RoIjoiMSIsInJlcGx5VGV4dE1pbkxlbmd0aCI6IjEiLCJzdG9yZUNvbW1lbnRlckRhdGEiOiIxMDAwMDAiLCJzb2NpYWxMb2dpbkFncmVlbWVudENoZWNrYm94IjoiMSIsImVuYWJsZUZiTG9naW4iOiIwIiwiZmJVc2VPQXV0aDIiOiIwIiwiZW5hYmxlRmJTaGFyZSI6IjAiLCJmYWNlYm9va0FwcElEIjoiIiwiZmFjZWJvb2tVc2VPQXV0aDIiOiIwIiwiZW5hYmxlR29vZ2xlTG9naW4iOiIwIiwiZ29vZ2xlQ2xpZW50SUQiOiIiLCJnb29nbGVDbGllbnRTZWNyZXQiOiIiLCJjb29raWVoYXNoIjoiYjIwNDA2MjUyM2IzY2IzNjZlOTU5MmE1NDY0OTBhM2QiLCJpc0xvYWRPbmx5UGFyZW50Q29tbWVudHMiOiIwIiwic2Nyb2xsVG9Db21tZW50IjoiMSIsImNvbW1lbnRGb3JtVmlldyI6ImNvbGxhcHNlZCIsImVuYWJsZURyb3BBbmltYXRpb24iOiIxIiwiaXNOYXRpdmVBamF4RW5hYmxlZCI6IjEiLCJ1c2VySW50ZXJhY3Rpb25DaGVjayI6IjEiLCJlbmFibGVCdWJibGUiOiIxIiwiYnViYmxlTGl2ZVVwZGF0ZSI6IjAiLCJidWJibGVIaW50VGltZW91dCI6IjQ1IiwiYnViYmxlSGludEhpZGVUaW1lb3V0IjoiMTAiLCJjb29raWVIaWRlQnViYmxlSGludCI6IndwZGlzY3V6X2hpZGVfYnViYmxlX2hpbnQiLCJidWJibGVIaW50U2hvd09uY2UiOiIxIiwiYnViYmxlSGludENvb2tpZUV4cGlyZXMiOiI3IiwiYnViYmxlU2hvd05ld0NvbW1lbnRNZXNzYWdlIjoiMSIsImJ1YmJsZUxvY2F0aW9uIjoiY29udGVudF9sZWZ0IiwiZmlyc3RMb2FkV2l0aEFqYXgiOiIwIiwid2NfY29waWVkX3RvX2NsaXBib2FyZCI6IkNvcGllZCB0byBjbGlwYm9hcmQhIiwiaW5saW5lRmVlZGJhY2tBdHRyYWN0aW9uVHlwZSI6ImJsaW5rIiwibG9hZFJpY2hFZGl0b3IiOiIxIiwid3BEaXNjdXpSZUNhcHRjaGFTSyI6IiIsIndwRGlzY3V6UmVDYXB0Y2hhVGhlbWUiOiJsaWdodCIsIndwRGlzY3V6UmVDYXB0Y2hhVmVyc2lvbiI6IjIuMCIsIndjX2NhcHRjaGFfc2hvd19mb3JfZ3Vlc3QiOiIwIiwid2NfY2FwdGNoYV9zaG93X2Zvcl9tZW1iZXJzIjoiMCIsIndwRGlzY3V6SXNTaG93T25TdWJzY3JpYmVGb3JtIjoiMCIsIndtdUVuYWJsZWQiOiIxIiwid211SW5wdXQiOiJ3bXVfZmlsZXMiLCJ3bXVNYXhGaWxlQ291bnQiOiIxIiwid211TWF4RmlsZVNpemUiOiIyMDk3MTUyIiwid211UG9zdE1heFNpemUiOiI1MjQyODgwMCIsIndtdUlzTGlnaHRib3giOiIxIiwid211TWltZVR5cGVzIjp7ImpwZyI6ImltYWdlXC9qcGVnIiwianBlZyI6ImltYWdlXC9qcGVnIiwianBlIjoiaW1hZ2VcL2pwZWciLCJnaWYiOiJpbWFnZVwvZ2lmIiwicG5nIjoiaW1hZ2VcL3BuZyIsImJtcCI6ImltYWdlXC9ibXAiLCJ0aWZmIjoiaW1hZ2VcL3RpZmYiLCJ0aWYiOiJpbWFnZVwvdGlmZiIsImljbyI6ImltYWdlXC94LWljb24ifSwid211UGhyYXNlQ29uZmlybURlbGV0ZSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBhdHRhY2htZW50PyIsIndtdVBocmFzZU5vdEFsbG93ZWRGaWxlIjoiTm90IGFsbG93ZWQgZmlsZSB0eXBlIiwid211UGhyYXNlTWF4RmlsZUNvdW50IjoiTWF4aW11bSBudW1iZXIgb2YgdXBsb2FkZWQgZmlsZXMgaXMgMSIsIndtdVBocmFzZU1heEZpbGVTaXplIjoiTWF4aW11bSB1cGxvYWQgZmlsZSBzaXplIGlzIDJNQiIsIndtdVBocmFzZVBvc3RNYXhTaXplIjoiTWF4aW11bSBwb3N0IHNpemUgaXMgNTBNQiIsIndtdVBocmFzZURvaW5nVXBsb2FkIjoiVXBsb2FkaW5nIGluIHByb2dyZXNzISBQbGVhc2Ugd2FpdC4iLCJtc2dFbXB0eUZpbGUiOiJGaWxlIGlzIGVtcHR5LiBQbGVhc2UgdXBsb2FkIHNvbWV0aGluZyBtb3JlIHN1YnN0YW50aWFsLiBUaGlzIGVycm9yIGNvdWxkIGFsc28gYmUgY2F1c2VkIGJ5IHVwbG9hZHMgYmVpbmcgZGlzYWJsZWQgaW4geW91ciBwaHAuaW5pIG9yIGJ5IHBvc3RfbWF4X3NpemUgYmVpbmcgZGVmaW5lZCBhcyBzbWFsbGVyIHRoYW4gdXBsb2FkX21heF9maWxlc2l6ZSBpbiBwaHAuaW5pLiIsIm1zZ1Bvc3RJZE5vdEV4aXN0cyI6IlBvc3QgSUQgbm90IGV4aXN0cyIsIm1zZ1VwbG9hZGluZ05vdEFsbG93ZWQiOiJTb3JyeSwgdXBsb2FkaW5nIG5vdCBhbGxvd2VkIGZvciB0aGlzIHBvc3QiLCJtc2dQZXJtaXNzaW9uRGVuaWVkIjoiWW91IGRvIG5vdCBoYXZlIHN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbiIsIndtdUtleUltYWdlcyI6ImltYWdlcyIsIndtdVNpbmdsZUltYWdlV2lkdGgiOiJhdXRvIiwid211U2luZ2xlSW1hZ2VIZWlnaHQiOiIyMDAiLCJwcmV2aWV3VGVtcGxhdGUiOiI8ZGl2IGNsYXNzPVwid211LXByZXZpZXcgW1BSRVZJRVdfVFlQRV9DTEFTU11cIiB0aXRsZT1cIltQUkVWSUVXX1RJVExFXVwiIGRhdGEtd211LXR5cGU9XCJbUFJFVklFV19UWVBFXVwiIGRhdGEtd211LWF0dGFjaG1lbnQ9XCJbUFJFVklFV19JRF1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3bXUtcHJldmlldy1yZW1vdmVcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwid211LXByZXZpZXctaW1nXCIgc3JjPVwiW1BSRVZJRVdfSUNPTl1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid211LWZpbGUtbmFtZVwiPltQUkVWSUVXX0ZJTEVOQU1FXTxcL2Rpdj5cclxuICAgICAgICA8IS0tICAgICAgICA8ZGl2IGNsYXNzPVwid211LWRlbGV0ZVwiPlx1MDBhMDxcL2Rpdj4tLT5cclxuICAgIDxcL2Rpdj5cclxuPFwvZGl2PlxyXG4iLCJpc1VzZXJSYXRlZCI6IjAiLCJ2ZXJzaW9uIjoiNy42LjMzIiwid2NfcG9zdF9pZCI6IjEwNTkzMiIsImlzQ29va2llc0VuYWJsZWQiOiIxIiwibG9hZExhc3RDb21tZW50SWQiOiIwIiwiZGF0YUZpbHRlckNhbGxiYWNrcyI6W10sInBocmFzZUZpbHRlcnMiOltdLCJzY3JvbGxTaXplIjoiMzIiLCJ1cmwiOiJodHRwczpcL1wvdGhlaG93dG9kby5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCIsImN1c3RvbUFqYXhVcmwiOiJodHRwczpcL1wvdGhlaG93dG9kby5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL3dwZGlzY3V6XC91dGlsc1wvYWpheFwvd3BkaXNjdXotYWpheC5waHAiLCJidWJibGVVcGRhdGVVcmwiOiJodHRwczpcL1wvdGhlaG93dG9kby5jb21cL3dwLWpzb25cL3dwZGlzY3V6XC92MVwvdXBkYXRlIiwicmVzdE5vbmNlIjoiYjk2MDEwMTY3OCIsImlzX3JhdGVfZWRpdGFibGUiOiIwIiwibWVudV9pY29uIjoiaHR0cHM6XC9cL3RoZWhvd3RvZG8uY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC93cGRpc2N1elwvYXNzZXRzXC9pbWdcL3BsdWdpbi1pY29uXC93cGRpc2N1ei1zdmcuc3ZnIiwibWVudV9pY29uX2hvdmVyIjoiaHR0cHM6XC9cL3RoZWhvd3RvZG8uY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC93cGRpc2N1elwvYXNzZXRzXC9pbWdcL3BsdWdpbi1pY29uXC93cGRpc2N1ei1zdmdfaG92ZXIuc3ZnIiwiaXNfZW1haWxfZmllbGRfcmVxdWlyZWQiOiIxIn07dmFyIHdwZGlzY3V6VUNPYmo9eyJtc2dDb25maXJtRGVsZXRlQ29tbWVudCI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBjb21tZW50PyIsIm1zZ0NvbmZpcm1DYW5jZWxTdWJzY3JpcHRpb24iOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsIHRoaXMgc3Vic2NyaXB0aW9uPyIsIm1zZ0NvbmZpcm1DYW5jZWxGb2xsb3ciOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsIHRoaXMgZm9sbG93PyIsImFkZGl0aW9uYWxUYWIiOiIwIn07"></script> <script defer id="wpdiscuz-combo-js-js-before" src="data:text/javascript;base64,dmFyIHdwZGlzY3V6RWRpdG9yT3B0aW9ucz17bW9kdWxlczp7dG9vbGJhcjoiIixjb3VudGVyOnt1bmlxdWVJRDoiIixjb21tZW50bWF4Y291bnQ6MCxyZXBseW1heGNvdW50OjAsY29tbWVudG1pbmNvdW50OjEscmVwbHltaW5jb3VudDoxLH0sfSx3Y19iZV90aGVfZmlyc3RfdGV4dDoiQmUgdGhlIEZpcnN0IHRvIENvbW1lbnQhIix3Y19jb21tZW50X2pvaW5fdGV4dDoiSm9pbiB0aGUgZGlzY3Vzc2lvbiIsdGhlbWU6J3Nub3cnLGRlYnVnOidlcnJvcid9Ow=="></script> <script defer type="text/javascript" src="https://thehowtodo.com/wp-content/plugins/wpdiscuz/assets/js/wpdiscuz-combo.min.js?ver=7.6.33" id="wpdiscuz-combo-js-js"></script> <script type="text/javascript" id="jetpack-stats-js-before">_stq=window._stq||[];_stq.push(["view",JSON.parse("{\"v\":\"ext\",\"blog\":\"238206747\",\"post\":\"105932\",\"tz\":\"0\",\"srv\":\"thehowtodo.com\",\"j\":\"1:15.0\"}")]);_stq.push(["clickTrackerInit","238206747","105932"]);</script> <script type="text/javascript" src="https://stats.wp.com/e-202537.js" id="jetpack-stats-js" defer="defer" data-wp-strategy="defer"></script> <a id="pojo-a11y-skip-content" class="pojo-skip-link pojo-skip-content" tabindex="1" accesskey="s" href="#content">Skip to content</a><nav id="pojo-a11y-toolbar" class="pojo-a11y-toolbar-left pojo-a11y-" role="navigation"><div class="pojo-a11y-toolbar-toggle"> <a class="pojo-a11y-toolbar-link pojo-a11y-toolbar-toggle-link" href="javascript:void(0);" title="Accessibility Tools" role="button"> <span class="pojo-sr-only sr-only">Open toolbar</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="currentColor" width="1em"><title>Accessibility Tools