# Анонимность в Human Emulator Studio. Отпечатки браузера.

### Browser Fingerprint.

Ранее в статьях про анонимность мы уже затрагивали так называемые отпечатки браузера (*Browser Fingerprint*). Что это за отпечатки такие? По факту это средство для определения пользователя на основе получения различных параметров его системы, установленого в ней программного обеспечения, а также информации о железе самого компьютера. Всё это определяется с помощью различных JS библиотек и после обработки, преобразуется в строку отпечатка, после чего это строка преобразуется в 32-х битное число и это и будет ваш идентификатор, с помощью которого можно определить повторное посещение сайта или отследить все ваши действия на этом сайте.

Так в статье Анонимность в Human Emulator Studio. Управление информацией о браузере мы уже говорили о параметрах которые влияют на отпечаток браузера. Это **userAgent** строка (*navigator.userAgent*), а также параметры объекта navigator **appVersion**, **appName**,** appCodeName**, **language(s)**, **platform**,** product**,** productsub**, информация о плагинах и об оборудовании, размер экрана, глубина цвета экрана.

В статье Анонимность в Human Emulator Studio. Местоположение это параметры **Timezone**, **Интернационализация**, **navigator.language**.

В этой статье рассмотрим другие параметры, которые влияют на ваш отпечаток браузера или, если сказать по другому, идентификатор пользователя.

### Сanvas Fingerprint.

Это специальная техника, с помощью которой на скрытом Сanvas элементе рисуется текст с наложенными на него эффектами. После чего

это изображение преобразуется в массив байтов,а затем при помощи canvas.toDataULR() преобразовывается в base64 строку. И это строка прибавляется к вашему отпечатку.

Причём за счёт платформазависимости библиотеки Canvas API, с помощью которой выполняется рисовка, результирующий набор байтов будет уникальным практически на каждом компьютере.

Для подмены этого параметра в Human Emulator Studio используется функция объекта browser set_canvas_toDataURL

С **версии 7.0.43** в качестве параметра передаётся любое число или строка на основе, которого создаётся «шум» для картинки с текстом.

**пример на php: **

1 2 3 4 5 6 |
// зададим шум $browser->set_canvas_toDataURL("231213hsg"); // перейдём на сайт для проверки $browser->navigate("https://browserleaks.com/canvas"); |

**Результат работы функции ****set_canvas_toDataURL ****.**

Без использования шума:

С использованием шума:

В версии **Studio 7.0.45** в команду set_canvas_toDataURL был добавлен параметр *jsChangeNoise*. Этот параметр содержит алгоритм изменения картинки с помощью JS. Таким образом если вы можете использовать свои алгоритмы обработки картинки, например:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
echo "5. Через JS руками - задаем любые изменения : "; $js="for (var i = 1; i < height-1; i++) { for (var j = 1; j < width-1; j++) { var n = ((i * (width * 4)) + (j * 4)); imageData.data[n + 0] = imageData.data[n + 0] + 150; imageData.data[n + 1] = imageData.data[n + 1] + 150; imageData.data[n + 2] = imageData.data[n + 2] + 150; imageData.data[n + 3] = imageData.data[n + 3]; } }"; echo $browser->set_canvas_toDataURL(1,$js)."\n"; // 5 echo "6. Перейдем на страницу для детектирования браузера : "; echo $browser->navigate("https://browserleaks.com/canvas"); |

В версии **Studio 7.0.4**7 в программу была добавлена возможность получать в буфер обмена исходник картинки для дальнейшего его использования в программе. Для этого выбираем пункт меню *Сервис->Скриншоты->Получить последний Based 64 кодированный массив канваса и скопировать его в буффер.*

Пример использования на php полученного исходника в программе:

1 2 3 4 5 6 7 8 9 |
echo "7. Через JS используя сохраненный массив Canavas'a : "; $js=" var imgDateArrayEncoded = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AGaZ/wBmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAZcwAs2XMALNlzACzZcwAs0etLv9lzACzAAAAAABmmf8AAAAAAGaZ/wBmmf8AAAAAAAAAAABmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAABmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAZpn/AAAAAABmmf8AZpn/AAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wBmmf8AZpn/AGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AGaZ/wBmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wBmmf8AZpn/AGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAGaZ/wBmmf8AAAAAAGaZ/wBmmf8AZpn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD/AGaZ//9mAP//ZgD//2YA/wBmmf8AZpn/AGaZ//9mAP//ZgD//2YA//9mAP8AZpn/AGaZ/wBmmf8AZpn//2YA//9mAP//ZgD/AGaZ//9mAP8AZpn/AGaZ/wBmmf//ZgD//2YA/wBmmf//ZgD//2YA//9mAP//ZgD//2YA/wBmmf//ZgD//2YA/wBmmf8AZpn/AGaZ/wBmmf//ZgD//2YA//9mAP//ZgD/AGaZ/wBmmf8AZpn//2YA//9mAP//ZgD/AGaZ//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAGaZ/wAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAZcwAs2XMALNHrS7/ZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAGXMALMAAAAAAAAAAAAAAAAAZpn/AAAAAGXMALMAZpn/AGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAZpn/AAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wBmmf8AAAAAAAAAAAAAAAAAZpn/AAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAZpn/AAAAAGXMALMAAAAAAGaZ/wAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAAAAAAGaZ/wAAAAAAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAAAAZpn/AAAAAAAAAAAAZpn/AGaZ/wAAAAAAAAAAAGaZ/wBmmf8AAAAAAAAAAABmmf8AAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP8AZpn/AGaZ//9mAP//ZgD//2YA/wBmmf//ZgD//2YA//9mAP8AZpn//2YA//9mAP8AZpn//2YA//9mAP//ZgD//2YA/wBmmf//ZgD//2YA/wBmmf8AZpn//2YA//9mAP//ZgD/AGaZ//9mAP8AZpn//2YA//9mAP//ZgD//2YA//9mAP8AZpn//2YA/wBmmf//ZgD//2YA//9mAP//ZgD/AGaZ//9mAP//ZgD/AGaZ//9mAP//ZgD//2YA/wBmmf//ZgD//2YA//9mAP8AZpn/AGaZ//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf9lzACzZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAGaZ/wAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaZ/wBmmf9HrS7/AGaZ/wBmmf8AZpn/AAAAAAAAAABlzACzAGaZ/wAAAABlzACzAAAAAGXMALNHrS7/AAAAAAAAAABlzACzZcwAs0etLv9lzACzAAAAAABmmf9lzACzAGaZ/wAAAAAAZpn/ZcwAswBmmf8AAAAAAAAAAEetLv8AAAAAAAAAAGXMALNlzACzZcwAswAAAAAAZpn/AAAAAAAAAABlzACz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AAAAAGXMALNlzACzAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAGaZ/wAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/5OtAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP+TrQD//2YA//9mAP+TrQD//2YA//9mAP//ZgD/k60A/5OtAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP//ZgD/k60A//9mAP//ZgD//2YA//9mAP+TrQD//2YA//9mAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP+TrQD/k60A//9mAP//ZgD/k60A//9mAP//ZgD//2YA/5OtAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAs2XMALNlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAABlzACzZcwAs2XMALMAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAs2XMALNlzACzZcwAswAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAABlzACzZcwAs2XMALMAAAAAZcwAswAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAABlzACzZcwAs2XMALMAAAAAAAAAAABmmf8AAAAAZcwAswAAAAAAAAAAAAAAAGXMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAABlzACzZcwAs2XMALNlzACzAAAAAAAAAAAAAAAAZcwAswAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/k60A/5OtAP+TrQD//2YA//9mAP//ZgD//2YA/5OtAP+TrQD/k60A//9mAP+TrQD//2YA//9mAP+TrQD//2YA//9mAP//ZgD//2YA/5OtAP//ZgD//2YA//9mAP//ZgD/k60A//9mAP//ZgD//2YA//9mAP//ZgD/k60A/5OtAP+TrQD//2YA/5OtAP//ZgD//2YA//9mAP+TrQD/k60A/5OtAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAZcwAs2XMALNlzACzZcwAswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGXMALMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlzACzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD//2YA//9mAP//ZgD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; var aTmp=atob(imgDateArrayEncoded).split('').map(function (c) { return c.charCodeAt(0); }); for (var i = 0; i < height*width*4; i++) imageData.data[i] = aTmp[i]; "; echo $browser->set_canvas_toDataURL("1",$js)."\n"; |

