Анализ сайта testkitchentuesday.com
Основное Готовность: 10%
Домен
testkitchentuesday.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Домен второго уровня идеален для продвижения.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Безопасность
Сайт небезопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте не найден защищенный протокол ssl и сайт не открывается по https!
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en-US
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en-US.
Скорость загрузки
~1,26сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 1,26сек превышает 1 секунду. Желательно улучшить работу сайта!
Объем документа
294Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 294Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 25
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 25 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | http://testkitchentuesday.com/wp-content/cache/autoptimize/css/autoptimize_single_e6fae855021a88a0067fcc58121c594f.css |
| stylesheet | text/css | http://testkitchentuesday.com/wp-content/cache/autoptimize/css/autoptimize_single_c9dc6f1ef374d733a82d1682278e5b55.css |
| stylesheet | text/css | http://testkitchentuesday.com/wp-content/cache/autoptimize/css/autoptimize_single_2461bf9faf592d20d88dc378225d19f5.css |
| js | text/javascript | //ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js?ver=5.9.13 |
| js | text/javascript | http://testkitchentuesday.com/wp-content/cache/autoptimize/js/autoptimize_single_79b4956b7ec478ec10244b5e2d33ac7d.js |
| js | data:text/javascript;base64,ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggInBpY3R1cmUiICk7aWYoIXdpbmRvdy5IVE1MUGljdHVyZUVsZW1lbnQgJiYgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikge3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7dmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtzLnNyYyA9ICJodHRwOi8vdGVzdGtpdGNoZW50dWVzZGF5LmNvbS93cC1jb250ZW50L3BsdWdpbnMvd2VicC1leHByZXNzL2pzL3BpY3R1cmVmaWxsLm1pbi5qcyI7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKTt9KTt9 | |
| js | http://testkitchentuesday.com/wp-content/themes/freshy2/js/jquery.bxslider.min.js | |
| js | http://testkitchentuesday.com/wp-content/cache/autoptimize/js/autoptimize_single_819f0fb7fd0e17b9924fadf7755146d0.js | |
| js | http://testkitchentuesday.com/wp-content/cache/autoptimize/js/autoptimize_single_83872ee20288b330ec1e372db8ded316.js | |
| js | data:text/javascript;base64,CiAgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CiAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7CgogIGd0YWcoJ2NvbmZpZycsICdHLUcxM0tZVzBFRUonKTsK | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js | |
| js | data:text/javascript;base64,Ci8vPCFbQ0RBVEFbCmZ1bmN0aW9uIGFkZExpbmsoKSB7CiAgICB2YXIgYm9keV9lbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXTsKICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CiAgICB2YXIgcGFnZWxpbmsgPSAiPHA+U291cmNlOiA8YSBocmVmPSciK2RvY3VtZW50LmxvY2F0aW9uLmhyZWYrIic+Iitkb2N1bWVudC5sb2NhdGlvbi5ocmVmKyI8L2E+PC9wPiI7CiAgICB2YXIgY29weXRleHQgPSBzZWxlY3Rpb24gKyBwYWdlbGluazsKICAgIHZhciBuZXdkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIG5ld2Rpdi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7CiAgICBuZXdkaXYuc3R5bGUubGVmdCA9ICctOTk5OTlweCc7CiAgICBib2R5X2VsZW1lbnQuYXBwZW5kQ2hpbGQobmV3ZGl2KTsKICAgIG5ld2Rpdi5pbm5lckhUTUwgPSBjb3B5dGV4dDsKICAgIHNlbGVjdGlvbi5zZWxlY3RBbGxDaGlsZHJlbihuZXdkaXYpOwogICAgd2luZG93LnNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewogICAgICAgIGJvZHlfZWxlbWVudC5yZW1vdmVDaGlsZChuZXdkaXYpOwogICAgfSwgMCk7Cn0KZG9jdW1lbnQub25jb3B5ID0gYWRkTGluazsKLy9dXT4K | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js | |
| js | http://testkitchentuesday.com/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js?ao_version=3.1.10 | |
| js | text/javascript | https://testkitchentuesday.com/wp-content/cache/busting/1/wp-includes/js/dist/vendor/regenerator-runtime.min-0.13.9.js |
| js | text/javascript | https://testkitchentuesday.com/wp-content/cache/busting/1/wp-includes/js/dist/vendor/wp-polyfill.min-3.15.0.js |
| js | data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjcgPSB7ImFwaSI6eyJyb290IjoiaHR0cHM6XC9cL3Rlc3RraXRjaGVudHVlc2RheS5jb21cL3dwLWpzb25cLyIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJjYWNoZWQiOiIxIn07Ci8qIF1dPiAqLwo= | |
| js | text/javascript | http://testkitchentuesday.com/wp-content/cache/autoptimize/js/autoptimize_single_3f97a68905d330bde2987f0e70052cb2.js |
| js | data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgcmF0aW5nc0wxMG4gPSB7InBsdWdpbl91cmwiOiJodHRwOlwvXC90ZXN0a2l0Y2hlbnR1ZXNkYXkuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC93cC1wb3N0cmF0aW5ncyIsImFqYXhfdXJsIjoiaHR0cHM6XC9cL3Rlc3RraXRjaGVudHVlc2RheS5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCIsInRleHRfd2FpdCI6IlBsZWFzZSByYXRlIG9ubHkgMSBpdGVtIGF0IGEgdGltZS4iLCJpbWFnZSI6InN0YXJzX2NyeXN0YWwiLCJpbWFnZV9leHQiOiJnaWYiLCJtYXgiOiI1Iiwic2hvd19sb2FkaW5nIjoiMSIsInNob3dfZmFkaW5nIjoiMSIsImN1c3RvbSI6IjAifTsKdmFyIHJhdGluZ3NfbW91c2VvdmVyX2ltYWdlPW5ldyBJbWFnZSgpO3JhdGluZ3NfbW91c2VvdmVyX2ltYWdlLnNyYz0iaHR0cDovL3Rlc3RraXRjaGVudHVlc2RheS5jb20vd3AtY29udGVudC9wbHVnaW5zL3dwLXBvc3RyYXRpbmdzL2ltYWdlcy9zdGFyc19jcnlzdGFsL3JhdGluZ19vdmVyLmdpZiI7OwovKiBdXT4gKi8K | |
| js | text/javascript | http://testkitchentuesday.com/wp-content/cache/autoptimize/js/autoptimize_single_830dae7fb9dfd5ac1879a83dd028083d.js |
| js | data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgeWFzcldpbmRvd1ZhciA9IHsic2l0ZVVybCI6Imh0dHA6XC9cL3Rlc3RraXRjaGVudHVlc2RheS5jb20iLCJhZG1pblVybCI6Imh0dHBzOlwvXC90ZXN0a2l0Y2hlbnR1ZXNkYXkuY29tXC93cC1hZG1pblwvIiwiYWpheHVybCI6Imh0dHBzOlwvXC90ZXN0a2l0Y2hlbnR1ZXNkYXkuY29tXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJ2aXNpdG9yU3RhdHNFbmFibGVkIjoieWVzIiwiYWpheEVuYWJsZWQiOiJ5ZXMiLCJsb2FkZXJIdG1sIjoiPGRpdiBpZD1cInlhc3ItbG9hZGVyXCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2tcIj5cdTAwYTAgPGltZyBzcmM9XCJodHRwOlwvXC90ZXN0a2l0Y2hlbnR1ZXNkYXkuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC95ZXQtYW5vdGhlci1zdGFycy1yYXRpbmdcL2luY2x1ZGVzXC9pbWdcL2xvYWRlci5naWZcIiBcclxuICAgICAgICAgICAgICAgICB0aXRsZT1cInlhc3ItbG9hZGVyXCIgYWx0PVwieWFzci1sb2FkZXJcIiBoZWlnaHQ9XCIxNlwiIHdpZHRoPVwiMTZcIj48XC9kaXY+IiwibG9hZGVyVXJsIjoiaHR0cDpcL1wvdGVzdGtpdGNoZW50dWVzZGF5LmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wveWV0LWFub3RoZXItc3RhcnMtcmF0aW5nXC9pbmNsdWRlc1wvaW1nXC9sb2FkZXIuZ2lmIiwiaXNVc2VyTG9nZ2VkSW4iOiJmYWxzZSIsImlzUnRsIjoiZmFsc2UiLCJzdGFyU2luZ2xlRm9ybSI6Ilwic3RhclwiIiwic3RhcnNQbHVyYWxGb3JtIjoiXCJzdGFyc1wiIiwidGV4dEFmdGVyVnIiOiJcIltUb3RhbDogJXRvdGFsX2NvdW50JSAgQXZlcmFnZTogJWF2ZXJhZ2UlXVwiIiwidGV4dFJhdGluZyI6IlwiUmF0aW5nXCIiLCJ0ZXh0TG9hZFJhbmtpbmciOiJcIkxvYWRpbmcsIHBsZWFzZSB3YWl0XCIiLCJ0ZXh0VnZTdGF0cyI6Ilwib3V0IG9mIDUgc3RhcnNcIiIsInRleHRPcmRlckJ5IjoiXCJPcmRlciBieVwiIiwidGV4dE1vc3RSYXRlZCI6IlwiTW9zdCBSYXRlZFwiIiwidGV4dEhpZ2hlc3RSYXRlZCI6IlwiSGlnaGVzdCBSYXRlZFwiIiwidGV4dExlZnRDb2x1bW5IZWFkZXIiOiJcIlBvc3RcIiJ9OwovKiBdXT4gKi8K | |
| js | data:text/javascript;base64,CmZ1bmN0aW9uIGIyYShhKXt2YXIgYixjPTAsbD0wLGY9IiIsZz1bXTtpZighYSlyZXR1cm4gYTtkb3t2YXIgZT1hLmNoYXJDb2RlQXQoYysrKTt2YXIgaD1hLmNoYXJDb2RlQXQoYysrKTt2YXIgaz1hLmNoYXJDb2RlQXQoYysrKTt2YXIgZD1lPDwxNnxoPDw4fGs7ZT02MyZkPj4xODtoPTYzJmQ+PjEyO2s9NjMmZD4+NjtkJj02MztnW2wrK109IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Ii5jaGFyQXQoZSkrIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Ii5jaGFyQXQoaCkrIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Ii5jaGFyQXQoaykrIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89Ii5jaGFyQXQoZCl9d2hpbGUoYzwNCmEubGVuZ3RoKTtyZXR1cm4gZj1nLmpvaW4oIiIpLGI9YS5sZW5ndGglMywoYj9mLnNsaWNlKDAsYi0zKTpmKSsiPT09Ii5zbGljZShifHwzKX1mdW5jdGlvbiBhMmIoYSl7dmFyIGIsYyxsLGY9e30sZz0wLGU9MCxoPSIiLGs9U3RyaW5nLmZyb21DaGFyQ29kZSxkPWEubGVuZ3RoO2ZvcihiPTA7NjQ+YjtiKyspZlsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIuY2hhckF0KGIpXT1iO2ZvcihjPTA7ZD5jO2MrKylmb3IoYj1mW2EuY2hhckF0KGMpXSxnPShnPDw2KStiLGUrPTY7ODw9ZTspKChsPTI1NSZnPj4+KGUtPTgpKXx8ZC0yPmMpJiYoaCs9ayhsKSk7cmV0dXJuIGh9YjY0ZT1mdW5jdGlvbihhKXtyZXR1cm4gYnRvYShlbmNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvJShbMC05QS1GXXsyfSkvZyxmdW5jdGlvbihiLGEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCIweCIrYSl9KSl9Ow0KYjY0ZD1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYSkuc3BsaXQoIiIpLm1hcChmdW5jdGlvbihhKXtyZXR1cm4iJSIrKCIwMCIrYS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpfSkuam9pbigiIikpfTsNCi8qIDwhW0NEQVRBWyAqLwphaV9mcm9udCA9IHsiaW5zZXJ0aW9uX2JlZm9yZSI6IkJFRk9SRSIsImluc2VydGlvbl9hZnRlciI6IkFGVEVSIiwiaW5zZXJ0aW9uX3ByZXBlbmQiOiJQUkVQRU5EIENPTlRFTlQiLCJpbnNlcnRpb25fYXBwZW5kIjoiQVBQRU5EIENPTlRFTlQiLCJpbnNlcnRpb25fcmVwbGFjZV9jb250ZW50IjoiUkVQTEFDRSBDT05URU5UIiwiaW5zZXJ0aW9uX3JlcGxhY2VfZWxlbWVudCI6IlJFUExBQ0UgRUxFTUVOVCIsInZpc2libGUiOiJWSVNJQkxFIiwiaGlkZGVuIjoiSElEREVOIiwiZmFsbGJhY2siOiJGQUxMQkFDSyIsImF1dG9tYXRpY2FsbHlfcGxhY2VkIjoiQXV0b21hdGljYWxseSBwbGFjZWQgYnkgQWRTZW5zZSBBdXRvIGFkcyBjb2RlIiwiY2FuY2VsIjoiQ2FuY2VsIiwidXNlIjoiVXNlIiwiYWRkIjoiQWRkIiwicGFyZW50IjoiUGFyZW50IiwiY2FuY2VsX2VsZW1lbnRfc2VsZWN0aW9uIjoiQ2FuY2VsIGVsZW1lbnQgc2VsZWN0aW9uIiwic2VsZWN0X3BhcmVudF9lbGVtZW50IjoiU2VsZWN0IHBhcmVudCBlbGVtZW50IiwiY3NzX3NlbGVjdG9yIjoiQ1NTIHNlbGVjdG9yIiwidXNlX2N1cnJlbnRfc2VsZWN0b3IiOiJVc2UgY3VycmVudCBzZWxlY3RvciIsImVsZW1lbnQiOiJFTEVNRU5UIiwicGF0aCI6IlBBVEgiLCJzZWxlY3RvciI6IlNFTEVDVE9SIn07Ci8qIF1dPiAqLwp2YXIgYWlfY29va2llX2pzPSEwLGFpX2Jsb2NrX2NsYXNzX2RlZj0iY29kZS1ibG9jayI7Ci8qCiBKYXZhU2NyaXB0IENvb2tpZSB2Mi4yLjAKIGh0dHBzOi8vZ2l0aHViLmNvbS9qcy1jb29raWUvanMtY29va2llCgogQ29weXJpZ2h0IDIwMDYsIDIwMTUgS2xhdXMgSGFydGwgJiBGYWduZXIgQnJhY2sKIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQoqLwoidW5kZWZpbmVkIiE9PXR5cGVvZiBhaV9jb29raWVfanMmJihmdW5jdGlvbihhKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCl7ZGVmaW5lKGEpO3ZhciBjPSEwfSJvYmplY3QiPT09dHlwZW9mIGV4cG9ydHMmJihtb2R1bGUuZXhwb3J0cz1hKCksYz0hMCk7aWYoIWMpe3ZhciBkPXdpbmRvdy5Db29raWVzLGI9d2luZG93LkNvb2tpZXM9YSgpO2Iubm9Db25mbGljdD1mdW5jdGlvbigpe3dpbmRvdy5Db29raWVzPWQ7cmV0dXJuIGJ9fX0oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Zm9yKHZhciBkPTAsYj17fTtkPGFyZ3VtZW50cy5sZW5ndGg7ZCsrKXt2YXIgZj1hcmd1bWVudHNbZF0sZTtmb3IoZSBpbiBmKWJbZV09ZltlXX1yZXR1cm4gYn1mdW5jdGlvbiBjKGQpe2Z1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gZihoLGssZyl7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgZG9jdW1lbnQpe2c9YSh7cGF0aDoiLyIsc2FtZVNpdGU6IkxheCJ9LGIuZGVmYXVsdHMsCmcpOyJudW1iZXIiPT09dHlwZW9mIGcuZXhwaXJlcyYmKGcuZXhwaXJlcz1uZXcgRGF0ZSgxKm5ldyBEYXRlKzg2NEU1KmcuZXhwaXJlcykpO2cuZXhwaXJlcz1nLmV4cGlyZXM/Zy5leHBpcmVzLnRvVVRDU3RyaW5nKCk6IiI7dHJ5e3ZhciBsPUpTT04uc3RyaW5naWZ5KGspOy9eW1x7XFtdLy50ZXN0KGwpJiYoaz1sKX1jYXRjaChwKXt9az1kLndyaXRlP2Qud3JpdGUoayxoKTplbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGspKS5yZXBsYWNlKC8lKDIzfDI0fDI2fDJCfDNBfDNDfDNFfDNEfDJGfDNGfDQwfDVCfDVEfDVFfDYwfDdCfDdEfDdDKS9nLGRlY29kZVVSSUNvbXBvbmVudCk7aD1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGgpKS5yZXBsYWNlKC8lKDIzfDI0fDI2fDJCfDVFfDYwfDdDKS9nLGRlY29kZVVSSUNvbXBvbmVudCkucmVwbGFjZSgvW1woXCldL2csZXNjYXBlKTtsPSIiO2Zvcih2YXIgbiBpbiBnKWdbbl0mJihsKz0iOyAiK24sITAhPT1nW25dJiYobCs9Ij0iKwpnW25dLnNwbGl0KCI7IilbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPWgrIj0iK2srbH19ZnVuY3Rpb24gZShoLGspe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIGRvY3VtZW50KXtmb3IodmFyIGc9e30sbD1kb2N1bWVudC5jb29raWU/ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOltdLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9bFtuXS5zcGxpdCgiPSIpLG09cC5zbGljZSgxKS5qb2luKCI9Iik7a3x8JyInIT09bS5jaGFyQXQoMCl8fChtPW0uc2xpY2UoMSwtMSkpO3RyeXt2YXIgcT1wWzBdLnJlcGxhY2UoLyglWzAtOUEtWl17Mn0pKy9nLGRlY29kZVVSSUNvbXBvbmVudCk7bT0oZC5yZWFkfHxkKShtLHEpfHxtLnJlcGxhY2UoLyglWzAtOUEtWl17Mn0pKy9nLGRlY29kZVVSSUNvbXBvbmVudCk7aWYoayl0cnl7bT1KU09OLnBhcnNlKG0pfWNhdGNoKHIpe31nW3FdPW07aWYoaD09PXEpYnJlYWt9Y2F0Y2gocil7fX1yZXR1cm4gaD9nW2hdOmd9fWIuc2V0PWY7Yi5nZXQ9CmZ1bmN0aW9uKGgpe3JldHVybiBlKGgsITEpfTtiLmdldEpTT049ZnVuY3Rpb24oaCl7cmV0dXJuIGUoaCwhMCl9O2IucmVtb3ZlPWZ1bmN0aW9uKGgsayl7ZihoLCIiLGEoayx7ZXhwaXJlczotMX0pKX07Yi5kZWZhdWx0cz17fTtiLndpdGhDb252ZXJ0ZXI9YztyZXR1cm4gYn1yZXR1cm4gYyhmdW5jdGlvbigpe30pfSksQWlDb29raWVzPUNvb2tpZXMubm9Db25mbGljdCgpLGFpX2NoZWNrX2Jsb2NrPWZ1bmN0aW9uKGEpe2lmKG51bGw9PWEpcmV0dXJuITA7dmFyIGM9QWlDb29raWVzLmdldEpTT04oImFpQkxPQ0tTIik7YWlfZGVidWdfY29va2llX3N0YXR1cz0iIjtudWxsPT1jJiYoYz17fSk7InVuZGVmaW5lZCIhPT10eXBlb2YgYWlfZGVsYXlfc2hvd2luZ19wYWdldmlld3MmJihjLmhhc093blByb3BlcnR5KGEpfHwoY1thXT17fSksY1thXS5oYXNPd25Qcm9wZXJ0eSgiZCIpfHwoY1thXS5kPWFpX2RlbGF5X3Nob3dpbmdfcGFnZXZpZXdzKSk7aWYoYy5oYXNPd25Qcm9wZXJ0eShhKSl7Zm9yKHZhciBkIGluIGNbYV0pe2lmKCJ4Ij09CmQpe3ZhciBiPSIiLGY9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnc3BhbltkYXRhLWFpLWJsb2NrPSInK2ErJyJdJylbMF07ImFpSGFzaCJpbiBmLmRhdGFzZXQmJihiPWYuZGF0YXNldC5haUhhc2gpO2Y9IiI7Y1thXS5oYXNPd25Qcm9wZXJ0eSgiaCIpJiYoZj1jW2FdLmgpO3ZhciBlPW5ldyBEYXRlO2U9Y1thXVtkXS1NYXRoLnJvdW5kKGUuZ2V0VGltZSgpLzFFMyk7aWYoMDxlJiZmPT1iKXJldHVybiBhaV9kZWJ1Z19jb29raWVfc3RhdHVzPWE9ImNsb3NlZCBmb3IgIitlKyIgcyA9ICIrTWF0aC5yb3VuZCgxRTQqZS8zNjAwLzI0KS8xRTQrIiBkYXlzIiwhMTthaV9zZXRfY29va2llKGEsIngiLCIiKTtjW2FdLmhhc093blByb3BlcnR5KCJpIil8fGNbYV0uaGFzT3duUHJvcGVydHkoImMiKXx8YWlfc2V0X2Nvb2tpZShhLCJoIiwiIil9ZWxzZSBpZigiZCI9PWQpe2lmKDAhPWNbYV1bZF0pcmV0dXJuIGFpX2RlYnVnX2Nvb2tpZV9zdGF0dXM9YT0iZGVsYXllZCBmb3IgIitjW2FdW2RdKwoiIHBhZ2V2aWV3cyIsITF9ZWxzZSBpZigiaSI9PWQpe2I9IiI7Zj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuW2RhdGEtYWktYmxvY2s9IicrYSsnIl0nKVswXTsiYWlIYXNoImluIGYuZGF0YXNldCYmKGI9Zi5kYXRhc2V0LmFpSGFzaCk7Zj0iIjtjW2FdLmhhc093blByb3BlcnR5KCJoIikmJihmPWNbYV0uaCk7aWYoMD09Y1thXVtkXSYmZj09YilyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggaW1wcmVzc2lvbnMgcmVhY2hlZCIsITE7aWYoMD5jW2FdW2RdJiZmPT1iKXtlPW5ldyBEYXRlO2U9LWNbYV1bZF0tTWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpO2lmKDA8ZSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggaW1wLiByZWFjaGVkICgiK01hdGgucm91bmQoMUU0KmUvMjQvMzYwMCkvMUU0KyIgZGF5cyA9ICIrZSsiIHMpIiwhMTthaV9zZXRfY29va2llKGEsImkiLCIiKTtjW2FdLmhhc093blByb3BlcnR5KCJjIil8fGNbYV0uaGFzT3duUHJvcGVydHkoIngiKXx8CmFpX3NldF9jb29raWUoYSwiaCIsIiIpfX1pZigiaXB0Ij09ZCYmMD09Y1thXVtkXSYmKGU9bmV3IERhdGUsYj1NYXRoLnJvdW5kKGUuZ2V0VGltZSgpLzFFMyksZT1jW2FdLml0LWIsMDxlKSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggaW1wLiBwZXIgdGltZSByZWFjaGVkICgiK01hdGgucm91bmQoMUU0KmUvMjQvMzYwMCkvMUU0KyIgZGF5cyA9ICIrZSsiIHMpIiwhMTtpZigiYyI9PWQpe2I9IiI7Zj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuW2RhdGEtYWktYmxvY2s9IicrYSsnIl0nKVswXTsiYWlIYXNoImluIGYuZGF0YXNldCYmKGI9Zi5kYXRhc2V0LmFpSGFzaCk7Zj0iIjtjW2FdLmhhc093blByb3BlcnR5KCJoIikmJihmPWNbYV0uaCk7aWYoMD09Y1thXVtkXSYmZj09YilyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggY2xpY2tzIHJlYWNoZWQiLCExO2lmKDA+Y1thXVtkXSYmZj09Yil7ZT1uZXcgRGF0ZTtlPS1jW2FdW2RdLQpNYXRoLnJvdW5kKGUuZ2V0VGltZSgpLzFFMyk7aWYoMDxlKXJldHVybiBhaV9kZWJ1Z19jb29raWVfc3RhdHVzPWE9Im1heCBjbGlja3MgcmVhY2hlZCAoIitNYXRoLnJvdW5kKDFFNCplLzI0LzM2MDApLzFFNCsiIGRheXMgPSAiK2UrIiBzKSIsITE7YWlfc2V0X2Nvb2tpZShhLCJjIiwiIik7Y1thXS5oYXNPd25Qcm9wZXJ0eSgiaSIpfHxjW2FdLmhhc093blByb3BlcnR5KCJ4Iil8fGFpX3NldF9jb29raWUoYSwiaCIsIiIpfX1pZigiY3B0Ij09ZCYmMD09Y1thXVtkXSYmKGU9bmV3IERhdGUsYj1NYXRoLnJvdW5kKGUuZ2V0VGltZSgpLzFFMyksZT1jW2FdLmN0LWIsMDxlKSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggY2xpY2tzIHBlciB0aW1lIHJlYWNoZWQgKCIrTWF0aC5yb3VuZCgxRTQqZS8yNC8zNjAwKS8xRTQrIiBkYXlzID0gIitlKyIgcykiLCExfWlmKGMuaGFzT3duUHJvcGVydHkoIkciKSYmYy5HLmhhc093blByb3BlcnR5KCJjcHQiKSYmMD09Yy5HLmNwdCYmCihlPW5ldyBEYXRlLGI9TWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpLGU9Yy5HLmN0LWIsMDxlKSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggZ2xvYmFsIGNsaWNrcyBwZXIgdGltZSByZWFjaGVkICgiK01hdGgucm91bmQoMUU0KmUvMjQvMzYwMCkvMUU0KyIgZGF5cyA9ICIrZSsiIHMpIiwhMX1haV9kZWJ1Z19jb29raWVfc3RhdHVzPSJPSyI7cmV0dXJuITB9LGFpX2NoZWNrX2FuZF9pbnNlcnRfYmxvY2s9ZnVuY3Rpb24oYSxjKXtpZihudWxsPT1hKXJldHVybiEwO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYyk7aWYoZC5sZW5ndGgpe2Q9ZFswXTt2YXIgYj1kLmNsb3Nlc3QoIi4iK2FpX2Jsb2NrX2NsYXNzX2RlZiksZj1haV9jaGVja19ibG9jayhhKTshZiYmMCE9cGFyc2VJbnQoZC5nZXRBdHRyaWJ1dGUoImxpbWl0cy1mYWxsYmFjayIpKSYmZC5oYXNBdHRyaWJ1dGUoImRhdGEtZmFsbGJhY2stY29kZSIpJiYoZC5zZXRBdHRyaWJ1dGUoImRhdGEtY29kZSIsCmQuZ2V0QXR0cmlidXRlKCJkYXRhLWZhbGxiYWNrLWNvZGUiKSksbnVsbCE9YiYmYi5oYXNBdHRyaWJ1dGUoImRhdGEtYWkiKSYmZC5oYXNBdHRyaWJ1dGUoImZhbGxiYWNrLXRyYWNraW5nIikmJmQuaGFzQXR0cmlidXRlKCJmYWxsYmFja19sZXZlbCIpJiZiLnNldEF0dHJpYnV0ZSgiZGF0YS1haS0iK2QuZ2V0QXR0cmlidXRlKCJmYWxsYmFja19sZXZlbCIpLGQuZ2V0QXR0cmlidXRlKCJmYWxsYmFjay10cmFja2luZyIpKSxmPSEwKTtkLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1zZWxlY3RvciIpO2lmKGYpYWlfaW5zZXJ0X2NvZGUoZCksYiYmKGY9Yi5xdWVyeVNlbGVjdG9yQWxsKCIuYWktZGVidWctYmxvY2siKSxmLmxlbmd0aCYmKGIuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1ibG9jayIpLGIuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1ibG9jay1pcCIpLGIuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1ibG9jay1maWx0ZXIiKSxiLnN0eWxlLnZpc2liaWxpdHk9IiIsYi5jbGFzc0xpc3QuY29udGFpbnMoImFpLXJlbW92ZS1wb3NpdGlvbiIpJiYKKGIuc3R5bGUucG9zaXRpb249IiIpKSk7ZWxzZXtmPWQuY2xvc2VzdCgiZGl2W2RhdGEtYWldIik7aWYobnVsbCE9ZiYmInVuZGVmaW5lZCIhPXR5cGVvZiBmLmdldEF0dHJpYnV0ZSgiZGF0YS1haSIpKXt2YXIgZT1KU09OLnBhcnNlKGI2NGQoZi5nZXRBdHRyaWJ1dGUoImRhdGEtYWkiKSkpOyJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuY29uc3RydWN0b3I9PT1BcnJheSYmKGVbMV09IiIsZi5zZXRBdHRyaWJ1dGUoImRhdGEtYWkiLGI2NGUoSlNPTi5zdHJpbmdpZnkoZSkpKSl9YiYmKGY9Yi5xdWVyeVNlbGVjdG9yQWxsKCIuYWktZGVidWctYmxvY2siKSxmLmxlbmd0aCYmKGIuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1ibG9jayIpLGIuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1ibG9jay1pcCIpLGIuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1ibG9jay1maWx0ZXIiKSxiLnN0eWxlLnZpc2liaWxpdHk9IiIsYi5jbGFzc0xpc3QuY29udGFpbnMoImFpLXJlbW92ZS1wb3NpdGlvbiIpJiYKKGIuc3R5bGUucG9zaXRpb249IiIpKSl9ZC5jbGFzc0xpc3QucmVtb3ZlKGMpfWQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLiIrYysiLWRiZyIpO2I9MDtmb3IoZj1kLmxlbmd0aDtiPGY7YisrKWU9ZFtiXSxlLnF1ZXJ5U2VsZWN0b3IoIi5haS1zdGF0dXMiKS50ZXh0Q29udGVudD1haV9kZWJ1Z19jb29raWVfc3RhdHVzLGUucXVlcnlTZWxlY3RvcigiLmFpLWNvb2tpZS1kYXRhIikudGV4dENvbnRlbnQ9YWlfZ2V0X2Nvb2tpZV90ZXh0KGEpLGUuY2xhc3NMaXN0LnJlbW92ZShjKyItZGJnIil9LGFpX2xvYWRfY29va2llPWZ1bmN0aW9uKCl7dmFyIGE9QWlDb29raWVzLmdldEpTT04oImFpQkxPQ0tTIik7bnVsbD09YSYmKGE9e30pO3JldHVybiBhfSxhaV9zZXRfY29va2llPWZ1bmN0aW9uKGEsYyxkKXt2YXIgYj1haV9sb2FkX2Nvb2tpZSgpO2lmKCIiPT09ZCl7aWYoYi5oYXNPd25Qcm9wZXJ0eShhKSl7ZGVsZXRlIGJbYV1bY107YTp7Yz1iW2FdO2ZvcihmIGluIGMpaWYoYy5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIGY9CiExO2JyZWFrIGF9Zj0hMH1mJiZkZWxldGUgYlthXX19ZWxzZSBiLmhhc093blByb3BlcnR5KGEpfHwoYlthXT17fSksYlthXVtjXT1kOzA9PT1PYmplY3Qua2V5cyhiKS5sZW5ndGgmJmIuY29uc3RydWN0b3I9PT1PYmplY3Q/QWlDb29raWVzLnJlbW92ZSgiYWlCTE9DS1MiKTpBaUNvb2tpZXMuc2V0KCJhaUJMT0NLUyIsYix7ZXhwaXJlczozNjUscGF0aDoiLyJ9KTtyZXR1cm4gYn0sYWlfZ2V0X2Nvb2tpZV90ZXh0PWZ1bmN0aW9uKGEpe3ZhciBjPUFpQ29va2llcy5nZXRKU09OKCJhaUJMT0NLUyIpO251bGw9PWMmJihjPXt9KTt2YXIgZD0iIjtjLmhhc093blByb3BlcnR5KCJHIikmJihkPSJHWyIrSlNPTi5zdHJpbmdpZnkoYy5HKS5yZXBsYWNlKC8iL2csIiIpLnJlcGxhY2UoInsiLCIiKS5yZXBsYWNlKCJ9IiwiIikrIl0gIik7dmFyIGI9IiI7Yy5oYXNPd25Qcm9wZXJ0eShhKSYmKGI9SlNPTi5zdHJpbmdpZnkoY1thXSkucmVwbGFjZSgvIi9nLCIiKS5yZXBsYWNlKCJ7IiwiIikucmVwbGFjZSgifSIsCiIiKSk7cmV0dXJuIGQrYn0pOwp2YXIgYWlfaW5zZXJ0aW9uX2pzPSEwLGFpX2Jsb2NrX2NsYXNzX2RlZj0iY29kZS1ibG9jayI7CmlmKCJ1bmRlZmluZWQiIT10eXBlb2YgYWlfaW5zZXJ0aW9uX2pzKXthaV9pbnNlcnQ9ZnVuY3Rpb24oYSxoLGwpe2lmKC0xIT1oLmluZGV4T2YoIjplcSgiKSlpZih3aW5kb3cualF1ZXJ5JiZ3aW5kb3cualF1ZXJ5LmZuKXZhciBuPWpRdWVyeShoKTtlbHNle2NvbnNvbGUuZXJyb3IoIkFJIElOU0VSVCBVU0lORyBqUXVlcnkgUVVFUklFUzoiLGgsIi0galF1ZXJ5IG5vdCBmb3VuZCIpO3JldHVybn1lbHNlIG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChoKTtmb3IodmFyIHU9MCx5PW4ubGVuZ3RoO3U8eTt1Kyspe3ZhciBkPW5bdV07c2VsZWN0b3Jfc3RyaW5nPWQuaGFzQXR0cmlidXRlKCJpZCIpPyIjIitkLmdldEF0dHJpYnV0ZSgiaWQiKTpkLmhhc0F0dHJpYnV0ZSgiY2xhc3MiKT8iLiIrZC5nZXRBdHRyaWJ1dGUoImNsYXNzIikucmVwbGFjZShSZWdFeHAoIiAiLCJnIiksIi4iKToiIjt2YXIgdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt3LmlubmVySFRNTD1sOwp2YXIgbT13LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImFpLXNlbGVjdG9yLWNvdW50ZXIiKVswXTtudWxsIT1tJiYobS5pbm5lclRleHQ9dSsxKTttPXcuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiYWktZGVidWctbmFtZSBhaS1tYWluIilbMF07aWYobnVsbCE9bSl7dmFyIHI9YS50b1VwcGVyQ2FzZSgpOyJ1bmRlZmluZWQiIT10eXBlb2YgYWlfZnJvbnQmJigiYmVmb3JlIj09YT9yPWFpX2Zyb250Lmluc2VydGlvbl9iZWZvcmU6ImFmdGVyIj09YT9yPWFpX2Zyb250Lmluc2VydGlvbl9hZnRlcjoicHJlcGVuZCI9PWE/cj1haV9mcm9udC5pbnNlcnRpb25fcHJlcGVuZDoiYXBwZW5kIj09YT9yPWFpX2Zyb250Lmluc2VydGlvbl9hcHBlbmQ6InJlcGxhY2UtY29udGVudCI9PWE/cj1haV9mcm9udC5pbnNlcnRpb25fcmVwbGFjZV9jb250ZW50OiJyZXBsYWNlLWVsZW1lbnQiPT1hJiYocj1haV9mcm9udC5pbnNlcnRpb25fcmVwbGFjZV9lbGVtZW50KSk7LTE9PXNlbGVjdG9yX3N0cmluZy5pbmRleE9mKCIuYWktdmlld3BvcnRzIikmJgoobS5pbm5lclRleHQ9cisiICIraCsiICgiK2QudGFnTmFtZS50b0xvd2VyQ2FzZSgpK3NlbGVjdG9yX3N0cmluZysiKSIpfW09ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt0cnl7dmFyIHY9bS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQody5pbm5lckhUTUwpfWNhdGNoKHQpe30iYmVmb3JlIj09YT9kLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHYsZCk6ImFmdGVyIj09YT9kLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHYsZC5uZXh0U2libGluZyk6InByZXBlbmQiPT1hP2QuaW5zZXJ0QmVmb3JlKHYsZC5maXJzdENoaWxkKToiYXBwZW5kIj09YT9kLmluc2VydEJlZm9yZSh2LG51bGwpOiJyZXBsYWNlLWNvbnRlbnQiPT1hPyhkLmlubmVySFRNTD0iIixkLmluc2VydEJlZm9yZSh2LG51bGwpKToicmVwbGFjZS1lbGVtZW50Ij09YSYmKGQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodixkKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3ooKX19O2FpX2luc2VydF9jb2RlPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGgobSwKcil7cmV0dXJuIG51bGw9PW0/ITE6bS5jbGFzc0xpc3Q/bS5jbGFzc0xpc3QuY29udGFpbnMocik6LTE8KCIgIittLmNsYXNzTmFtZSsiICIpLmluZGV4T2YoIiAiK3IrIiAiKX1mdW5jdGlvbiBsKG0scil7bnVsbCE9bSYmKG0uY2xhc3NMaXN0P20uY2xhc3NMaXN0LmFkZChyKTptLmNsYXNzTmFtZSs9IiAiK3IpfWZ1bmN0aW9uIG4obSxyKXtudWxsIT1tJiYobS5jbGFzc0xpc3Q/bS5jbGFzc0xpc3QucmVtb3ZlKHIpOm0uY2xhc3NOYW1lPW0uY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgiKF58XFxiKSIrci5zcGxpdCgiICIpLmpvaW4oInwiKSsiKFxcYnwkKSIsImdpIiksIiAiKSl9aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBhKXt2YXIgdT0hMTtpZihoKGEsIm5vLXZpc2liaWxpdHktY2hlY2siKXx8YS5vZmZzZXRXaWR0aHx8YS5vZmZzZXRIZWlnaHR8fGEuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpe3U9YS5nZXRBdHRyaWJ1dGUoImRhdGEtY29kZSIpO3ZhciB5PWEuZ2V0QXR0cmlidXRlKCJkYXRhLWluc2VydGlvbi1wb3NpdGlvbiIpLApkPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXNlbGVjdG9yIik7aWYobnVsbCE9dSlpZihudWxsIT15JiZudWxsIT1kKXtpZigtMSE9ZC5pbmRleE9mKCI6ZXEoIik/d2luZG93LmpRdWVyeSYmd2luZG93LmpRdWVyeS5mbiYmalF1ZXJ5KGQpLmxlbmd0aDpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGQpLmxlbmd0aClhaV9pbnNlcnQoeSxkLGI2NGQodSkpLG4oYSwiYWktdmlld3BvcnRzIil9ZWxzZXt5PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dHJ5e3ZhciB3PXkuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGI2NGQodSkpfWNhdGNoKG0pe31hLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHcsYS5uZXh0U2libGluZyk7bihhLCJhaS12aWV3cG9ydHMiKX11PSEwfWVsc2Ugdz1hLnByZXZpb3VzRWxlbWVudFNpYmxpbmcsaCh3LCJhaS1kZWJ1Zy1iYXIiKSYmaCh3LCJhaS1kZWJ1Zy1zY3JpcHQiKSYmKG4odywiYWktZGVidWctc2NyaXB0IiksbCh3LCJhaS1kZWJ1Zy12aWV3cG9ydC1pbnZpc2libGUiKSksCm4oYSwiYWktdmlld3BvcnRzIik7cmV0dXJuIHV9fTthaV9pbnNlcnRfbGlzdF9jb2RlPWZ1bmN0aW9uKGEpe3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBoKXt2YXIgbD1haV9pbnNlcnRfY29kZShoKSxuPWguY2xvc2VzdCgiZGl2LiIrYWlfYmxvY2tfY2xhc3NfZGVmKTtpZihuKXtsfHxuLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1haSIpO3ZhciB1PW4ucXVlcnlTZWxlY3RvckFsbCgiLmFpLWRlYnVnLWJsb2NrIik7biYmdS5sZW5ndGgmJihuLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2siKSxuLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2staXAiKSxuLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2stZmlsdGVyIiksbi5zdHlsZS52aXNpYmlsaXR5PSIiLG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1yZW1vdmUtcG9zaXRpb24iKSYmKG4uc3R5bGUucG9zaXRpb249IiIpKX1oLmNsYXNzTGlzdC5yZW1vdmUoYSk7CmwmJnooKX19O2FpX2luc2VydF92aWV3cG9ydF9jb2RlPWZ1bmN0aW9uKGEpe3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBoKXt2YXIgbD1haV9pbnNlcnRfY29kZShoKTtoLmNsYXNzTGlzdC5yZW1vdmUoYSk7bCYmKGE9aC5jbG9zZXN0KCJkaXYuIithaV9ibG9ja19jbGFzc19kZWYpLG51bGwhPWEmJihsPWguZ2V0QXR0cmlidXRlKCJzdHlsZSIpLG51bGwhPWwmJmEuc2V0QXR0cmlidXRlKCJzdHlsZSIsYS5nZXRBdHRyaWJ1dGUoInN0eWxlIikrIiAiK2wpKSk7c2V0VGltZW91dChmdW5jdGlvbigpe2gucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpfSwyKTt6KCl9fTthaV9pbnNlcnRfYWRzZW5zZV9mYWxsYmFja19jb2Rlcz1mdW5jdGlvbihhKXthLnN0eWxlLmRpc3BsYXk9Im5vbmUiO3ZhciBoPWEuY2xvc2VzdCgiLmFpLWZhbGxiYWNrLWFkc2Vuc2UiKSxsPWgubmV4dEVsZW1lbnRTaWJsaW5nO2wuZ2V0QXR0cmlidXRlKCJkYXRhLWNvZGUiKT8KYWlfaW5zZXJ0X2NvZGUobCkmJnooKTpsLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtoLmNsYXNzTGlzdC5jb250YWlucygiYWktZW1wdHktY29kZSIpJiZudWxsIT1hLmNsb3Nlc3QoIi4iK2FpX2Jsb2NrX2NsYXNzX2RlZikmJihhPWEuY2xvc2VzdCgiLiIrYWlfYmxvY2tfY2xhc3NfZGVmKS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJjb2RlLWJsb2NrLWxhYmVsIiksMCE9YS5sZW5ndGgmJihhWzBdLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSl9O2FpX2luc2VydF9jb2RlX2J5X2NsYXNzPWZ1bmN0aW9uKGEpe3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07InVuZGVmaW5lZCIhPXR5cGVvZiBoJiYoYWlfaW5zZXJ0X2NvZGUoaCksaC5jbGFzc0xpc3QucmVtb3ZlKGEpKX07YWlfaW5zZXJ0X2NsaWVudF9jb2RlPWZ1bmN0aW9uKGEsaCl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKVswXTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGwpe3ZhciBuPQpsLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2RlIik7bnVsbCE9biYmYWlfY2hlY2tfYmxvY2soKSYmKGwuc2V0QXR0cmlidXRlKCJkYXRhLWNvZGUiLG4uc3Vic3RyaW5nKE1hdGguZmxvb3IoaC8xOSkpKSxhaV9pbnNlcnRfY29kZV9ieV9jbGFzcyhhKSxsLnJlbW92ZSgpKX19O2FpX3Byb2Nlc3NfZWxlbWVudHNfYWN0aXZlPSExO2Z1bmN0aW9uIHooKXthaV9wcm9jZXNzX2VsZW1lbnRzX2FjdGl2ZXx8c2V0VGltZW91dChmdW5jdGlvbigpe2FpX3Byb2Nlc3NfZWxlbWVudHNfYWN0aXZlPSExOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX3JvdGF0aW9ucyYmYWlfcHJvY2Vzc19yb3RhdGlvbnMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19saXN0cyYmYWlfcHJvY2Vzc19saXN0cygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2lwX2FkZHJlc3NlcyYmYWlfcHJvY2Vzc19pcF9hZGRyZXNzZXMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19maWx0ZXJfaG9va3MmJgphaV9wcm9jZXNzX2ZpbHRlcl9ob29rcygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9hZGJfcHJvY2Vzc19ibG9ja3MmJmFpX2FkYl9wcm9jZXNzX2Jsb2NrcygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2ltcHJlc3Npb25zJiYxPT1haV90cmFja2luZ19maW5pc2hlZCYmYWlfcHJvY2Vzc19pbXByZXNzaW9ucygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9pbnN0YWxsX2NsaWNrX3RyYWNrZXJzJiYxPT1haV90cmFja2luZ19maW5pc2hlZCYmYWlfaW5zdGFsbF9jbGlja190cmFja2VycygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9pbnN0YWxsX2Nsb3NlX2J1dHRvbnMmJmFpX2luc3RhbGxfY2xvc2VfYnV0dG9ucyhkb2N1bWVudCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX3Byb2Nlc3Nfd2FpdF9mb3JfaW50ZXJhY3Rpb24mJmFpX3Byb2Nlc3Nfd2FpdF9mb3JfaW50ZXJhY3Rpb24oKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19kZWxheWVkX2Jsb2NrcyYmYWlfcHJvY2Vzc19kZWxheWVkX2Jsb2NrcygpfSwKNSk7YWlfcHJvY2Vzc19lbGVtZW50c19hY3RpdmU9ITB9Y29uc3QgQj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJib2R5Iik7KG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGEsaCl7Zm9yKGNvbnN0IGwgb2YgYSkiYXR0cmlidXRlcyI9PT1sLnR5cGUmJiJkYXRhLWFkLXN0YXR1cyI9PWwuYXR0cmlidXRlTmFtZSYmInVuZmlsbGVkIj09bC50YXJnZXQuZGF0YXNldC5hZFN0YXR1cyYmbC50YXJnZXQuY2xvc2VzdCgiLmFpLWZhbGxiYWNrLWFkc2Vuc2UiKSYmYWlfaW5zZXJ0X2Fkc2Vuc2VfZmFsbGJhY2tfY29kZXMobC50YXJnZXQpfSkpLm9ic2VydmUoQix7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITEsc3VidHJlZTohMH0pO3ZhciBBcnJpdmU9ZnVuY3Rpb24oYSxoLGwpe2Z1bmN0aW9uIG4odCxjLGUpe2QuYWRkTWV0aG9kKGMsZSx0LnVuYmluZEV2ZW50KTtkLmFkZE1ldGhvZChjLGUsdC51bmJpbmRFdmVudFdpdGhTZWxlY3Rvck9yQ2FsbGJhY2spO2QuYWRkTWV0aG9kKGMsCmUsdC51bmJpbmRFdmVudFdpdGhTZWxlY3RvckFuZENhbGxiYWNrKX1mdW5jdGlvbiB1KHQpe3QuYXJyaXZlPXIuYmluZEV2ZW50O24ocix0LCJ1bmJpbmRBcnJpdmUiKTt0LmxlYXZlPXYuYmluZEV2ZW50O24odix0LCJ1bmJpbmRMZWF2ZSIpfWlmKGEuTXV0YXRpb25PYnNlcnZlciYmInVuZGVmaW5lZCIhPT10eXBlb2YgSFRNTEVsZW1lbnQpe3ZhciB5PTAsZD1mdW5jdGlvbigpe3ZhciB0PUhUTUxFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzfHxIVE1MRWxlbWVudC5wcm90b3R5cGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxIVE1MRWxlbWVudC5wcm90b3R5cGUubW96TWF0Y2hlc1NlbGVjdG9yfHxIVE1MRWxlbWVudC5wcm90b3R5cGUubXNNYXRjaGVzU2VsZWN0b3I7cmV0dXJue21hdGNoZXNTZWxlY3RvcjpmdW5jdGlvbihjLGUpe3JldHVybiBjIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2FsbChjLGUpfSxhZGRNZXRob2Q6ZnVuY3Rpb24oYyxlLGYpe3ZhciBiPWNbZV07Y1tlXT0KZnVuY3Rpb24oKXtpZihmLmxlbmd0aD09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGIpcmV0dXJuIGIuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0sY2FsbENhbGxiYWNrczpmdW5jdGlvbihjLGUpe2UmJmUub3B0aW9ucy5vbmNlT25seSYmMT09ZS5maXJlZEVsZW1zLmxlbmd0aCYmKGM9W2NbMF1dKTtmb3IodmFyIGY9MCxiO2I9Y1tmXTtmKyspYiYmYi5jYWxsYmFjayYmYi5jYWxsYmFjay5jYWxsKGIuZWxlbSxiLmVsZW0pO2UmJmUub3B0aW9ucy5vbmNlT25seSYmMT09ZS5maXJlZEVsZW1zLmxlbmd0aCYmZS5tZS51bmJpbmRFdmVudFdpdGhTZWxlY3RvckFuZENhbGxiYWNrLmNhbGwoZS50YXJnZXQsZS5zZWxlY3RvcixlLmNhbGxiYWNrKX0sY2hlY2tDaGlsZE5vZGVzUmVjdXJzaXZlbHk6ZnVuY3Rpb24oYyxlLGYsYil7Zm9yKHZhciBnPTAsaztrPWNbZ107ZysrKWYoayxlLGIpJiZiLnB1c2goe2NhbGxiYWNrOmUuY2FsbGJhY2ssCmVsZW06a30pLDA8ay5jaGlsZE5vZGVzLmxlbmd0aCYmZC5jaGVja0NoaWxkTm9kZXNSZWN1cnNpdmVseShrLmNoaWxkTm9kZXMsZSxmLGIpfSxtZXJnZUFycmF5czpmdW5jdGlvbihjLGUpe3ZhciBmPXt9LGI7Zm9yKGIgaW4gYyljLmhhc093blByb3BlcnR5KGIpJiYoZltiXT1jW2JdKTtmb3IoYiBpbiBlKWUuaGFzT3duUHJvcGVydHkoYikmJihmW2JdPWVbYl0pO3JldHVybiBmfSx0b0VsZW1lbnRzQXJyYXk6ZnVuY3Rpb24oYyl7InVuZGVmaW5lZCI9PT10eXBlb2YgY3x8Im51bWJlciI9PT10eXBlb2YgYy5sZW5ndGgmJmMhPT1hfHwoYz1bY10pO3JldHVybiBjfX19KCksdz1mdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKCl7dGhpcy5fZXZlbnRzQnVja2V0PVtdO3RoaXMuX2JlZm9yZVJlbW92aW5nPXRoaXMuX2JlZm9yZUFkZGluZz1udWxsfTt0LnByb3RvdHlwZS5hZGRFdmVudD1mdW5jdGlvbihjLGUsZixiKXtjPXt0YXJnZXQ6YyxzZWxlY3RvcjplLG9wdGlvbnM6ZixjYWxsYmFjazpiLApmaXJlZEVsZW1zOltdfTt0aGlzLl9iZWZvcmVBZGRpbmcmJnRoaXMuX2JlZm9yZUFkZGluZyhjKTt0aGlzLl9ldmVudHNCdWNrZXQucHVzaChjKTtyZXR1cm4gY307dC5wcm90b3R5cGUucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oYyl7Zm9yKHZhciBlPXRoaXMuX2V2ZW50c0J1Y2tldC5sZW5ndGgtMSxmO2Y9dGhpcy5fZXZlbnRzQnVja2V0W2VdO2UtLSljKGYpJiYodGhpcy5fYmVmb3JlUmVtb3ZpbmcmJnRoaXMuX2JlZm9yZVJlbW92aW5nKGYpLChmPXRoaXMuX2V2ZW50c0J1Y2tldC5zcGxpY2UoZSwxKSkmJmYubGVuZ3RoJiYoZlswXS5jYWxsYmFjaz1udWxsKSl9O3QucHJvdG90eXBlLmJlZm9yZUFkZGluZz1mdW5jdGlvbihjKXt0aGlzLl9iZWZvcmVBZGRpbmc9Y307dC5wcm90b3R5cGUuYmVmb3JlUmVtb3Zpbmc9ZnVuY3Rpb24oYyl7dGhpcy5fYmVmb3JlUmVtb3Zpbmc9Y307cmV0dXJuIHR9KCksbT1mdW5jdGlvbih0LGMpe3ZhciBlPW5ldyB3LGY9dGhpcyxiPXtmaXJlT25BdHRyaWJ1dGVzTW9kaWZpY2F0aW9uOiExfTsKZS5iZWZvcmVBZGRpbmcoZnVuY3Rpb24oZyl7dmFyIGs9Zy50YXJnZXQ7aWYoaz09PWEuZG9jdW1lbnR8fGs9PT1hKWs9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImh0bWwiKVswXTt2YXIgcD1uZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbih4KXtjLmNhbGwodGhpcyx4LGcpfSk7dmFyIHE9dChnLm9wdGlvbnMpO3Aub2JzZXJ2ZShrLHEpO2cub2JzZXJ2ZXI9cDtnLm1lPWZ9KTtlLmJlZm9yZVJlbW92aW5nKGZ1bmN0aW9uKGcpe2cub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfSk7dGhpcy5iaW5kRXZlbnQ9ZnVuY3Rpb24oZyxrLHApe2s9ZC5tZXJnZUFycmF5cyhiLGspO2Zvcih2YXIgcT1kLnRvRWxlbWVudHNBcnJheSh0aGlzKSx4PTA7eDxxLmxlbmd0aDt4KyspZS5hZGRFdmVudChxW3hdLGcsayxwKX07dGhpcy51bmJpbmRFdmVudD1mdW5jdGlvbigpe3ZhciBnPWQudG9FbGVtZW50c0FycmF5KHRoaXMpO2UucmVtb3ZlRXZlbnQoZnVuY3Rpb24oayl7Zm9yKHZhciBwPQowO3A8Zy5sZW5ndGg7cCsrKWlmKHRoaXM9PT1sfHxrLnRhcmdldD09PWdbcF0pcmV0dXJuITA7cmV0dXJuITF9KX07dGhpcy51bmJpbmRFdmVudFdpdGhTZWxlY3Rvck9yQ2FsbGJhY2s9ZnVuY3Rpb24oZyl7dmFyIGs9ZC50b0VsZW1lbnRzQXJyYXkodGhpcyk7ZS5yZW1vdmVFdmVudCgiZnVuY3Rpb24iPT09dHlwZW9mIGc/ZnVuY3Rpb24ocCl7Zm9yKHZhciBxPTA7cTxrLmxlbmd0aDtxKyspaWYoKHRoaXM9PT1sfHxwLnRhcmdldD09PWtbcV0pJiZwLmNhbGxiYWNrPT09ZylyZXR1cm4hMDtyZXR1cm4hMX06ZnVuY3Rpb24ocCl7Zm9yKHZhciBxPTA7cTxrLmxlbmd0aDtxKyspaWYoKHRoaXM9PT1sfHxwLnRhcmdldD09PWtbcV0pJiZwLnNlbGVjdG9yPT09ZylyZXR1cm4hMDtyZXR1cm4hMX0pfTt0aGlzLnVuYmluZEV2ZW50V2l0aFNlbGVjdG9yQW5kQ2FsbGJhY2s9ZnVuY3Rpb24oZyxrKXt2YXIgcD1kLnRvRWxlbWVudHNBcnJheSh0aGlzKTtlLnJlbW92ZUV2ZW50KGZ1bmN0aW9uKHEpe2Zvcih2YXIgeD0KMDt4PHAubGVuZ3RoO3grKylpZigodGhpcz09PWx8fHEudGFyZ2V0PT09cFt4XSkmJnEuc2VsZWN0b3I9PT1nJiZxLmNhbGxiYWNrPT09aylyZXR1cm4hMDtyZXR1cm4hMX0pfTtyZXR1cm4gdGhpc30scj1uZXcgZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGYsYixnKXtyZXR1cm4gZC5tYXRjaGVzU2VsZWN0b3IoZixiLnNlbGVjdG9yKSYmKGYuX2lkPT09bCYmKGYuX2lkPXkrKyksLTE9PWIuZmlyZWRFbGVtcy5pbmRleE9mKGYuX2lkKSk/KGIuZmlyZWRFbGVtcy5wdXNoKGYuX2lkKSwhMCk6ITF9dmFyIGM9e2ZpcmVPbkF0dHJpYnV0ZXNNb2RpZmljYXRpb246ITEsb25jZU9ubHk6ITEsZXhpc3Rpbmc6ITF9O3I9bmV3IG0oZnVuY3Rpb24oZil7dmFyIGI9e2F0dHJpYnV0ZXM6ITEsY2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9O2YuZmlyZU9uQXR0cmlidXRlc01vZGlmaWNhdGlvbiYmKGIuYXR0cmlidXRlcz0hMCk7cmV0dXJuIGJ9LGZ1bmN0aW9uKGYsYil7Zi5mb3JFYWNoKGZ1bmN0aW9uKGcpe3ZhciBrPQpnLmFkZGVkTm9kZXMscD1nLnRhcmdldCxxPVtdO251bGwhPT1rJiYwPGsubGVuZ3RoP2QuY2hlY2tDaGlsZE5vZGVzUmVjdXJzaXZlbHkoayxiLHQscSk6ImF0dHJpYnV0ZXMiPT09Zy50eXBlJiZ0KHAsYixxKSYmcS5wdXNoKHtjYWxsYmFjazpiLmNhbGxiYWNrLGVsZW06cH0pO2QuY2FsbENhbGxiYWNrcyhxLGIpfSl9KTt2YXIgZT1yLmJpbmRFdmVudDtyLmJpbmRFdmVudD1mdW5jdGlvbihmLGIsZyl7InVuZGVmaW5lZCI9PT10eXBlb2YgZz8oZz1iLGI9Yyk6Yj1kLm1lcmdlQXJyYXlzKGMsYik7dmFyIGs9ZC50b0VsZW1lbnRzQXJyYXkodGhpcyk7aWYoYi5leGlzdGluZyl7Zm9yKHZhciBwPVtdLHE9MDtxPGsubGVuZ3RoO3ErKylmb3IodmFyIHg9a1txXS5xdWVyeVNlbGVjdG9yQWxsKGYpLEE9MDtBPHgubGVuZ3RoO0ErKylwLnB1c2goe2NhbGxiYWNrOmcsZWxlbTp4W0FdfSk7aWYoYi5vbmNlT25seSYmcC5sZW5ndGgpcmV0dXJuIGcuY2FsbChwWzBdLmVsZW0scFswXS5lbGVtKTsKc2V0VGltZW91dChkLmNhbGxDYWxsYmFja3MsMSxwKX1lLmNhbGwodGhpcyxmLGIsZyl9O3JldHVybiByfSx2PW5ldyBmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZixiKXtyZXR1cm4gZC5tYXRjaGVzU2VsZWN0b3IoZixiLnNlbGVjdG9yKX12YXIgYz17fTt2PW5ldyBtKGZ1bmN0aW9uKCl7cmV0dXJue2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfX0sZnVuY3Rpb24oZixiKXtmLmZvckVhY2goZnVuY3Rpb24oZyl7Zz1nLnJlbW92ZWROb2Rlczt2YXIgaz1bXTtudWxsIT09ZyYmMDxnLmxlbmd0aCYmZC5jaGVja0NoaWxkTm9kZXNSZWN1cnNpdmVseShnLGIsdCxrKTtkLmNhbGxDYWxsYmFja3MoayxiKX0pfSk7dmFyIGU9di5iaW5kRXZlbnQ7di5iaW5kRXZlbnQ9ZnVuY3Rpb24oZixiLGcpeyJ1bmRlZmluZWQiPT09dHlwZW9mIGc/KGc9YixiPWMpOmI9ZC5tZXJnZUFycmF5cyhjLGIpO2UuY2FsbCh0aGlzLGYsYixnKX07cmV0dXJuIHZ9O2gmJnUoaC5mbik7dShIVE1MRWxlbWVudC5wcm90b3R5cGUpOwp1KE5vZGVMaXN0LnByb3RvdHlwZSk7dShIVE1MQ29sbGVjdGlvbi5wcm90b3R5cGUpO3UoSFRNTERvY3VtZW50LnByb3RvdHlwZSk7dShXaW5kb3cucHJvdG90eXBlKTtoPXt9O24ocixoLCJ1bmJpbmRBbGxBcnJpdmUiKTtuKHYsaCwidW5iaW5kQWxsTGVhdmUiKTtyZXR1cm4gaH19KHdpbmRvdywidW5kZWZpbmVkIj09PXR5cGVvZiBqUXVlcnk/bnVsbDpqUXVlcnksdm9pZCAwKX07CjshZnVuY3Rpb24oYSxiKXthKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoYSxiKXtyZXR1cm4gbnVsbCE9YSYmbnVsbCE9YiYmYS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGMoYSxiKXt2YXIgYyxkLGU9YS5sZW5ndGg7aWYoIWV8fCFiKXJldHVybiExO2ZvcihjPWIudG9Mb3dlckNhc2UoKSxkPTA7ZDxlOysrZClpZihjPT09YVtkXS50b0xvd2VyQ2FzZSgpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGQoYSl7Zm9yKHZhciBiIGluIGEpaS5jYWxsKGEsYikmJihhW2JdPW5ldyBSZWdFeHAoYVtiXSwiaSIpKX1mdW5jdGlvbiBlKGEpe3JldHVybihhfHwiIikuc3Vic3RyKDAsNTAwKX1mdW5jdGlvbiBmKGEsYil7dGhpcy51YT1lKGEpLHRoaXMuX2NhY2hlPXt9LHRoaXMubWF4UGhvbmVXaWR0aD1ifHw2MDB9dmFyIGc9e307Zy5tb2JpbGVEZXRlY3RSdWxlcz17cGhvbmVzOntpUGhvbmU6IlxcYmlQaG9uZVxcYnxcXGJpUG9kXFxiIixCbGFja0JlcnJ5OiJCbGFja0JlcnJ5fFxcYkJCMTBcXGJ8cmltWzAtOV0rfFxcYihCQkExMDB8QkJCMTAwfEJCRDEwMHxCQkUxMDB8QkJGMTAwfFNUSDEwMClcXGItWzAtOV0rIixQaXhlbDoiOyBcXGJQaXhlbFxcYiIsSFRDOiJIVEN8SFRDLiooU2Vuc2F0aW9ufEV2b3xWaXNpb258RXhwbG9yZXJ8NjgwMHw4MTAwfDg5MDB8QTcyNzJ8UzUxMGV8QzExMGV8TGVnZW5kfERlc2lyZXxUODI4Mil8QVBYNTE1Q0tUfFF0ZWs5MDkwfEFQQTkyOTJLVHxIRF9taW5pfFNlbnNhdGlvbi4qWjcxMGV8UEc4NjEwMHxaNzE1ZXxEZXNpcmUuKihBODE4MXxIRCl8QURSNjIwMHxBRFI2NDAwTHxBRFI2NDI1fDAwMUhUfEluc3BpcmUgNEd8QW5kcm9pZC4qXFxiRVZPXFxifFQtTW9iaWxlIEcxfFo1MjBtfEFuZHJvaWQgWzAtOS5dKzsgUGl4ZWwiLE5leHVzOiJOZXh1cyBPbmV8TmV4dXMgU3xHYWxheHkuKk5leHVzfEFuZHJvaWQuKk5leHVzLipNb2JpbGV8TmV4dXMgNHxOZXh1cyA1fE5leHVzIDVYfE5leHVzIDYiLERlbGw6IkRlbGxbO10/IChTdHJlYWt8QWVyb3xWZW51ZXxWZW51ZSBQcm98Rmxhc2h8U21va2V8TWluaSAzaVgpfFhDRDI4fFhDRDM1fFxcYjAwMURMXFxifFxcYjEwMURMXFxifFxcYkdTMDFcXGIiLE1vdG9yb2xhOiJNb3Rvcm9sYXxEUk9JRFh8RFJPSUQgQklPTklDfFxcYkRyb2lkXFxiLipCdWlsZHxBbmRyb2lkLipYb29tfEhSSTM5fE1PVC18QTEyNjB8QTE2ODB8QTU1NXxBODUzfEE4NTV8QTk1M3xBOTU1fEE5NTZ8TW90b3JvbGEuKkVMRUNUUklGWXxNb3Rvcm9sYS4qaTF8aTg2N3xpOTQwfE1CMjAwfE1CMzAwfE1CNTAxfE1CNTAyfE1CNTA4fE1CNTExfE1CNTIwfE1CNTI1fE1CNTI2fE1CNjExfE1CNjEyfE1CNjMyfE1CODEwfE1CODU1fE1CODYwfE1CODYxfE1CODY1fE1CODcwfE1FNTAxfE1FNTAyfE1FNTExfE1FNTI1fE1FNjAwfE1FNjMyfE1FNzIyfE1FODExfE1FODYwfE1FODYzfE1FODY1fE1UNjIwfE1UNzEwfE1UNzE2fE1UNzIwfE1UODEwfE1UODcwfE1UOTE3fE1vdG9yb2xhLipUSVRBTklVTXxXWDQzNXxXWDQ0NXxYVDMwMHxYVDMwMXxYVDMxMXxYVDMxNnxYVDMxN3xYVDMxOXxYVDMyMHxYVDM5MHxYVDUwMnxYVDUzMHxYVDUzMXxYVDUzMnxYVDUzNXxYVDYwM3xYVDYxMHxYVDYxMXxYVDYxNXxYVDY4MXxYVDcwMXxYVDcwMnxYVDcxMXxYVDcyMHxYVDgwMHxYVDgwNnxYVDg2MHxYVDg2MnxYVDg3NXxYVDg4MnxYVDg4M3xYVDg5NHxYVDkwMXxYVDkwN3xYVDkwOXxYVDkxMHxYVDkxMnxYVDkyOHxYVDkyNnxYVDkxNXxYVDkxOXxYVDkyNXxYVDEwMjF8XFxiTW90byBFXFxifFhUMTA2OHxYVDEwOTJ8WFQxMDUyIixTYW1zdW5nOiJcXGJTYW1zdW5nXFxifFNNLUc5NTBGfFNNLUc5NTVGfFNNLUc5MjUwfEdULTE5MzAwfFNHSC1JMzM3fEJHVC1TNTIzMHxHVC1CMjEwMHxHVC1CMjcwMHxHVC1CMjcxMHxHVC1CMzIxMHxHVC1CMzMxMHxHVC1CMzQxMHxHVC1CMzczMHxHVC1CMzc0MHxHVC1CNTUxMHxHVC1CNTUxMnxHVC1CNTcyMnxHVC1CNjUyMHxHVC1CNzMwMHxHVC1CNzMyMHxHVC1CNzMzMHxHVC1CNzM1MHxHVC1CNzUxMHxHVC1CNzcyMnxHVC1CNzgwMHxHVC1DMzAxMHxHVC1DMzAxMXxHVC1DMzA2MHxHVC1DMzIwMHxHVC1DMzIxMnxHVC1DMzIxMkl8R1QtQzMyNjJ8R1QtQzMyMjJ8R1QtQzMzMDB8R1QtQzMzMDBLfEdULUMzMzAzfEdULUMzMzAzS3xHVC1DMzMxMHxHVC1DMzMyMnxHVC1DMzMzMHxHVC1DMzM1MHxHVC1DMzUwMHxHVC1DMzUxMHxHVC1DMzUzMHxHVC1DMzYzMHxHVC1DMzc4MHxHVC1DNTAxMHxHVC1DNTIxMnxHVC1DNjYyMHxHVC1DNjYyNXxHVC1DNjcxMnxHVC1FMTA1MHxHVC1FMTA3MHxHVC1FMTA3NXxHVC1FMTA4MHxHVC1FMTA4MXxHVC1FMTA4NXxHVC1FMTA4N3xHVC1FMTEwMHxHVC1FMTEwN3xHVC1FMTExMHxHVC1FMTEyMHxHVC1FMTEyNXxHVC1FMTEzMHxHVC1FMTE2MHxHVC1FMTE3MHxHVC1FMTE3NXxHVC1FMTE4MHxHVC1FMTE4MnxHVC1FMTIwMHxHVC1FMTIxMHxHVC1FMTIyNXxHVC1FMTIzMHxHVC1FMTM5MHxHVC1FMjEwMHxHVC1FMjEyMHxHVC1FMjEyMXxHVC1FMjE1MnxHVC1FMjIyMHxHVC1FMjIyMnxHVC1FMjIzMHxHVC1FMjIzMnxHVC1FMjI1MHxHVC1FMjM3MHxHVC1FMjU1MHxHVC1FMjY1MnxHVC1FMzIxMHxHVC1FMzIxM3xHVC1JNTUwMHxHVC1JNTUwM3xHVC1JNTcwMHxHVC1JNTgwMHxHVC1JNTgwMXxHVC1JNjQxMHxHVC1JNjQyMHxHVC1JNzExMHxHVC1JNzQxMHxHVC1JNzUwMHxHVC1JODAwMHxHVC1JODE1MHxHVC1JODE2MHxHVC1JODE5MHxHVC1JODMyMHxHVC1JODMzMHxHVC1JODM1MHxHVC1JODUzMHxHVC1JODcwMHxHVC1JODcwM3xHVC1JODkxMHxHVC1JOTAwMHxHVC1JOTAwMXxHVC1JOTAwM3xHVC1JOTAxMHxHVC1JOTAyMHxHVC1JOTAyM3xHVC1JOTA3MHxHVC1JOTA4MnxHVC1JOTEwMHxHVC1JOTEwM3xHVC1JOTIyMHxHVC1JOTI1MHxHVC1JOTMwMHxHVC1JOTMwNXxHVC1JOTUwMHxHVC1JOTUwNXxHVC1NMzUxMHxHVC1NNTY1MHxHVC1NNzUwMHxHVC1NNzYwMHxHVC1NNzYwM3xHVC1NODgwMHxHVC1NODkxMHxHVC1ONzAwMHxHVC1TMzExMHxHVC1TMzMxMHxHVC1TMzM1MHxHVC1TMzM1M3xHVC1TMzM3MHxHVC1TMzY1MHxHVC1TMzY1M3xHVC1TMzc3MHxHVC1TMzg1MHxHVC1TNTIxMHxHVC1TNTIyMHxHVC1TNTIyOXxHVC1TNTIzMHxHVC1TNTIzM3xHVC1TNTI1MHxHVC1TNTI1M3xHVC1TNTI2MHxHVC1TNTI2M3xHVC1TNTI3MHxHVC1TNTMwMHxHVC1TNTMzMHxHVC1TNTM1MHxHVC1TNTM2MHxHVC1TNTM2M3xHVC1TNTM2OXxHVC1TNTM4MHxHVC1TNTM4MER8R1QtUzU1NjB8R1QtUzU1NzB8R1QtUzU2MDB8R1QtUzU2MDN8R1QtUzU2MTB8R1QtUzU2MjB8R1QtUzU2NjB8R1QtUzU2NzB8R1QtUzU2OTB8R1QtUzU3NTB8R1QtUzU3ODB8R1QtUzU4MzB8R1QtUzU4Mzl8R1QtUzYxMDJ8R1QtUzY1MDB8R1QtUzcwNzB8R1QtUzcyMDB8R1QtUzcyMjB8R1QtUzcyMzB8R1QtUzcyMzN8R1QtUzcyNTB8R1QtUzc1MDB8R1QtUzc1MzB8R1QtUzc1NTB8R1QtUzc1NjJ8R1QtUzc3MTB8R1QtUzgwMDB8R1QtUzgwMDN8R1QtUzg1MDB8R1QtUzg1MzB8R1QtUzg2MDB8U0NILUEzMTB8U0NILUE1MzB8U0NILUE1NzB8U0NILUE2MTB8U0NILUE2MzB8U0NILUE2NTB8U0NILUE3OTB8U0NILUE3OTV8U0NILUE4NTB8U0NILUE4NzB8U0NILUE4OTB8U0NILUE5MzB8U0NILUE5NTB8U0NILUE5NzB8U0NILUE5OTB8U0NILUkxMDB8U0NILUkxMTB8U0NILUk0MDB8U0NILUk0MDV8U0NILUk1MDB8U0NILUk1MTB8U0NILUk1MTV8U0NILUk2MDB8U0NILUk3MzB8U0NILUk3NjB8U0NILUk3NzB8U0NILUk4MzB8U0NILUk5MTB8U0NILUk5MjB8U0NILUk5NTl8U0NILUxDMTF8U0NILU4xNTB8U0NILU4zMDB8U0NILVIxMDB8U0NILVIzMDB8U0NILVIzNTF8U0NILVI0MDB8U0NILVI0MTB8U0NILVQzMDB8U0NILVUzMTB8U0NILVUzMjB8U0NILVUzNTB8U0NILVUzNjB8U0NILVUzNjV8U0NILVUzNzB8U0NILVUzODB8U0NILVU0MTB8U0NILVU0MzB8U0NILVU0NTB8U0NILVU0NjB8U0NILVU0NzB8U0NILVU0OTB8U0NILVU1NDB8U0NILVU1NTB8U0NILVU2MjB8U0NILVU2NDB8U0NILVU2NTB8U0NILVU2NjB8U0NILVU3MDB8U0NILVU3NDB8U0NILVU3NTB8U0NILVU4MTB8U0NILVU4MjB8U0NILVU5MDB8U0NILVU5NDB8U0NILVU5NjB8U0NTLTI2VUN8U0dILUExMDd8U0dILUExMTd8U0dILUExMjd8U0dILUExMzd8U0dILUExNTd8U0dILUExNjd8U0dILUExNzd8U0dILUExODd8U0dILUExOTd8U0dILUEyMjd8U0dILUEyMzd8U0dILUEyNTd8U0dILUE0Mzd8U0dILUE1MTd8U0dILUE1OTd8U0dILUE2Mzd8U0dILUE2NTd8U0dILUE2Njd8U0dILUE2ODd8U0dILUE2OTd8U0dILUE3MDd8U0dILUE3MTd8U0dILUE3Mjd8U0dILUE3Mzd8U0dILUE3NDd8U0dILUE3Njd8U0dILUE3Nzd8U0dILUE3OTd8U0dILUE4MTd8U0dILUE4Mjd8U0dILUE4Mzd8U0dILUE4NDd8U0dILUE4Njd8U0dILUE4Nzd8U0dILUE4ODd8U0dILUE4OTd8U0dILUE5Mjd8U0dILUIxMDB8U0dILUIxMzB8U0dILUIyMDB8U0dILUIyMjB8U0dILUMxMDB8U0dILUMxMTB8U0dILUMxMjB8U0dILUMxMzB8U0dILUMxNDB8U0dILUMxNjB8U0dILUMxNzB8U0dILUMxODB8U0dILUMyMDB8U0dILUMyMDd8U0dILUMyMTB8U0dILUMyMjV8U0dILUMyMzB8U0dILUM0MTd8U0dILUM0NTB8U0dILUQzMDd8U0dILUQzNDd8U0dILUQzNTd8U0dILUQ0MDd8U0dILUQ0MTV8U0dILUQ3ODB8U0dILUQ4MDd8U0dILUQ5ODB8U0dILUUxMDV8U0dILUUyMDB8U0dILUUzMTV8U0dILUUzMTZ8U0dILUUzMTd8U0dILUUzMzV8U0dILUU1OTB8U0dILUU2MzV8U0dILUU3MTV8U0dILUU4OTB8U0dILUYzMDB8U0dILUY0ODB8U0dILUkyMDB8U0dILUkzMDB8U0dILUkzMjB8U0dILUk1NTB8U0dILUk1Nzd8U0dILUk2MDB8U0dILUk2MDd8U0dILUk2MTd8U0dILUk2Mjd8U0dILUk2Mzd8U0dILUk2Nzd8U0dILUk3MDB8U0dILUk3MTd8U0dILUk3Mjd8U0dILWk3NDdNfFNHSC1JNzc3fFNHSC1JNzgwfFNHSC1JODI3fFNHSC1JODQ3fFNHSC1JODU3fFNHSC1JODk2fFNHSC1JODk3fFNHSC1JOTAwfFNHSC1JOTA3fFNHSC1JOTE3fFNHSC1JOTI3fFNHSC1JOTM3fFNHSC1JOTk3fFNHSC1KMTUwfFNHSC1KMjAwfFNHSC1MMTcwfFNHSC1MNzAwfFNHSC1NMTEwfFNHSC1NMTUwfFNHSC1NMjAwfFNHSC1OMTA1fFNHSC1ONTAwfFNHSC1ONjAwfFNHSC1ONjIwfFNHSC1ONjI1fFNHSC1ONzAwfFNHSC1ONzEwfFNHSC1QMTA3fFNHSC1QMjA3fFNHSC1QMzAwfFNHSC1QMzEwfFNHSC1QNTIwfFNHSC1QNzM1fFNHSC1QNzc3fFNHSC1RMTA1fFNHSC1SMjEwfFNHSC1SMjIwfFNHSC1SMjI1fFNHSC1TMTA1fFNHSC1TMzA3fFNHSC1UMTA5fFNHSC1UMTE5fFNHSC1UMTM5fFNHSC1UMjA5fFNHSC1UMjE5fFNHSC1UMjI5fFNHSC1UMjM5fFNHSC1UMjQ5fFNHSC1UMjU5fFNHSC1UMzA5fFNHSC1UMzE5fFNHSC1UMzI5fFNHSC1UMzM5fFNHSC1UMzQ5fFNHSC1UMzU5fFNHSC1UMzY5fFNHSC1UMzc5fFNHSC1UNDA5fFNHSC1UNDI5fFNHSC1UNDM5fFNHSC1UNDU5fFNHSC1UNDY5fFNHSC1UNDc5fFNHSC1UNDk5fFNHSC1UNTA5fFNHSC1UNTE5fFNHSC1UNTM5fFNHSC1UNTU5fFNHSC1UNTg5fFNHSC1UNjA5fFNHSC1UNjE5fFNHSC1UNjI5fFNHSC1UNjM5fFNHSC1UNjU5fFNHSC1UNjY5fFNHSC1UNjc5fFNHSC1UNzA5fFNHSC1UNzE5fFNHSC1UNzI5fFNHSC1UNzM5fFNHSC1UNzQ2fFNHSC1UNzQ5fFNHSC1UNzU5fFNHSC1UNzY5fFNHSC1UODA5fFNHSC1UODE5fFNHSC1UODM5fFNHSC1UOTE5fFNHSC1UOTI5fFNHSC1UOTM5fFNHSC1UOTU5fFNHSC1UOTg5fFNHSC1VMTAwfFNHSC1VMjAwfFNHSC1VODAwfFNHSC1WMjA1fFNHSC1WMjA2fFNHSC1YMTAwfFNHSC1YMTA1fFNHSC1YMTIwfFNHSC1YMTQwfFNHSC1YNDI2fFNHSC1YNDI3fFNHSC1YNDc1fFNHSC1YNDk1fFNHSC1YNDk3fFNHSC1YNTA3fFNHSC1YNjAwfFNHSC1YNjEwfFNHSC1YNjIwfFNHSC1YNjMwfFNHSC1YNzAwfFNHSC1YODIwfFNHSC1YODkwfFNHSC1aMTMwfFNHSC1aMTUwfFNHSC1aMTcwfFNHSC1aWDEwfFNHSC1aWDIwfFNIVy1NMTEwfFNQSC1BMTIwfFNQSC1BNDAwfFNQSC1BNDIwfFNQSC1BNDYwfFNQSC1BNTAwfFNQSC1BNTYwfFNQSC1BNjAwfFNQSC1BNjIwfFNQSC1BNjYwfFNQSC1BNzAwfFNQSC1BNzQwfFNQSC1BNzYwfFNQSC1BNzkwfFNQSC1BODAwfFNQSC1BODIwfFNQSC1BODQwfFNQSC1BODgwfFNQSC1BOTAwfFNQSC1BOTQwfFNQSC1BOTYwfFNQSC1ENjAwfFNQSC1ENzAwfFNQSC1ENzEwfFNQSC1ENzIwfFNQSC1JMzAwfFNQSC1JMzI1fFNQSC1JMzMwfFNQSC1JMzUwfFNQSC1JNTAwfFNQSC1JNjAwfFNQSC1JNzAwfFNQSC1MNzAwfFNQSC1NMTAwfFNQSC1NMjIwfFNQSC1NMjQwfFNQSC1NMzAwfFNQSC1NMzA1fFNQSC1NMzIwfFNQSC1NMzMwfFNQSC1NMzUwfFNQSC1NMzYwfFNQSC1NMzcwfFNQSC1NMzgwfFNQSC1NNTEwfFNQSC1NNTQwfFNQSC1NNTUwfFNQSC1NNTYwfFNQSC1NNTcwfFNQSC1NNTgwfFNQSC1NNjEwfFNQSC1NNjIwfFNQSC1NNjMwfFNQSC1NODAwfFNQSC1NODEwfFNQSC1NODUwfFNQSC1NOTAwfFNQSC1NOTEwfFNQSC1NOTIwfFNQSC1NOTMwfFNQSC1OMTAwfFNQSC1OMjAwfFNQSC1OMjQwfFNQSC1OMzAwfFNQSC1ONDAwfFNQSC1aNDAwfFNXQy1FMTAwfFNDSC1pOTA5fEdULU43MTAwfEdULU43MTA1fFNDSC1JNTM1fFNNLU45MDBBfFNHSC1JMzE3fFNHSC1UOTk5THxHVC1TNTM2MEJ8R1QtSTgyNjJ8R1QtUzY4MDJ8R1QtUzYzMTJ8R1QtUzYzMTB8R1QtUzUzMTJ8R1QtUzUzMTB8R1QtSTkxMDV8R1QtSTg1MTB8R1QtUzY3OTBOfFNNLUc3MTA1fFNNLU45MDA1fEdULVM1MzAxfEdULUk5Mjk1fEdULUk5MTk1fFNNLUMxMDF8R1QtUzczOTJ8R1QtUzc1NjB8R1QtQjc2MTB8R1QtSTU1MTB8R1QtUzc1ODJ8R1QtUzc1MzBFfEdULUk4NzUwfFNNLUc5MDA2VnxTTS1HOTAwOFZ8U00tRzkwMDlEfFNNLUc5MDBBfFNNLUc5MDBEfFNNLUc5MDBGfFNNLUc5MDBIfFNNLUc5MDBJfFNNLUc5MDBKfFNNLUc5MDBLfFNNLUc5MDBMfFNNLUc5MDBNfFNNLUc5MDBQfFNNLUc5MDBSNHxTTS1HOTAwU3xTTS1HOTAwVHxTTS1HOTAwVnxTTS1HOTAwVzh8U0hWLUUxNjBLfFNDSC1QNzA5fFNDSC1QNzI5fFNNLVQyNTU4fEdULUk5MjA1fFNNLUc5MzUwfFNNLUoxMjBGfFNNLUc5MjBGfFNNLUc5MjBWfFNNLUc5MzBGfFNNLU45MTBDfFNNLUEzMTBGfEdULUk5MTkwfFNNLUo1MDBGTnxTTS1HOTAzRnxTTS1KMzMwRnxTTS1HNjEwRnxTTS1HOTgxQnxTTS1HODkyQXxTTS1BNTMwRiIsTEc6IlxcYkxHXFxiO3xMR1stIF0/KEM4MDB8QzkwMHxFNDAwfEU2MTB8RTkwMHxFLTkwMHxGMTYwfEYxODBLfEYxODBMfEYxODBTfDczMHw4NTV8TDE2MHxMUzc0MHxMUzg0MHxMUzk3MHxMVTYyMDB8TVM2OTB8TVM2OTV8TVM3NzB8TVM4NDB8TVM4NzB8TVM5MTB8UDUwMHxQNzAwfFA3MDV8Vk02OTZ8QVM2ODB8QVM2OTV8QVg4NDB8QzcyOXxFOTcwfEdTNTA1fDI3MnxDMzk1fEU3MzlCS3xFOTYwfEw1NUN8TDc1Q3xMUzY5NnxMUzg2MHxQNzY5Qkt8UDM1MHxQNTAwfFA1MDl8UDg3MHxVTjI3MnxVUzczMHxWUzg0MHxWUzk1MHxMTjI3MnxMTjUxMHxMUzY3MHxMUzg1NXxMVzY5MHxNTjI3MHxNTjUxMHxQNTA5fFA3Njl8UDkzMHxVTjIwMHxVTjI3MHxVTjUxMHxVTjYxMHxVUzY3MHxVUzc0MHxVUzc2MHxVWDI2NXxVWDg0MHxWTjI3MXxWTjUzMHxWUzY2MHxWUzcwMHxWUzc0MHxWUzc1MHxWUzkxMHxWUzkyMHxWUzkzMHxWWDkyMDB8VlgxMTAwMHxBWDg0MEF8TFc3NzB8UDUwNnxQOTI1fFA5OTl8RTYxMnxEOTU1fEQ4MDJ8TVMzMjN8TTI1Nyl8TE0tRzcxMCIsU29ueToiU29ueVNUfFNvbnlMVHxTb255RXJpY3Nzb258U29ueUVyaWNzc29uTFQxNWl2fExUMThpfEUxMGl8TFQyOGh8TFQyNnd8U29ueUVyaWNzc29uTVQyN2l8QzUzMDN8QzY5MDJ8QzY5MDN8QzY5MDZ8QzY5NDN8RDI1MzN8U09WMzR8NjAxU098RjgzMzIiLEFzdXM6IkFzdXMuKkdhbGF4eXxQYWRGb25lLipNb2JpbGUiLFhpYW9taToiXig/IS4qXFxieDExXFxiKS4qeGlhb21pLiokfFBPQ09QSE9ORSBGMXxNSSA4fFJlZG1pIE5vdGUgOVN8UmVkbWkgTm90ZSA1QSBQcmltZXxOMkc0N0h8TTIwMDFKMkd8TTIwMDFKMkl8TTE4MDVFMTBBfE0yMDA0SjExR3xNMTkwMkYxR3xNMjAwMko5R3xNMjAwNEoxOUd8TTIwMDNKNkExRyIsTm9raWFMdW1pYToiTHVtaWEgWzAtOV17Myw0fSIsTWljcm9tYXg6Ik1pY3JvbWF4LipcXGIoQTIxMHxBOTJ8QTg4fEE3MnxBMTExfEExMTBRfEExMTV8QTExNnxBMTEwfEE5MFN8QTI2fEE1MXxBMzV8QTU0fEEyNXxBMjd8QTg5fEE2OHxBNjV8QTU3fEE5MClcXGIiLFBhbG06IlBhbG1Tb3VyY2V8UGFsbSIsVmVydHU6IlZlcnR1fFZlcnR1LipMdGR8VmVydHUuKkFzY2VudHxWZXJ0dS4qQXl4dGF8VmVydHUuKkNvbnN0ZWxsYXRpb24oRnxRdWVzdCk/fFZlcnR1LipNb25pa2F8VmVydHUuKlNpZ25hdHVyZSIsUGFudGVjaDoiUEFOVEVDSHxJTS1BODUwU3xJTS1BODQwU3xJTS1BODMwTHxJTS1BODMwS3xJTS1BODMwU3xJTS1BODIwTHxJTS1BODEwS3xJTS1BODEwU3xJTS1BODAwU3xJTS1UMTAwS3xJTS1BNzI1THxJTS1BNzgwTHxJTS1BNzc1Q3xJTS1BNzcwS3xJTS1BNzYwU3xJTS1BNzUwS3xJTS1BNzQwU3xJTS1BNzMwU3xJTS1BNzIwTHxJTS1BNzEwS3xJTS1BNjkwTHxJTS1BNjkwU3xJTS1BNjUwU3xJTS1BNjMwS3xJTS1BNjAwU3xWRUdBIFBUTDIxfFBUMDAzfFA4MDEwfEFEUjkxMEx8UDYwMzB8UDYwMjB8UDkwNzB8UDQxMDB8UDkwNjB8UDUwMDB8Q0RNODk5MnxUWFQ4MDQ1fEFEUjg5OTV8SVMxMVBUfFAyMDMwfFA2MDEwfFA4MDAwfFBUMDAyfElTMDZ8Q0RNODk5OXxQOTA1MHxQVDAwMXxUWFQ4MDQwfFAyMDIwfFA5MDIwfFAyMDAwfFA3MDQwfFA3MDAwfEM3OTAiLEZseToiSVEyMzB8SVE0NDR8SVE0NTB8SVE0NDB8SVE0NDJ8SVE0NDF8SVEyNDV8SVEyNTZ8SVEyMzZ8SVEyNTV8SVEyMzV8SVEyNDV8SVEyNzV8SVEyNDB8SVEyODV8SVEyODB8SVEyNzB8SVEyNjB8SVEyNTAiLFdpa286IktJVEUgNEd8SElHSFdBWXxHRVRBV0FZfFNUQUlSV0FZfERBUktTSURFfERBUktGVUxMfERBUktOSUdIVHxEQVJLTU9PTnxTTElERXxXQVggNEd8UkFJTkJPV3xCTE9PTXxTVU5TRVR8R09BKD8hbm5hKXxMRU5OWXxCQVJSWXxJR0dZfE9aWll8Q0lOSyBGSVZFfENJTksgUEVBWHxDSU5LIFBFQVggMnxDSU5LIFNMSU18Q0lOSyBTTElNIDJ8Q0lOSyArfENJTksgS0lOR3xDSU5LIFBFQVh8Q0lOSyBTTElNfFNVQkxJTSIsaU1vYmlsZToiaS1tb2JpbGUgKElRfGktU1RZTEV8aWRlYXxaQUF8SGl0eikiLFNpbVZhbGxleToiXFxiKFNQLTgwfFhULTkzMHxTWC0zNDB8WFQtOTMwfFNYLTMxMHxTUC0zNjB8U1A2MHxTUFQtODAwfFNQLTEyMHxTUFQtODAwfFNQLTE0MHxTUFgtNXxTUFgtOHxTUC0xMDB8U1BYLTh8U1BYLTEyKVxcYiIsV29sZmdhbmc6IkFULUIyNER8QVQtQVM1MEhEfEFULUFTNDBXfEFULUFTNTVIRHxBVC1BUzQ1cTJ8QVQtQjI2RHxBVC1BUzUwUSIsQWxjYXRlbDoiQWxjYXRlbCIsTmludGVuZG86Ik5pbnRlbmRvICgzRFN8U3dpdGNoKSIsQW1vaToiQW1vaSIsSU5ROiJJTlEiLE9uZVBsdXM6Ik9ORVBMVVMiLEdlbmVyaWNQaG9uZToiVGFwYXRhbGt8UERBO3xTQUdFTXxcXGJtbXBcXGJ8cG9ja2V0fFxcYnBzcFxcYnxzeW1iaWFufFNtYXJ0cGhvbmV8c21hcnRmb258dHJlb3x1cC5icm93c2VyfHVwLmxpbmt8dm9kYWZvbmV8XFxid2FwXFxifG5va2lhfFNlcmllczQwfFNlcmllczYwfFM2MHxTb255RXJpY3Nzb258TjkwMHxNQVVJLipXQVAuKkJyb3dzZXIifSx0YWJsZXRzOntpUGFkOiJpUGFkfGlQYWQuKk1vYmlsZSIsTmV4dXNUYWJsZXQ6IkFuZHJvaWQuKk5leHVzW1xcc10rKDd8OXwxMCkiLEdvb2dsZVRhYmxldDoiQW5kcm9pZC4qUGl4ZWwgQyIsU2Ftc3VuZ1RhYmxldDoiU0FNU1VORy4qVGFibGV0fEdhbGF4eS4qVGFifFNDLTAxQ3xHVC1QMTAwMHxHVC1QMTAwM3xHVC1QMTAxMHxHVC1QMzEwNXxHVC1QNjIxMHxHVC1QNjgwMHxHVC1QNjgxMHxHVC1QNzEwMHxHVC1QNzMwMHxHVC1QNzMxMHxHVC1QNzUwMHxHVC1QNzUxMHxTQ0gtSTgwMHxTQ0gtSTgxNXxTQ0gtSTkwNXxTR0gtSTk1N3xTR0gtSTk4N3xTR0gtVDg0OXxTR0gtVDg1OXxTR0gtVDg2OXxTUEgtUDEwMHxHVC1QMzEwMHxHVC1QMzEwOHxHVC1QMzExMHxHVC1QNTEwMHxHVC1QNTExMHxHVC1QNjIwMHxHVC1QNzMyMHxHVC1QNzUxMXxHVC1OODAwMHxHVC1QODUxMHxTR0gtSTQ5N3xTUEgtUDUwMHxTR0gtVDc3OXxTQ0gtSTcwNXxTQ0gtSTkxNXxHVC1OODAxM3xHVC1QMzExM3xHVC1QNTExM3xHVC1QODExMHxHVC1OODAxMHxHVC1OODAwNXxHVC1OODAyMHxHVC1QMTAxM3xHVC1QNjIwMXxHVC1QNzUwMXxHVC1ONTEwMHxHVC1ONTEwNXxHVC1ONTExMHxTSFYtRTE0MEt8U0hWLUUxNDBMfFNIVi1FMTQwU3xTSFYtRTE1MFN8U0hWLUUyMzBLfFNIVi1FMjMwTHxTSFYtRTIzMFN8U0hXLU0xODBLfFNIVy1NMTgwTHxTSFctTTE4MFN8U0hXLU0xODBXfFNIVy1NMzAwV3xTSFctTTMwNVd8U0hXLU0zODBLfFNIVy1NMzgwU3xTSFctTTM4MFd8U0hXLU00MzBXfFNIVy1NNDgwS3xTSFctTTQ4MFN8U0hXLU00ODBXfFNIVy1NNDg1V3xTSFctTTQ4Nld8U0hXLU01MDBXfEdULUk5MjI4fFNDSC1QNzM5fFNDSC1JOTI1fEdULUk5MjAwfEdULVA1MjAwfEdULVA1MjEwfEdULVA1MjEwWHxTTS1UMzExfFNNLVQzMTB8U00tVDMxMFh8U00tVDIxMHxTTS1UMjEwUnxTTS1UMjExfFNNLVA2MDB8U00tUDYwMXxTTS1QNjA1fFNNLVA5MDB8U00tUDkwMXxTTS1UMjE3fFNNLVQyMTdBfFNNLVQyMTdTfFNNLVA2MDAwfFNNLVQzMTAwfFNHSC1JNDY3fFhFNTAwfFNNLVQxMTB8R1QtUDUyMjB8R1QtSTkyMDBYfEdULU41MTEwWHxHVC1ONTEyMHxTTS1QOTA1fFNNLVQxMTF8U00tVDIxMDV8U00tVDMxNXxTTS1UMzIwfFNNLVQzMjBYfFNNLVQzMjF8U00tVDUyMHxTTS1UNTI1fFNNLVQ1MzBOVXxTTS1UMjMwTlV8U00tVDMzME5VfFNNLVQ5MDB8WEU1MDBUMUN8U00tUDYwNVZ8U00tUDkwNVZ8U00tVDMzN1Z8U00tVDUzN1Z8U00tVDcwN1Z8U00tVDgwN1Z8U00tUDYwMFh8U00tUDkwMFh8U00tVDIxMFh8U00tVDIzMHxTTS1UMjMwWHxTTS1UMzI1fEdULVA3NTAzfFNNLVQ1MzF8U00tVDMzMHxTTS1UNTMwfFNNLVQ3MDV8U00tVDcwNUN8U00tVDUzNXxTTS1UMzMxfFNNLVQ4MDB8U00tVDcwMHxTTS1UNTM3fFNNLVQ4MDd8U00tUDkwN0F8U00tVDMzN0F8U00tVDUzN0F8U00tVDcwN0F8U00tVDgwN0F8U00tVDIzN3xTTS1UODA3UHxTTS1QNjA3VHxTTS1UMjE3VHxTTS1UMzM3VHxTTS1UODA3VHxTTS1UMTE2TlF8U00tVDExNkJVfFNNLVA1NTB8U00tVDM1MHxTTS1UNTUwfFNNLVQ5MDAwfFNNLVA5MDAwfFNNLVQ3MDVZfFNNLVQ4MDV8R1QtUDMxMTN8U00tVDcxMHxTTS1UODEwfFNNLVQ4MTV8U00tVDM2MHxTTS1UNTMzfFNNLVQxMTN8U00tVDMzNXxTTS1UNzE1fFNNLVQ1NjB8U00tVDY3MHxTTS1UNjc3fFNNLVQzNzd8U00tVDU2N3xTTS1UMzU3VHxTTS1UNTU1fFNNLVQ1NjF8U00tVDcxM3xTTS1UNzE5fFNNLVQ4MTN8U00tVDgxOXxTTS1UNTgwfFNNLVQzNTVZP3xTTS1UMjgwfFNNLVQ4MTdBfFNNLVQ4MjB8U00tVzcwMHxTTS1QNTgwfFNNLVQ1ODd8U00tUDM1MHxTTS1QNTU1TXxTTS1QMzU1TXxTTS1UMTEzTlV8U00tVDgxNVl8U00tVDU4NXxTTS1UMjg1fFNNLVQ4MjV8U00tVzcwOHxTTS1UODM1fFNNLVQ4MzB8U00tVDgzN1Z8U00tVDcyMHxTTS1UNTEwfFNNLVQzODdWfFNNLVA2MTB8U00tVDI5MHxTTS1UNTE1fFNNLVQ1OTB8U00tVDU5NXxTTS1UNzI1fFNNLVQ4MTdQfFNNLVA1ODVOMHxTTS1UMzk1fFNNLVQyOTV8U00tVDg2NXxTTS1QNjEwTnxTTS1QNjE1fFNNLVQ5NzB8U00tVDM4MHxTTS1UNTk1MHxTTS1UOTA1fFNNLVQyMzF8U00tVDUwMHxTTS1UODYwIixLaW5kbGU6IktpbmRsZXxTaWxrLipBY2NlbGVyYXRlZHxBbmRyb2lkLipcXGIoS0ZPVHxLRlRUfEtGSldJfEtGSldBfEtGT1RFfEtGU09XSXxLRlRIV0l8S0ZUSFdBfEtGQVBXSXxLRkFQV0F8V0ZKV0FFfEtGU0FXQXxLRlNBV0l8S0ZBU1dJfEtGQVJXSXxLRkZPV0l8S0ZHSVdJfEtGTUVXSSlcXGJ8QW5kcm9pZC4qU2lsay9bMC05Ll0rIGxpa2UgQ2hyb21lL1swLTkuXSsgKD8hTW9iaWxlKSIsU3VyZmFjZVRhYmxldDoiV2luZG93cyBOVCBbMC05Ll0rOyBBUk07LiooVGFibGV0fEFSTUJKUykiLEhQVGFibGV0OiJIUCBTbGF0ZSAoN3w4fDEwKXxIUCBFbGl0ZVBhZCA5MDB8aHAtdGFibGV0fEVsaXRlQm9vay4qVG91Y2h8SFAgOHxTbGF0ZSAyMXxIUCBTbGF0ZUJvb2sgMTAiLEFzdXNUYWJsZXQ6Il4uKlBhZEZvbmUoKD8hTW9iaWxlKS4pKiR8VHJhbnNmb3JtZXJ8VEYxMDF8VEYxMDFHfFRGMzAwVHxURjMwMFRHfFRGMzAwVEx8VEY3MDBUfFRGNzAwS0x8VEY3MDFUfFRGODEwQ3xNRTE3MXxNRTMwMVR8TUUzMDJDfE1FMzcxTUd8TUUzNzBUfE1FMzcyTUd8TUUxNzJWfE1FMTczWHxNRTQwMEN8U2xpZGVyIFNMMTAxfFxcYkswMEZcXGJ8XFxiSzAwQ1xcYnxcXGJLMDBFXFxifFxcYkswMExcXGJ8VFgyMDFMQXxNRTE3NkN8TUUxMDJBfFxcYk04MFRBXFxifE1FMzcyQ0x8TUU1NjBDR3xNRTM3MkNHfE1FMzAyS0x8IEswMTAgfCBLMDExIHwgSzAxNyB8IEswMUUgfE1FNTcyQ3xNRTEwM0t8TUUxNzBDfE1FMTcxQ3xcXGJNRTcwQ1xcYnxNRTU4MUN8TUU1ODFDTHxNRTg1MTBDfE1FMTgxQ3xQMDFZfFBPMU1BfFAwMVp8XFxiUDAyN1xcYnxcXGJQMDI0XFxifFxcYlAwMENcXGIiLEJsYWNrQmVycnlUYWJsZXQ6IlBsYXlCb29rfFJJTSBUYWJsZXQiLEhUQ3RhYmxldDoiSFRDX0ZseWVyX1A1MTJ8SFRDIEZseWVyfEhUQyBKZXRzdHJlYW18SFRDLVA3MTVhfEhUQyBFVk8gVmlldyA0R3xQRzQxMjAwfFBHMDk0MTAiLE1vdG9yb2xhVGFibGV0OiJ4b29tfHNob2xlc3R8TVo2MTV8TVo2MDV8TVo1MDV8TVo2MDF8TVo2MDJ8TVo2MDN8TVo2MDR8TVo2MDZ8TVo2MDd8TVo2MDh8TVo2MDl8TVo2MTV8TVo2MTZ8TVo2MTciLE5vb2tUYWJsZXQ6IkFuZHJvaWQuKk5vb2t8Tm9va0NvbG9yfG5vb2sgYnJvd3NlcnxCTlJWMjAwfEJOUlYyMDBBfEJOVFYyNTB8Qk5UVjI1MEF8Qk5UVjQwMHxCTlRWNjAwfExvZ2ljUEQgWm9vbTIiLEFjZXJUYWJsZXQ6IkFuZHJvaWQuKjsgXFxiKEExMDB8QTEwMXxBMTEwfEEyMDB8QTIxMHxBMjExfEE1MDB8QTUwMXxBNTEwfEE1MTF8QTcwMHxBNzAxfFc1MDB8VzUwMFB8VzUwMXxXNTAxUHxXNTEwfFc1MTF8VzcwMHxHMTAwfEcxMDBXfEIxLUE3MXxCMS03MTB8QjEtNzExfEExLTgxMHxBMS04MTF8QTEtODMwKVxcYnxXMy04MTB8XFxiQTMtQTEwXFxifFxcYkEzLUExMVxcYnxcXGJBMy1BMjBcXGJ8XFxiQTMtQTMwfEEzLUE0MCIsVG9zaGliYVRhYmxldDoiQW5kcm9pZC4qKEFUMTAwfEFUMTA1fEFUMjAwfEFUMjA1fEFUMjcwfEFUMjc1fEFUMzAwfEFUMzA1fEFUMVM1fEFUNTAwfEFUNTcwfEFUNzAwfEFUODMwKXxUT1NISUJBLipGT0xJTyIsTEdUYWJsZXQ6IlxcYkwtMDZDfExHLVY5MDl8TEctVjkwMHxMRy1WNzAwfExHLVY1MTB8TEctVjUwMHxMRy1WNDEwfExHLVY0MDB8TEctVks4MTBcXGIiLEZ1aml0c3VUYWJsZXQ6IkFuZHJvaWQuKlxcYihGLTAxRHxGLTAyRnxGLTA1RXxGLTEwRHxNNTMyfFE1NzIpXFxiIixQcmVzdGlnaW9UYWJsZXQ6IlBNUDMxNzBCfFBNUDMyNzBCfFBNUDM0NzBCfFBNUDcxNzBCfFBNUDMzNzBCfFBNUDM1NzBDfFBNUDU4NzBDfFBNUDM2NzBCfFBNUDU1NzBDfFBNUDU3NzBEfFBNUDM5NzBCfFBNUDM4NzBDfFBNUDU1ODBDfFBNUDU4ODBEfFBNUDU3ODBEfFBNUDU1ODhDfFBNUDcyODBDfFBNUDcyODBDM0d8UE1QNzI4MHxQTVA3ODgwRHxQTVA1NTk3RHxQTVA1NTk3fFBNUDcxMDBEfFBFUjM0NjR8UEVSMzI3NHxQRVIzNTc0fFBFUjM4ODR8UEVSNTI3NHxQRVI1NDc0fFBNUDUwOTdDUFJPfFBNUDUwOTd8UE1QNzM4MER8UE1QNTI5N0N8UE1QNTI5N0NfUVVBRHxQTVA4MTJFfFBNUDgxMkUzR3xQTVA4MTJGfFBNUDgxMEV8UE1QODgwVER8UE1UMzAxN3xQTVQzMDM3fFBNVDMwNDd8UE1UMzA1N3xQTVQ3MDA4fFBNVDU4ODd8UE1UNTAwMXxQTVQ1MDAyIixMZW5vdm9UYWJsZXQ6Ikxlbm92byBUQUJ8SWRlYShUYWJ8UGFkKSggQTF8QTEwfCBLMXwpfFRoaW5rUGFkKFsgXSspP1RhYmxldHxZVDMtODUwTXxZVDMtWDkwTHxZVDMtWDkwRnxZVDMtWDkwWHxMZW5vdm8uKihTMjEwOXxTMjExMHxTNTAwMHxTNjAwMHxLMzAxMXxBMzAwMHxBMzUwMHxBMTAwMHxBMjEwN3xBMjEwOXxBMTEwN3xBNTUwMHxBNzYwMHxCNjAwMHxCODAwMHxCODA4MCkoLXwpKEZMfEZ8SFZ8SHwpfFRCLVgxMDNGfFRCLVgzMDRYfFRCLVgzMDRGfFRCLVgzMDRMfFRCLVg1MDVGfFRCLVg1MDVMfFRCLVg1MDVYfFRCLVg2MDVGfFRCLVg2MDVMfFRCLTg3MDNGfFRCLTg3MDNYfFRCLTg3MDNOfFRCLTg3MDROfFRCLTg3MDRGfFRCLTg3MDRYfFRCLTg3MDRWfFRCLTczMDRGfFRCLTczMDRJfFRCLTczMDRYfFRhYjJBNy0xMEZ8VGFiMkE3LTIwRnxUQjItWDMwTHxZVDMtWDUwTHxZVDMtWDUwRnxZVDMtWDUwTXxZVC1YNzA1RnxZVC1YNzAzRnxZVC1YNzAzTHxZVC1YNzA1THxZVC1YNzA1WHxUQjItWDMwRnxUQjItWDMwTHxUQjItWDMwTXxBMjEwN0EtRnxBMjEwN0EtSHxUQjMtNzMwRnxUQjMtNzMwTXxUQjMtNzMwWHxUQi03NTA0RnxUQi03NTA0WHxUQi1YNzA0RnxUQi1YMTA0RnxUQjMtWDcwRnxUQi1YNzA1RnxUQi04NTA0RnxUQjMtWDcwTHxUQjMtNzEwRnxUQi1YNzA0TCIsRGVsbFRhYmxldDoiVmVudWUgMTF8VmVudWUgOHxWZW51ZSA3fERlbGwgU3RyZWFrIDEwfERlbGwgU3RyZWFrIDciLFlhcnZpa1RhYmxldDoiQW5kcm9pZC4qXFxiKFRBQjIxMHxUQUIyMTF8VEFCMjI0fFRBQjI1MHxUQUIyNjB8VEFCMjY0fFRBQjMxMHxUQUIzNjB8VEFCMzY0fFRBQjQxMHxUQUI0MTF8VEFCNDIwfFRBQjQyNHxUQUI0NTB8VEFCNDYwfFRBQjQ2MXxUQUI0NjR8VEFCNDY1fFRBQjQ2N3xUQUI0Njh8VEFCMDctMTAwfFRBQjA3LTEwMXxUQUIwNy0xNTB8VEFCMDctMTUxfFRBQjA3LTE1MnxUQUIwNy0yMDB8VEFCMDctMjAxLTNHfFRBQjA3LTIxMHxUQUIwNy0yMTF8VEFCMDctMjEyfFRBQjA3LTIxNHxUQUIwNy0yMjB8VEFCMDctNDAwfFRBQjA3LTQ4NXxUQUIwOC0xNTB8VEFCMDgtMjAwfFRBQjA4LTIwMS0zR3xUQUIwOC0yMDEtMzB8VEFCMDktMTAwfFRBQjA5LTIxMXxUQUIwOS00MTB8VEFCMTAtMTUwfFRBQjEwLTIwMXxUQUIxMC0yMTF8VEFCMTAtNDAwfFRBQjEwLTQxMHxUQUIxMy0yMDF8VEFCMjc0RVVLfFRBQjI3NUVVS3xUQUIzNzRFVUt8VEFCNDYyRVVLfFRBQjQ3NEVVS3xUQUI5LTIwMClcXGIiLE1lZGlvblRhYmxldDoiQW5kcm9pZC4qXFxiT1lPXFxifExJRkUuKihQOTIxMnxQOTUxNHxQOTUxNnxTOTUxMil8TElGRVRBQiIsQXJub3ZhVGFibGV0OiI5N0c0fEFOMTBHMnxBTjdiRzN8QU43ZkczfEFOOEczfEFOOGNHM3xBTjdHM3xBTjlHM3xBTjdkRzN8QU43ZEczU1R8QU43ZEczQ2hpbGRQYWR8QU4xMGJHM3xBTjEwYkczRFR8QU45RzIiLEludGVuc29UYWJsZXQ6IklOTTgwMDJLUHxJTk0xMDEwRlB8SU5NODA1TkR8SW50ZW5zbyBUYWJ8VEFCMTAwNCIsSVJVVGFibGV0OiJNNzAycHJvIixNZWdhZm9uVGFibGV0OiJNZWdhRm9uIFY5fFxcYlpURSBWOVxcYnxBbmRyb2lkLipcXGJNVDdBXFxiIixFYm9kYVRhYmxldDoiRS1Cb2RhIChTdXByZW1lfEltcHJlc3NwZWVkfEl6enljb21tfEVzc2VudGlhbCkiLEFsbFZpZXdUYWJsZXQ6IkFsbHZpZXcuKihWaXZhfEFsbGRyb3xDaXR5fFNwZWVkfEFsbCBUVnxGcmVuenl8UXVhc2FyfFNoaW5lfFRYMXxBWDF8QVgyKSIsQXJjaG9zVGFibGV0OiJcXGIoMTAxRzl8ODBHOXxBMTAxSVQpXFxifFFpbGl2ZSA5N1J8QXJjaG9zNXxcXGJBUkNIT1MgKDcwfDc5fDgwfDkwfDk3fDEwMXxGQU1JTFlQQUR8KShifGN8KShHMTB8IENvYmFsdHwgVElUQU5JVU0oSER8KXwgWGVub258IE5lb258WFNLfCAyfCBYUyAyfCBQTEFUSU5VTXwgQ0FSQk9OfEdBTUVQQUQpXFxiIixBaW5vbFRhYmxldDoiTk9WTzd8Tk9WTzh8Tk9WTzEwfE5vdm83QXVyb3JhfE5vdm83QmFzaWN8Tk9WTzdQQUxBRElOfG5vdm85LVNwYXJrIixOb2tpYUx1bWlhVGFibGV0OiJMdW1pYSAyNTIwIixTb255VGFibGV0OiJTb255LipUYWJsZXR8WHBlcmlhIFRhYmxldHxTb255IFRhYmxldCBTfFNPLTAzRXxTR1BUMTJ8U0dQVDEzfFNHUFQxMTR8U0dQVDEyMXxTR1BUMTIyfFNHUFQxMjN8U0dQVDExMXxTR1BUMTEyfFNHUFQxMTN8U0dQVDEzMXxTR1BUMTMyfFNHUFQxMzN8U0dQVDIxMXxTR1BUMjEyfFNHUFQyMTN8U0dQMzExfFNHUDMxMnxTR1AzMjF8RUJSRDExMDF8RUJSRDExMDJ8RUJSRDEyMDF8U0dQMzUxfFNHUDM0MXxTR1A1MTF8U0dQNTEyfFNHUDUyMXxTR1A1NDF8U0dQNTUxfFNHUDYyMXxTR1A2NDF8U0dQNjEyfFNPVDMxfFNHUDc3MXxTR1A2MTF8U0dQNjEyfFNHUDcxMiIsUGhpbGlwc1RhYmxldDoiXFxiKFBJMjAxMHxQSTMwMDB8UEkzMTAwfFBJMzEwNXxQSTMxMTB8UEkzMjA1fFBJMzIxMHxQSTM5MDB8UEk0MDEwfFBJNzAwMHxQSTcxMDApXFxiIixDdWJlVGFibGV0OiJBbmRyb2lkLiooSzhHVHxVOUdUfFUxMEdUfFUxNkdUfFUxN0dUfFUxOEdUfFUxOUdUfFUyMEdUfFUyM0dUfFUzMEdUKXxDVUJFIFU4R1QiLENvYnlUYWJsZXQ6Ik1JRDEwNDJ8TUlEMTA0NXxNSUQxMTI1fE1JRDExMjZ8TUlENzAxMnxNSUQ3MDE0fE1JRDcwMTV8TUlENzAzNHxNSUQ3MDM1fE1JRDcwMzZ8TUlENzA0MnxNSUQ3MDQ4fE1JRDcxMjd8TUlEODA0MnxNSUQ4MDQ4fE1JRDgxMjd8TUlEOTA0MnxNSUQ5NzQwfE1JRDk3NDJ8TUlENzAyMnxNSUQ3MDEwIixNSURUYWJsZXQ6Ik05NzAxfE05MDAwfE05MTAwfE04MDZ8TTEwNTJ8TTgwNnxUNzAzfE1JRDcwMXxNSUQ3MTN8TUlENzEwfE1JRDcyN3xNSUQ3NjB8TUlEODMwfE1JRDcyOHxNSUQ5MzN8TUlEMTI1fE1JRDgxMHxNSUQ3MzJ8TUlEMTIwfE1JRDkzMHxNSUQ4MDB8TUlENzMxfE1JRDkwMHxNSUQxMDB8TUlEODIwfE1JRDczNXxNSUQ5ODB8TUlEMTMwfE1JRDgzM3xNSUQ3Mzd8TUlEOTYwfE1JRDEzNXxNSUQ4NjB8TUlENzM2fE1JRDE0MHxNSUQ5MzB8TUlEODM1fE1JRDczM3xNSUQ0WDEwIixNU0lUYWJsZXQ6Ik1TSSBcXGIoUHJpbW8gNzNLfFByaW1vIDczTHxQcmltbyA4MUx8UHJpbW8gNzd8UHJpbW8gOTN8UHJpbW8gNzV8UHJpbW8gNzZ8UHJpbW8gNzN8UHJpbW8gODF8UHJpbW8gOTF8UHJpbW8gOTB8RW5qb3kgNzF8RW5qb3kgN3xFbmpveSAxMClcXGIiLFNNaVRUYWJsZXQ6IkFuZHJvaWQuKihcXGJNSURcXGJ8TUlELTU2MHxNVFYtVDEyMDB8TVRWLVBORDUzMXxNVFYtUDExMDF8TVRWLVBORDUzMCkiLFJvY2tDaGlwVGFibGV0OiJBbmRyb2lkLiooUksyODE4fFJLMjgwOEF8UksyOTE4fFJLMzA2Nil8UksyNzM4fFJLMjgwOEEiLEZseVRhYmxldDoiSVEzMTB8Rmx5IFZpc2lvbiIsYnFUYWJsZXQ6IkFuZHJvaWQuKihicSk/LipcXGIoRWxjYW5vfEN1cmllfEVkaXNvbnxNYXh3ZWxsfEtlcGxlcnxQYXNjYWx8VGVzbGF8SHlwYXRpYXxQbGF0b258TmV3dG9ufExpdmluZ3N0b25lfENlcnZhbnRlc3xBdmFudHxBcXVhcmlzIChbRXxNXTEwfE04KSlcXGJ8TWF4d2VsbC4qTGl0ZXxNYXh3ZWxsLipQbHVzIixIdWF3ZWlUYWJsZXQ6Ik1lZGlhUGFkfE1lZGlhUGFkIDcgWW91dGh8SURFT1MgUzd8UzctMjAxY3xTNy0yMDJ1fFM3LTEwMXxTNy0xMDN8UzctMTA0fFM3LTEwNXxTNy0xMDZ8UzctMjAxfFM3LVNsaW18TTItQTAxTHxCQUgtTDA5fEJBSC1XMDl8QUdTLUwwOXxDTVItQUwxOSIsTmVjVGFibGV0OiJcXGJOLTA2RHxcXGJOLTA4RCIsUGFudGVjaFRhYmxldDoiUGFudGVjaC4qUDQxMDAiLEJyb25jaG9UYWJsZXQ6IkJyb25jaG8uKihONzAxfE43MDh8TjgwMnxhNzEwKSIsVmVyc3VzVGFibGV0OiJUT1VDSFBBRC4qWzc4OTEwXXxcXGJUT1VDSFRBQlxcYiIsWnluY1RhYmxldDoiejEwMDB8Wjk5IDJHfHo5MzB8ejk5MHx6OTA5fFo5MTl8ejkwMCIsUG9zaXRpdm9UYWJsZXQ6IlRCMDdTVEF8VEIxMFNUQXxUQjA3RlRBfFRCMTBGVEEiLE5hYmlUYWJsZXQ6IkFuZHJvaWQuKlxcYk5hYmkiLEtvYm9UYWJsZXQ6IktvYm8gVG91Y2h8XFxiSzA4MFxcYnxcXGJWb3hcXGIgQnVpbGR8XFxiQXJjXFxiIEJ1aWxkIixEYW5ld1RhYmxldDoiRFNsaWRlLipcXGIoNzAwfDcwMVJ8NzAyfDcwM1J8NzA0fDgwMnw5NzB8OTcxfDk3Mnw5NzN8OTc0fDEwMTB8MTAxMilcXGIiLFRleGV0VGFibGV0OiJOYXZpUGFkfFRCLTc3MkF8VE0tNzA0NXxUTS03MDU1fFRNLTk3NTB8VE0tNzAxNnxUTS03MDI0fFRNLTcwMjZ8VE0tNzA0MXxUTS03MDQzfFRNLTcwNDd8VE0tODA0MXxUTS05NzQxfFRNLTk3NDd8VE0tOTc0OHxUTS05NzUxfFRNLTcwMjJ8VE0tNzAyMXxUTS03MDIwfFRNLTcwMTF8VE0tNzAxMHxUTS03MDIzfFRNLTcwMjV8VE0tNzAzN1d8VE0tNzAzOFd8VE0tNzAyN1d8VE0tOTcyMHxUTS05NzI1fFRNLTk3MzdXfFRNLTEwMjB8VE0tOTczOFd8VE0tOTc0MHxUTS05NzQzV3xUQi04MDdBfFRCLTc3MUF8VEItNzI3QXxUQi03MjVBfFRCLTcxOUF8VEItODIzQXxUQi04MDVBfFRCLTcyM0F8VEItNzE1QXxUQi03MDdBfFRCLTcwNUF8VEItNzA5QXxUQi03MTFBfFRCLTg5MEhEfFRCLTg4MEhEfFRCLTc5MEhEfFRCLTc4MEhEfFRCLTc3MEhEfFRCLTcyMUhEfFRCLTcxMEhEfFRCLTQzNEhEfFRCLTg2MEhEfFRCLTg0MEhEfFRCLTc2MEhEfFRCLTc1MEhEfFRCLTc0MEhEfFRCLTczMEhEfFRCLTcyMkhEfFRCLTcyMEhEfFRCLTcwMEhEfFRCLTUwMEhEfFRCLTQ3MEhEfFRCLTQzMUhEfFRCLTQzMEhEfFRCLTUwNnxUQi01MDR8VEItNDQ2fFRCLTQzNnxUQi00MTZ8VEItMTQ2U0V8VEItMTI2U0UiLFBsYXlzdGF0aW9uVGFibGV0OiJQbGF5c3RhdGlvbi4qKFBvcnRhYmxlfFZpdGEpIixUcmVrc3RvclRhYmxldDoiU1QxMDQxNi0xfFZUMTA0MTYtMXxTVDcwNDA4LTF8U1Q3MDJ4eC0xfFNUNzAyeHgtMnxTVDgwMjA4fFNUOTcyMTZ8U1Q3MDEwNC0yfFZUMTA0MTYtMnxTVDEwMjE2LTJBfFN1cmZUYWIiLFB5bGVBdWRpb1RhYmxldDoiXFxiKFBUQkwxMENFVXxQVEJMMTBDfFBUQkw3MkJDfFBUQkw3MkJDRVV8UFRCTDdDRVV8UFRCTDdDfFBUQkw5MkJDfFBUQkw5MkJDRVV8UFRCTDlDRVV8UFRCTDlDVUt8UFRCTDlDKVxcYiIsQWR2YW5UYWJsZXQ6IkFuZHJvaWQuKiBcXGIoRTNBfFQzWHxUNUN8VDVCfFQzRXxUM0N8VDNCfFQxSnxUMUZ8VDJBfFQxSHxUMWl8RTFDfFQxLUV8VDUtQXxUNHxFMS1CfFQyQ2l8VDEtQnxUMS1EfE8xLUF8RTEtQXxUMS1BfFQzQXxUNGkpXFxiICIsRGFueVRlY2hUYWJsZXQ6Ikdlbml1cyBUYWIgRzN8R2VuaXVzIFRhYiBTMnxHZW5pdXMgVGFiIFEzfEdlbml1cyBUYWIgRzR8R2VuaXVzIFRhYiBRNHxHZW5pdXMgVGFiIEctSUl8R2VuaXVzIFRBQiBHSUl8R2VuaXVzIFRBQiBHSUlJfEdlbml1cyBUYWIgUzEiLEdhbGFwYWRUYWJsZXQ6IkFuZHJvaWQgWzAtOS5dKzsgW2Etei1dKzsgXFxiRzFcXGIiLE1pY3JvbWF4VGFibGV0OiJGdW5ib29rfE1pY3JvbWF4LipcXGIoUDI1MHxQNTYwfFAzNjB8UDM2MnxQNjAwfFAzMDB8UDM1MHxQNTAwfFAyNzUpXFxiIixLYXJib25uVGFibGV0OiJBbmRyb2lkLipcXGIoQTM5fEEzN3xBMzR8U1Q4fFNUMTB8U1Q3fFNtYXJ0IFRhYjN8U21hcnQgVGFiMilcXGIiLEFsbEZpbmVUYWJsZXQ6IkZpbmU3IEdlbml1c3xGaW5lNyBTaGluZXxGaW5lNyBBaXJ8RmluZTggU3R5bGV8RmluZTkgTW9yZXxGaW5lMTAgSm95fEZpbmUxMSBXaWRlIixQUk9TQ0FOVGFibGV0OiJcXGIoUEVNNjN8UExUMTAyM0d8UExUMTA0MXxQTFQxMDQ0fFBMVDEwNDRHfFBMVDEwOTF8UExUNDMxMXxQTFQ0MzExUEx8UExUNDMxNXxQTFQ3MDMwfFBMVDcwMzN8UExUNzAzM0R8UExUNzAzNXxQTFQ3MDM1RHxQTFQ3MDQ0S3xQTFQ3MDQ1S3xQTFQ3MDQ1S0J8UExUNzA3MUtHfFBMVDcwNzJ8UExUNzIyM0d8UExUNzIyNUd8UExUNzc3N0d8UExUNzgxMEt8UExUNzg0OUd8UExUNzg1MUd8UExUNzg1Mkd8UExUODAxNXxQTFQ4MDMxfFBMVDgwMzR8UExUODAzNnxQTFQ4MDgwS3xQTFQ4MDgyfFBMVDgwODh8UExUODIyM0d8UExUODIzNEd8UExUODIzNUd8UExUODgxNkt8UExUOTAxMXxQTFQ5MDQ1S3xQTFQ5MjMzR3xQTFQ5NzM1fFBMVDk3NjBHfFBMVDk3NzBHKVxcYiIsWU9ORVNUYWJsZXQ6IkJRMTA3OHxCQzEwMDN8QkMxMDc3fFJLOTcwMnxCQzk3MzB8QkM5MDAxfElUOTAwMXxCQzcwMDh8QkM3MDEwfEJDNzA4fEJDNzI4fEJDNzAxMnxCQzcwMzB8QkM3MDI3fEJDNzAyNiIsQ2hhbmdKaWFUYWJsZXQ6IlRQQzcxMDJ8VFBDNzEwM3xUUEM3MTA1fFRQQzcxMDZ8VFBDNzEwN3xUUEM3MjAxfFRQQzcyMDN8VFBDNzIwNXxUUEM3MjEwfFRQQzc3MDh8VFBDNzcwOXxUUEM3NzEyfFRQQzcxMTB8VFBDODEwMXxUUEM4MTAzfFRQQzgxMDV8VFBDODEwNnxUUEM4MjAzfFRQQzgyMDV8VFBDODUwM3xUUEM5MTA2fFRQQzk3MDF8VFBDOTcxMDF8VFBDOTcxMDN8VFBDOTcxMDV8VFBDOTcxMDZ8VFBDOTcxMTF8VFBDOTcxMTN8VFBDOTcyMDN8VFBDOTc2MDN8VFBDOTc4MDl8VFBDOTcyMDV8VFBDMTAxMDF8VFBDMTAxMDN8VFBDMTAxMDZ8VFBDMTAxMTF8VFBDMTAyMDN8VFBDMTAyMDV8VFBDMTA1MDMiLEdVVGFibGV0OiJUWC1BMTMwMXxUWC1NOTAwMnxRNzAyfGtmMDI2IixQb2ludE9mVmlld1RhYmxldDoiVEFCLVA1MDZ8VEFCLW5hdmktNy0zRy1NfFRBQi1QNTE3fFRBQi1QLTUyN3xUQUItUDcwMXxUQUItUDcwM3xUQUItUDcyMXxUQUItUDczMU58VEFCLVA3NDF8VEFCLVA4MjV8VEFCLVA5MDV8VEFCLVA5MjV8VEFCLVBSOTQ1fFRBQi1QTDEwMTV8VEFCLVAxMDI1fFRBQi1QSTEwNDV8VEFCLVAxMzI1fFRBQi1QUk9UQUJbMC05XSt8VEFCLVBST1RBQjI1fFRBQi1QUk9UQUIyNnxUQUItUFJPVEFCMjd8VEFCLVBST1RBQjI2WEx8VEFCLVBST1RBQjItSVBTOXxUQUItUFJPVEFCMzAtSVBTOXxUQUItUFJPVEFCMjVYWEx8VEFCLVBST1RBQjI2LUlQUzEwfFRBQi1QUk9UQUIzMC1JUFMxMCIsT3Zlcm1heFRhYmxldDoiT1YtKFN0ZWVsQ29yZXxOZXdCYXNlfEJhc2Vjb3JlfEJhc2VvbmV8RXhlbGxlbnxRdWF0dG9yfEVkdVRhYnxTb2x1dGlvbnxBQ1RJT058QmFzaWNUYWJ8VGVkZHlUYWJ8TWFnaWNUYWJ8U3RyZWFtfFRCLTA4fFRCLTA5KXxRdWFsY29yZSAxMDI3IixIQ0xUYWJsZXQ6IkhDTC4qVGFibGV0fENvbm5lY3QtM0ctMi4wfENvbm5lY3QtMkctMi4wfE1FIFRhYmxldCBVMXxNRSBUYWJsZXQgVTJ8TUUgVGFibGV0IEcxfE1FIFRhYmxldCBYMXxNRSBUYWJsZXQgWTJ8TUUgVGFibGV0IFN5bmMiLERQU1RhYmxldDoiRFBTIERyZWFtIDl8RFBTIER1YWwgNyIsVmlzdHVyZVRhYmxldDoiVjk3IEhEfGk3NSAzR3xWaXN0dXJlIFY0KCBIRCk/fFZpc3R1cmUgVjUoIEhEKT98VmlzdHVyZSBWMTAiLENyZXN0YVRhYmxldDoiQ1RQKC0pPzgxMHxDVFAoLSk/ODE4fENUUCgtKT84Mjh8Q1RQKC0pPzgzOHxDVFAoLSk/ODg4fENUUCgtKT85Nzh8Q1RQKC0pPzk4MHxDVFAoLSk/OTg3fENUUCgtKT85ODh8Q1RQKC0pPzk4OSIsTWVkaWF0ZWtUYWJsZXQ6IlxcYk1UODEyNXxNVDgzODl8TVQ4MTM1fE1UODM3N1xcYiIsQ29uY29yZGVUYWJsZXQ6IkNvbmNvcmRlKFsgXSspP1RhYnxDb25Db3JkZSBSZWFkTWFuIixHb0NsZXZlclRhYmxldDoiR09DTEVWRVIgVEFCfEE3R09DTEVWRVJ8TTEwNDJ8TTc4NDF8TTc0MnxSMTA0MkJLfFIxMDQxfFRBQiBBOTc1fFRBQiBBNzg0MnxUQUIgQTc0MXxUQUIgQTc0MUx8VEFCIE03MjNHfFRBQiBNNzIxfFRBQiBBMTAyMXxUQUIgSTkyMXxUQUIgUjcyMXxUQUIgSTcyMHxUQUIgVDc2fFRBQiBSNzB8VEFCIFI3Ni4yfFRBQiBSMTA2fFRBQiBSODMuMnxUQUIgTTgxM0d8VEFCIEk3MjF8R0NUQTcyMnxUQUIgSTcwfFRBQiBJNzF8VEFCIFM3M3xUQUIgUjczfFRBQiBSNzR8VEFCIFI5M3xUQUIgUjc1fFRBQiBSNzYuMXxUQUIgQTczfFRBQiBBOTN8VEFCIEE5My4yfFRBQiBUNzJ8VEFCIFI4M3xUQUIgUjk3NHxUQUIgUjk3M3xUQUIgQTEwMXxUQUIgQTEwM3xUQUIgQTEwNHxUQUIgQTEwNC4yfFIxMDVCS3xNNzEzR3xBOTcyQkt8VEFCIEE5NzF8VEFCIFI5NzQuMnxUQUIgUjEwNHxUQUIgUjgzLjN8VEFCIEExMDQyIixNb2RlY29tVGFibGV0OiJGcmVlVEFCIDkwMDB8RnJlZVRBQiA3LjR8RnJlZVRBQiA3MDA0fEZyZWVUQUIgNzgwMHxGcmVlVEFCIDIwOTZ8RnJlZVRBQiA3LjV8RnJlZVRBQiAxMDE0fEZyZWVUQUIgMTAwMSB8RnJlZVRBQiA4MDAxfEZyZWVUQUIgOTcwNnxGcmVlVEFCIDk3MDJ8RnJlZVRBQiA3MDAzfEZyZWVUQUIgNzAwMnxGcmVlVEFCIDEwMDJ8RnJlZVRBQiA3ODAxfEZyZWVUQUIgMTMzMXxGcmVlVEFCIDEwMDR8RnJlZVRBQiA4MDAyfEZyZWVUQUIgODAxNHxGcmVlVEFCIDk3MDR8RnJlZVRBQiAxMDAzIixWb25pbm9UYWJsZXQ6IlxcYihBcmd1c1sgX10/U3xEaWFtb25kWyBfXT83OUhEfEVtZXJhbGRbIF9dPzc4RXxMdW5hWyBfXT83MEN8T255eFsgX10/U3xPbnl4WyBfXT9afE9yaW5bIF9dP0hEfE9yaW5bIF9dP1N8T3Rpc1sgX10/U3xTcGVlZFN0YXJbIF9dP1N8TWFnbmV0WyBfXT9NOXxQcmltdXNbIF9dPzk0WyBfXT8zR3xQcmltdXNbIF9dPzk0SER8UHJpbXVzWyBfXT9RU3xBbmRyb2lkLipcXGJROFxcYnxTaXJpdXNbIF9dP0VWT1sgX10/UVN8U2lyaXVzWyBfXT9RU3xTcGlyaXRbIF9dP1MpXFxiIixFQ1NUYWJsZXQ6IlYwN09UMnxUTTEwNUF8UzEwT1QxfFRSMTBDUzEiLFN0b3JleFRhYmxldDoiZVplZVtfJ10/KFRhYnxHbylbMC05XSt8VGFiTEM3fExvb25leSBUdW5lcyBUYWIiLFZvZGFmb25lVGFibGV0OiJTbWFydFRhYihbIF0rKT9bMC05XSt8U21hcnRUYWJJSTEwfFNtYXJ0VGFiSUk3fFZGLTE0OTd8VkZEIDE0MDAiLEVzc2VudGllbEJUYWJsZXQ6IlNtYXJ0WyAnXT9UQUJbIF0rP1swLTldK3xGYW1pbHlbICddP1RBQjIiLFJvc3NNb29yVGFibGV0OiJSTS03OTB8Uk0tOTk3fFJNRC04NzhHfFJNRC05NzRSfFJNVC03MDVBfFJNVC03MDF8Uk1FLTYwMXxSTVQtNTAxfFJNVC03MTEiLGlNb2JpbGVUYWJsZXQ6ImktbW9iaWxlIGktbm90ZSIsVG9saW5vVGFibGV0OiJ0b2xpbm8gdGFiIFswLTkuXSt8dG9saW5vIHNoaW5lIixBdWRpb1NvbmljVGFibGV0OiJcXGJDLTIyUXxUNy1RQ3xULTE3QnxULTE3UFxcYiIsQU1QRVRhYmxldDoiQW5kcm9pZC4qIEE3OCAiLFNra1RhYmxldDoiQW5kcm9pZC4qIChTS1lQQUR8UEhPRU5JWHxDWUNMT1BTKSIsVGVjbm9UYWJsZXQ6IlRFQ05PIFA5fFRFQ05PIERQOEQiLEpYRFRhYmxldDoiQW5kcm9pZC4qIFxcYihGMzAwMHxBMzMwMHxKWEQ1MDAwfEpYRDMwMDB8SlhEMjAwMHxKWEQzMDBCfEpYRDMwMHxTNTgwMHxTNzgwMHxTNjAyYnxTNTExMGJ8UzczMDB8UzUzMDB8UzYwMnxTNjAzfFM1MTAwfFM1MTEwfFM2MDF8UzcxMDBhfFAzMDAwRnxQMzAwMHN8UDEwMXxQMjAwc3xQMTAwMG18UDIwMG18UDkxMDB8UDEwMDBzfFM2NjAwYnxTOTA4fFAxMDAwfFAzMDB8UzE4fFM2NjAwfFM5MTAwKVxcYiIsaUpveVRhYmxldDoiVGFibGV0IChTcGlyaXQgN3xFc3NlbnRpYXxHYWxhdGVhfEZ1c2lvbnxPbml4IDd8TGFuZGF8VGl0YW58U2Nvb2J5fERlb3h8U3RlbGxhfFRoZW1pc3xBcmdvbnxVbmlxdWUgN3xTeWdudXN8SGV4ZW58RmluaXR5IDd8Q3JlYW18Q3JlYW0gWDJ8SmFkZXxOZW9uIDd8TmVyb24gN3xLYW5keXxTY2FwZXxTYXBoeXIgN3xSZWJlbHxCaW94fFJlYmVsfFJlYmVsIDhHQnxNeXN0fERyYWNvIDd8TXlzdHxUYWI3LTAwNHxNeXN0fFRhZGVvIEpvbmVzfFRhYmxldCBCb2luZ3xBcnJvd3xEcmFjbyBEdWFsIENhbXxBdXJpeHxNaW50fEFtaXR5fFJldm9sdXRpb258RmluaXR5IDl8TmVvbiA5fFQ5d3xBbWl0eSA0R0IgRHVhbCBDYW18U3RvbmUgNEdCfFN0b25lIDhHQnxBbmRyb21lZGF8U2lsa2VufFgyfEFuZHJvbWVkYSBJSXxIYWxsZXl8RmxhbWV8U2FwaHlyIDksN3xUb3VjaCA4fFBsYW5ldHxUcml0b258VW5pcXVlIDEwfEhleGVuIDEwfE1lbXBoaXMgNEdCfE1lbXBoaXMgOEdCfE9uaXggMTApIixGWDJUYWJsZXQ6IkZYMiBQQUQ3fEZYMiBQQUQxMCIsWG9yb1RhYmxldDoiS2lkc1BBRCA3MDF8UEFEWyBdPzcxMnxQQURbIF0/NzE0fFBBRFsgXT83MTZ8UEFEWyBdPzcxN3xQQURbIF0/NzE4fFBBRFsgXT83MjB8UEFEWyBdPzcyMXxQQURbIF0/NzIyfFBBRFsgXT83OTB8UEFEWyBdPzc5MnxQQURbIF0/OTAwfFBBRFsgXT85NzE1RHxQQURbIF0/OTcxNkRSfFBBRFsgXT85NzE4RFJ8UEFEWyBdPzk3MTlRUnxQQURbIF0/OTcyMFFSfFRlbGVQQUQxMDMwfFRlbGVwYWQxMDMyfFRlbGVQQUQ3MzB8VGVsZVBBRDczMXxUZWxlUEFENzMyfFRlbGVQQUQ3MzVRfFRlbGVQQUQ4MzB8VGVsZVBBRDk3MzB8VGVsZVBBRDc5NXxNZWdhUEFEIDEzMzF8TWVnYVBBRCAxODUxfE1lZ2FQQUQgMjE1MSIsVmlld3NvbmljVGFibGV0OiJWaWV3UGFkIDEwcGl8Vmlld1BhZCAxMGV8Vmlld1BhZCAxMHN8Vmlld1BhZCBFNzJ8Vmlld1BhZDd8Vmlld1BhZCBFMTAwfFZpZXdQYWQgN2V8Vmlld1NvbmljIFZCNzMzfFZCMTAwYSIsVmVyaXpvblRhYmxldDoiUVRBUVozfFFUQUlSN3xRVEFRVFozfFFUQVNVTjF8UVRBU1VOMnxRVEFYSUExIixPZHlzVGFibGV0OiJMT09YfFhFTk8xMHxPRFlTWyAtXShTcGFjZXxFVk98WHByZXNzfE5PT04pfFxcYlhFTElPXFxifFhlbGlvMTBQcm98WEVMSU83UEhPTkVUQUJ8WEVMSU8xMEVYVFJFTUV8WEVMSU9QVDJ8TkVPX1FVQUQxMCIsQ2FwdGl2YVRhYmxldDoiQ0FQVElWQSBQQUQiLEljb25iaXRUYWJsZXQ6Ik5ldFRBQnxOVC0zNzAyfE5ULTM3MDJTfE5ULTM3MDJTfE5ULTM2MDNQfE5ULTM2MDNQfE5ULTA3MDRTfE5ULTA3MDRTfE5ULTM4MDVDfE5ULTM4MDVDfE5ULTA4MDZDfE5ULTA4MDZDfE5ULTA5MDlUfE5ULTA5MDlUfE5ULTA5MDdTfE5ULTA5MDdTfE5ULTA5MDJTfE5ULTA5MDJTIixUZWNsYXN0VGFibGV0OiJUOTggNEd8XFxiUDgwXFxifFxcYlg5MEhEXFxifFg5OCBBaXJ8WDk4IEFpciAzR3xcXGJYODlcXGJ8UDgwIDNHfFxcYlg4MGhcXGJ8UDk4IEFpcnxcXGJYODlIRFxcYnxQOTggM0d8XFxiUDkwSERcXGJ8UDg5IDNHfFg5OCAzR3xcXGJQNzBoXFxifFA3OUhEIDNHfEcxOGQgM0d8XFxiUDc5SERcXGJ8XFxiUDg5c1xcYnxcXGJBODhcXGJ8XFxiUDEwSERcXGJ8XFxiUDE5SERcXGJ8RzE4IDNHfFxcYlA3OEhEXFxifFxcYkE3OFxcYnxcXGJQNzVcXGJ8RzE3cyAzR3xHMTdoIDNHfFxcYlA4NXRcXGJ8XFxiUDkwXFxifFxcYlAxMVxcYnxcXGJQOTh0XFxifFxcYlA5OEhEXFxifFxcYkcxOGRcXGJ8XFxiUDg1c1xcYnxcXGJQMTFIRFxcYnxcXGJQODhzXFxifFxcYkE4MEhEXFxifFxcYkE4MHNlXFxifFxcYkExMGhcXGJ8XFxiUDg5XFxifFxcYlA3OHNcXGJ8XFxiRzE4XFxifFxcYlA4NVxcYnxcXGJBNzBoXFxifFxcYkE3MFxcYnxcXGJHMTdcXGJ8XFxiUDE4XFxifFxcYkE4MHNcXGJ8XFxiQTExc1xcYnxcXGJQODhIRFxcYnxcXGJBODBoXFxifFxcYlA3NnNcXGJ8XFxiUDc2aFxcYnxcXGJQOThcXGJ8XFxiQTEwSERcXGJ8XFxiUDc4XFxifFxcYlA4OFxcYnxcXGJBMTFcXGJ8XFxiQTEwdFxcYnxcXGJQNzZhXFxifFxcYlA3NnRcXGJ8XFxiUDc2ZVxcYnxcXGJQODVIRFxcYnxcXGJQODVhXFxifFxcYlA4NlxcYnxcXGJQNzVIRFxcYnxcXGJQNzZ2XFxifFxcYkExMlxcYnxcXGJQNzVhXFxifFxcYkExNVxcYnxcXGJQNzZUaVxcYnxcXGJQODFIRFxcYnxcXGJBMTBcXGJ8XFxiVDc2MFZFXFxifFxcYlQ3MjBIRFxcYnxcXGJQNzZcXGJ8XFxiUDczXFxifFxcYlA3MVxcYnxcXGJQNzJcXGJ8XFxiVDcyMFNFXFxifFxcYkM1MjBUaVxcYnxcXGJUNzYwXFxifFxcYlQ3MjBWRVxcYnxUNzIwLTNHRXxUNzIwLVdpRmkiLE9uZGFUYWJsZXQ6IlxcYihWOTc1aXxWaTMwfFZYNTMwfFY3MDF8Vmk2MHxWNzAxc3xWaTUwfFY4MDFzfFY3MTl8Vng2MTB3fFZYNjEwV3xWODE5aXxWaTEwfFZYNTgwV3xWaTEwfFY3MTFzfFY4MTN8VjgxMXxWODIwd3xWODIwfFZpMjB8VjcxMXxWSTMwV3xWNzEyfFY4OTF3fFY5NzJ8VjgxOXd8VjgyMHd8Vmk2MHxWODIwd3xWNzExfFY4MTNzfFY4MDF8VjgxOXxWOTc1c3xWODAxfFY4MTl8VjgxOXxWODE4fFY4MTF8VjcxMnxWOTc1bXxWMTAxd3xWOTYxd3xWODEyfFY4MTh8Vjk3MXxWOTcxc3xWOTE5fFY5ODl8VjExNnd8VjEwMnd8Vjk3M3xWaTQwKVxcYltcXHNdK3xWMTAgXFxiNEdcXGIiLEpheXRlY2hUYWJsZXQ6IlRQQy1QQTc2MiIsQmxhdXB1bmt0VGFibGV0OiJFbmRlYXZvdXIgODAwTkd8RW5kZWF2b3VyIDEwMTAiLERpZ21hVGFibGV0OiJcXGIoaUR4MTB8aUR4OXxpRHg4fGlEeDd8aUR4RDd8aUR4RDh8aURzUTh8aURzUTd8aURzUTh8aURzRDEwfGlEbkQ3fDNUUzgwNEh8aURzUTExfGlEajd8aURzMTApXFxiIixFdm9saW9UYWJsZXQ6IkFSSUFfTWluaV93aWZpfEFyaWFbIF9dTWluaXxFdm9saW8gWDEwfEV2b2xpbyBYN3xFdm9saW8gWDh8XFxiRXZvdGFiXFxifFxcYk5ldXJhXFxiIixMYXZhVGFibGV0OiJRUEFEIEU3MDR8XFxiSXZvcnlTXFxifEUtVEFCIElWT1JZfFxcYkUtVEFCXFxiIixBb2NUYWJsZXQ6Ik1XMDgxMXxNVzA4MTJ8TVcwOTIyfE1USzgzODJ8TVcxMDMxfE1XMDgzMXxNVzA4MjF8TVcwOTMxfE1XMDcxMiIsTXBtYW5UYWJsZXQ6Ik1QMTEgT0NUQXxNUDEwIE9DVEF8TVBRQzExMTR8TVBRQzEwMDR8TVBRQzk5NHxNUFFDOTc0fE1QUUM5NzN8TVBRQzgwNHxNUFFDNzg0fE1QUUM3ODB8XFxiTVBHN1xcYnxNUERDRzc1fE1QRENHNzF8TVBEQzEwMDZ8TVAxMDFEQ3xNUERDOTAwMHxNUERDOTA1fE1QREM3MDZIRHxNUERDNzA2fE1QREM3MDV8TVBEQzExMHxNUERDMTAwfE1QREM5OXxNUERDOTd8TVBEQzg4fE1QREM4fE1QREM3N3xNUDcwOXxNSUQ3MDF8TUlENzExfE1JRDE3MHxNUERDNzAzfE1QUUMxMDEwIixDZWxrb25UYWJsZXQ6IkNUNjk1fENUODg4fENUW1xcc10/OTEwfENUNyBUYWJ8Q1Q5IFRhYnxDVDMgVGFifENUMiBUYWJ8Q1QxIFRhYnxDODIwfEM3MjB8XFxiQ1QtMVxcYiIsV29sZGVyVGFibGV0OiJtaVRhYiBcXGIoRElBTU9ORHxTUEFDRXxCUk9PS0xZTnxORU98RkxZfE1BTkhBVFRBTnxGVU5LfEVWT0xVVElPTnxTS1l8R09DQVJ8SVJPTnxHRU5JVVN8UE9QfE1JTlR8RVBTSUxPTnxCUk9BRFdBWXxKVU1QfEhPUHxMRUdFTkR8TkVXIEFHRXxMSU5FfEFEVkFOQ0V8RkVFTHxGT0xMT1d8TElLRXxMSU5LfExJVkV8VEhJTkt8RlJFRURPTXxDSElDQUdPfENMRVZFTEFORHxCQUxUSU1PUkUtR0h8SU9XQXxCT1NUT058U0VBVFRMRXxQSE9FTklYfERBTExBU3xJTiAxMDF8TWFzdGVyQ2hlZilcXGIiLE1lZGlhY29tVGFibGV0OiJNLU1QSTEwQzNHfE0tU1AxMEVHfE0tU1AxMEVHUHxNLVNQMTBIWEFIfE0tU1A3SFhBSHxNLVNQMTBIWEJIfE0tU1A4SFhBSHxNLVNQOE1YQSIsTWlUYWJsZXQ6IlxcYk1JIFBBRFxcYnxcXGJITSBOT1RFIDFXXFxiIixOaWJpcnVUYWJsZXQ6Ik5pYmlydSBNMXxOaWJpcnUgSnVwaXRlciBPbmUiLE5leG9UYWJsZXQ6Ik5FWE8gTk9WQXxORVhPIDEwfE5FWE8gQVZJT3xORVhPIEZSRUV8TkVYTyBHT3xORVhPIEVWT3xORVhPIDNHfE5FWE8gU01BUlR8TkVYTyBLSURET3xORVhPIE1PQkkiLExlYWRlclRhYmxldDoiVEJMVDEwUXxUQkxUMTBJfFRCTC0xMFdES0J8VEJMLTEwV0RLQk8yMDEzfFRCTC1XMjMwVjJ8VEJMLVc0NTB8VEJMLVc1MDB8U1Y1NzJ8VEJMVDdJfFRCQS1BQzctOEd8VEJMVDc5fFRCTC04VzE2fFRCTC0xMFczMnxUQkwtMTBXS0J8VEJMLVcxMDAiLFViaXNsYXRlVGFibGV0OiJVYmlTbGF0ZVtcXHNdPzdDIixQb2NrZXRCb29rVGFibGV0OiJQb2NrZXRib29rIixLb2Nhc29UYWJsZXQ6IlxcYihUQi0xMjA3KVxcYiIsSGlzZW5zZVRhYmxldDoiXFxiKEY1MjgxfEUyMzcxKVxcYiIsSHVkbDoiSHVkbCBIVDdTM3xIdWRsIDIiLFRlbHN0cmFUYWJsZXQ6IlQtSHViMiIsR2VuZXJpY1RhYmxldDoiQW5kcm9pZC4qXFxiOTdEXFxifFRhYmxldCg/IS4qUEMpfEJOVFYyNTBBfE1JRC1XQ0RNQXxMb2dpY1BEIFpvb20yfFxcYkE3RUJcXGJ8Q2F0Tm92YTh8QTFfMDd8Q1Q3MDR8Q1QxMDAyfFxcYk03MjFcXGJ8cmszMHNka3xcXGJFVk9UQUJcXGJ8TTc1OEF8RVQ5MDR8QUxVTUlVTTEwfFNtYXJ0ZnJlbiBUYWJ8RW5kZWF2b3VyIDEwMTB8VGFibGV0LVBDLTR8VGFnaSBUYWJ8XFxiTTZwcm9cXGJ8Q1QxMDIwV3xhcmMgMTBIRHxcXGJUUDc1MFxcYnxcXGJRVEFRWjNcXGJ8V1ZUMTAxfFRNMTA4OHxLVDEwNyJ9LG9zczp7QW5kcm9pZE9TOiJBbmRyb2lkIixCbGFja0JlcnJ5T1M6ImJsYWNrYmVycnl8XFxiQkIxMFxcYnxyaW0gdGFibGV0IG9zIixQYWxtT1M6IlBhbG1PU3xhdmFudGdvfGJsYXplcnxlbGFpbmV8aGlwdG9wfHBhbG18cGx1Y2tlcnx4aWlubyIsU3ltYmlhbk9TOiJTeW1iaWFufFN5bWJPU3xTZXJpZXM2MHxTZXJpZXM0MHxTWUItWzAtOV0rfFxcYlM2MFxcYiIsV2luZG93c01vYmlsZU9TOiJXaW5kb3dzIENFLiooUFBDfFNtYXJ0cGhvbmV8TW9iaWxlfFswLTldezN9eFswLTldezN9KXxXaW5kb3dzIE1vYmlsZXxXaW5kb3dzIFBob25lIFswLTkuXSt8V0NFOyIsV2luZG93c1Bob25lT1M6IldpbmRvd3MgUGhvbmUgMTAuMHxXaW5kb3dzIFBob25lIDguMXxXaW5kb3dzIFBob25lIDguMHxXaW5kb3dzIFBob25lIE9TfFhCTFdQN3xadW5lV1A3fFdpbmRvd3MgTlQgNi5bMjNdOyBBUk07IixpT1M6IlxcYmlQaG9uZS4qTW9iaWxlfFxcYmlQb2R8XFxiaVBhZHxBcHBsZUNvcmVNZWRpYSIsaVBhZE9TOiJDUFUgT1MgMTMiLFNhaWxmaXNoT1M6IlNhaWxmaXNoIixNZWVHb09TOiJNZWVHbyIsTWFlbW9PUzoiTWFlbW8iLEphdmFPUzoiSjJNRS98XFxiTUlEUFxcYnxcXGJDTERDXFxiIix3ZWJPUzoid2ViT1N8aHB3T1MiLGJhZGFPUzoiXFxiQmFkYVxcYiIsQlJFV09TOiJCUkVXIn0sdWFzOntDaHJvbWU6IlxcYkNyTW9cXGJ8Q3JpT1N8QW5kcm9pZC4qQ2hyb21lL1suMC05XSogKE1vYmlsZSk/IixEb2xmaW46IlxcYkRvbGZpblxcYiIsT3BlcmE6Ik9wZXJhLipNaW5pfE9wZXJhLipNb2JpfEFuZHJvaWQuKk9wZXJhfE1vYmlsZS4qT1BSL1swLTkuXSskfENvYXN0L1swLTkuXSsiLFNreWZpcmU6IlNreWZpcmUiLEVkZ2U6IlxcYkVkZ2lPU1xcYnxNb2JpbGUgU2FmYXJpL1suMC05XSogRWRnZSIsSUU6IklFTW9iaWxlfE1TSUVNb2JpbGUiLEZpcmVmb3g6ImZlbm5lY3xmaXJlZm94LiptYWVtb3woTW9iaWxlfFRhYmxldCkuKkZpcmVmb3h8RmlyZWZveC4qTW9iaWxlfEZ4aU9TIixCb2x0OiJib2x0IixUZWFTaGFyazoidGVhc2hhcmsiLEJsYXplcjoiQmxhemVyIixTYWZhcmk6IlZlcnNpb24oKD8hXFxiRWRnaU9TXFxiKS4pKk1vYmlsZS4qU2FmYXJpfFNhZmFyaS4qTW9iaWxlfE1vYmlsZVNhZmFyaSIsV2VDaGF0OiJcXGJNaWNyb01lc3NlbmdlclxcYiIsVUNCcm93c2VyOiJVQy4qQnJvd3NlcnxVQ1dFQiIsYmFpZHVib3hhcHA6ImJhaWR1Ym94YXBwIixiYWlkdWJyb3dzZXI6ImJhaWR1YnJvd3NlciIsRGlpZ29Ccm93c2VyOiJEaWlnb0Jyb3dzZXIiLE1lcmN1cnk6IlxcYk1lcmN1cnlcXGIiLE9iaWdvQnJvd3NlcjoiT2JpZ28iLE5ldEZyb250OiJORi1Ccm93c2VyIixHZW5lcmljQnJvd3NlcjoiTm9raWFCcm93c2VyfE92aUJyb3dzZXJ8T25lQnJvd3NlcnxUd29ua3lCZWFtQnJvd3NlcnxTRU1DLipCcm93c2VyfEZseUZsb3d8TWluaW1vfE5ldEZyb250fE5vdmFycmEtVmlzaW9ufE1RUUJyb3dzZXJ8TWljcm9NZXNzZW5nZXIiLFBhbGVNb29uOiJBbmRyb2lkLipQYWxlTW9vbnxNb2JpbGUuKlBhbGVNb29uIn0scHJvcHM6e01vYmlsZToiTW9iaWxlL1tWRVJdIixCdWlsZDoiQnVpbGQvW1ZFUl0iLFZlcnNpb246IlZlcnNpb24vW1ZFUl0iLFZlbmRvcklEOiJWZW5kb3JJRC9bVkVSXSIsaVBhZDoiaVBhZC4qQ1BVW2EteiBdK1tWRVJdIixpUGhvbmU6ImlQaG9uZS4qQ1BVW2EteiBdK1tWRVJdIixpUG9kOiJpUG9kLipDUFVbYS16IF0rW1ZFUl0iLEtpbmRsZToiS2luZGxlL1tWRVJdIixDaHJvbWU6WyJDaHJvbWUvW1ZFUl0iLCJDcmlPUy9bVkVSXSIsIkNyTW8vW1ZFUl0iXSxDb2FzdDpbIkNvYXN0L1tWRVJdIl0sRG9sZmluOiJEb2xmaW4vW1ZFUl0iLEZpcmVmb3g6WyJGaXJlZm94L1tWRVJdIiwiRnhpT1MvW1ZFUl0iXSxGZW5uZWM6IkZlbm5lYy9bVkVSXSIsRWRnZToiRWRnZS9bVkVSXSIsSUU6WyJJRU1vYmlsZS9bVkVSXTsiLCJJRU1vYmlsZSBbVkVSXSIsIk1TSUUgW1ZFUl07IiwiVHJpZGVudC9bMC05Ll0rOy4qcnY6W1ZFUl0iXSxOZXRGcm9udDoiTmV0RnJvbnQvW1ZFUl0iLE5va2lhQnJvd3NlcjoiTm9raWFCcm93c2VyL1tWRVJdIixPcGVyYTpbIiBPUFIvW1ZFUl0iLCJPcGVyYSBNaW5pL1tWRVJdIiwiVmVyc2lvbi9bVkVSXSJdLCJPcGVyYSBNaW5pIjoiT3BlcmEgTWluaS9bVkVSXSIsIk9wZXJhIE1vYmkiOiJWZXJzaW9uL1tWRVJdIixVQ0Jyb3dzZXI6WyJVQ1dFQltWRVJdIiwiVUMuKkJyb3dzZXIvW1ZFUl0iXSxNUVFCcm93c2VyOiJNUVFCcm93c2VyL1tWRVJdIixNaWNyb01lc3NlbmdlcjoiTWljcm9NZXNzZW5nZXIvW1ZFUl0iLGJhaWR1Ym94YXBwOiJiYWlkdWJveGFwcC9bVkVSXSIsYmFpZHVicm93c2VyOiJiYWlkdWJyb3dzZXIvW1ZFUl0iLFNhbXN1bmdCcm93c2VyOiJTYW1zdW5nQnJvd3Nlci9bVkVSXSIsSXJvbjoiSXJvbi9bVkVSXSIsU2FmYXJpOlsiVmVyc2lvbi9bVkVSXSIsIlNhZmFyaS9bVkVSXSJdLFNreWZpcmU6IlNreWZpcmUvW1ZFUl0iLFRpemVuOiJUaXplbi9bVkVSXSIsV2Via2l0OiJ3ZWJraXRbIC9dW1ZFUl0iLFBhbGVNb29uOiJQYWxlTW9vbi9bVkVSXSIsU2FpbGZpc2hCcm93c2VyOiJTYWlsZmlzaEJyb3dzZXIvW1ZFUl0iLEdlY2tvOiJHZWNrby9bVkVSXSIsVHJpZGVudDoiVHJpZGVudC9bVkVSXSIsUHJlc3RvOiJQcmVzdG8vW1ZFUl0iLEdvYW5uYToiR29hbm5hL1tWRVJdIixpT1M6IiBcXGJpP09TXFxiIFtWRVJdWyA7XXsxfSIsQW5kcm9pZDoiQW5kcm9pZCBbVkVSXSIsU2FpbGZpc2g6IlNhaWxmaXNoIFtWRVJdIixCbGFja0JlcnJ5OlsiQmxhY2tCZXJyeVtcXHddKy9bVkVSXSIsIkJsYWNrQmVycnkuKlZlcnNpb24vW1ZFUl0iLCJWZXJzaW9uL1tWRVJdIl0sQlJFVzoiQlJFVyBbVkVSXSIsSmF2YToiSmF2YS9bVkVSXSIsIldpbmRvd3MgUGhvbmUgT1MiOlsiV2luZG93cyBQaG9uZSBPUyBbVkVSXSIsIldpbmRvd3MgUGhvbmUgW1ZFUl0iXSwiV2luZG93cyBQaG9uZSI6IldpbmRvd3MgUGhvbmUgW1ZFUl0iLCJXaW5kb3dzIENFIjoiV2luZG93cyBDRS9bVkVSXSIsIldpbmRvd3MgTlQiOiJXaW5kb3dzIE5UIFtWRVJdIixTeW1iaWFuOlsiU3ltYmlhbk9TL1tWRVJdIiwiU3ltYmlhbi9bVkVSXSJdLHdlYk9TOlsid2ViT1MvW1ZFUl0iLCJocHdPUy9bVkVSXTsiXX0sdXRpbHM6e0JvdDoiR29vZ2xlYm90fGZhY2Vib29rZXh0ZXJuYWxoaXR8R29vZ2xlLUFNUEhUTUx8c35hbXAtdmFsaWRhdG9yfEFkc0JvdC1Hb29nbGV8R29vZ2xlIEtleXdvcmQgU3VnZ2VzdGlvbnxGYWNlYm90fFlhbmRleEJvdHxZYW5kZXhNb2JpbGVCb3R8YmluZ2JvdHxpYV9hcmNoaXZlcnxBaHJlZnNCb3R8RXpvb21zfEdTTEZib3R8V0JTZWFyY2hCb3R8VHdpdHRlcmJvdHxUd2VldG1lbWVCb3R8VHdpa2xlfFBhcGVyTGlCb3R8V290Ym94fFVud2luZEZldGNob3J8RXhhYm90fE1KMTJib3R8WWFuZGV4SW1hZ2VzfFR1cm5pdGluQm90fFBpbmdkb218Y29udGVudGtpbmdhcHB8QXNwaWVnZWxCb3QiLE1vYmlsZUJvdDoiR29vZ2xlYm90LU1vYmlsZXxBZHNCb3QtR29vZ2xlLU1vYmlsZXxZYWhvb1NlZWtlci9NMUExLVIyRDIiLERlc2t0b3BNb2RlOiJXUERlc2t0b3AiLFRWOiJTb255RFRWfEhiYlRWIixXZWJLaXQ6Iih3ZWJraXQpWyAvXShbXFx3Ll0rKSIsQ29uc29sZToiXFxiKE5pbnRlbmRvfE5pbnRlbmRvIFdpaVV8TmludGVuZG8gM0RTfE5pbnRlbmRvIFN3aXRjaHxQTEFZU1RBVElPTnxYYm94KVxcYiIsV2F0Y2g6IlNNLVY3MDAifX0sZy5kZXRlY3RNb2JpbGVCcm93c2Vycz17ZnVsbFBhdHRlcm46LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFwuKGJyb3dzZXJ8bGluayl8dm9kYWZvbmV8d2FwfHdpbmRvd3MgY2V8eGRhfHhpaW5vL2ksDQpzaG9ydFBhdHRlcm46LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaSx0YWJsZXRQYXR0ZXJuOi9hbmRyb2lkfGlwYWR8cGxheWJvb2t8c2lsay9pfTt2YXIgaCxpPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7cmV0dXJuIGcuRkFMTEJBQ0tfUEhPTkU9IlVua25vd25QaG9uZSIsZy5GQUxMQkFDS19UQUJMRVQ9IlVua25vd25UYWJsZXQiLGcuRkFMTEJBQ0tfTU9CSUxFPSJVbmtub3duTW9iaWxlIixoPSJpc0FycmF5ImluIEFycmF5P0FycmF5LmlzQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKX0sZnVuY3Rpb24oKXt2YXIgYSxiLGMsZSxmLGosaz1nLm1vYmlsZURldGVjdFJ1bGVzO2ZvcihhIGluIGsucHJvcHMpaWYoaS5jYWxsKGsucHJvcHMsYSkpe2ZvcihiPWsucHJvcHNbYV0saChiKXx8KGI9W2JdKSxmPWIubGVuZ3RoLGU9MDtlPGY7KytlKWM9YltlXSxqPWMuaW5kZXhPZigiW1ZFUl0iKSxqPj0wJiYoYz1jLnN1YnN0cmluZygwLGopKyIoW1xcdy5fXFwrXSspIitjLnN1YnN0cmluZyhqKzUpKSxiW2VdPW5ldyBSZWdFeHAoYywiaSIpO2sucHJvcHNbYV09Yn1kKGsub3NzKSxkKGsucGhvbmVzKSxkKGsudGFibGV0cyksZChrLnVhcyksZChrLnV0aWxzKSxrLm9zczA9e1dpbmRvd3NQaG9uZU9TOmsub3NzLldpbmRvd3NQaG9uZU9TLFdpbmRvd3NNb2JpbGVPUzprLm9zcy5XaW5kb3dzTW9iaWxlT1N9fSgpLGcuZmluZE1hdGNoPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoaS5jYWxsKGEsYykmJmFbY10udGVzdChiKSlyZXR1cm4gYztyZXR1cm4gbnVsbH0sZy5maW5kTWF0Y2hlcz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2Zvcih2YXIgZCBpbiBhKWkuY2FsbChhLGQpJiZhW2RdLnRlc3QoYikmJmMucHVzaChkKTtyZXR1cm4gY30sZy5nZXRWZXJzaW9uU3RyPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsaD1nLm1vYmlsZURldGVjdFJ1bGVzLnByb3BzO2lmKGkuY2FsbChoLGEpKWZvcihjPWhbYV0sZT1jLmxlbmd0aCxkPTA7ZDxlOysrZClpZihmPWNbZF0uZXhlYyhiKSxudWxsIT09ZilyZXR1cm4gZlsxXTtyZXR1cm4gbnVsbH0sZy5nZXRWZXJzaW9uPWZ1bmN0aW9uKGEsYil7dmFyIGM9Zy5nZXRWZXJzaW9uU3RyKGEsYik7cmV0dXJuIGM/Zy5wcmVwYXJlVmVyc2lvbk5vKGMpOk5hTn0sZy5wcmVwYXJlVmVyc2lvbk5vPWZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBiPWEuc3BsaXQoL1thLXouXyBcL1wtXS9pKSwxPT09Yi5sZW5ndGgmJihhPWJbMF0pLGIubGVuZ3RoPjEmJihhPWJbMF0rIi4iLGIuc2hpZnQoKSxhKz1iLmpvaW4oIiIpKSxOdW1iZXIoYSl9LGcuaXNNb2JpbGVGYWxsYmFjaz1mdW5jdGlvbihhKXtyZXR1cm4gZy5kZXRlY3RNb2JpbGVCcm93c2Vycy5mdWxsUGF0dGVybi50ZXN0KGEpfHxnLmRldGVjdE1vYmlsZUJyb3dzZXJzLnNob3J0UGF0dGVybi50ZXN0KGEuc3Vic3RyKDAsNCkpfSxnLmlzVGFibGV0RmFsbGJhY2s9ZnVuY3Rpb24oYSl7cmV0dXJuIGcuZGV0ZWN0TW9iaWxlQnJvd3NlcnMudGFibGV0UGF0dGVybi50ZXN0KGEpfSxnLnByZXBhcmVEZXRlY3Rpb25DYWNoZT1mdW5jdGlvbihhLGMsZCl7aWYoYS5tb2JpbGU9PT1iKXt2YXIgZSxoLGk7cmV0dXJuKGg9Zy5maW5kTWF0Y2goZy5tb2JpbGVEZXRlY3RSdWxlcy50YWJsZXRzLGMpKT8oYS5tb2JpbGU9YS50YWJsZXQ9aCx2b2lkKGEucGhvbmU9bnVsbCkpOihlPWcuZmluZE1hdGNoKGcubW9iaWxlRGV0ZWN0UnVsZXMucGhvbmVzLGMpKT8oYS5tb2JpbGU9YS5waG9uZT1lLHZvaWQoYS50YWJsZXQ9bnVsbCkpOnZvaWQoZy5pc01vYmlsZUZhbGxiYWNrKGMpPyhpPWYuaXNQaG9uZVNpemVkKGQpLGk9PT1iPyhhLm1vYmlsZT1nLkZBTExCQUNLX01PQklMRSxhLnRhYmxldD1hLnBob25lPW51bGwpOmk/KGEubW9iaWxlPWEucGhvbmU9Zy5GQUxMQkFDS19QSE9ORSxhLnRhYmxldD1udWxsKTooYS5tb2JpbGU9YS50YWJsZXQ9Zy5GQUxMQkFDS19UQUJMRVQsYS5waG9uZT1udWxsKSk6Zy5pc1RhYmxldEZhbGxiYWNrKGMpPyhhLm1vYmlsZT1hLnRhYmxldD1nLkZBTExCQUNLX1RBQkxFVCxhLnBob25lPW51bGwpOmEubW9iaWxlPWEudGFibGV0PWEucGhvbmU9bnVsbCl9fSxnLm1vYmlsZUdyYWRlPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwhPT1hLm1vYmlsZSgpO3JldHVybiBhLm9zKCJpT1MiKSYmYS52ZXJzaW9uKCJpUGFkIik+PTQuM3x8YS5vcygiaU9TIikmJmEudmVyc2lvbigiaVBob25lIik+PTMuMXx8YS5vcygiaU9TIikmJmEudmVyc2lvbigiaVBvZCIpPj0zLjF8fGEudmVyc2lvbigiQW5kcm9pZCIpPjIuMSYmYS5pcygiV2Via2l0Iil8fGEudmVyc2lvbigiV2luZG93cyBQaG9uZSBPUyIpPj03fHxhLmlzKCJCbGFja0JlcnJ5IikmJmEudmVyc2lvbigiQmxhY2tCZXJyeSIpPj02fHxhLm1hdGNoKCJQbGF5Ym9vay4qVGFibGV0Iil8fGEudmVyc2lvbigid2ViT1MiKT49MS40JiZhLm1hdGNoKCJQYWxtfFByZXxQaXhpIil8fGEubWF0Y2goImhwLipUb3VjaFBhZCIpfHxhLmlzKCJGaXJlZm94IikmJmEudmVyc2lvbigiRmlyZWZveCIpPj0xMnx8YS5pcygiQ2hyb21lIikmJmEuaXMoIkFuZHJvaWRPUyIpJiZhLnZlcnNpb24oIkFuZHJvaWQiKT49NHx8YS5pcygiU2t5ZmlyZSIpJiZhLnZlcnNpb24oIlNreWZpcmUiKT49NC4xJiZhLmlzKCJBbmRyb2lkT1MiKSYmYS52ZXJzaW9uKCJBbmRyb2lkIik+PTIuM3x8YS5pcygiT3BlcmEiKSYmYS52ZXJzaW9uKCJPcGVyYSBNb2JpIik+MTEmJmEuaXMoIkFuZHJvaWRPUyIpfHxhLmlzKCJNZWVHb09TIil8fGEuaXMoIlRpemVuIil8fGEuaXMoIkRvbGZpbiIpJiZhLnZlcnNpb24oIkJhZGEiKT49Mnx8KGEuaXMoIlVDIEJyb3dzZXIiKXx8YS5pcygiRG9sZmluIikpJiZhLnZlcnNpb24oIkFuZHJvaWQiKT49Mi4zfHxhLm1hdGNoKCJLaW5kbGUgRmlyZSIpfHxhLmlzKCJLaW5kbGUiKSYmYS52ZXJzaW9uKCJLaW5kbGUiKT49M3x8YS5pcygiQW5kcm9pZE9TIikmJmEuaXMoIk5vb2tUYWJsZXQiKXx8YS52ZXJzaW9uKCJDaHJvbWUiKT49MTEmJiFifHxhLnZlcnNpb24oIlNhZmFyaSIpPj01JiYhYnx8YS52ZXJzaW9uKCJGaXJlZm94Iik+PTQmJiFifHxhLnZlcnNpb24oIk1TSUUiKT49NyYmIWJ8fGEudmVyc2lvbigiT3BlcmEiKT49MTAmJiFiPyJBIjphLm9zKCJpT1MiKSYmYS52ZXJzaW9uKCJpUGFkIik8NC4zfHxhLm9zKCJpT1MiKSYmYS52ZXJzaW9uKCJpUGhvbmUiKTwzLjF8fGEub3MoImlPUyIpJiZhLnZlcnNpb24oImlQb2QiKTwzLjF8fGEuaXMoIkJsYWNrYmVycnkiKSYmYS52ZXJzaW9uKCJCbGFja0JlcnJ5Iik+PTUmJmEudmVyc2lvbigiQmxhY2tCZXJyeSIpPDZ8fGEudmVyc2lvbigiT3BlcmEgTWluaSIpPj01JiZhLnZlcnNpb24oIk9wZXJhIE1pbmkiKTw9Ni41JiYoYS52ZXJzaW9uKCJBbmRyb2lkIik+PTIuM3x8YS5pcygiaU9TIikpfHxhLm1hdGNoKCJOb2tpYU44fE5va2lhQzd8Tjk3LipTZXJpZXM2MHxTeW1iaWFuLzMiKXx8YS52ZXJzaW9uKCJPcGVyYSBNb2JpIik+PTExJiZhLmlzKCJTeW1iaWFuT1MiKT8iQiI6KGEudmVyc2lvbigiQmxhY2tCZXJyeSIpPDV8fGEubWF0Y2goIk1TSUVNb2JpbGV8V2luZG93cyBDRS4qTW9iaWxlIil8fGEudmVyc2lvbigiV2luZG93cyBNb2JpbGUiKTw9NS4yLCJDIil9LGcuZGV0ZWN0T1M9ZnVuY3Rpb24oYSl7cmV0dXJuIGcuZmluZE1hdGNoKGcubW9iaWxlRGV0ZWN0UnVsZXMub3NzMCxhKXx8Zy5maW5kTWF0Y2goZy5tb2JpbGVEZXRlY3RSdWxlcy5vc3MsYSl9LGcuZ2V0RGV2aWNlU21hbGxlclNpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnNjcmVlbi53aWR0aDx3aW5kb3cuc2NyZWVuLmhlaWdodD93aW5kb3cuc2NyZWVuLndpZHRoOndpbmRvdy5zY3JlZW4uaGVpZ2h0fSxmLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Zixtb2JpbGU6ZnVuY3Rpb24oKXtyZXR1cm4gZy5wcmVwYXJlRGV0ZWN0aW9uQ2FjaGUodGhpcy5fY2FjaGUsdGhpcy51YSx0aGlzLm1heFBob25lV2lkdGgpLHRoaXMuX2NhY2hlLm1vYmlsZX0scGhvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gZy5wcmVwYXJlRGV0ZWN0aW9uQ2FjaGUodGhpcy5fY2FjaGUsdGhpcy51YSx0aGlzLm1heFBob25lV2lkdGgpLHRoaXMuX2NhY2hlLnBob25lfSx0YWJsZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZy5wcmVwYXJlRGV0ZWN0aW9uQ2FjaGUodGhpcy5fY2FjaGUsdGhpcy51YSx0aGlzLm1heFBob25lV2lkdGgpLHRoaXMuX2NhY2hlLnRhYmxldH0sdXNlckFnZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhY2hlLnVzZXJBZ2VudD09PWImJih0aGlzLl9jYWNoZS51c2VyQWdlbnQ9Zy5maW5kTWF0Y2goZy5tb2JpbGVEZXRlY3RSdWxlcy51YXMsdGhpcy51YSkpLHRoaXMuX2NhY2hlLnVzZXJBZ2VudH0sdXNlckFnZW50czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYWNoZS51c2VyQWdlbnRzPT09YiYmKHRoaXMuX2NhY2hlLnVzZXJBZ2VudHM9Zy5maW5kTWF0Y2hlcyhnLm1vYmlsZURldGVjdFJ1bGVzLnVhcyx0aGlzLnVhKSksdGhpcy5fY2FjaGUudXNlckFnZW50c30sb3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FjaGUub3M9PT1iJiYodGhpcy5fY2FjaGUub3M9Zy5kZXRlY3RPUyh0aGlzLnVhKSksdGhpcy5fY2FjaGUub3N9LHZlcnNpb246ZnVuY3Rpb24oYSl7cmV0dXJuIGcuZ2V0VmVyc2lvbihhLHRoaXMudWEpfSx2ZXJzaW9uU3RyOmZ1bmN0aW9uKGEpe3JldHVybiBnLmdldFZlcnNpb25TdHIoYSx0aGlzLnVhKX0saXM6ZnVuY3Rpb24oYil7cmV0dXJuIGModGhpcy51c2VyQWdlbnRzKCksYil8fGEoYix0aGlzLm9zKCkpfHxhKGIsdGhpcy5waG9uZSgpKXx8YShiLHRoaXMudGFibGV0KCkpfHxjKGcuZmluZE1hdGNoZXMoZy5tb2JpbGVEZXRlY3RSdWxlcy51dGlscyx0aGlzLnVhKSxiKX0sbWF0Y2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBSZWdFeHB8fChhPW5ldyBSZWdFeHAoYSwiaSIpKSxhLnRlc3QodGhpcy51YSl9LGlzUGhvbmVTaXplZDpmdW5jdGlvbihhKXtyZXR1cm4gZi5pc1Bob25lU2l6ZWQoYXx8dGhpcy5tYXhQaG9uZVdpZHRoKX0sbW9iaWxlR3JhZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FjaGUuZ3JhZGU9PT1iJiYodGhpcy5fY2FjaGUuZ3JhZGU9Zy5tb2JpbGVHcmFkZSh0aGlzKSksdGhpcy5fY2FjaGUuZ3JhZGV9fSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnNjcmVlbj9mLmlzUGhvbmVTaXplZD1mdW5jdGlvbihhKXtyZXR1cm4gYTwwP2I6Zy5nZXREZXZpY2VTbWFsbGVyU2lkZSgpPD1hfTpmLmlzUGhvbmVTaXplZD1mdW5jdGlvbigpe30sZi5faW1wbD1nLGYudmVyc2lvbj0iMS40LjUgMjAyMS0wMy0xMyIsZn0pfShmdW5jdGlvbihhKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMpcmV0dXJuIGZ1bmN0aW9uKGEpe21vZHVsZS5leHBvcnRzPWEoKX07aWYoImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZClyZXR1cm4gZGVmaW5lO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXJldHVybiBmdW5jdGlvbihhKXt3aW5kb3cuTW9iaWxlRGV0ZWN0PWEoKX07dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGVudmlyb25tZW50Iil9KCkpO3ZhciBhaV9saXN0cz0hMCxhaV9ibG9ja19jbGFzc19kZWY9ImNvZGUtYmxvY2siOwppZigidW5kZWZpbmVkIiE9dHlwZW9mIGFpX2xpc3RzKXtmdW5jdGlvbiBYKGIsZSl7Zm9yKHZhciBwPVtdO2I9Yi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nOykoInVuZGVmaW5lZCI9PXR5cGVvZiBlfHxiLm1hdGNoZXMoZSkpJiZwLnB1c2goYik7cmV0dXJuIHB9ZnVuY3Rpb24gZmEoYixlKXtmb3IodmFyIHA9W107Yj1iLm5leHRFbGVtZW50U2libGluZzspKCJ1bmRlZmluZWQiPT10eXBlb2YgZXx8Yi5tYXRjaGVzKGUpKSYmcC5wdXNoKGIpO3JldHVybiBwfXZhciBob3N0X3JlZ2V4cD1SZWdFeHAoIjpcXC9cXC8oLlteLzpdKykiLCJpIik7ZnVuY3Rpb24gaGEoYil7Yj1iLm1hdGNoKGhvc3RfcmVnZXhwKTtyZXR1cm4gbnVsbCE9YiYmMTxiLmxlbmd0aCYmInN0cmluZyI9PT10eXBlb2YgYlsxXSYmMDxiWzFdLmxlbmd0aD9iWzFdLnRvTG93ZXJDYXNlKCk6bnVsbH1mdW5jdGlvbiBRKGIpe3JldHVybiBiLmluY2x1ZGVzKCI6Iik/KGI9Yi5zcGxpdCgiOiIpLDFFMyooMzYwMCpwYXJzZUludChiWzBdKSsKNjAqcGFyc2VJbnQoYlsxXSkrcGFyc2VJbnQoYlsyXSkpKTpudWxsfWZ1bmN0aW9uIFkoYil7dHJ5e3ZhciBlPURhdGUucGFyc2UoYik7aXNOYU4oZSkmJihlPW51bGwpfWNhdGNoKHApe2U9bnVsbH1pZihudWxsPT1lJiZiLmluY2x1ZGVzKCIgIikpe2I9Yi5zcGxpdCgiICIpO3RyeXtlPURhdGUucGFyc2UoYlswXSksZSs9UShiWzFdKSxpc05hTihlKSYmKGU9bnVsbCl9Y2F0Y2gocCl7ZT1udWxsfX1yZXR1cm4gZX1mdW5jdGlvbiBaKCl7bnVsbD09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpLWlhYi10Y2YtYmFyIikmJm51bGw9PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5haS1saXN0LW1hbnVhbCIpfHwiZnVuY3Rpb24iIT10eXBlb2YgX190Y2ZhcGl8fCJmdW5jdGlvbiIhPXR5cGVvZiBhaV9sb2FkX2Jsb2Nrc3x8InVuZGVmaW5lZCIhPXR5cGVvZiBhaV9pYWJfdGNmX2NhbGxiYWNrX2luc3RhbGxlZHx8KF9fdGNmYXBpKCJhZGRFdmVudExpc3RlbmVyIiwyLGZ1bmN0aW9uKGIsCmUpe2UmJiJ1c2VyYWN0aW9uY29tcGxldGUiPT09Yi5ldmVudFN0YXR1cyYmKGFpX3RjRGF0YT1iLGFpX2xvYWRfYmxvY2tzKCksYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKSxudWxsIT1iJiYoYi50ZXh0Q29udGVudD0iSUFCIFRDRiAyLjAgREFUQSBMT0FERUQiKSxiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLWJhciIpLG51bGwhPWImJihiLmNsYXNzTGlzdC5yZW1vdmUoInN0YXR1cy1lcnJvciIpLGIuY2xhc3NMaXN0LmFkZCgic3RhdHVzLW9rIikpKX0pLGFpX2lhYl90Y2ZfY2FsbGJhY2tfaW5zdGFsbGVkPSEwKX1haV9wcm9jZXNzX2xpc3RzPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGUoYSxkLGspe2lmKDA9PWEubGVuZ3RoKXtpZigiIUAhIj09aylyZXR1cm4hMDtkIT1rJiYoInRydWUiPT1rLnRvTG93ZXJDYXNlKCk/az0hMDoiZmFsc2UiPT1rLnRvTG93ZXJDYXNlKCkmJihrPSExKSk7cmV0dXJuIGQ9PWt9aWYoIm9iamVjdCIhPQp0eXBlb2YgZCYmImFycmF5IiE9dHlwZW9mIGQpcmV0dXJuITE7dmFyIGw9YVswXTthPWEuc2xpY2UoMSk7aWYoIioiPT1sKWZvcihsZXQgWyxuXW9mIE9iamVjdC5lbnRyaWVzKGQpKXtpZihlKGEsbixrKSlyZXR1cm4hMH1lbHNlIGlmKGwgaW4gZClyZXR1cm4gZShhLGRbbF0sayk7cmV0dXJuITF9ZnVuY3Rpb24gcChhLGQsayl7aWYoIm9iamVjdCIhPXR5cGVvZiBhfHwtMT09ZC5pbmRleE9mKCJbIikpcmV0dXJuITE7ZD1kLnJlcGxhY2UoL118IC9naSwiIikuc3BsaXQoIlsiKTtyZXR1cm4gZShkLGEsayl9ZnVuY3Rpb24geigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBfX3RjZmFwaSl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpLWlhYi10Y2Ytc3RhdHVzIiksZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1iYXIiKTtudWxsIT1hJiYoYS50ZXh0Q29udGVudD0iSUFCIFRDRiAyLjAgREVURUNURUQiKTtfX3RjZmFwaSgiZ2V0VENEYXRhIiwyLGZ1bmN0aW9uKGssCmwpe2w/KG51bGwhPWQmJmQuY2xhc3NMaXN0LmFkZCgic3RhdHVzLW9rIiksInRjbG9hZGVkIj09ay5ldmVudFN0YXR1c3x8InVzZXJhY3Rpb25jb21wbGV0ZSI9PWsuZXZlbnRTdGF0dXMpPyhhaV90Y0RhdGE9ayxrLmdkcHJBcHBsaWVzP251bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBEQVRBIExPQURFRCIpOm51bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBHRFBSIERPRVMgTk9UIEFQUExZIiksbnVsbCE9ZCYmKGQuY2xhc3NMaXN0LnJlbW92ZSgic3RhdHVzLWVycm9yIiksZC5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtb2siKSksc2V0VGltZW91dChmdW5jdGlvbigpe2FpX3Byb2Nlc3NfbGlzdHMoKX0sMTApKToiY21wdWlzaG93biI9PWsuZXZlbnRTdGF0dXMmJihhaV9jbXB1aXNob3duPSEwLG51bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBDTVAgVUkgU0hPV04iKSxudWxsIT1kJiYoZC5jbGFzc0xpc3QucmVtb3ZlKCJzdGF0dXMtZXJyb3IiKSwKZC5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtb2siKSkpOihudWxsIT1hJiYoYS50ZXh0Q29udGVudD0iSUFCIFRDRiAyLjAgX190Y2ZhcGkgZ2V0VENEYXRhIGZhaWxlZCIpLG51bGwhPWQmJihkLmNsYXNzTGlzdC5yZW1vdmUoInN0YXR1cy1vayIpLGQuY2xhc3NMaXN0LmFkZCgic3RhdHVzLWVycm9yIikpKX0pfX1mdW5jdGlvbiBDKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBfX3RjZmFwaT8oYWlfdGNmYXBpX2ZvdW5kPSEwLCJ1bmRlZmluZWQiPT10eXBlb2YgYWlfaWFiX3RjZl9jYWxsYmFja19pbnN0YWxsZWQmJlooKSwidW5kZWZpbmVkIj09dHlwZW9mIGFpX3RjRGF0YV9yZXF1ZXN0ZWQmJihhaV90Y0RhdGFfcmVxdWVzdGVkPSEwLHooKSxjb29raWVzX25lZWRfdGNEYXRhPSEwKSk6YSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgYWlfdGNmYXBpX2ZvdW5kJiYoYWlfdGNmYXBpX2ZvdW5kPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthaV9wcm9jZXNzX2xpc3RzKCl9LDEwKSksYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKSwKbnVsbCE9YSYmKGEudGV4dENvbnRlbnQ9IklBQiBUQ0YgMi4wIE1JU1NJTkc6IF9fdGNmYXBpIGZ1bmN0aW9uIG5vdCBmb3VuZCIpLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpLWlhYi10Y2YtYmFyIiksbnVsbCE9YSYmKGEuY2xhc3NMaXN0LnJlbW92ZSgic3RhdHVzLW9rIiksYS5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtZXJyb3IiKSkpfWlmKG51bGw9PWIpYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuYWktbGlzdC1kYXRhLCBtZXRhLmFpLWxpc3QtZGF0YSIpO2Vsc2V7d2luZG93LmpRdWVyeSYmd2luZG93LmpRdWVyeS5mbiYmYiBpbnN0YW5jZW9mIGpRdWVyeSYmKGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYikpO3ZhciB4PVtdO2IuZm9yRWFjaCgoYSxkKT0+e2EubWF0Y2hlcygiLmFpLWxpc3QtZGF0YSIpP3gucHVzaChhKTooYT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi5haS1saXN0LWRhdGEiKSxhLmxlbmd0aCYmYS5mb3JFYWNoKChrLGwpPT57eC5wdXNoKGspfSkpfSk7CmI9eH1pZihiLmxlbmd0aCl7Yi5mb3JFYWNoKChhLGQpPT57YS5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWRhdGEiKX0pO3ZhciBMPWlhKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2lmKG51bGwhPUwucmVmZXJyZXIpdmFyIEE9TC5yZWZlcnJlcjtlbHNlIEE9ZG9jdW1lbnQucmVmZXJyZXIsIiIhPUEmJihBPWhhKEEpKTt2YXIgUj13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCxTPVIudG9Mb3dlckNhc2UoKSxhYT1uYXZpZ2F0b3IubGFuZ3VhZ2UsTT1hYS50b0xvd2VyQ2FzZSgpO2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIE1vYmlsZURldGVjdCl2YXIgYmE9bmV3IE1vYmlsZURldGVjdChSKTtiLmZvckVhY2goKGEsZCk9Pnt2YXIgaz1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTtrLmZvckVhY2goZnVuY3Rpb24oZixoKXtrW2hdPWYudHJpbSgpfSk7ZD1hLmNsb3Nlc3QoImRpdi4iK2FpX2Jsb2NrX2NsYXNzX2RlZik7dmFyIGw9ITA7aWYoYS5oYXNBdHRyaWJ1dGUoInJlZmVyZXItbGlzdCIpKXt2YXIgbj0KYS5nZXRBdHRyaWJ1dGUoInJlZmVyZXItbGlzdCIpO249YjY0ZChuKS5zcGxpdCgiLCIpO3ZhciB2PWEuZ2V0QXR0cmlidXRlKCJyZWZlcmVyLWxpc3QtdHlwZSIpLEU9ITE7bi5ldmVyeSgoZixoKT0+e2Y9Zi50cmltKCk7aWYoIiI9PWYpcmV0dXJuITA7aWYoIioiPT1mLmNoYXJBdCgwKSlpZigiKiI9PWYuY2hhckF0KGYubGVuZ3RoLTEpKXtpZihmPWYuc3Vic3RyKDEsZi5sZW5ndGgtMiksLTEhPUEuaW5kZXhPZihmKSlyZXR1cm4gRT0hMCwhMX1lbHNle2lmKGY9Zi5zdWJzdHIoMSksQS5zdWJzdHIoLWYubGVuZ3RoKT09ZilyZXR1cm4gRT0hMCwhMX1lbHNlIGlmKCIqIj09Zi5jaGFyQXQoZi5sZW5ndGgtMSkpe2lmKGY9Zi5zdWJzdHIoMCxmLmxlbmd0aC0xKSwwPT1BLmluZGV4T2YoZikpcmV0dXJuIEU9ITAsITF9ZWxzZSBpZigiIyI9PWYpe2lmKCIiPT1BKXJldHVybiBFPSEwLCExfWVsc2UgaWYoZj09QSlyZXR1cm4gRT0hMCwhMTtyZXR1cm4hMH0pO3ZhciByPUU7c3dpdGNoKHYpe2Nhc2UgIkIiOnImJgoobD0hMSk7YnJlYWs7Y2FzZSAiVyI6cnx8KGw9ITEpfX1pZihsJiZhLmhhc0F0dHJpYnV0ZSgiY2xpZW50LWxpc3QiKSYmInVuZGVmaW5lZCIhPT10eXBlb2YgYmEpc3dpdGNoKG49YS5nZXRBdHRyaWJ1dGUoImNsaWVudC1saXN0Iiksbj1iNjRkKG4pLnNwbGl0KCIsIiksdj1hLmdldEF0dHJpYnV0ZSgiY2xpZW50LWxpc3QtdHlwZSIpLHI9ITEsbi5ldmVyeSgoZixoKT0+e2lmKCIiPT1mLnRyaW0oKSlyZXR1cm4hMDtmLnNwbGl0KCImJiIpLmV2ZXJ5KChjLHQpPT57dD0hMDt2YXIgdz0hMTtmb3IoYz1jLnRyaW0oKTsiISEiPT1jLnN1YnN0cmluZygwLDIpOyl0PSF0LGM9Yy5zdWJzdHJpbmcoMik7Imxhbmd1YWdlOiI9PWMuc3Vic3RyaW5nKDAsOSkmJih3PSEwLGM9Yy5zdWJzdHJpbmcoOSkudG9Mb3dlckNhc2UoKSk7dmFyIHE9ITE7dz8iKiI9PWMuY2hhckF0KDApPyIqIj09Yy5jaGFyQXQoYy5sZW5ndGgtMSk/KGM9Yy5zdWJzdHIoMSxjLmxlbmd0aC0yKS50b0xvd2VyQ2FzZSgpLAotMSE9TS5pbmRleE9mKGMpJiYocT0hMCkpOihjPWMuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCksTS5zdWJzdHIoLWMubGVuZ3RoKT09YyYmKHE9ITApKToiKiI9PWMuY2hhckF0KGMubGVuZ3RoLTEpPyhjPWMuc3Vic3RyKDAsYy5sZW5ndGgtMSkudG9Mb3dlckNhc2UoKSwwPT1NLmluZGV4T2YoYykmJihxPSEwKSk6Yz09TSYmKHE9ITApOiIqIj09Yy5jaGFyQXQoMCk/IioiPT1jLmNoYXJBdChjLmxlbmd0aC0xKT8oYz1jLnN1YnN0cigxLGMubGVuZ3RoLTIpLnRvTG93ZXJDYXNlKCksLTEhPVMuaW5kZXhPZihjKSYmKHE9ITApKTooYz1jLnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpLFMuc3Vic3RyKC1jLmxlbmd0aCk9PWMmJihxPSEwKSk6IioiPT1jLmNoYXJBdChjLmxlbmd0aC0xKT8oYz1jLnN1YnN0cigwLGMubGVuZ3RoLTEpLnRvTG93ZXJDYXNlKCksMD09Uy5pbmRleE9mKGMpJiYocT0hMCkpOmJhLmlzKGMpJiYocT0hMCk7cmV0dXJuKHI9cT90OiF0KT8hMDohMX0pO3JldHVybiByPwohMTohMH0pLHYpe2Nhc2UgIkIiOnImJihsPSExKTticmVhaztjYXNlICJXIjpyfHwobD0hMSl9dmFyIE49bj0hMTtmb3Iodj0xOzI+PXY7disrKWlmKGwpe3N3aXRjaCh2KXtjYXNlIDE6dmFyIGc9YS5nZXRBdHRyaWJ1dGUoImNvb2tpZS1saXN0Iik7YnJlYWs7Y2FzZSAyOmc9YS5nZXRBdHRyaWJ1dGUoInBhcmFtZXRlci1saXN0Iil9aWYobnVsbCE9Zyl7Zz1iNjRkKGcpO3N3aXRjaCh2KXtjYXNlIDE6dmFyIHk9YS5nZXRBdHRyaWJ1dGUoImNvb2tpZS1saXN0LXR5cGUiKTticmVhaztjYXNlIDI6eT1hLmdldEF0dHJpYnV0ZSgicGFyYW1ldGVyLWxpc3QtdHlwZSIpfWc9Zy5yZXBsYWNlKCJ0Y2YtZ2RwciIsInRjZi12MltnZHByQXBwbGllc109dHJ1ZSIpO2c9Zy5yZXBsYWNlKCJ0Y2Ytbm8tZ2RwciIsInRjZi12MltnZHByQXBwbGllc109ZmFsc2UiKTtnPWcucmVwbGFjZSgidGNmLWdvb2dsZSIsInRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVs3NTVdPXRydWUgJiYgdGNmLXYyW3B1cnBvc2VdW2NvbnNlbnRzXVsxXT10cnVlIik7Cmc9Zy5yZXBsYWNlKCJ0Y2Ytbm8tZ29vZ2xlIiwiISF0Y2YtdjJbdmVuZG9yXVtjb25zZW50c11bNzU1XSIpO2c9Zy5yZXBsYWNlKCJ0Y2YtbWVkaWEubmV0IiwidGNmLXYyW3ZlbmRvcl1bY29uc2VudHNdWzE0Ml09dHJ1ZSAmJiB0Y2YtdjJbcHVycG9zZV1bY29uc2VudHNdWzFdPXRydWUiKTtnPWcucmVwbGFjZSgidGNmLW5vLW1lZGlhLm5ldCIsIiEhdGNmLXYyW3ZlbmRvcl1bY29uc2VudHNdWzE0Ml0iKTtnPWcucmVwbGFjZSgidGNmLWFtYXpvbiIsInRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVs3OTNdPXRydWUgJiYgdGNmLXYyW3B1cnBvc2VdW2NvbnNlbnRzXVsxXT10cnVlIik7Zz1nLnJlcGxhY2UoInRjZi1uby1hbWF6b24iLCIhIXRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVs3OTNdIik7Zz1nLnJlcGxhY2UoInRjZi1lem9pYyIsInRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVszNDddPXRydWUgJiYgdGNmLXYyW3B1cnBvc2VdW2NvbnNlbnRzXVsxXT10cnVlIik7Zz1nLnJlcGxhY2UoInRjZi1uby1lem9pYyIsCiIhIXRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVszNDddIik7dmFyIEY9Zy5zcGxpdCgiLCIpLGNhPVtdO2suZm9yRWFjaChmdW5jdGlvbihmKXtmPWYuc3BsaXQoIj0iKTt0cnl7dmFyIGg9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZlsxXSkpfWNhdGNoKGMpe2g9ZGVjb2RlVVJJQ29tcG9uZW50KGZbMV0pfWNhW2ZbMF1dPWh9KTtyPSExO3ZhciBJPWE7Ri5ldmVyeSgoZixoKT0+e2Yuc3BsaXQoIiYmIikuZXZlcnkoKGMsdCk9Pnt0PSEwO2ZvcihjPWMudHJpbSgpOyIhISI9PWMuc3Vic3RyaW5nKDAsMik7KXQ9IXQsYz1jLnN1YnN0cmluZygyKTt2YXIgdz1jLHE9IiFAISIsVD0idGNmLXYyIj09dyYmIiFAISI9PXEsQj0tMSE9Yy5pbmRleE9mKCJbIiksSj0wPT1jLmluZGV4T2YoInRjZi12MiIpfHwwPT1jLmluZGV4T2YoImV1Y29uc2VudC12MiIpO0o9SiYmKEJ8fFQpOy0xIT1jLmluZGV4T2YoIj0iKSYmKHE9Yy5zcGxpdCgiPSIpLHc9cVswXSxxPXFbMV0sQj0tMSE9dy5pbmRleE9mKCJbIiksCko9KEo9MD09dy5pbmRleE9mKCJ0Y2YtdjIiKXx8MD09dy5pbmRleE9mKCJldWNvbnNlbnQtdjIiKSkmJihCfHxUKSk7aWYoSilkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKSxCPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLWJhciIpLG51bGwhPUImJihCLnN0eWxlLmRpc3BsYXk9ImJsb2NrIiksVCYmImJvb2xlYW4iPT10eXBlb2YgYWlfdGNmYXBpX2ZvdW5kP3I9YWlfdGNmYXBpX2ZvdW5kP3Q6IXQ6Im9iamVjdCI9PXR5cGVvZiBhaV90Y0RhdGE/KG51bGwhPUImJkIuY2xhc3NMaXN0LmFkZCgic3RhdHVzLW9rIiksdz13LnJlcGxhY2UoL118IC9naSwiIikuc3BsaXQoIlsiKSx3LnNoaWZ0KCkscj0odz1lKHcsYWlfdGNEYXRhLHEpKT90OiF0KToidW5kZWZpbmVkIj09dHlwZW9mIGFpX3RjZmFwaV9mb3VuZCYmKEkuY2xhc3NMaXN0LmFkZCgiYWktbGlzdC1kYXRhIiksTj0hMCwiZnVuY3Rpb24iPT10eXBlb2YgX190Y2ZhcGk/QyghMSk6CiJ1bmRlZmluZWQiPT10eXBlb2YgYWlfdGNEYXRhX3JldHJ5aW5nJiYoYWlfdGNEYXRhX3JldHJ5aW5nPSEwLHNldFRpbWVvdXQoZnVuY3Rpb24oKXsiZnVuY3Rpb24iPT10eXBlb2YgX190Y2ZhcGk/QyghMSk6c2V0VGltZW91dChmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBfX3RjZmFwaT9DKCExKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7QyghMCl9LDNFMyl9LDFFMyl9LDYwMCkpKTtlbHNlIGlmKEIpcj0odz1wKGNhLHcscSkpP3Q6IXQ7ZWxzZXt2YXIgVT0hMTsiIUAhIj09cT9rLmV2ZXJ5KGZ1bmN0aW9uKGphKXtyZXR1cm4gamEuc3BsaXQoIj0iKVswXT09Yz8oVT0hMCwhMSk6ITB9KTpVPS0xIT1rLmluZGV4T2YoYyk7cj1VP3Q6IXR9cmV0dXJuIHI/ITA6ITF9KTtyZXR1cm4gcj8hMTohMH0pO3ImJihOPSExLEkuY2xhc3NMaXN0LnJlbW92ZSgiYWktbGlzdC1kYXRhIikpO3N3aXRjaCh5KXtjYXNlICJCIjpyJiYobD0hMSk7YnJlYWs7Y2FzZSAiVyI6cnx8KGw9ITEpfX19YS5jbGFzc0xpc3QuY29udGFpbnMoImFpLWxpc3QtbWFudWFsIikmJgoobD8oSS5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWRhdGEiKSxJLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtbWFudWFsIikpOihuPSEwLEkuY2xhc3NMaXN0LmFkZCgiYWktbGlzdC1kYXRhIikpKTsobHx8IW4mJiFOKSYmYS5oYXNBdHRyaWJ1dGUoImRhdGEtZGVidWctaW5mbyIpJiYoZz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuIithLmRhdGFzZXQuZGVidWdJbmZvKSxudWxsIT1nJiYoZz1nLnBhcmVudEVsZW1lbnQsbnVsbCE9ZyYmZy5jbGFzc0xpc3QuY29udGFpbnMoImFpLWRlYnVnLWluZm8iKSYmZy5yZW1vdmUoKSkpO3k9WChhLCIuYWktZGVidWctYmFyLmFpLWRlYnVnLWxpc3RzIik7dmFyIGthPSIiPT1BPyIjIjpBOzAhPXkubGVuZ3RoJiZ5LmZvckVhY2goKGYsaCk9PntoPWYucXVlcnlTZWxlY3RvcigiLmFpLWRlYnVnLW5hbWUuYWktbGlzdC1pbmZvIik7bnVsbCE9aCYmKGgudGV4dENvbnRlbnQ9a2EsaC50aXRsZT1SKyJcbiIrYWEpO2g9Zi5xdWVyeVNlbGVjdG9yKCIuYWktZGVidWctbmFtZS5haS1saXN0LXN0YXR1cyIpOwpudWxsIT1oJiYoaC50ZXh0Q29udGVudD1sP2FpX2Zyb250LnZpc2libGU6YWlfZnJvbnQuaGlkZGVuKX0pO2c9ITE7aWYobCYmYS5oYXNBdHRyaWJ1dGUoInNjaGVkdWxpbmctc3RhcnQiKSYmYS5oYXNBdHRyaWJ1dGUoInNjaGVkdWxpbmctZW5kIikmJmEuaGFzQXR0cmlidXRlKCJzY2hlZHVsaW5nLWRheXMiKSl7dmFyIHU9YS5nZXRBdHRyaWJ1dGUoInNjaGVkdWxpbmctc3RhcnQiKTt2PWEuZ2V0QXR0cmlidXRlKCJzY2hlZHVsaW5nLWVuZCIpO3k9YS5nZXRBdHRyaWJ1dGUoInNjaGVkdWxpbmctZGF5cyIpO2c9ITA7dT1iNjRkKHUpO0Y9YjY0ZCh2KTt2YXIgVj1wYXJzZUludChhLmdldEF0dHJpYnV0ZSgic2NoZWR1bGluZy1mYWxsYmFjayIpKSxPPXBhcnNlSW50KGEuZ2V0QXR0cmlidXRlKCJnbXQiKSk7aWYodS5pbmNsdWRlcygiLSIpfHxGLmluY2x1ZGVzKCItIikpUD1ZKHUpK08sSz1ZKEYpK087ZWxzZSB2YXIgUD1RKHUpLEs9UShGKTtQPz89MDtLPz89MDt2YXIgVz1iNjRkKHkpLnNwbGl0KCIsIik7Cnk9YS5nZXRBdHRyaWJ1dGUoInNjaGVkdWxpbmctdHlwZSIpO3ZhciBEPShuZXcgRGF0ZSkuZ2V0VGltZSgpK087dj1uZXcgRGF0ZShEKTt2YXIgRz12LmdldERheSgpOzA9PUc/Rz02OkctLTt1LmluY2x1ZGVzKCItIil8fEYuaW5jbHVkZXMoIi0iKXx8KHU9KG5ldyBEYXRlKHYuZ2V0RnVsbFllYXIoKSx2LmdldE1vbnRoKCksdi5nZXREYXRlKCkpKS5nZXRUaW1lKCkrTyxELT11LDA+RCYmKEQrPTg2NEU1KSk7c2NoZWR1bGluZ19zdGFydF9kYXRlX29rPUQ+PVA7c2NoZWR1bGluZ19lbmRfZGF0ZV9vaz0wPT1LfHxEPEs7dT1zY2hlZHVsaW5nX3N0YXJ0X2RhdGVfb2smJnNjaGVkdWxpbmdfZW5kX2RhdGVfb2smJlcuaW5jbHVkZXMoRy50b1N0cmluZygpKTtzd2l0Y2goeSl7Y2FzZSAiQiI6dT0hdX11fHwobD0hMSk7dmFyIGxhPXYudG9JU09TdHJpbmcoKS5zcGxpdCgiLiIpWzBdLnJlcGxhY2UoIlQiLCIgIik7eT1YKGEsIi5haS1kZWJ1Zy1iYXIuYWktZGVidWctc2NoZWR1bGluZyIpOwowIT15Lmxlbmd0aCYmeS5mb3JFYWNoKChmLGgpPT57aD1mLnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1uYW1lLmFpLXNjaGVkdWxpbmctaW5mbyIpO251bGwhPWgmJihoLnRleHRDb250ZW50PWxhKyIgIitHKyIgY3VycmVudF90aW1lOiAiK01hdGguZmxvb3IoRC50b1N0cmluZygpLzFFMykrIiAgc3RhcnRfZGF0ZToiK01hdGguZmxvb3IoUC8xRTMpLnRvU3RyaW5nKCkrIj0+IitzY2hlZHVsaW5nX3N0YXJ0X2RhdGVfb2sudG9TdHJpbmcoKSsiIGVuZF9kYXRlOiIrTWF0aC5mbG9vcihLLzFFMykudG9TdHJpbmcoKSsiPT4iK3NjaGVkdWxpbmdfZW5kX2RhdGVfb2sudG9TdHJpbmcoKSsiIGRheXM6IitXLnRvU3RyaW5nKCkrIj0+IitXLmluY2x1ZGVzKEcudG9TdHJpbmcoKSkudG9TdHJpbmcoKSk7aD1mLnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1uYW1lLmFpLXNjaGVkdWxpbmctc3RhdHVzIik7bnVsbCE9aCYmKGgudGV4dENvbnRlbnQ9bD9haV9mcm9udC52aXNpYmxlOmFpX2Zyb250LmhpZGRlbik7Cmx8fDA9PVZ8fChmLmNsYXNzTGlzdC5yZW1vdmUoImFpLWRlYnVnLXNjaGVkdWxpbmciKSxmLmNsYXNzTGlzdC5hZGQoImFpLWRlYnVnLWZhbGxiYWNrIiksaD1mLnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1uYW1lLmFpLXNjaGVkdWxpbmctc3RhdHVzIiksbnVsbCE9aCYmKGgudGV4dENvbnRlbnQ9YWlfZnJvbnQuZmFsbGJhY2srIiA9ICIrVikpfSl9aWYobnx8IWwmJk4pcmV0dXJuITA7YS5zdHlsZS52aXNpYmlsaXR5PSIiO2Euc3R5bGUucG9zaXRpb249IiI7YS5zdHlsZS53aWR0aD0iIjthLnN0eWxlLmhlaWdodD0iIjthLnN0eWxlLnpJbmRleD0iIjtpZihsKXtpZihudWxsIT1kJiYoZC5zdHlsZS52aXNpYmlsaXR5PSIiLGQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1yZW1vdmUtcG9zaXRpb24iKSYmKGQuc3R5bGUucG9zaXRpb249IiIpKSxhLmhhc0F0dHJpYnV0ZSgiZGF0YS1jb2RlIikpe249YjY0ZChhLmRhdGFzZXQuY29kZSk7dT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpOwpnPSEwO3RyeXtIPXUuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KG4pfWNhdGNoKGYpe2c9ITF9ZyYmKG51bGwhPWEuY2xvc2VzdCgiaGVhZCIpPyhhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKEgsYS5uZXh0U2libGluZyksYS5yZW1vdmUoKSk6YS5hcHBlbmQoSCkpO2RhKGEpfX1lbHNlIGlmKGcmJiF1JiYwIT1WKXtudWxsIT1kJiYoZC5zdHlsZS52aXNpYmlsaXR5PSIiLGQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1yZW1vdmUtcG9zaXRpb24iKSYmZC5jc3Moe3Bvc2l0aW9uOiIifSkpO249ZmEoYSwiLmFpLWZhbGxiYWNrIik7MCE9bi5sZW5ndGgmJm4uZm9yRWFjaCgoZixoKT0+e2YuY2xhc3NMaXN0LnJlbW92ZSgiYWktZmFsbGJhY2siKX0pO2lmKGEuaGFzQXR0cmlidXRlKCJkYXRhLWZhbGxiYWNrLWNvZGUiKSl7bj1iNjRkKGEuZGF0YXNldC5mYWxsYmFja0NvZGUpO3U9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtnPSEwO3RyeXt2YXIgSD11LmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChuKX1jYXRjaChmKXtnPQohMX1nJiZhLmFwcGVuZChIKTtkYShhKX1lbHNlIGEuc3R5bGUuZGlzcGxheT0ibm9uZSIsbnVsbCE9ZCYmbnVsbD09ZC5xdWVyeVNlbGVjdG9yKCIuYWktZGVidWctYmxvY2siKSYmZC5oYXNBdHRyaWJ1dGUoInN0eWxlIikmJi0xPT1kLmdldEF0dHJpYnV0ZSgic3R5bGUiKS5pbmRleE9mKCJoZWlnaHQ6IikmJihkLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtudWxsIT1kJiZkLmhhc0F0dHJpYnV0ZSgiZGF0YS1haSIpJiYoZC5nZXRBdHRyaWJ1dGUoImRhdGEtYWkiKSxhLmhhc0F0dHJpYnV0ZSgiZmFsbGJhY2stdHJhY2tpbmciKSYmKEg9YS5nZXRBdHRyaWJ1dGUoImZhbGxiYWNrLXRyYWNraW5nIiksZC5zZXRBdHRyaWJ1dGUoImRhdGEtYWktIithLmdldEF0dHJpYnV0ZSgiZmFsbGJhY2tfbGV2ZWwiKSxIKSkpfWVsc2UgYS5zdHlsZS5kaXNwbGF5PSJub25lIixudWxsIT1kJiYoZC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtYWkiKSxkLmNsYXNzTGlzdC5yZW1vdmUoImFpLXRyYWNrIiksCm51bGwhPWQucXVlcnlTZWxlY3RvcigiLmFpLWRlYnVnLWJsb2NrIik/KGQuc3R5bGUudmlzaWJpbGl0eT0iIixkLmNsYXNzTGlzdC5yZW1vdmUoImFpLWNsb3NlIiksZC5jbGFzc0xpc3QuY29udGFpbnMoImFpLXJlbW92ZS1wb3NpdGlvbiIpJiYoZC5zdHlsZS5wb3NpdGlvbj0iIikpOmQuaGFzQXR0cmlidXRlKCJzdHlsZSIpJiYtMT09ZC5nZXRBdHRyaWJ1dGUoInN0eWxlIikuaW5kZXhPZigiaGVpZ2h0OiIpJiYoZC5zdHlsZS5kaXNwbGF5PSJub25lIikpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWNvZGUiLCIiKTthLnNldEF0dHJpYnV0ZSgiZGF0YS1mYWxsYmFjay1jb2RlIiwiIik7bnVsbCE9ZCYmZC5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWJsb2NrIil9KX19O2Z1bmN0aW9uIGVhKGIpe2I9YDsgJHtkb2N1bWVudC5jb29raWV9YC5zcGxpdChgOyAke2J9PWApO2lmKDI9PT1iLmxlbmd0aClyZXR1cm4gYi5wb3AoKS5zcGxpdCgiOyIpLnNoaWZ0KCl9ZnVuY3Rpb24gbWEoYiwKZSxwKXtlYShiKSYmKGRvY3VtZW50LmNvb2tpZT1iKyI9IisoZT8iO3BhdGg9IitlOiIiKSsocD8iO2RvbWFpbj0iK3A6IiIpKyI7ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVCIpfWZ1bmN0aW9uIG0oYil7ZWEoYikmJihtYShiLCIvIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpLGRvY3VtZW50LmNvb2tpZT1iKyI9OyBQYXRoPS87IEV4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQ7Iil9KGZ1bmN0aW9uKGIpeyJjb21wbGV0ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlfHwibG9hZGluZyIhPT1kb2N1bWVudC5yZWFkeVN0YXRlJiYhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2IoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixiKX0pKGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe2FpX3Byb2Nlc3NfbGlzdHMoKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WigpO2lmKCJmdW5jdGlvbiI9PQp0eXBlb2YgYWlfbG9hZF9ibG9ja3Mpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNtcGx6RW5hYmxlU2NyaXB0cyIsZSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY21wbHpfZXZlbnRfbWFya2V0aW5nIixlKTtmdW5jdGlvbiBlKHApeyJjbXBsekVuYWJsZVNjcmlwdHMiIT1wLnR5cGUmJiJhbGwiIT09cC5jb25zZW50TGV2ZWx8fGFpX2xvYWRfYmxvY2tzKCl9fX0sNTApO3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1wYWdlLXR5cGUiKTtudWxsIT1iJiZiLmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIixlPT57ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKTtudWxsIT1lJiYoZS50ZXh0Q29udGVudD0iQ09OU0VOVCBDT09LSUVTIik7ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1iYXIiKTtudWxsIT1lJiYoZS5zdHlsZS5kaXNwbGF5PSJibG9jayIpfSk7Yj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1iYXIiKTsKbnVsbCE9YiYmYi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZT0+e20oImV1Y29uc2VudC12MiIpO20oIl9fbHhHX19jb25zZW50X192MiIpO20oIl9fbHhHX19jb25zZW50X192Ml9kYWlzeWJpdCIpO20oIl9fbHhHX19jb25zZW50X192Ml9nZGFpc3liaXQiKTttKCJDb29raWVMYXdJbmZvQ29uc2VudCIpO20oImNvb2tpZWxhd2luZm8tY2hlY2tib3gtYWR2ZXJ0aXNlbWVudCIpO20oImNvb2tpZWxhd2luZm8tY2hlY2tib3gtYW5hbHl0aWNzIik7bSgiY29va2llbGF3aW5mby1jaGVja2JveC1uZWNlc3NhcnkiKTttKCJjb21wbGlhbnpfcG9saWN5X2lkIik7bSgiY29tcGxpYW56X2NvbnNlbnRfc3RhdHVzIik7bSgiY21wbHpfbWFya2V0aW5nIik7bSgiY21wbHpfY29uc2VudF9zdGF0dXMiKTttKCJjbXBsel9wcmVmZXJlbmNlcyIpO20oImNtcGx6X3N0YXRpc3RpY3MtYW5vbnltb3VzIik7bSgiY21wbHpfY2hvaWNlIik7bSgiY21wbHpfYmFubmVyLXN0YXR1cyIpO20oImNtcGx6X2Z1bmN0aW9uYWwiKTsKbSgiY21wbHpfcG9saWN5X2lkIik7bSgiY21wbHpfc3RhdGlzdGljcyIpO20oIm1vb3ZlX2dkcHJfcG9wdXAiKTttKCJyZWFsX2Nvb2tpZV9iYW5uZXItYmxvZzoxLXRjZiIpO20oInJlYWxfY29va2llX2Jhbm5lci1ibG9nOjEiKTtlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLXN0YXR1cyIpO251bGwhPWUmJihlLnRleHRDb250ZW50PSJDT05TRU5UIENPT0tJRVMgREVMRVRFRCIpfSl9LDUpfSk7ZnVuY3Rpb24gZGEoYil7c2V0VGltZW91dChmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX3JvdGF0aW9uc19pbl9lbGVtZW50JiZhaV9wcm9jZXNzX3JvdGF0aW9uc19pbl9lbGVtZW50KGIpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2xpc3RzJiZhaV9wcm9jZXNzX2xpc3RzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX3Byb2Nlc3NfaXBfYWRkcmVzc2VzJiZhaV9wcm9jZXNzX2lwX2FkZHJlc3NlcygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2ZpbHRlcl9ob29rcyYmCmFpX3Byb2Nlc3NfZmlsdGVyX2hvb2tzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX2FkYl9wcm9jZXNzX2Jsb2NrcyYmYWlfYWRiX3Byb2Nlc3NfYmxvY2tzKGIpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2ltcHJlc3Npb25zJiYxPT1haV90cmFja2luZ19maW5pc2hlZCYmYWlfcHJvY2Vzc19pbXByZXNzaW9ucygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9pbnN0YWxsX2NsaWNrX3RyYWNrZXJzJiYxPT1haV90cmFja2luZ19maW5pc2hlZCYmYWlfaW5zdGFsbF9jbGlja190cmFja2VycygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9pbnN0YWxsX2Nsb3NlX2J1dHRvbnMmJmFpX2luc3RhbGxfY2xvc2VfYnV0dG9ucyhkb2N1bWVudCl9LDUpfWZ1bmN0aW9uIGlhKGIpe3ZhciBlPWI/Yi5zcGxpdCgiPyIpWzFdOndpbmRvdy5sb2NhdGlvbi5zZWFyY2guc2xpY2UoMSk7Yj17fTtpZihlKXtlPWUuc3BsaXQoIiMiKVswXTtlPWUuc3BsaXQoIiYiKTtmb3IodmFyIHA9MDtwPGUubGVuZ3RoO3ArKyl7dmFyIHo9CmVbcF0uc3BsaXQoIj0iKSxDPXZvaWQgMCx4PXpbMF0ucmVwbGFjZSgvXFtcZCpcXS8sZnVuY3Rpb24oTCl7Qz1MLnNsaWNlKDEsLTEpO3JldHVybiIifSk7ej0idW5kZWZpbmVkIj09PXR5cGVvZiB6WzFdPyIiOnpbMV07eD14LnRvTG93ZXJDYXNlKCk7ej16LnRvTG93ZXJDYXNlKCk7Ylt4XT8oInN0cmluZyI9PT10eXBlb2YgYlt4XSYmKGJbeF09W2JbeF1dKSwidW5kZWZpbmVkIj09PXR5cGVvZiBDP2JbeF0ucHVzaCh6KTpiW3hdW0NdPXopOmJbeF09en19cmV0dXJuIGJ9fTsKCmFpX2pzX2NvZGUgPSB0cnVlOwo= | |
| js | data:text/javascript;base64,CiAgICAgICAgICAgIHdpbmRvdy5sYXp5TG9hZE9wdGlvbnMgPSB7CiAgICAgICAgICAgICAgICBlbGVtZW50c19zZWxlY3RvcjogImlmcmFtZVtkYXRhLWxhenktc3JjXSIsCiAgICAgICAgICAgICAgICBkYXRhX3NyYzogImxhenktc3JjIiwKICAgICAgICAgICAgICAgIGRhdGFfc3Jjc2V0OiAibGF6eS1zcmNzZXQiLAogICAgICAgICAgICAgICAgZGF0YV9zaXplczogImxhenktc2l6ZXMiLAogICAgICAgICAgICAgICAgc2tpcF9pbnZpc2libGU6IGZhbHNlLAogICAgICAgICAgICAgICAgY2xhc3NfbG9hZGluZzogImxhenlsb2FkaW5nIiwKICAgICAgICAgICAgICAgIGNsYXNzX2xvYWRlZDogImxhenlsb2FkZWQiLAogICAgICAgICAgICAgICAgdGhyZXNob2xkOiAzMDAsCiAgICAgICAgICAgICAgICBjYWxsYmFja19sb2FkOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCBlbGVtZW50LnRhZ05hbWUgPT09ICJJRlJBTUUiICYmIGVsZW1lbnQuZGF0YXNldC5yb2NrZXRMYXp5bG9hZCA9PSAiZml0dmlkc2NvbXBhdGlibGUiICkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImxhenlsb2FkZWQiKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmpRdWVyeSAhPSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqUXVlcnkuZm4uZml0VmlkcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxlbWVudCkucGFyZW50KCkuZml0VmlkcygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICAKICAgICAgICAvLyBMaXN0ZW4gdG8gdGhlIEluaXRpYWxpemVkIGV2ZW50CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0xhenlMb2FkOjpJbml0aWFsaXplZCcsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIC8vIEdldCB0aGUgaW5zdGFuY2UgYW5kIHB1dHMgaXQgaW4gdGhlIGxhenlMb2FkSW5zdGFuY2UgdmFyaWFibGUKICAgICAgICAgICAgdmFyIGxhenlMb2FkSW5zdGFuY2UgPSBlLmRldGFpbC5pbnN0YW5jZTsKICAgICAgICAKICAgICAgICAgICAgaWYgKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyKSB7CiAgICAgICAgICAgICAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMpIHsKICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbnMuZm9yRWFjaChmdW5jdGlvbihtdXRhdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbi5hZGRlZE5vZGVzLmZvckVhY2goZnVuY3Rpb24obm9kZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZ3MgPSBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZXMgPSBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvY2tldF9sYXp5ID0gbm9kZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdyb2NrZXQtbGF6eWxvYWQnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIDAgPT09IGltZ3MubGVuZ3RoICYmIDAgPT09IGlmcmFtZXMubGVuZ3RoICYmIDAgPT09IHJvY2tldF9sYXp5Lmxlbmd0aCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF6eUxvYWRJbnN0YW5jZS51cGRhdGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSApOwogICAgICAgICAgICAgICAgICAgIH0gKTsKICAgICAgICAgICAgICAgIH0gKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGIgICAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF07CiAgICAgICAgICAgICAgICB2YXIgY29uZmlnID0geyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShiLCBjb25maWcpOwogICAgICAgICAgICB9CiAgICAgICAgfSwgZmFsc2UpOwogICAgICAgIA== | |
| js | http://testkitchentuesday.com/wp-content/plugins/wp-rocket/assets/js/lazyload/11.0.3/lazyload.min.js | |
| js | data:text/javascript;base64,ZnVuY3Rpb24gbGF6eUxvYWRUaHVtYihlKXt2YXIgdD0nPGltZyBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvSUQvaHFkZWZhdWx0LmpwZyIgd2lkdGg9IjQ4MCIgaGVpZ2h0PSIzNjAiPicsYT0nPGRpdiBjbGFzcz0icGxheSI+PC9kaXY+JztyZXR1cm4gdC5yZXBsYWNlKCJJRCIsZSkrYX1mdW5jdGlvbiBsYXp5TG9hZFlvdXR1YmVJZnJhbWUoKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSx0PSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9JRD9hdXRvcGxheT0xIjt0Kz0wPT09dGhpcy5kYXRhc2V0LnF1ZXJ5Lmxlbmd0aD8nJzonJicrdGhpcy5kYXRhc2V0LnF1ZXJ5O2Uuc2V0QXR0cmlidXRlKCJzcmMiLHQucmVwbGFjZSgiSUQiLHRoaXMuZGF0YXNldC5pZCkpLGUuc2V0QXR0cmlidXRlKCJmcmFtZWJvcmRlciIsIjAiKSxlLnNldEF0dHJpYnV0ZSgiYWxsb3dmdWxsc2NyZWVuIiwiMSIpLHRoaXMucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQoZSx0aGlzKX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbigpe3ZhciBlLHQsYT1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJybGwteW91dHViZS1wbGF5ZXIiKTtmb3IodD0wO3Q8YS5sZW5ndGg7dCsrKWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zZXRBdHRyaWJ1dGUoImRhdGEtaWQiLGFbdF0uZGF0YXNldC5pZCksZS5zZXRBdHRyaWJ1dGUoImRhdGEtcXVlcnkiLCBhW3RdLmRhdGFzZXQucXVlcnkpLGUuaW5uZXJIVE1MPWxhenlMb2FkVGh1bWIoYVt0XS5kYXRhc2V0LmlkKSxlLm9uY2xpY2s9bGF6eUxvYWRZb3V0dWJlSWZyYW1lLGFbdF0uYXBwZW5kQ2hpbGQoZSl9KTs= |
Серверные заголовки
Кол-во: 8
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 8шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | nginx |
| Date | Sat, 22 Aug 2026 03:34:01 GMT |
| Transfer-Encoding | chunked |
| Connection | keep-alive |
| Cache-Control | max-age=0 |
| Vary | Accept-Encoding |
| X-XSS-Protection | 1; mode=block |
| X-Frame-Options | SAMEORIGIN |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS PrestaShop.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере nginx.
Мета-теги Готовность: 23%
Title
Test Kitchen Tuesday
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение мало: 20, минимум: 25, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Healthy recipes, product reviews, household tips, and more. Speciality in Ninja blender information and recipes.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо увеличить число символов в description (текущее значение: 112, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://testkitchentuesday.com/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Пропишите корректный канонический Url!
Robots
index, max-image-preview:large
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots со значениями index, follow не накладывает ограничений на индексирование и показ контента.
Адаптивность
width=device-width, initial-scale=1.0
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 6
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:locale | en_US |
| og:type | website |
| og:title | Test Kitchen Tuesday |
| og:description | Healthy recipes, product reviews, household tips, and more. Speciality in Ninja blender information and recipes. |
| og:url | https://testkitchentuesday.com/ |
| og:site_name | Test Kitchen Tuesday |
Все мета-теги
Кол-во: 11
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 11шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1.0 |
| name | robots | index, max-image-preview:large |
| name | description | Healthy recipes, product reviews, household tips, and more. Speciality in Ninja blender information and recipes. |
| name | twitter:card | summary_large_image |
| name | generator | AMP for WP 1.0.92.1 |
| property | og:locale | en_US |
| property | og:type | website |
| property | og:title | Test Kitchen Tuesday |
| property | og:description | Healthy recipes, product reviews, household tips, and more. Speciality in Ninja blender information and recipes. |
| property | og:url | https://testkitchentuesday.com/ |
| property | og:site_name | Test Kitchen Tuesday |
Оптимизация Готовность: 28%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в одном экземпляре).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Абзацев с текстом 0 слишком мало. Добавьте больше абзацев с текстом (тег <p>)!
Среднее число слов в абзаце 0 слишком мало. Сделайте контент более читаемым!
Кол-во слов 522 не очень много. Добавьте побольше текста (хотя бы 800 слов)!
Слова из title 3 встречаются в тексте достаточно.
Кол-во знаков контента 3166 на странице оптимально.
Заголовки
Есть ошибки
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
Не обнаружено заголовков на странице. Добавьте заголовки (<h1>, <h2> или <h3>)
Тошнота
3,46
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
6,51%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота страницы в пределах нормы.
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| blender | 12 | 2,30% |
| general | 7 | 1,34% |
| project: | 6 | 1,15% |
| energy | 5 | 0,96% |
| recipe | 4 | 0,77% |
| reviews | 4 | 0,77% |
| product | 4 | 0,77% |
| getting | 4 | 0,77% |
| juiced: | 4 | 0,77% |
| budget | 4 | 0,77% |
| recent | 3 | 0,57% |
| flourless | 3 | 0,57% |
| breakfast | 3 | 0,57% |
| kitchen | 3 | 0,57% |
| recipes | 2 | 0,38% |
| tricks | 2 | 0,38% |
| contacts | 2 | 0,38% |
| beverage | 2 | 0,38% |
| friends | 2 | 0,38% |
| strawberry | 2 | 0,38% |
Индексация Готовность: 80%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 72 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 997 байт. Загружен за: 0сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Показать содержимое robots.txt
User-agent: Googlebot
Disallow: /wp-admin
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /?s=*
Disallow: */recipage?recipe_id=*
Disallow: /search*
Disallow: */trackback/
Disallow: */?replytocom=*
Disallow: */feed
Disallow: */comments/
Disallow: */comment
Disallow: */attachment/*
Disallow: */print/
Disallow: *?print=*
Disallow: */embed*
Disallow: /login
Allow: /wp-content/uploads/
Sitemap: https://testkitchentuesday.com/sitemap.xml
User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /?s=*
Disallow: */recipage?recipe_id=*
Disallow: /search*
Disallow: */trackback/
Disallow: */?replytocom=*
Disallow: */comments/
Disallow: */comment
Disallow: */attachment/*
Disallow: */print/
Disallow: *?print=*
Disallow: */embed*
Disallow: /login
Allow: /wp-content/uploads/
Sitemap: https://testkitchentuesday.com/sitemap.xml
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
Sitemap
Кол-во: 2
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt содержит ошибку во всех картах сайта. Рекомендуем проверить все ссылки на карты, и проверить их содержимое.
Robots.txt содержит несколько карт сайтов 2. Это профессионально!
Показать карты сайта
| Url | Статус |
|---|---|
| https://testkitchentuesday.com/sitemap.xml |
Отличаются протоколы!
|
| https://testkitchentuesday.com/sitemap.xml |
Отличаются протоколы!
|
Внутренние ссылки
Кол-во: 67
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 67 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /ninja-blender-recipes/ |
Ninja Blender Recipes
|
|
Анализировать url |
| /recipe-directory/ |
Recipe Reviews
|
|
Анализировать url |
| /product-reviews/ |
Product Reviews
|
|
Анализировать url |
| /tips-tricks-2/ |
Tips, Tricks, and Misc.
|
|
Анализировать url |
| /%d1%81ontacts/ |
Contacts
|
|
Анализировать url |
| /category/juicing/ |
Juicing
|
|
Анализировать url |
| /2015/03/17/guest-post-diy-5-hour-energy-beverage/ |
Guest Post: DIY 5 Hour Energy Beverage
|
|
Анализировать url |
| /category/ninja-blender/ |
Ninja Blender
|
|
Анализировать url |
| /2015/03/03/super-strawberry-spirulina-smoothie/ |
Super Strawberry Spirulina Smoothie
|
|
Анализировать url |
| /category/desserts/ |
Desserts
|
|
Анализировать url |
| /2015/02/17/flourless-healthier-brownies/ |
Flourless Healthier Brownies
|
|
Анализировать url |
| /category/desserts/ |
Desserts
|
|
Анализировать url |
| /2015/02/03/coconut-energy-bars/ |
Coconut Energy Bars
|
|
Анализировать url |
| /category/general/ |
General
|
|
Анализировать url |
| /2015/01/27/february-challenge-dairy-free-for-28-days/ |
February Challenge: Dairy Free for 28 Days
|
|
Анализировать url |
| /category/salads/ |
Salads
|
|
Анализировать url |
| /2015/01/20/creamy-avocado-dressing/ |
Creamy Avocado Salad Dressing
|
|
Анализировать url |
| /category/soups/ |
Soups
|
|
Анализировать url |
| /2015/01/13/fast-easy-one-pot-miso-soup-no-seaweed-required/ |
Fast & Easy One Pot Miso Soup (No Seaweed Required!)
|
|
Анализировать url |
| /category/general/ |
General
|
|
Анализировать url |
| /2015/01/06/a-diy-facial-that-works-wonders/ |
A DIY Facial That Works Wonders
|
|
Анализировать url |
| /category/breakfast/ |
Breakfast
|
|
Анализировать url |
| /2014/12/30/savory-brown-rice-waffles/ |
Savory Brown Rice Waffles
|
|
Анализировать url |
| /category/general/ |
General
|
|
Анализировать url |
| /2014/12/26/so-you-got-a-ninja-blender-for-christmas-now-what/ |
So You Got a Ninja Blender for Christmas, Now What?
|
|
Анализировать url |
| /category/ninja-blender/ |
Ninja Blender
|
|
Анализировать url |
| /2011/01/25/blueberry-pie-energy-bars-aka-diy-lara-bars-part-2/ |
Blueberry Pie Energy Bars (AKA DIY Lara Bars Part 2)
|
|
Анализировать url |
| /category/ninja-blender/ |
Ninja Blender
|
|
Анализировать url |
| /2011/01/04/getting-juiced-how-to-make-juice-with-a-ninja-blender/ |
Getting Juiced: How to Make Juice with a Ninja Blender
|
|
Анализировать url |
| /category/ninja-blender/ |
Ninja Blender
|
|
Анализировать url |
| /2012/01/03/product-review-ninja-pulse-blending-system/ |
Product Review: Ninja Pulse Blending System
|
|
Анализировать url |
| /category/general/ |
General
|
|
Анализировать url |
| /2011/03/18/the-carrot-monster/ |
The Carrot Monster
|
|
Анализировать url |
| /category/general/ |
General
|
|
Анализировать url |
| /2011/03/01/the-accidental-yogi/ |
The Accidental Yogi
|
|
Анализировать url |
| /category/general/ |
General
|
|
Анализировать url |
| /2010/11/30/what-i-learned-during-no-meat-november-2/ |
What I Learned During “No Meat November”
|
|
Анализировать url |
| /category/breakfast/ |
Breakfast
|
|
Анализировать url |
| /2011/02/22/a-little-nuttyusing-up-nut-butter-in-style/ |
A Little Nutty–Using Up Nut Butter in Style
|
|
Анализировать url |
| /category/ninja-blender/ |
Ninja Blender
|
|
Анализировать url |
| /2011/04/25/going-greenpart-deux/ |
Going Green–Part Deux
|
|
Анализировать url |
| /category/breakfast/ |
Breakfast
|
|
Анализировать url |
| /2011/01/17/no-monkeying-around-nutritious-banana-bread-muffins/ |
Apple Lentil Muffins (Really!)
|
|
Анализировать url |
| /category/main-courses/ |
Main Courses
|
|
Анализировать url |
| /2011/03/16/test-kitchen-tuesday-caf-flora-oaxaca-tacosand-a-giveaway/ |
Test Kitchen Tuesday: Café Flora Oaxaca Tacos–And a Giveaway!
|
|
Анализировать url |
| /category/main-courses/ |
Main Courses
|
|
Анализировать url |
| /2011/03/23/test-kitchen-tuesday-for-one-veggie-yakisoba-and-caf-flora-cookbook-winner/ |
Test Kitchen Tuesday For One: Veggie Yakisoba, and Café Flora Cookbook Winner
|
|
Анализировать url |
| /category/project-food-budget/ |
Project: Food Budget
|
|
Анализировать url |
| /2011/02/03/project-food-budgetweek-2-2/ |
Project: Food Budget–Week 2
|
|
Анализировать url |
| /category/project-food-budget/ |
Project: Food Budget
|
|
Анализировать url |
| /2011/02/10/project-food-budget-week-3-2/ |
Project: Food Budget– Week 3
|
|
Анализировать url |
| /category/project-food-budget/ |
Project: Food Budget
|
|
Анализировать url |
| /2011/01/27/introducing-project-food-budget/ |
Introducing Project: Food Budget
|
|
Анализировать url |
| /category/breads/ |
Breads
|
|
Анализировать url |
| /2010/12/27/sweet-potato-muffins/ |
Sweet Potato Oat Muffins
|
|
Анализировать url |
| /my-favorite-things/ |
My Favorite Things
|
|
Анализировать url |
| /ninja-blender-recipes/ |
Ninja Blender Recipes
|
|
Анализировать url |
| /recipage/ |
Recipe Directory
|
|
Анализировать url |
| /%d1%81ontacts/ |
Contacts
|
|
Анализировать url |
| /recipe-directory/ |
Recipe Reviews
|
|
Анализировать url |
| /product-reviews/ |
Product Reviews
|
|
Анализировать url |
| /tips-tricks-2/ |
Tips, Tricks, and Misc.
|
|
Анализировать url |
| /2015/03/17/guest-post-diy-5-hour-energy-beverage/ |
Guest Post: DIY 5 Hour Energy Beverage
|
|
Анализировать url |
| /2015/03/03/super-strawberry-spirulina-smoothie/ |
Super Strawberry Spirulina Smoothie
|
|
Анализировать url |
| /2015/02/17/flourless-healthier-brownies/ |
Flourless Healthier Brownies
|
|
Анализировать url |
| /2015/02/03/coconut-energy-bars/ |
Coconut Energy Bars
|
|
Анализировать url |
| /2015/01/27/february-challenge-dairy-free-for-28-days/ |
February Challenge: Dairy Free for 28 Days
|
|
Анализировать url |
Внешние ссылки
Не найдено
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице не найдено.
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Выполнен подробный анализ сайта testkitchentuesday.com: готовность на 35%. Чтобы выполнить все условия и попасть на первую страницу выдачи поисковых систем требуется:
Постарайтесь исправить общие ошибки.
Исправьте ошибки в мета-тегах.
Исправьте ошибки оптимизации.
Поделитесь с друзьями: