Сбор Canvas Fingerprint и использование в Human Emulator Studio
К уже существующим вариантам работы с Canvas FingerPrint в версии Human Emulator Studio 7.0.47 появилась возможность задавать существующий массив Canvas в программе. Это используется для того что бы можно было получить не уникальный Canvas FingerPrint, а имеющий некий процент подобности.
Где взять массивы Canvas?
Один из вариантов это повесить на ваш сайт скрипт и с помощью него собирать массивы Canvas.
Это можно делать с помощью такого скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<script type="text/javascript"> document.addEventListener("DOMContentLoaded", init, false); function init() { // source image - need set src for finger printing var img = document.createElement("img"); img.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAAAeCAYAAABHenA+AAAFdElEQVR4Xu1bzVXjQAx2KqGDnLaHsO+xJ3ogB7YcOIQe9rQcoIc90QGVsJbfyMjikzQOcQaelUuwx6Ofb/RJmnHYdPlJBBKBsyGwOZumVPRlEHi76d6+jDFnNGTz0DWP9+YGnBHvVFUQSMK1C4UkXDvsm2lOwjWDvn2Jbef6ejUn4dqt/bTC3Rxwb/+w/36VkHxZ0u6l5S8YE0k4AG7temqOzIyxj4RDAmqNWTBIZote2ual5c92uH5CEk5hxSSKyIPWfGYcQMLt/3V/pUmvr9uri4uXx8OP7lfHCrSRFvO1Qd61lKGd9zILsqncI18Gu9EnylYVOifypW+eL9qWU/vN8o0Asgi36Q798eV+tI6u+SPv0z05Rtd6Hl2j+VoHy5f3PdlaN9JrpR54Siljp8crjJeCKXNkwo2KnGcSbhKkMngfDleDXLmYHvNrCRcRERGQ76EMFREuylaV4+MCabJF+PDinNJvlAQB6TThOMC94NWEQATke568iHBo3NNtJQlt30BU77VAj93+Zv9Iz7kJWpMyijNFQriHu9zdd0/Pt++PClYfiHBCKQUcsfzp+mWQBZlfnOG5VCXJufG6n3f5Z/umZYzOi6C05Fs2mRkrkimACnUWTHiK6wuqbiprHus36eVOhNdl7EyEXiYcIgY9dr/rut/P79WOrvlz+zx1gMceu2131b10NM4koDG6pm89frfbD2NcsZggPIftoG8kW47T39Iutp/uT5KIQzhes5oKh7oad56A7LgKVwinA8M0pA/ICcEA4Ya5/XMj2TXJiZQgEfA8Jpxrk4yVUg1MmaUNHRZCJR+pU5KLEw633tAX3d4aGVL7NWZd3W3ItRDJcMBBJUd2nwiHKgmTB5GG50pC/NxtJ4mZgluS1ZJHZI4IZ8lm2xhbRFRJRpk4ogonk7bOi8M1WqtPVzixgKwU7eFCloPA4ODU31KW16KhLFIVmGgP5wAFbdCAl9ZaJhJtnylHE9/aO0QLrAmlnzd81BWOgl9XCV2ldACiVg4RTlcxJizNJ726kkqys05ki5QD28ey/5S+fWnCuXu4mj72SMJxlbBIjjIPzORR5hHjnkweky0aqh660qF5cG/g2bkw4bgSUNB/aL/KAYqsaJoAsupx20f3mERyriaNRThJQLZPytato2w36Xm3Tb523jtH8bJ0hTsp4crp5lAN+r+5KulrdBATVbCjS70TzFImJ4CB1PThZAPaN/ZnPMnliJxDKnD44rXqkzZoZoWThJFE4cDliqWrjqxuer+kW0qrwrEObi1RxfJko+qnycqEpe/Bh+DQpE1L2Rs359BkrA79Yk/myT1YDeH4lQMLBPORfJdwyJdCGp5nyiwZbbIPM/ZPcn81IZ3ji04uer9XhesnW8pRR/lD7rmYEHqvJANdjskKVlPhLMIhvag6sh3RHk5WxKMIB06R3TjXoKpr+AsS68QF7rWEQHOPJfZQ5j6nyPHGI/nROMIimoPsITlMsjn2enu6OXJIv7cWEcbRi299UqjbOL7W7aYmLGpHj70XyfZsHpNExX8L1Jw2RjHjcc4kHJok20yPlHKu3rdEwcDBxDLQfEu+BYQFgCRNZLO0Z07ioWc/+OKcTJ7C7wjjiHBW5aP71msBHosCv5ZwJE+/jrAIjuxCa17z7zk1xUbHqEzAQYHLHy9HAC05XpNNl9A/l3BL2NBCZg3hlrbr+/0oeWlEzig/CXdGsHtVSbjz4p3aCgJZ4dqFQla4dtg305yEawZ97uHaQZ+a14hAVrg1rnr63AyBJFwz6FPxGhFIwq1x1dPnZggk4ZpBn4rXiEASbo2rnj43QyAJ1wz6VLxGBJJwa1z19LkZAkm4ZtCn4jUi8B9xlfl5Jpv5HQAAAABJRU5ErkJggg=="; //document.body.appendChild(img); // for debug img.onload = function () { // create canvas var canvas = document.createElement("canvas"); //document.body.appendChild(canvas); // for debug canvas.width=img.width;canvas.height=img.height; // draw imge to canvas let ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0); // get image datas var imgDataBuffer=ctx.getImageData(0, 0, img.width, img.height); var res=btoa(String.fromCharCode.apply(null, imgDataBuffer.data)); //console.log(res); // for debug // save to hosting var xmlhttp = new XMLHttpRequest(); xmlhttp.open("POST", "/save_canvas_datas.php", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // xmlhttp.onreadystatechange = function() { if (this.readyState === 4 || this.status === 200){console.log(this.responseText); }}; // for debug xmlhttp.send("id=" + res); }; }; </script> |
В качестве исходной картинки в этом скрипте в img.src используется исходники картинки с сайта http://browserleaks.com/canvas.
Эту картинку можно заменить на любую другую аналогичную взятую с другого сайта.
Как встроить скрипт на сайт?
Для этого нужно выполнить несколько простых шагов.
- Добавить скрипт на страницу сайте, где будем собирать массивы Canvas перед закрывающимся тэгом head, как это показано на рисунке ниже.
2. Далее создаём в корне сайта файл save_canvas_datas.php — файл для сохранения массивов Canvas FingerPrint в папку canvаs со следующим содержимым:
1 2 3 4 5 6 7 |
<?php $logFile = "./canvas/canvas".date("U").".txt"; $datas = $_POST['id']; file_put_contents($logFile, str_replace(" ","+",$datas)); // echo $datas; for debug ?> |
- Создаём в корне сайта папку canvas, в которой будут создаваться файлы с массивами Canvas.
Если всё настроено верно то в папке Canvas будут появляться файлы типа canvas1588694738.txt, которые будут генерится при каждом переходе пользователя на сайт.
Надо также учитывать , что скрипт может конфликтовать с другими скриптами, установленными на сайте.
Использование полученных Canvas Fingerprint в Human Emulator Studio.
Как мы писали выше с версии 7.0.47 команду set_canvas_toDataURL можно использовать для установки имеющегося у нас массива Canvas. Пример на php:
1 2 3 4 5 6 7 8 9 |
// 7 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"; |
В случае c имеющимися файлами можно переписать код следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// получить все файлы в папке в массив $arr_canvas_files = $folder->get_all_items($canvas_folder); $arr_canvas_files = explode("<br>",$arr_canvas_files); // пройдёмся foreach($arr_canvas_files as $canvas_file) { echo "применяем канвас из $canvas_file<br>"; $app->clear(); $browser->recreate(); sleep(1); // 7 $js="var imgDateArrayEncoded = '".file_get_contents($canvas_file)."'; 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]; "; $browser->set_canvas_toDataURL("1",$js)."\n"; sleep(2); // 8 //echo "8. Перейдем на страницу для детектирвоания браузера : "; $browser->navigate("http://browserleaks.com/canvas",false)."\n"; $element->get_by_inner_text("Signature")->focus(); $cur_canvas = $td->get_inner_text_by_id("crc"); $uniqueness = $td->get_inner_text_by_id("crc_detect"); echo $cur_canvas."<br>".$uniqueness."<br>"; sleep(3); /*//echo "8. Перейдем на страницу для детектирвоания браузера : "; $browser->navigate("http://f.vision/",false)."\n"; $cur_canvas =$span->get_inner_text_by_id("q-js-canvas"); echo $cur_canvas."<br>"; sleep(3*/ } |
Файлы могут повторяться, поэтому перед использованием надо удалить дублирующиеся файлы.
Обсудить функционал на форуме.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.