Результат работы:

### WebGL Fingerprint.

WebGL Fingerprint это дальнейшее развитие идеи Сanvas Fingerprint.

WebGL — это JavaScript API для визуализации интерактивной 3D-графики в любом совместимом веб-браузере без использования плагинов. Приложения WebGL состоят из управляющего кода, написанного на JavaScript, и кода специальных эффектов, выполняемого на графическом процессоре компьютера. Элементы WebGL могут быть смешаны с другими элементами HTML и скомпонованы с другими частями страницы или фона страницы.

С помощью этого API рисуются 3D треугольники, на которые накладываются различные эффекты. После чего также как и с Сanvas Fingerprint полученный рисунок преобразуется в массив байтов, который будет разным на разных компьютерах.

Для работы с этим отпечатком в программу **с версии 7.0.40 **в объект browser была добавлена функция ** set_random_webgl_fingerprint**. В

**версии 7.0.43**эта функция претерпела занчительные изменения и теперь она не генерит значение случайным образом, а создаёт его на основе заданных параметров.

**Параметры для работы с функцией:**** enable**=true — использовать подмену или нет

*noiseImage**— число от 1 до 999999 — это шум накладываемый на отрисовку картинки через WebGl чем больше цифра — тем больше шум.*

**— строка из чисел — длиной 100 цифр, где каждая цифра в строке используется для создания шума параметров WebGl, по которым создается WebGL Report Hash на странице https://browserleaks.com/webgl — сами параметры на той же странице — ниже : (**

*noiseParams***и т.п)**

*Max Vertex Attributes,Max Vertex Uniform Vectors**unmaskedVendor** , unmaskedRenderer, glVersion, shadingLanguageVersion, vendor, renderer* это строковые значения, посмотреть которые можно в таблице на странице https://browserleaks.com/webgl.

**пример использования на php:**

1 2 3 4 5 6 7 8 9 10 |
// Зададим генерировать случайный WebGL fingerprint $browser->set_random_webgl_fingerprint(true,"123456","123456789012345678901234567890", "New Unmasked Vendor","New Unmasked Renderer", "New GL Version","New Shading Version","New Vendor","New Renderer" ); // 2 Перейдем на страницу для детектирования браузера $browser->navigate("https://browserleaks.com/webgl")."<br>"; $td->set_focus_by_inner_text("WebGL Report Hash", false); |

До использования подмены:

После выполнения работы примера имеем:

Функция будет действовать до перезагрузки программы или пока вы не вызовите её в следующем виде:

1 2 3 4 |
// отметим использование случайного WebGL fingerprint $browser->set_random_webgl_fingerprint(false); |

WebGL можно просто отключить с помощью команды объекта browser enable_gpu_rendering.

**пример на php: **

1 2 3 4 |
// отключить использование WebGL $browser->enable_gpu_rendering(false); |

### Google SwiftShader.

В **версии 7.0.43 **добавлена настройка использовать Google SwiftShader для отрисовки.

Что такое **Google SwiftShader** — это специальная библиотека, которая используется для высокопроизводительного рендеринга, предоставляющая реализацию графических API, выполняемую на CPU. Используется для возможности отображения расширенной 3D-графики независимо от используемого оборудования и графических драйверов. SwiftShader задействован в Chrome для работы WebGL на системах без современных GPU или для обхода проблем в графических драйверах.

Почему это важно с точки зрения анонимности, включение или отключение использования Google SwiftShader для отрисовки в Human Emulator Studio, влияет на все параметры отпечатков связанных с отрисовкой. В том числе и на информацию о графическом драйвере, в частности на параметры *WebGL Unmasked Renderer*.

При включённом Google SwiftShader информация о WebGL:

При отключённом Google SwiftShader:

Из рисунков видно что меняется не просто параметр *Unmasked Renderer*, но и результирующие строки WebGL *WebGL Report Hash* и *WebGL Image Hash*. Тоже самое происходит и с *Сanvas Fingerprint*, он тоже меняется в зависимости от того включено использование Google SwiftShader или отключено.

**Данный параметр меняется только из настроек программы и после его изменения требуется обязательная перезагрузка программы. **

### Font fingerprinting.

Font fingerprinting(Системные шрифты) — это то, какие шрифты у вас есть, и как они нарисованы. На основе измерения размеров заполненных текстом HTML элементов можно построить идентификатор, который можно использовать для отслеживания одного и того же браузера с течением времени.

**Вот несколько вариантов получения ваших font fingerprinting:**

** JS Fonts(unicode)** — производятся путем измерения граничных полей определенных кодовых точек Unicode, основанных на приведенном выше исследовании.

**— использует резервный механизм CSS для сравнения подготовленного списка шрифтов с общими семействами шрифтов.**

*JS Fonts (classic)*** Flash Fonts** — это самый простой, Flash имеет метод, который просто возвращает массив доступных системных шрифтов.

На основе всей полученной информации опять создаются ваши уникальные идентификаторы.

При изменении масштаба браузера даже на 1 единицу изменяются и идентификаторы *Font fingerprinting*.

Без изменения масштаба:

после выполнения кода на php:

1 2 3 4 5 6 |
// изменить масштаб $browser->set_zoom(99); // Перейдем на страницу для детектирование браузера $browser->navigate("https://browserleaks.com/fonts"); |

Как видно из рисунков определение шрифтов с помощью Flash в Human Emulator Studio отключено по умолчанию.

**С версии 7.0.43 **в объект *browser *была добавлена команда *set_random_bounds_fingerprint*.

Команда на вход принимает параметр

**noise**=-1 — шум, это число от -1 до 999999999. По умолчанию шум равен -1, то есть шума нет.

Без использования команды:

Пример использования команды на php:

1 2 3 |
// Зададим генерировать случайный Bounds fingerprint $browser->set_random_bounds_fingerprint(999999999); |

После выполнения команды:

Убрать искажение с помощью команды можно так:

1 2 3 |
// сбросить шум $browser->set_random_bounds_fingerprint(); |

### ClientRect.

Метод getClientRects возвращает значение, которое представляет собой набор объектов DOMRect, по одному для каждого поля границы CSS, связанного с элементом.

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

На данный подмены для этого отпечатка нет, но него также влияет изменения масштаба браузера даже на 1 единицу.

пример на php:

1 2 3 4 5 6 7 |
// задать масштаб $browser->set_zoom(99); // пересоздать браузер $browser->recreate(); // перейдем на страницу для детектирования браузера $browser->navigate("https://browserleaks.com/rects"); |

Без изменения масштаба:

После выполнения примера на php:

В любом случае в данный момент наш отдел разработки ищет решение для подмены ClientRect.

*По мере изменения или дополнения функционала связанного с отпечатками браузера данная статья будет дополняться или изменяться.*

### AudioContext Fingerprint.

Работает аналогично другим отпечаткам только вместо Canvas API в этом случае используется библиотека *AudioContext API*, это интерфейс *Web Audio API*, который поддерживают все современные браузеры. Использование AudioContext API для определения AudioContext fingerprint не собирает звук, воспроизводимый или записанный вашим устройством, отпечаток AudioContext является свойством самого звукового стека вашего устройства и данный метод получения вашего идентификатора независим от браузера.

Для подмены этого отпечатка **в версии 7.0.43** в объект *browser *была добавлена функция *set_random_audio_fingerprint*.

Команда принимает следующие параметры :

* noiseAudio *— звуковой шум, может быть от 1 до 999999.

**— частотный шум, может быть от 1 до 99.**

*noiseFrequence*Без применения функции значения на сайте audiofingerprint.openwpm.com:

пример работы команды на php:

1 2 3 |
// задать искажение audio отпечатка $browser->set_random_audio_fingerprint("999999","99"); |

После выполнения примера.

Для того что бы сбросить по умолчанию нужно просто вызвать функцию в виде:

1 2 3 |
// сбросить на значение по умолчанию $browser->set_random_audio_fingerprint(); |

обсудить статью на нашем форуме

## Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.