diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index cc34f991..9d870c15 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -16,7 +16,7 @@ jobs: - name: Run clang-format run: | apt update -y - apt install -y make clang-format-18 + apt install -y make clang-format-17 make clang-format cppcheck: diff --git a/Makefile b/Makefile index 6af9738e..6e577c7f 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ IMAGE2CODE = ./sdk/tools/image2code/image2code.py CPPCHECK ?= cppcheck -CLANG_FORMAT ?= $(shell command -v clang-format-18 2>/dev/null || echo clang-format) +CLANG_FORMAT ?= $(shell command -v clang-format-17 2>/dev/null || echo clang-format) help: ## Show this help @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-16s\033[0m %s\n", $$1, $$2}' @@ -38,7 +38,7 @@ icons: -not \( -name SimpleFTPServer -prune \) \ -not \( -name *splash* -prune \) \ -not \( -name *weather* -prune \) \ - -iname *.png \ + -iname '*.png' \ -exec $(IMAGE2CODE) {} \; .PHONY: check @@ -49,7 +49,7 @@ check-docker: ## Run all checks in docker docker build -t lilka-check -f - . <`__ - 176 - diff --git a/docs/assembly/every_component.rst b/docs/assembly/every_component.rst new file mode 100644 index 00000000..4d9bfe25 --- /dev/null +++ b/docs/assembly/every_component.rst @@ -0,0 +1,212 @@ +Що робить кожен компонент? +========================== + +Якщо ви не знайомі з радіоелектронікою, вам, можливо, цікаво: навіщо потрібен кожен компонент Лілки? + +Давайте розглянемо всі компоненти, з яких складається Лілка, і їхні основні функції. + +Мікроконтролер ESP32-S3-WROOM-N16R8 (``U1``) +-------------------------------------------- + +.. image:: images/mcu.png + :alt: ESP32-S3-WROOM-N16R8 + :align: center + :width: 800px + +Мікроконтролер :ref:`ESP32-S3-WROOM-N16R8 ` від компанії Espressif - це мозок Лілки. + +Він відповідає за управління всіма іншими компонентами, зчитування даних з датчиків, керування виводами, роботу з Wi-Fi і Bluetooth, і багато іншого. + +Саме він місить флеш-пам'ять, в яку записується прошивка Лілки, і вбудовану пам'ять RAM. + +Детальніше про мікроконтролер можна прочитати тут: :ref:`mcu`. + +Конденсатор ``C1``, резистор ``R1`` та кнопка ``SW12`` ("Reset") +---------------------------------------------------------------- + +.. image:: images/reset.png + :alt: Reset circuit + :align: center + +Ці компоненти відповідають за увімкнення мікроконтролера та його перезавантаження. + +Річ у тім, що при під'єднанні живлення до Лілки, мікроконтролер не буде працювати коректно, доки не відбудеться процедура скидання (reset). + +Уявіть собі, що сигнал скидання (reset) - це наче кава: коли на мікроконтролер подається живлення, він "прокидається" і починає спросоння робити неадекватні речі. Сигнал reset - це як кава: він "продупляє" мікроконтролер, і той починає працювати коректно. + +Тобто скидання - це процес, який переводить мікроконтролер у початковий стан, в якому він може розпочати виконання програми з самого початку. + +Резистор ``R1`` і конденсатор ``C1`` утворюють так зване RC-коло, або "коливальний контур", який відповідає за затримку сигналу скидання. +Це означає, що при підключенні живлення до Лілки, мікроконтролер розпочне роботу не відразу, а через деякий час (долю мікросекунди). + +Цей коливальний контур є абсолютно необхідним і його потребують майже всі мікроконтролери: без нього мікроконтролер може працювати некоректно або взагалі не запускатися. + +Регулятор напруги ``U3`` та конденсатори ``C2`` і ``C3`` +-------------------------------------------------------- + +.. image:: images/regulator.png + :alt: Voltage regulator + :align: center + +Ці компоненти відповідають за стабілізацію напруги живлення Лілки. + +Мікроконтролер ESP32-S3-WROOM-N16R8 працює при напрузі від 3.0V до 3.6V. Але: + +- Живлення від USB-порту комп'ютера може бути від 4.75V до 5.25V. +- Живлення від акумулятора може бути від 2.4V до 4.2V. + +Обидві з цих напруг майже стовідсотково спалять мікроконтролер! Для цього і потрібен регулятор напруги ``U3``: він перетворює вхідну напругу в напругу 3.3V, яка потрібна мікроконтролеру. + +Конденсатори ``C2`` і ``C3`` відповідають за стабілізацію напруги: вони зберігають енергію, яка потрібна компонентам Лілки, коли напруга від живлення змінюється. +Рекомендовані омінали цих конденсаторів переважно вказані в документації регулятора напруги. + +Роз'єм USB (``J1``) +------------------- + +.. image:: images/usb.png + :alt: USB Type C connector + :align: center + +Модуль ``J1`` - це всього лиш плата з припаяним роз'ємом USB Type C. Вона не містить жодних інших компонентів - лише роз'єм. + +Паяти роз'єм USB Type C безпосередньо на головну плату Лілки було б дуже складно: роз'єм має дуже маленькі контакти, які важко паяти. +Саме тому ми і використовуємо модуль ``J1``: він має великі контакти, які можна легко паяти на основну плату Лілки. + +Модуль заряду-розряду LiPo-акумулятора (``J4``) +----------------------------------------------- + +Якщо ви збираєте комплект Лілки з акумулятором, цей модуль відповідає за зарядку акумулятора від USB-порту, а також забезпечує захист від перезаряду та перерозряду акумулятора при роботі Лілки від акумулятора. + +Він працює на основі мікросхеми ``TP4056``, тому його часто так і називають - "модуль TP4056". + +На виході цей модуль дає напругу, яка дорівнює напрузі акумулятора, тобто від 2.4V до 4.2V. Ця напруга подається на регулятор напруги ``U3``, який перетворює її в 3.3V для живлення мікроконтролера. + +Польовий транзистор P-типу ``Q1``, резистор ``R3`` та діод ``D1`` +----------------------------------------------------------------- + +.. image:: images/switching.png + :alt: USB & battery power management + :align: center + :width: 800px + +Ці компоненти потрібні для коректної роботи Лілки, коли ви одночасно заряджаєте акумулятор і живите Лілку від USB-порту. + +Річ у тім, що одночасно заряджати акумулятор від USB і в той же час живити Лілку від цього ж акумулятора - небезпечно: +модуль TP4056 (``J4``) не вміє коректно відслідковувати стан заряду акумулятора, якщо той використовується Лілкою, і може подати на нього невідповідну напругу. + +Тому ми використовуємо польовий транзистор P-типу (``Q1``), який "вимикається" при підключенні живлення від USB, і таким чином при під'єднаному USB-живленні Лілка живиться від USB, а не від акумулятора. + +Резистор ``R3`` - це слабка підтяжка польового транзистора ``Q1`` до землі, щоб при відсутності напруги від USB цей транзистор не вимикався сам по собі, а за замовчуванням був увімкнений, +щоб Лілка живилася від акумулятора. + +Діод ``D1`` - це захисний діод, який не дозволяє напрузі від акумулятора подаватися на USB-порт, коли USB-живлення під'єднане. Це потрібно, щоб не пошкодити USB-порт комп'ютера або зарядний пристрій. +Крім цього, як бонус - він частоково знижує напругу (на ~0.7V), і тому регулятор напруги ``U3`` при живленні Лілки від USB буде трохи менше нагріватися. + +Резистори ``R2`` і ``R4`` +------------------------- + +.. image:: images/divider.png + :alt: Voltage divider + :align: center + +Ці резистори здійснюють ділення напруги для вимірювання напруги акумулятора. + +Напруга акумулятора може бути в діапазоні від 2.4V до 4.2V, але АЦП (аналого-цифровий перетворювач) мікроконтролера ESP32-S3-WROOM-N16R8 вміє вимірювати напругу лише від 0V до 3.1V. + +Тому ми використовуємо резистори ``R2`` і ``R4``, які здійснюють ділення напруги, використовуючи формулу: + +.. math:: + + V_{\text{вихід}} = V_{\text{батарея}} \times \left(\frac{R_4}{R_2 + R_4}\right) + +Номінали резисторів ``R2`` і ``R4`` вибираються так, щоб напруга на виході ділення була 3.1V при вхідній напрузі 4.2V. + +В нашому випадку ми використовуємо резистори ``R2`` = 100 кОм і ``R4`` = 33 кОм. + +Ми могли б використати і резистори менших номіналів - скажімо, 10 кОм і 3.3 кОм, але вони б витрачали в 100 разів більше енергії та швидше розряджали акумулятор. + +Роз'єм розширення (``J2``) +-------------------------- + +.. image:: images/extension.png + :alt: Extension connector + :align: center + +Лілка - це набір для розробки, і ви, можливо, захочете підключити до неї додаткові датчики, дисплеї, камери, акселеометри, сервоприводи чи ще щось. + +Для цього і потрібен роз'єм розширення ``J2``: він має виводи для живлення сторонніх компонентів, а також декілька GPIO-ліній мікроконтролера, які можна використовувати для підключення додаткових пристроїв. + +Детальніше про роз'єм розширення можна прочитатиj тут: :ref:`extension`. + +Модуль SD-карти (``J3``) +------------------------ + +.. image:: images/sdcard.png + :alt: SD card module + :align: center + +Цей модуль дозволяє Лілці читати та зберігати дані на SD-карті, а також запускати з неї сторонні прошивки. + +SD-карти дозволяють працювати з ними через шину SPI, яка підтримується мікроконтролером ESP32-S3-WROOM-N16R8. + +Більше інформації є тут: :ref:`sdcard`. + +ЦАП (DAC) - Цифро-аналоговий перетворювач (``J5``) +-------------------------------------------------- + +.. image:: images/dac.png + :alt: DAC + :align: center + +Цей компонент відповідає за генерацію аналогових сигналів. + +Найпоширеніше використання ЦАП - генерація звуків: відтворення мелодій, голосів, звуків природи, і т.д. + +Лілка використовує модуль ЦАП на базі мікросхеми ``MAX98357A`` від компанії Maxim Integrated. + +Це дозволяє Лілці відтворювати звуки високої якості, а також підключати до неї аудіо-пристрої виведення звуку - наприклад, колонки, навушники, аудіо-підсилювачі тощо. + +Для роботи з ЦАПом використовується шина I2S. + +П'єзо-динамік (``BZ1``) +------------------------ + +.. image:: images/buzzer.png + :alt: Buzzer + :align: center + +П'єзо-динамік - це простий динамік, який може відтворювати звуки. Його можна під'єднувати безпосередньо до GPIO-виводів мікроконтролера. + +Основні плюсі п'єзо-динаміка - його простота та ціна. Він не потребує жодних додаткових компонентів: просто підключіть його до GPIO-виводів мікроконтролера і відтворюйте звуки. + +Головний мінус - обмежені можливості. П'єзо-динамік може відтворювати лише прості звуки і не здатний відтворювати музику високої якості. +Крім того, ESP32-S3 не має вбудованого цифро-аналогового перетворювача, тому звукова хвиля може мати лише форму меандру (т. зв. "прямокутна" звукова хвиля). + +Якщо ви хочете відтворювати музику високої якості, вам краще використати додатковий модуль ЦАП (див. вище). + +IPS TFT дисплей (``U2``) +------------------------ + +.. image:: images/display.png + :alt: Display + :align: center + +Дисплей. Куди ж без нього? ;) + +Цей дисплей використовує IPS-матрицю, яка забезпечує високу якість зображення, широкі кути огляду, яскравість та насиченість кольорів. + +Лілка використовує дисплей на базі мікросхеми ``ST7789`` від компанії Sitronix. + +Кнопки +------ + +Думаю, тут все зрозуміло: кнопки використовуються для керування Лілкою. + +Кожна кнопка підключена до свого GPIO-виводу мікроконтролера і відповідає за певну функцію. + +.. note:: + + "Але чому ви не використали, скажімо, регістр зсуву для підключення кнопок, чи розширювачі I/O?" - запитаєте ви. "Ви могли б підключити до мікроконтролера 8 кнопок, використовуючи всього 3 GPIO-виводи!" + + Відповідь проста: мета Лілки - бути простою у збірці. Регістри зсуву - це додаткові компоненти, які вам потрібно паяти і які займають місце на і так невеликій платі Лілки, + тому ми вирішили обійтися без них. diff --git a/docs/assembly/images/buzzer.png b/docs/assembly/images/buzzer.png new file mode 100644 index 00000000..e4bd3a5e Binary files /dev/null and b/docs/assembly/images/buzzer.png differ diff --git a/docs/assembly/images/dac.png b/docs/assembly/images/dac.png new file mode 100644 index 00000000..62060d90 Binary files /dev/null and b/docs/assembly/images/dac.png differ diff --git a/docs/assembly/images/display.png b/docs/assembly/images/display.png new file mode 100644 index 00000000..20c0e788 Binary files /dev/null and b/docs/assembly/images/display.png differ diff --git a/docs/assembly/images/divider.png b/docs/assembly/images/divider.png new file mode 100644 index 00000000..0033c5c2 Binary files /dev/null and b/docs/assembly/images/divider.png differ diff --git a/docs/assembly/images/extension.png b/docs/assembly/images/extension.png new file mode 100644 index 00000000..491f3ba3 Binary files /dev/null and b/docs/assembly/images/extension.png differ diff --git a/docs/assembly/images/mcu.png b/docs/assembly/images/mcu.png new file mode 100644 index 00000000..7119365e Binary files /dev/null and b/docs/assembly/images/mcu.png differ diff --git a/docs/assembly/images/regulator.png b/docs/assembly/images/regulator.png new file mode 100644 index 00000000..dafaf8df Binary files /dev/null and b/docs/assembly/images/regulator.png differ diff --git a/docs/assembly/images/reset.png b/docs/assembly/images/reset.png new file mode 100644 index 00000000..af87aa81 Binary files /dev/null and b/docs/assembly/images/reset.png differ diff --git a/docs/assembly/images/sdcard.png b/docs/assembly/images/sdcard.png new file mode 100644 index 00000000..b90c50a2 Binary files /dev/null and b/docs/assembly/images/sdcard.png differ diff --git a/docs/assembly/images/switching.png b/docs/assembly/images/switching.png new file mode 100644 index 00000000..2423510e Binary files /dev/null and b/docs/assembly/images/switching.png differ diff --git a/docs/assembly/images/usb.png b/docs/assembly/images/usb.png new file mode 100644 index 00000000..8f013303 Binary files /dev/null and b/docs/assembly/images/usb.png differ diff --git a/docs/assembly/index.rst b/docs/assembly/index.rst index 65fc4541..4661ff8a 100644 --- a/docs/assembly/index.rst +++ b/docs/assembly/index.rst @@ -1,5 +1,5 @@ -Як зібрати Лілку -================ +:octicon:`tools` Як зібрати Лілку +================================= .. warning:: Ця документація знаходиться в розробці. Інформація є неповною, може бути недостовірною і/або застарілою, і може значно змінюватися в майбутньому. @@ -12,3 +12,4 @@ configurations components + every_component diff --git a/docs/community.rst b/docs/community.rst new file mode 100644 index 00000000..fdd87713 --- /dev/null +++ b/docs/community.rst @@ -0,0 +1,33 @@ +:octicon:`people` Спільнота +=========================== + +``Rustilka``: Rust для Лілки +---------------------------- + +Автор: **black.ghost.off** + +Rustilka - це мініпроєкт підтримки мови Rust для Лілки, який має таку саму мету, як і сама консоль - "полегшити" розробку. + +Також цей проєкт чисто технічно незалежний від оригінального SDK: при наявності можливостей ми могли б мати IDF версію, але, на думку автора Rustilka, це не має сенсу. + +`Хочете писати код для Лілки на Rust? Тоді вам сюди! `_ + +``MeowUI``: Альтернативний UI-фреймворк для Лілки +------------------------------------------------- + +Автор: **kolodieiev** + +MeowUI - набір бібліотек, що спрощують створення графічного інтерфейсу користувача для електронних пристроїв на базі esp32 та esp32s3. + +З самого початку даний проєкт створювався, як шаблон, для швидкої побудови багаторівневого графічного інтерфейсу в стилі “Quadratisch. Praktisch. Gut”. +Мета - управління різноманітними датчиками за допомогою мікроконтролера ESP32. + +Після знайомства з проєктом "Лілка", автором MeowUI було прийнято рішення про розширення та доопрацювання функціоналу MeowUI. + +`Детальніше про проєкт можна дізнатися тут. `_ + +Спілкування +----------- + +- Весь код проєкту доступний на `GitHub `_. +- Приєднуйтесь до нашого `Discord-сервера `_! diff --git a/docs/conf.py b/docs/conf.py index 3f28cbdb..a7c6fecf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -39,18 +39,16 @@ # https://protips.readthedocs.io/pdf-font.html latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). - 'papersize': 'a4paper', - -# The font size ('10pt', '11pt' or '12pt'). - 'pointsize': '11pt', - -# Additional stuff for the LaTeX preamble. - 'preamble': r''' + # The paper size ('letterpaper' or 'a4paper'). + "papersize": "a4paper", + # The font size ('10pt', '11pt' or '12pt'). + "pointsize": "11pt", + # Additional stuff for the LaTeX preamble. + "preamble": r""" \usepackage{charter} \usepackage[defaultsans]{lato} \usepackage{inconsolata} - ''', + """, } # -- Custom CSS -------------------------------------------------------------- @@ -79,10 +77,10 @@ def setup(app): extensions.append("sphinx_lua") lua_source_path = ["../sdk/addons/lualilka/"] -lua_source_encoding = 'utf8' -lua_source_comment_prefix = '---' +lua_source_encoding = "utf8" +lua_source_comment_prefix = "---" lua_source_use_emmy_lua_syntax = True -lua_source_private_prefix = '_' +lua_source_private_prefix = "_" # -- Toolbox ----------------------------------------------------------------- @@ -90,3 +88,10 @@ def setup(app): extensions.append("sphinx_toolbox.github") github_username = "and3rson" github_repository = "lilka" + +# -- Graphviz ---------------------------------------------------------------- + +extensions.append("sphinx.ext.graphviz") + +# -- Sphinx-Design ------------------------------------------------------------ +extensions.append("sphinx_design") diff --git a/docs/faq/coding.rst b/docs/faq/coding.rst new file mode 100644 index 00000000..b3184d74 --- /dev/null +++ b/docs/faq/coding.rst @@ -0,0 +1,126 @@ +Програмування +============= + +.. contents:: Зміст + :local: + +Що таке "Arduino", "ESP-IDF" і ця ваша "бібліотека lilka"? +-------------------------------------------------------------- + +- **Arduino** - це фреймворк, яка дозволяє швидко і просто створювати програми для мікроконтролерів. + + Основна перевага Arduino - це стандартизований і простий інтерфейс програмування, який дозволяє швидко створювати програми для мікроконтролерів. + Неважливо, чи ви пишете код для ESP32, чи для STM32, чи для ATmega: ви можете використовувати однаковий інтерфейс програмування, однакові функції та навіть однакові бібліотеки. + + Тобто Arduino - це своєрідна абстракція, яка дозволяє вам писати код для мікроконтролерів, не замислюючись про те, який саме мікроконтролер ви використовуєте. + +- **ESP-IDF** - це офіційний фреймворк для програмування мікроконтролерів сімейства ESP32 від компанії Espressif. + + ESP-IDF - це більш низькорівневий фреймворк, який дозволяє вам працювати з ESP32 на більш низькому рівні, ніж Arduino. + Код, написаний на ESP-IDF, може бути більш швидким і ефективним, ніж код, написаний на Arduino, але він також буде складнішим і працюватиме тільки на мікроконтролерах сімействі ESP32. + +- **Бібліотека lilka** - це бібліотека, яку ми написали для роботи з ESP32-S3 на платформі Arduino. + + Це - спроба поєднати простоту Arduino з ефективністю ESP-IDF саме для написання програм для Лілки, а також надати додаткові функції, які допоможуть вам створити програми для Лілки швидше і простіше. + +Але не лякайтесь: **ви можете одночасно використовувати і Arduino, і ESP-IDF, і бібліотеку lilka**! + +Річ у тім, що бібліотека ``lilka`` написана на основі ESP32-Arduino, а ESP32-Arduino, в свою чергу, використовує ESP-IDF. +Це означає, що ви можете використовувати в своєму коді і функції ESP-IDF, і функції Arduino, і функції бібліотеки ``lilka``. + +.. graphviz:: + + digraph G { + rankdir=LR; + node[shape=box]; + "Ваш код" [style=filled, fillcolor="#aaffaa"]; + + subgraph cluster_0 { + style=filled; + color=lightgrey; + node [style=filled,color=white]; + "Бібліотека lilka"; + "ESP32 Arduino"; + "ESP-IDF"; + } + + "Ваш код" -> "Бібліотека lilka" [minlen=5]; + "Ваш код" -> "ESP32 Arduino"; + "Ваш код" -> "ESP-IDF"; + "Бібліотека lilka" -> "ESP32 Arduino" -> "ESP-IDF" [minlen=2]; + "Бібліотека lilka" -> "ESP-IDF"; + + { rank=max; "Ваш код" } + } + +Що таке "паніка"? +----------------- + +"Паніка" ("panic") - це загальна назва критичних ситуацій, які виникають, коли програма не може продовжувати свою роботу через критичну помилку або через потенційну можливість пошкодження даних. + +Класична паніка - це дереференсія нульового вказівника: + +.. code-block:: c + + int *p = NULL; + *p = 42; // Паніка! + +Проте паніка може бути викликана іншими причинами, такими як переповнення стеку, помилки вводу-виводу, помилки пам'яті, помилки в програмному коді, помилки в апаратурі, і так далі. + +В більшості випадків при паніці ESP32 виводить в консоль не лише повідомлення про помилку, але і стек викликів, який привів до паніки. + +Цей стек можна розкодувати, щоб побачити, які функції були викликані перед панікою і в якому порядку. + +В KeiraOS для цього є "команда" ``decode_backtrace``, який використовує утиліту ``addr2line`` з комплекту ESP-IDF для розкодування стеку викликів. Ось як його використовувати: + +.. code-block:: bash + + pio run -e v2 -t decode_backtrace -a '0x42013efa:0x3fcbbc10 0x4200894d:0x3fcbbcd0 0x4201962e:0x3fcbbd10 0x4201987b:0x3fcbbd30 0x4202724c:0x3fcbbd60' + +Це виведе розкодовані функції та рядки, які викликалися перед панікою, від "найглибшої" до "найповерхневішої". Тобто перший рядок - це момент, де відбулася паніка. + +Детальнішу інформацію про паніки можна знайти в `документації ESP-IDF `_. + +Я отримую паніку ``Stack canary watchpoint triggered`` +------------------------------------------------------ + +В ESP32 є спеціальний механізм, який дозволяє виявити переповнення стеку. Цей механізм називається "стекова канарка" (stack canary). +Він слідкує за переповненням стеку задачі. + +Оскільки в FreeRTOS кожна задача при створенні отримує свою власну область стеку, яка визначається параметром ``stack_depth`` функцій ``xTaskCreate...``, +найчастіше ця помилка виникає через недостатньо велику область стеку вашої задачі. Ви можете збільшити розмір її стеку, визначивши більший розмір стеку при виклику ``xTaskCreate...``. + +.. warning:: + + Збільшення розміру стеку означає, що ваша програма буде використовувати більше пам'яті. + + Лілка використовує мікроконтролер ESP32-S3, який має всього декілька сотень кілобайт внутрішньої оперативної пам'яті (RAM), але крім неї вона має зовнішню оперативну пам'ять, яка називається PSRAM. + + Стек задачі зберігається у внутрішній RAM. + + Якщо вам потрібно зберігати великі обсяги даних в пам'яті, то можливо замість збільшення стеку вам краще варто використовувати динамічне виділення пам'яті в "купі", + використовуючи функцію ``ps_malloc``, яка виділяє пам'ять у PSRAM (якої в Лілці аж 8 МБ). + + PSRAM дещо повільніша за внутрішню RAM, але вона дозволяє зберігати в десятки разів більше даних. В більшості випадків різниця в швидкості взагалі не буде помітною. + +Я отримую паніку ``IllegalInstruction`` +--------------------------------------- + +Ця помилка найчастіше трапляється, коли задача FreeRTOS, створена за допомогою одної з функцій ``xTaskCreate...``, +доходить до кінця (або робить ``return``) без виклику ``vTaskDelete(NULL)``. + +Переконайтеся, що ваша задача завершується викликом ``vTaskDelete(NULL)``: іншими словами, викликайте ``vTaskDelete(NULL)`` замість ``return``. + +Я отримую паніку ``Task watchdog got triggered`` +------------------------------------------------ + +Ця помилка виникає, коли задача не викликає ``vTaskDelay`` або ``vTaskDelayUntil`` протягом певного часу. + +В ESP32 є механізм "сторожового таймера" (watchdog timer), який слідкує за тим, щоб задачі виконувалися вчасно. +Якщо задача не викликає ``vTaskDelay`` або ``vTaskDelayUntil`` протягом певного часу (зазвичай 10 секунд), ви отримаєте помилку ``Task watchdog got triggered``. +Це робиться для того, щоб уникнути "зависання" задачі, яка не виконується. + +Переконайтеся, що ваша задача час від часу викликає ``taskYIELD()`` чи ``vTaskDelay(1)``. + +Якщо це неможливо - наприклад, якщо ви використовуєте сторонню бібліотеку, яка робить довгі і складні обчислення - ви можете збільшити таймаут сторожового таймера, +викликавши `esp_task_wdt_init `_ з більшим значенням таймауту. diff --git a/docs/faq.rst b/docs/faq/general.rst similarity index 84% rename from docs/faq.rst rename to docs/faq/general.rst index 9e0e808c..1c7f0345 100644 --- a/docs/faq.rst +++ b/docs/faq/general.rst @@ -1,5 +1,5 @@ -Поширені запитання -================== +Загальна інформація +=================== .. contents:: Зміст :local: @@ -16,13 +16,6 @@ Якщо ви шукаєте потужну ігрову консоль, то Лілка, можливо, не найкращий вибір для вас. (Хоча на ній можна без проблем грати в досить популярні старі ігри, такі як Doom чи Wolfenstein, а також запускати на ній емулятори NES, SNES та інших консолей.) -Я не можу завантажити прошивку на свій пристрій. Що робити? ------------------------------------------------------------ - -Переконайтеся, що ви використовуєте саме так званий "data" кабель, а не "power" кабель. "Power" кабель призначений лише для заряджання пристрою, а "data" кабель - і для передачі даних, і для заряджання. - -.. warning:: Зверніть увагу: Лілка не підтримує USB 3.0, тому ви не зможете прошивати її через кабель Type C - Type C. Використовуйте кабель Type C - Type A. - Я хочу більший дисплей! ----------------------- diff --git a/docs/faq/hardware.rst b/docs/faq/hardware.rst new file mode 100644 index 00000000..3c94d8c4 --- /dev/null +++ b/docs/faq/hardware.rst @@ -0,0 +1,48 @@ +Апаратна частина +================ + +.. contents:: Зміст + :local: + +Я не можу завантажити прошивку на свій пристрій. Що робити? +----------------------------------------------------------- + +Переконайтеся, що ви використовуєте саме так званий "data" кабель, а не "power" кабель. "Power" кабель призначений лише для заряджання пристрою, а "data" кабель - і для передачі даних, і для заряджання. + +.. warning:: Зверніть увагу: Лілка не підтримує USB 3.0, тому ви не зможете прошивати її через кабель Type C - Type C. Використовуйте кабель Type C - Type A. + +Моя програма взаємодіє одночасно з SD-картою та дисплеєм, але вона працює дуже повільно! +---------------------------------------------------------------------------------------- + +Для роботи з SD-картою та дисплеєм Лілка використовує одну шину SPI. + +Це означає, що в будь-який момент часу шина може бути зайнятою або SD-картою, або дисплеєм, і спроба взаємодії з одним пристроєм, коли інший пристрій використовує шину, призведе до затримок і, +як наслідок, до зниження частоти кадрів та швидкості читання/запису файлів. + +Для цього є декілька причин: + +- Це дозволяє зменшити кількість пінів, задіяних для підключення SD-карти та дисплею. +- ESP32-S3 має всього дві шини SPI, тому використання однієї шини для обох пристроїв дозволяє звільнити іншу шину для потреб користувача (наприклад, для підключення зовнішньої камери чи акселерометра). + +Щоб уникнути цих затримок, потрібно уникати роботи з SD-картою та дисплеєм одночасно. +Найпростіший спосіб - це читати дані з SD-карти в пам'ять PSRAM (в ESP32-S3 її достатньо багато - аж 8 МБ), і надалі працювати з цими даними, не взаємодіючи з SD-картою. + +Враховуючи, що (станом на момент написання цього документу) SD-карта працює на частоті 25 МГц, читання файлу розміром 1 МБ з SD-карти за ідеальних умов займе менше однієї секунди! + +Тому, якщо ви пишете гру, яка завантажує текстури чи звуки з SD-карти, просто завантажте їх у пам'ять PSRAM один раз при запуску гри і надалі працюйте з ними вже з пам'яті, не взаємодіючи з SD-картою. + +Чому ви не вивели `GPIO35`, `GPIO36` та `GPIO37` на роз'єм розширення? +---------------------------------------------------------------------- + +Ці піни можна використовувати лише в деяких (менш потужних) варіантах ESP32-S3-WROOM. + +В ESP32-S3-WROOM-N16R8, який використовується в Лілці, ці піни використовуються для внутрішіх потреб (а точніше - для спілкування мікроконтролера ESP32-S3 з пам'яттю PSRAM). + +Тому використовувати їх для будь-яких інших цілей заборонено. + +Чому ви не вивели `GPIO45` на роз'єм розширення? +------------------------------------------------ + +`GPIO45` - це один з так званих "strapping" пінів, які використовуються для вибору режиму завантаження мікроконтролера та інших налаштувань. + +Використання цього піна небезпечне, оскільки він встановлює режим напруги SPI-шини. Тому ми вирішили не виводити його на роз'єм розширення, щоб уникнути можливих проблем та потенційних пошкоджень пристрою. diff --git a/docs/faq/index.rst b/docs/faq/index.rst new file mode 100644 index 00000000..5c041e98 --- /dev/null +++ b/docs/faq/index.rst @@ -0,0 +1,9 @@ +:octicon:`question` Поширені запитання +======================================= + +.. toctree:: + :maxdepth: 1 + + general + hardware + coding diff --git a/docs/glossary.rst b/docs/glossary.rst index b0106dc4..ee1ed5a9 100644 --- a/docs/glossary.rst +++ b/docs/glossary.rst @@ -1,5 +1,5 @@ -Словник термінів -================ +:octicon:`database` Словник термінів +==================================== .. glossary:: diff --git a/docs/hardware/index.rst b/docs/hardware/index.rst index 37f8fdcd..878c3171 100644 --- a/docs/hardware/index.rst +++ b/docs/hardware/index.rst @@ -1,5 +1,5 @@ -Технічні дані -============= +:octicon:`cpu` Технічні дані +============================ .. toctree:: :maxdepth: 2 diff --git a/docs/hardware/mcu.rst b/docs/hardware/mcu.rst index b3a94826..acdfcd88 100644 --- a/docs/hardware/mcu.rst +++ b/docs/hardware/mcu.rst @@ -1,3 +1,5 @@ +.. _mcu: + Мікроконтролер ============== diff --git a/docs/index.rst b/docs/index.rst index 84154980..4326aa67 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,12 +18,25 @@ manual/index keira/index library/index - faq + faq/index glossary + community -.. sidebar-links:: - :caption: Посилання: - :github: +.. .. sidebar-links:: +.. :caption: Посилання: +.. :github: + +.. toctree:: + :caption: Посилання + + GitHub + Discord + +.. toctree:: + :caption: Проєкти нашої спільноти + + "Rustilka": Rust для Лілки + "MeowUI": альтернативний UI для Лілки Indices and tables ================== diff --git a/docs/keira/features.rst b/docs/keira/features.rst index 66a4e49d..2ff783a8 100644 --- a/docs/keira/features.rst +++ b/docs/keira/features.rst @@ -61,11 +61,12 @@ Keira має вбудовану підтримку запуску `Lua `_, який використовується в Лілці для виконання скриптів. Keira має вбудовану підтримку запуску mJS-скриптів з SD-картки. Це означає, що ви можете скопіювати файли, написані діалектом mJS (з розширенням ``.js``) на SD-картку і виконувати їх на Лілці. -Я не впевнений, наскільки корисною буде ця функція, і ми рекомендуємо використовувати для цього Lua, яка має значно більше можливостей, ніж mJS. Проте ця функція є, і ви можете спробувати її, якщо вам цікаво. +Я не впевнений, наскільки корисною буде ця функція, і ми рекомендуємо використовувати для цього Lua, яка має значно більше можливостей, ніж mJS. +Проте така опція є і ви можете спробувати її, якщо вам цікаво. .. warning:: - mJS - це діалект JavaScript, який має свої особливості. Наприклад, він не підтримує класи, і він має свої власні функції для роботи з рядками, масивами, об'єктами, тощо. + mJS - це діалект JavaScript, який має свої особливості. Наприклад, він не підтримує класи і має свої власні функції для роботи з рядками, масивами, об'єктами тощо. Тому, якщо ви вирішили використовувати mJS, будьте готові до того, що: * **Вам доведеться вивчати новий діалект JavaScript**. diff --git a/docs/keira/index.rst b/docs/keira/index.rst index 6c45b6d1..d3f702cb 100644 --- a/docs/keira/index.rst +++ b/docs/keira/index.rst @@ -1,5 +1,5 @@ -Keira OS -======== +:octicon:`star` Keira OS +======================== Ми написали для Лілки власну прошивку, яка називається **"Keira OS"** (**Операційна Система "Кіра"**) і включає в себе основні функції для демонстрації можливостей пристрою. diff --git a/docs/keira/sdcard.rst b/docs/keira/sdcard.rst index fcf1bd2d..ad8573cf 100644 --- a/docs/keira/sdcard.rst +++ b/docs/keira/sdcard.rst @@ -1,3 +1,5 @@ +.. _sdcard: + Карта microSD ============= diff --git a/docs/library/build_flags.rst b/docs/library/build_flags.rst index 596c235e..eacf9cdf 100644 --- a/docs/library/build_flags.rst +++ b/docs/library/build_flags.rst @@ -4,11 +4,13 @@ Бібліотека ``lilka`` постачається з рядом вбудованих можливостей, які за замовчуванням увімкнені. Можливо, вам не подобаються деякі налаштування, які вибрані за замовчуванням. -Наприклад, ви збираєте Лілку на макетній платі і ваш дисплей не здатний працювати на швидкості 80 МГц через високий рівень шумів та ємкостей, викликаних макетною платою та перемичками. + +Наприклад, вас дратує звук, який видає Лілка при увімкненні. +Або ж ви збираєте Лілку на макетній платі і ваш дисплей не здатний працювати на швидкості 80 МГц через високий рівень шумів та ємкостей, викликаних макетною платою та перемичками. Завдяки :term:`PlatformIO` ви можете змінити налаштування, відредагувавши файл `platformio.ini`. Для цього є опція ``build_flags``. -Для того, щоб зменшити швидкість SPI-шини, ви можете відредагувати файл ``firmware/main/platformio.ini`` та додати наступний рядок: +Наприклад, для того, щоб вимкнути всі звуки, ви можете відредагувати файл ``firmware/main/platformio.ini`` та додати наступний рядок: .. code-block:: ini :linenos: @@ -20,7 +22,7 @@ framework = arduino lib_deps = lilka - build_flags = -D LILKA_BREADBOARD + build_flags = -D LILKA_NO_BUZZER_HELLO -D LILKA_NO_AUDIO_HELLO Після цього ви повинні перекомпілювати вашу прошивку. @@ -32,3 +34,11 @@ Використовуйте цю опцію, якщо ви збираєте Лілку на макетній платі або на іншій платі, яка має високий рівень шумів та ємкостей. Вона зменшує швидкість SPI-шини з 80 МГц до 40 МГц. + +.. c:macro:: LILKA_NO_BUZZER_HELLO + + Встановіть цю опцію, щоб вимкнути звук, який Лілка відтворює через п'єзоелектричний динамік при увімкненні. + +.. c:macro:: LILKA_NO_AUDIO_HELLO + + Встановіть цю опцію, щоб вимкнути звук, який Лілка відтворює через I2S-модуль при увімкненні. diff --git a/docs/library/display.rst b/docs/library/display.rst index 5c2edf1f..37ca79b3 100644 --- a/docs/library/display.rst +++ b/docs/library/display.rst @@ -9,6 +9,9 @@ .. doxygenclass:: lilka::Canvas :members: +.. doxygenclass:: lilka::GFX + :members: + .. doxygenclass:: lilka::Image :members: diff --git a/docs/library/index.rst b/docs/library/index.rst index 24c2c07a..f0bfe202 100644 --- a/docs/library/index.rst +++ b/docs/library/index.rst @@ -1,7 +1,7 @@ .. _lilka-lib: -Бібліотека ``lilka`` -==================== +:octicon:`code` Бібліотека ``lilka`` +==================================== Проєкт "Лілка" має однойменну бібліотеку ``lilka``, яка спрощує роботу з Лілкою та дозволяє вам швидко створювати для Лілки власні прошивки мовою програмування C++. diff --git a/docs/library/ui.rst b/docs/library/ui.rst index e5a9cfe4..2e4d5969 100644 --- a/docs/library/ui.rst +++ b/docs/library/ui.rst @@ -11,3 +11,6 @@ .. doxygenclass:: lilka::ProgressDialog :members: + +.. doxygenclass:: lilka::InputDialog + :members: diff --git a/docs/manual/extension.rst b/docs/manual/extension.rst index 07e18786..1b177a3b 100644 --- a/docs/manual/extension.rst +++ b/docs/manual/extension.rst @@ -1,3 +1,5 @@ +.. _extension: + Роз'єм розширення ================= diff --git a/docs/manual/index.rst b/docs/manual/index.rst index 62af3742..54e18f97 100644 --- a/docs/manual/index.rst +++ b/docs/manual/index.rst @@ -1,5 +1,5 @@ -Інструкція -========== +:octicon:`book` Інструкція +========================== .. toctree:: :maxdepth: 1 diff --git a/docs/requirements.txt b/docs/requirements.txt index 49f5f7ee..a2aa1461 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,5 @@ breathe==4.35.0 +sphinx-design==0.5.0 sphinx-lua==1.1.5 sphinx-rtd-theme==1.3.0 sphinx-toolbox==3.5.0 diff --git a/firmware/doom/platformio.ini b/firmware/doom/platformio.ini index c622acd3..e74d4bd2 100644 --- a/firmware/doom/platformio.ini +++ b/firmware/doom/platformio.ini @@ -9,11 +9,10 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -boards_dir = ../../sdk/boards lib_dir = ../../sdk/lib [env:v2] -platform = espressif32 +platform = espressif32 @ ^6.6.0 board = lilka_v2 framework = arduino lib_extra_dirs = ./lib diff --git a/firmware/keira/platformio.ini b/firmware/keira/platformio.ini index 7bcdc9d7..411d95c1 100644 --- a/firmware/keira/platformio.ini +++ b/firmware/keira/platformio.ini @@ -2,14 +2,13 @@ ; Докладніше про конфігурацію PlatformIO можна прочитати тут: https://docs.platformio.org/en/latest/projectconf/index.html [platformio] -boards_dir = ../../sdk/boards lib_dir = ../../sdk/lib [env:v1] -platform = espressif32 +platform = espressif32 @ ^6.6.0 board = adafruit_qtpy_esp32c3 framework = arduino -lib_deps = +lib_deps = lilka mischief/lua @ ^0.1.1 https://github.com/moononournation/arduino-nofrendo.git @@ -20,10 +19,10 @@ build_flags = -D LILKA_VERSION=1 board_build.partitions = ./legacy/v1_partitions.csv [env:v2] -platform = espressif32 +platform = espressif32 @ ^6.6.0 board = lilka_v2 framework = arduino -lib_deps = +lib_deps = lilka mischief/lua @ ^0.1.1 https://github.com/moononournation/arduino-nofrendo.git diff --git a/firmware/keira/sdcard/liltracker/lilka_walks.lt b/firmware/keira/sdcard/liltracker/lilka_walks.lt new file mode 100644 index 00000000..b9f8ded8 Binary files /dev/null and b/firmware/keira/sdcard/liltracker/lilka_walks.lt differ diff --git a/firmware/keira/sdcard/liltracker/miss_minnie.lt b/firmware/keira/sdcard/liltracker/miss_minnie.lt new file mode 100644 index 00000000..a782d561 Binary files /dev/null and b/firmware/keira/sdcard/liltracker/miss_minnie.lt differ diff --git a/firmware/keira/src/.gitattributes b/firmware/keira/src/.gitattributes index 9f5ce7b6..ebe5303e 100644 --- a/firmware/keira/src/.gitattributes +++ b/firmware/keira/src/.gitattributes @@ -1,3 +1 @@ keira_splash.h linguist-generated -apps/icons/*.h linguist-generated -apps/weather/icons/*.h linguist-generated diff --git a/firmware/keira/src/app.cpp b/firmware/keira/src/app.cpp index b246dade..34a166aa 100644 --- a/firmware/keira/src/app.cpp +++ b/firmware/keira/src/app.cpp @@ -16,23 +16,21 @@ App::App(const char* name, uint16_t x, uint16_t y, uint16_t w, uint16_t h) : // Clear buffers canvas->fillScreen(0); backCanvas->fillScreen(0); - Serial.println( - "Created app " + String(name) + " at " + String(x) + ", " + String(y) + " with size " + String(w) + "x" + - String(h) + " on core " + String(appCore) - ); + lilka::serial_log("Created app %s at %d, %d with size %dx%d on core %d", name, x, y, w, h, appCore); xSemaphoreGive(backCanvasMutex); } void App::start() { if (taskHandle != NULL) { - Serial.println("App " + String(name) + " is already running"); + lilka::serial_err("App %s is already running", name); return; } - Serial.println("Starting app " + String(name)); + lilka::serial_log("Starting app %s", name); if (xTaskCreatePinnedToCore(_run, name, stackSize, this, 1, &taskHandle, appCore) != pdPASS) { - Serial.println( - "Failed to create task for app " + String(name) + - " - not enough memory? Try increasing stack size with setStackSize()" + lilka::serial_err( + "Failed to create task for app %s" + " - not enough memory? Try increasing stack size with setStackSize()", + name ); } } @@ -48,30 +46,30 @@ void App::_run(void* data) { void App::suspend() { if (taskHandle == NULL) { - Serial.println("App " + String(name) + " is not running, cannot suspend"); + lilka::serial_err("App %s is not running, cannot suspend", name); return; } - Serial.println("Suspending app " + String(name) + " (state = " + String(getState()) + ")"); + lilka::serial_log("Suspending app %s (state = %d)", name, getState()); onSuspend(); vTaskSuspend(taskHandle); } void App::resume() { if (taskHandle == NULL) { - Serial.println("App " + String(name) + " is not running, cannot resume"); + lilka::serial_err("App %s is not running, cannot resume", name); return; } - Serial.println("Resuming app " + String(name) + " (state = " + String(getState()) + ")"); + lilka::serial_log("Resuming app %s (state = %d)", name, getState()); onResume(); vTaskResume(taskHandle); } void App::stop() { if (taskHandle == NULL) { - Serial.println("App " + String(name) + " is not running, cannot stop"); + lilka::serial_err("App %s is not running, cannot stop", name); return; } - Serial.println("Stopping app " + String(name) + " (state = " + String(getState()) + ")"); + lilka::serial_log("Stopping app %s (state = %d)", name, getState()); onStop(); vTaskDelete(taskHandle); taskHandle = NULL; diff --git a/firmware/keira/src/appmanager.cpp b/firmware/keira/src/appmanager.cpp index fe8ac2af..cc719f31 100644 --- a/firmware/keira/src/appmanager.cpp +++ b/firmware/keira/src/appmanager.cpp @@ -4,8 +4,9 @@ AppManager* AppManager::instance = NULL; AppManager::AppManager() : - mutex(xSemaphoreCreateMutex()), panel(NULL), toastMessage(""), toastStartTime(0), toastEndTime(0) { - xSemaphoreGive(mutex); + // We're using binary semaphore instead of mutex because we will be releasing the lock from another task (see the hefty explanation in runApp()) + lock(xSemaphoreCreateBinary()), panel(NULL), toastMessage(""), toastStartTime(0), toastEndTime(0) { + xSemaphoreGive(lock); } AppManager::~AppManager() { @@ -23,27 +24,63 @@ AppManager* AppManager::getInstance() { /// Set the panel app. /// Panel app is drawn separately from the other apps on the top of the screen. void AppManager::setPanel(App* app) { - xSemaphoreTake(mutex, portMAX_DELAY); + xSemaphoreTake(lock, portMAX_DELAY); panel = app; panel->start(); - xSemaphoreGive(mutex); + xSemaphoreGive(lock); } +struct SuspensionData { + SemaphoreHandle_t lock; + App* topApp; +}; + /// Spawn a new app and pause the current one. void AppManager::runApp(App* app) { // If there's an app already running, pause it - xSemaphoreTake(mutex, portMAX_DELAY); + xSemaphoreTake(lock, portMAX_DELAY); + App* topApp = NULL; if (apps.size() > 0) { topApp = apps.back(); } apps.push_back(app); app->start(); - xSemaphoreGive(mutex); - if (topApp != NULL) { - // This method may be called from an app itself, that's why we postpone the suspension till the end of this method - topApp->suspend(); - } + + // So why all this mess? Here's the deal: + // + // We can't call suspend() directly from this method, because this method will likely be called from topApp itself, + // which would stop execution of this method at the moment of calling suspend(). + // This would cause a deadlock because the lock will never be released. + // + // We could release lock *before* calling suspend() (and we did that until recently), but then there's a race condition: + // 1. Mutex is released + // 2. New top app starts and stops very quickly, triggering resume() on previous top app + // 3. We finally reach topApp->suspend() and it's too late - the previous top app is already resumed, so we suspend the wrong app, and the system hangs + // + // TODO: We should probably use queues to talk to AppManager and avoid all this mess with RTOS functions being called by gosh knows who. /AD + // Anyway - behold: an additional task that will suspend the top app and release the lock when it's done. + SuspensionData* suspensionData = new SuspensionData{lock, topApp}; + xTaskCreate( + [](void* param) { + SuspensionData* data = static_cast(param); + App* topApp = data->topApp; + SemaphoreHandle_t lock = data->lock; + delete data; + + if (topApp != NULL) { + topApp->suspend(); + } + xSemaphoreGive(lock); + + vTaskDelete(NULL); + }, + "runApp", + 4096, + suspensionData, + 1, + NULL + ); } /// Remove the top app and resume the previous one. @@ -70,42 +107,38 @@ App* AppManager::removeTopApp() { /// Redraws the panel and the top app if necessary. /// If the top app has finished, it is removed from the list and the next app is resumed. void AppManager::loop() { - xSemaphoreTake(mutex, portMAX_DELAY); - - // Check if top app has finished - App* topApp = apps.back(); - if (topApp->getState() == eDeleted) { - // Switch to the next app in stack - topApp = removeTopApp(); - } + xSemaphoreTake(lock, portMAX_DELAY); + + if (apps.size()) { + // Check if top app has finished + App* topApp = apps.back(); + if (topApp->getState() == eDeleted) { + // Switch to the next app in stack + topApp = removeTopApp(); + } - // Draw panel and top app - for (App* app : {panel, topApp}) { - if (app == panel) { - // Check if topApp is fullscreen. If it is, don't draw the panel - if (topApp->getFlags() & AppFlags::APP_FLAG_FULLSCREEN) { - continue; + // Draw panel and top app + for (App* app : {panel, topApp}) { + if (app == panel) { + // Check if topApp is fullscreen. If it is, don't draw the panel + if (topApp->getFlags() & AppFlags::APP_FLAG_FULLSCREEN) { + continue; + } } + app->acquireBackCanvas(); + // Draw toast message on app's canvas to prevent flickering + if (millis() < toastEndTime) { + renderToast(topApp->backCanvas); + } + if (app->needsRedraw()) { + lilka::display.drawCanvas(app->backCanvas); + app->markClean(); + } + app->releaseBackCanvas(); } - app->acquireBackCanvas(); - // Draw toast message on app's canvas to prevent flickering - if (millis() < toastEndTime) { - renderToast(topApp->backCanvas); - } - if (app->needsRedraw()) { - lilka::display.draw16bitRGBBitmap( - app->backCanvas->x(), - app->backCanvas->y(), - app->backCanvas->getFramebuffer(), - app->backCanvas->width(), - app->backCanvas->height() - ); - app->markClean(); - } - app->releaseBackCanvas(); } - xSemaphoreGive(mutex); + xSemaphoreGive(lock); taskYIELD(); } @@ -145,7 +178,7 @@ void AppManager::renderToast(lilka::Canvas* canvas) { /// Render panel and top app to the given canvas. /// Useful for taking screenshots. void AppManager::renderToCanvas(lilka::Canvas* canvas) { - xSemaphoreTake(mutex, portMAX_DELAY); + xSemaphoreTake(lock, portMAX_DELAY); // Draw panel and top app for (App* app : {panel, apps.back()}) { @@ -154,14 +187,14 @@ void AppManager::renderToCanvas(lilka::Canvas* canvas) { app->releaseBackCanvas(); } - xSemaphoreGive(mutex); + xSemaphoreGive(lock); } /// Display a toast message. void AppManager::startToast(String message, uint64_t duration) { - xSemaphoreTake(mutex, portMAX_DELAY); + xSemaphoreTake(lock, portMAX_DELAY); toastMessage = message; toastStartTime = millis(); toastEndTime = millis() + duration; - xSemaphoreGive(mutex); + xSemaphoreGive(lock); } diff --git a/firmware/keira/src/appmanager.h b/firmware/keira/src/appmanager.h index 8df66134..09e8945d 100644 --- a/firmware/keira/src/appmanager.h +++ b/firmware/keira/src/appmanager.h @@ -25,7 +25,7 @@ class AppManager { App* panel; std::vector apps; static AppManager* instance; - SemaphoreHandle_t mutex; + SemaphoreHandle_t lock; String toastMessage; uint64_t toastStartTime; diff --git a/firmware/keira/src/apps/gpiomanager.cpp b/firmware/keira/src/apps/gpiomanager.cpp index f9aa1add..07a0bc40 100644 --- a/firmware/keira/src/apps/gpiomanager.cpp +++ b/firmware/keira/src/apps/gpiomanager.cpp @@ -43,7 +43,7 @@ void GPIOManagerApp::run() { for (int i = 0; i < PIN_COUNT; i++) { menu.addItem( String(pinNo[i]) + (pinM[i] == INPUT ? " <- IN" : " -> OUT"), - pinM[i] == INPUT ? &input : &output, + pinM[i] == INPUT ? &input_img : &output_img, 0, pinData[i] == HIGH ? "HIGH" : "LOW" ); diff --git a/firmware/keira/src/apps/icons/.gitattributes b/firmware/keira/src/apps/icons/.gitattributes new file mode 100644 index 00000000..4689bbbe --- /dev/null +++ b/firmware/keira/src/apps/icons/.gitattributes @@ -0,0 +1 @@ +*.h linguist-generated diff --git a/firmware/keira/src/apps/icons/app.h b/firmware/keira/src/apps/icons/app.h index f587612e..aab6c769 100644 --- a/firmware/keira/src/apps/icons/app.h +++ b/firmware/keira/src/apps/icons/app.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t app_width = 24; -const uint16_t app_height = 24; -const uint16_t app[] = { +const uint16_t app_img_width = 24; +const uint16_t app_img_height = 24; +const uint16_t app_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/app_group.h b/firmware/keira/src/apps/icons/app_group.h index ea21ab8c..741fb87e 100644 --- a/firmware/keira/src/apps/icons/app_group.h +++ b/firmware/keira/src/apps/icons/app_group.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t app_group_width = 24; -const uint16_t app_group_height = 24; -const uint16_t app_group[] = { +const uint16_t app_group_img_width = 24; +const uint16_t app_group_img_height = 24; +const uint16_t app_group_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/battery.h b/firmware/keira/src/apps/icons/battery.h index 8f0f7992..d5fafea5 100644 --- a/firmware/keira/src/apps/icons/battery.h +++ b/firmware/keira/src/apps/icons/battery.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t battery_width = 16; -const uint16_t battery_height = 24; -const uint16_t battery[] = { +const uint16_t battery_img_width = 16; +const uint16_t battery_img_height = 24; +const uint16_t battery_img[] = { 0xf81f, 0xf81f, 0xf81f, diff --git a/firmware/keira/src/apps/icons/battery_absent.h b/firmware/keira/src/apps/icons/battery_absent.h index a3df7842..fed3957b 100644 --- a/firmware/keira/src/apps/icons/battery_absent.h +++ b/firmware/keira/src/apps/icons/battery_absent.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t battery_absent_width = 16; -const uint16_t battery_absent_height = 24; -const uint16_t battery_absent[] = { +const uint16_t battery_absent_img_width = 16; +const uint16_t battery_absent_img_height = 24; +const uint16_t battery_absent_img[] = { 0xf81f, 0xf81f, 0xf81f, diff --git a/firmware/keira/src/apps/icons/battery_danger.h b/firmware/keira/src/apps/icons/battery_danger.h index b7e13249..df215c8a 100644 --- a/firmware/keira/src/apps/icons/battery_danger.h +++ b/firmware/keira/src/apps/icons/battery_danger.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t battery_danger_width = 16; -const uint16_t battery_danger_height = 24; -const uint16_t battery_danger[] = { +const uint16_t battery_danger_img_width = 16; +const uint16_t battery_danger_img_height = 24; +const uint16_t battery_danger_img[] = { 0xf81f, 0xf81f, 0xf81f, diff --git a/firmware/keira/src/apps/icons/bin.h b/firmware/keira/src/apps/icons/bin.h index 83fcacd0..d98e5efe 100644 --- a/firmware/keira/src/apps/icons/bin.h +++ b/firmware/keira/src/apps/icons/bin.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t bin_width = 24; -const uint16_t bin_height = 24; -const uint16_t bin[] = { +const uint16_t bin_img_width = 24; +const uint16_t bin_img_height = 24; +const uint16_t bin_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/demos.h b/firmware/keira/src/apps/icons/demos.h index 2d22b5cc..8d57881b 100644 --- a/firmware/keira/src/apps/icons/demos.h +++ b/firmware/keira/src/apps/icons/demos.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t demos_width = 24; -const uint16_t demos_height = 24; -const uint16_t demos[] = { +const uint16_t demos_img_width = 24; +const uint16_t demos_img_height = 24; +const uint16_t demos_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/dev.h b/firmware/keira/src/apps/icons/dev.h index 44acb53a..5e0afb23 100644 --- a/firmware/keira/src/apps/icons/dev.h +++ b/firmware/keira/src/apps/icons/dev.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t dev_width = 24; -const uint16_t dev_height = 24; -const uint16_t dev[] = { +const uint16_t dev_img_width = 24; +const uint16_t dev_img_height = 24; +const uint16_t dev_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/folder.h b/firmware/keira/src/apps/icons/folder.h index 29b2cafb..148d2dc3 100644 --- a/firmware/keira/src/apps/icons/folder.h +++ b/firmware/keira/src/apps/icons/folder.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t folder_width = 24; -const uint16_t folder_height = 24; -const uint16_t folder[] = { +const uint16_t folder_img_width = 24; +const uint16_t folder_img_height = 24; +const uint16_t folder_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/hdd.h b/firmware/keira/src/apps/icons/hdd.h index d3f095c9..340397d6 100644 --- a/firmware/keira/src/apps/icons/hdd.h +++ b/firmware/keira/src/apps/icons/hdd.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t hdd_width = 24; -const uint16_t hdd_height = 24; -const uint16_t hdd[] = { +const uint16_t hdd_img_width = 24; +const uint16_t hdd_img_height = 24; +const uint16_t hdd_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/info.h b/firmware/keira/src/apps/icons/info.h index 04e038c7..419f33b5 100644 --- a/firmware/keira/src/apps/icons/info.h +++ b/firmware/keira/src/apps/icons/info.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t info_width = 24; -const uint16_t info_height = 24; -const uint16_t info[] = { +const uint16_t info_img_width = 24; +const uint16_t info_img_height = 24; +const uint16_t info_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/input.h b/firmware/keira/src/apps/icons/input.h index ffc13a61..d6fd1537 100644 --- a/firmware/keira/src/apps/icons/input.h +++ b/firmware/keira/src/apps/icons/input.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t input_width = 24; -const uint16_t input_height = 24; -const uint16_t input[] = { +const uint16_t input_img_width = 24; +const uint16_t input_img_height = 24; +const uint16_t input_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/js.h b/firmware/keira/src/apps/icons/js.h index 94d5c445..62350ee1 100644 --- a/firmware/keira/src/apps/icons/js.h +++ b/firmware/keira/src/apps/icons/js.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t js_width = 24; -const uint16_t js_height = 24; -const uint16_t js[] = { +const uint16_t js_img_width = 24; +const uint16_t js_img_height = 24; +const uint16_t js_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/lua.h b/firmware/keira/src/apps/icons/lua.h index 50efd211..ce5b5a3d 100644 --- a/firmware/keira/src/apps/icons/lua.h +++ b/firmware/keira/src/apps/icons/lua.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t lua_width = 24; -const uint16_t lua_height = 24; -const uint16_t lua[] = { +const uint16_t lua_img_width = 24; +const uint16_t lua_img_height = 24; +const uint16_t lua_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/memory.h b/firmware/keira/src/apps/icons/memory.h index 1bfae49e..4227fb2f 100644 --- a/firmware/keira/src/apps/icons/memory.h +++ b/firmware/keira/src/apps/icons/memory.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t memory_width = 24; -const uint16_t memory_height = 24; -const uint16_t memory[] = { +const uint16_t memory_img_width = 24; +const uint16_t memory_img_height = 24; +const uint16_t memory_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/nes.h b/firmware/keira/src/apps/icons/nes.h index d52de7d2..88e881db 100644 --- a/firmware/keira/src/apps/icons/nes.h +++ b/firmware/keira/src/apps/icons/nes.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t nes_width = 24; -const uint16_t nes_height = 24; -const uint16_t nes[] = { +const uint16_t nes_img_width = 24; +const uint16_t nes_img_height = 24; +const uint16_t nes_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/normalfile.h b/firmware/keira/src/apps/icons/normalfile.h index 4346607f..67d61ff6 100644 --- a/firmware/keira/src/apps/icons/normalfile.h +++ b/firmware/keira/src/apps/icons/normalfile.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t normalfile_width = 24; -const uint16_t normalfile_height = 24; -const uint16_t normalfile[] = { +const uint16_t normalfile_img_width = 24; +const uint16_t normalfile_img_height = 24; +const uint16_t normalfile_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/output.h b/firmware/keira/src/apps/icons/output.h index d01fbe21..51cc60a8 100644 --- a/firmware/keira/src/apps/icons/output.h +++ b/firmware/keira/src/apps/icons/output.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t output_width = 24; -const uint16_t output_height = 24; -const uint16_t output[] = { +const uint16_t output_img_width = 24; +const uint16_t output_img_height = 24; +const uint16_t output_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/ram.h b/firmware/keira/src/apps/icons/ram.h index 0080666d..32ebb2e2 100644 --- a/firmware/keira/src/apps/icons/ram.h +++ b/firmware/keira/src/apps/icons/ram.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t ram_width = 24; -const uint16_t ram_height = 24; -const uint16_t ram[] = { +const uint16_t ram_img_width = 24; +const uint16_t ram_img_height = 24; +const uint16_t ram_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/sdcard.h b/firmware/keira/src/apps/icons/sdcard.h index 574cf0c9..8666a443 100644 --- a/firmware/keira/src/apps/icons/sdcard.h +++ b/firmware/keira/src/apps/icons/sdcard.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t sdcard_width = 24; -const uint16_t sdcard_height = 24; -const uint16_t sdcard[] = { +const uint16_t sdcard_img_width = 24; +const uint16_t sdcard_img_height = 24; +const uint16_t sdcard_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/settings.h b/firmware/keira/src/apps/icons/settings.h index 338e1109..acb9ae0a 100644 --- a/firmware/keira/src/apps/icons/settings.h +++ b/firmware/keira/src/apps/icons/settings.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t settings_width = 24; -const uint16_t settings_height = 24; -const uint16_t settings[] = { +const uint16_t settings_img_width = 24; +const uint16_t settings_img_height = 24; +const uint16_t settings_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/wifi_0.h b/firmware/keira/src/apps/icons/wifi_0.h index 61150e9a..f22f3a1a 100644 --- a/firmware/keira/src/apps/icons/wifi_0.h +++ b/firmware/keira/src/apps/icons/wifi_0.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t wifi_0_width = 24; -const uint16_t wifi_0_height = 24; -const uint16_t wifi_0[] = { +const uint16_t wifi_0_img_width = 24; +const uint16_t wifi_0_img_height = 24; +const uint16_t wifi_0_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/wifi_1.h b/firmware/keira/src/apps/icons/wifi_1.h index 939dbc86..3b38cc39 100644 --- a/firmware/keira/src/apps/icons/wifi_1.h +++ b/firmware/keira/src/apps/icons/wifi_1.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t wifi_1_width = 24; -const uint16_t wifi_1_height = 24; -const uint16_t wifi_1[] = { +const uint16_t wifi_1_img_width = 24; +const uint16_t wifi_1_img_height = 24; +const uint16_t wifi_1_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/wifi_2.h b/firmware/keira/src/apps/icons/wifi_2.h index ab6ad780..8d42dba8 100644 --- a/firmware/keira/src/apps/icons/wifi_2.h +++ b/firmware/keira/src/apps/icons/wifi_2.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t wifi_2_width = 24; -const uint16_t wifi_2_height = 24; -const uint16_t wifi_2[] = { +const uint16_t wifi_2_img_width = 24; +const uint16_t wifi_2_img_height = 24; +const uint16_t wifi_2_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/wifi_3.h b/firmware/keira/src/apps/icons/wifi_3.h index ea179e86..1b4f1136 100644 --- a/firmware/keira/src/apps/icons/wifi_3.h +++ b/firmware/keira/src/apps/icons/wifi_3.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t wifi_3_width = 24; -const uint16_t wifi_3_height = 24; -const uint16_t wifi_3[] = { +const uint16_t wifi_3_img_width = 24; +const uint16_t wifi_3_img_height = 24; +const uint16_t wifi_3_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/wifi_connecting.h b/firmware/keira/src/apps/icons/wifi_connecting.h index 273b3d66..3315a72d 100644 --- a/firmware/keira/src/apps/icons/wifi_connecting.h +++ b/firmware/keira/src/apps/icons/wifi_connecting.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t wifi_connecting_width = 24; -const uint16_t wifi_connecting_height = 24; -const uint16_t wifi_connecting[] = { +const uint16_t wifi_connecting_img_width = 24; +const uint16_t wifi_connecting_img_height = 24; +const uint16_t wifi_connecting_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/icons/wifi_offline.h b/firmware/keira/src/apps/icons/wifi_offline.h index 2f255698..13e07082 100644 --- a/firmware/keira/src/apps/icons/wifi_offline.h +++ b/firmware/keira/src/apps/icons/wifi_offline.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t wifi_offline_width = 24; -const uint16_t wifi_offline_height = 24; -const uint16_t wifi_offline[] = { +const uint16_t wifi_offline_img_width = 24; +const uint16_t wifi_offline_img_height = 24; +const uint16_t wifi_offline_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/firmware/keira/src/apps/launcher.cpp b/firmware/keira/src/apps/launcher.cpp index 92627670..6d42cfd2 100644 --- a/firmware/keira/src/apps/launcher.cpp +++ b/firmware/keira/src/apps/launcher.cpp @@ -28,6 +28,7 @@ #include "ftp/ftp_server.h" #include "weather/weather.h" #include "modplayer/modplayer.h" +#include "liltracker/liltracker.h" #include "icons/demos.h" #include "icons/sdcard.h" @@ -68,6 +69,7 @@ ITEM_LIST app_items = { ITEM_APP("I2C-сканер", ScanI2CApp), ITEM_APP("GPIO-мененджер", GPIOManagerApp)}, ), + ITEM_APP("ЛілТрекер", LilTrackerApp), ITEM_APP("Летріс", LetrisApp), ITEM_APP("Тамагочі", TamagotchiApp), ITEM_APP("Погода", WeatherApp), @@ -80,12 +82,15 @@ ITEM_LIST dev_items = { }; void LauncherApp::run() { + for (lilka::Button button : {lilka::Button::UP, lilka::Button::DOWN, lilka::Button::LEFT, lilka::Button::RIGHT}) { + lilka::controller.setAutoRepeat(button, 10, 300); + } lilka::Menu menu("Головне меню"); - menu.addItem("Додатки", &demos, lilka::colors::Pink); - menu.addItem("Браузер SD-карти", &sdcard, lilka::colors::Arylide_yellow); - menu.addItem("Браузер SPIFFS", &memory, lilka::colors::Dark_sea_green); - menu.addItem("Розробка", &dev, lilka::colors::Jasmine); - menu.addItem("Налаштування", &settings, lilka::colors::Orchid); + menu.addItem("Додатки", &demos_img, lilka::colors::Pink); + menu.addItem("Браузер SD-карти", &sdcard_img, lilka::colors::Arylide_yellow); + menu.addItem("Браузер SPIFFS", &memory_img, lilka::colors::Dark_sea_green); + menu.addItem("Розробка", &dev_img, lilka::colors::Jasmine); + menu.addItem("Налаштування", &settings_img, lilka::colors::Orchid); while (1) { while (!menu.isFinished()) { @@ -112,7 +117,7 @@ void LauncherApp::appsMenu(const char* title, ITEM_LIST& list) { int itemCount = list.size(); lilka::Menu menu(title); for (int i = 0; i < list.size(); i++) { - menu.addItem(list[i].name, list[i].type == APP_ITEM_TYPE_SUBMENU ? &app_group : &app); + menu.addItem(list[i].name, list[i].type == APP_ITEM_TYPE_SUBMENU ? &app_group_img : &app_img); } menu.addItem("<< Назад"); while (1) { @@ -138,17 +143,17 @@ const menu_icon_t* get_file_icon(const String& filename) { String lowerCasedFileName = filename; lowerCasedFileName.toLowerCase(); if (lowerCasedFileName.endsWith(".rom") || lowerCasedFileName.endsWith(".nes")) { - return &nes; + return &nes_img; } else if (lowerCasedFileName.endsWith(".bin")) { - return &bin; + return &bin_img; } else if (lowerCasedFileName.endsWith(".lua")) { - return &lua; + return &lua_img; } else if (lowerCasedFileName.endsWith(".js")) { - return &js; + return &js_img; } else if (lowerCasedFileName.endsWith(".mod")) { return &music; } else { - return &normalfile; + return &normalfile_img; } } @@ -194,7 +199,7 @@ void LauncherApp::sdBrowserMenu(FS* fSysDriver, const String& path) { for (int i = 0; i < numEntries; i++) { String filename = entries[i].name; const menu_icon_t* icon = - entries[i].type == lilka::EntryType::ENT_DIRECTORY ? &folder : get_file_icon(filename); + entries[i].type == lilka::EntryType::ENT_DIRECTORY ? &folder_img : get_file_icon(filename); uint16_t color = entries[i].type == lilka::EntryType::ENT_DIRECTORY ? lilka::colors::Arylide_yellow : get_file_color(filename); if (entries[i].type != lilka::EntryType::ENT_DIRECTORY) @@ -275,6 +280,8 @@ void LauncherApp::selectFile(String path) { AppManager::getInstance()->runApp(new MJSApp(path)); } else if (lowerCasedPath.endsWith(".mod")) { AppManager::getInstance()->runApp(new ModPlayerApp(path)); + } else if (lowerCasedPath.endsWith(".lt")) { + AppManager::getInstance()->runApp(new LilTrackerApp(path)); } else { // Get file size // lilka::serial_log(path.c_str()); diff --git a/firmware/keira/src/apps/liltracker/config.h b/firmware/keira/src/apps/liltracker/config.h new file mode 100644 index 00000000..4027df85 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/config.h @@ -0,0 +1,6 @@ +#pragma once + +#define CHANNEL_COUNT 3 +#define DEFAULT_BPM 400 +#define CHANNEL_SIZE 32 +#define MAX_VOLUME 128 diff --git a/firmware/keira/src/apps/liltracker/effects.cpp b/firmware/keira/src/apps/liltracker/effects.cpp new file mode 100644 index 00000000..2574ebbd --- /dev/null +++ b/firmware/keira/src/apps/liltracker/effects.cpp @@ -0,0 +1,113 @@ +#include +#include + +#include "effects.h" +#include "note.h" + +void effect_none(float time, float relTime, float* frequency, float* amplitude, float* phase, uint8_t param) { + (void)time; + (void)relTime; + (void)frequency; + (void)amplitude; + (void)phase; + (void)param; +} + +void effect_arpeggio(float time, float relTime, float* frequency, float* amplitude, float* phase, uint8_t param) { + // This effect arpeggiates the note by changing the frequency of the note at a fixed interval. + // It mimics NES arpeggio that consists of up to 3 notes. + + (void)relTime; + (void)amplitude; + (void)param; + + constexpr uint8_t count = 3; // 3 notes + + uint8_t note2offset = (param & 0xF0) >> 4; + uint8_t note3offset = (param & 0x0F); + + // duration of each note in milliseconds is 1/60 of a second + float stepDurationMs = 1000.0f / 60.0f; + + // Calculate current arpeggio step + uint8_t step = ((int64_t)(time / (stepDurationMs / 1000.0f))) % count; + + if (step == 0) { + // No change + } else if (step == 1) { + // Use the second note + *frequency = modulate_frequency(*frequency, note2offset); + } else { + // Use the third note + *frequency = modulate_frequency(*frequency, note3offset); + } +} + +void effect_vibrato(float time, float relTime, float* frequency, float* amplitude, float* phase, uint8_t param) { + // This effect modulates the frequency of the note with a sine wave. + // Upper nibble of the parameter is the speed of the vibrato (in Hz) + // Lower nibble of the parameter is the depth of the vibrato (0 to 15, 0 = no vibrato, 15 = one full semitone vibrato) + + (void)relTime; + (void)frequency; + (void)amplitude; + + uint8_t vibratoFrequency = (param & 0xF0) >> 4; + uint8_t vibratoDepth = param & 0x0F; + + // Calculate the depth of vibrato in terms of radians + // TODO: This is not really correct: 1 unit of phase is not 1 semitone, but 1 Hz. + // So we should convert below value to Hz based on the current frequency of the note. + float phaseModulation = vibratoDepth / 15.0f * lilka::fSin360(time * vibratoFrequency * 360); + + // Apply the vibrato phase modulation + *phase += phaseModulation; +} + +void effect_tremolo(float time, float relTime, float* frequency, float* amplitude, float* phase, uint8_t param) { + // This effect modulates the amplitude of the note with a sine wave. + // Upper nibble of the parameter is the speed of the tremolo (in Hz) + // Lower nibble of the parameter is the depth of the tremolo (0 to 15, 0 = no tremolo, 15 = max tremolo) + + (void)time; + (void)relTime; + (void)frequency; + (void)phase; + + uint8_t tremoloFrequency = (param & 0xF0) >> 4; + uint8_t tremoloDepth = (param & 0x0F); + + // Calculate the tremolo into a range of 0.0 to 1.0 + float tremolo = (lilka::fSin360(time * tremoloFrequency * 360) + 1.0f) / 2.0f; + + // Apply the tremolo + *amplitude = *amplitude * (1.0f - tremolo * tremoloDepth / 15.0f); +} + +void effect_volume_slide(float time, float relTime, float* frequency, float* amplitude, float* phase, uint8_t param) { + // This effect slides the volume of the note. + // If upper nibble is 0, lower nibble is slide down speed (1s / value) + // If lower nibble is 0, upper nibble is slide up speed (1s / value) + // relTime is the relative time of when the effect started + + (void)time; + (void)frequency; + (void)phase; + + uint8_t slideUpSpeed = (param & 0xF0) >> 4; + uint8_t slideDownSpeed = param & 0x0F; + + float newAmplitude = *amplitude; + + if (slideUpSpeed == 0) { + // Slide down + newAmplitude = 1.0f - (relTime / (1.0f / slideDownSpeed)); + } else if (slideDownSpeed == 0) { + // Slide up + newAmplitude = relTime / (1.0f / slideUpSpeed); + } + + // Clamp the amplitude + // TODO: We should probably override the amplitude, and disable this effect if event volume is set in tracker? + *amplitude *= fminf(fmaxf(newAmplitude, 0.0f), 1.0f); +} diff --git a/firmware/keira/src/apps/liltracker/effects.h b/firmware/keira/src/apps/liltracker/effects.h new file mode 100644 index 00000000..0e4e6f2d --- /dev/null +++ b/firmware/keira/src/apps/liltracker/effects.h @@ -0,0 +1,61 @@ +#pragma once + +#include + +typedef enum : uint8_t { + EFFECT_TYPE_NONE, + EFFECT_TYPE_ARPEGGIO, // NES: 00xy + EFFECT_TYPE_VIBRATO, // NES: 04xy + EFFECT_TYPE_TREMOLO, // NES: 07xy + EFFECT_TYPE_VOLUME_SLIDE, // NES: 0Axy + EFFECT_TYPE_COUNT, +} effect_type_t; + +const effect_type_t effects[EFFECT_TYPE_COUNT] = { + EFFECT_TYPE_NONE, + EFFECT_TYPE_ARPEGGIO, + EFFECT_TYPE_VIBRATO, + EFFECT_TYPE_TREMOLO, + EFFECT_TYPE_VOLUME_SLIDE, +}; + +const char effect_signs[EFFECT_TYPE_COUNT] = { + '.', + 'A', + 'V', + 'T', + 'S', +}; + +typedef struct { + effect_type_t type; + uint8_t param; +} effect_t; + +typedef void (*effect_fn_t)( + const float time, const float relTime, float* frequency, float* amplitude, float* phase, uint8_t param +); + +void effect_none( + const float time, const float relTime, float* frequency, float* amplitude, float* phase, uint8_t param +); +void effect_arpeggio( + const float time, const float relTime, float* frequency, float* amplitude, float* phase, uint8_t param +); +void effect_vibrato( + const float time, const float relTime, float* frequency, float* amplitude, float* phase, uint8_t param +); +void effect_tremolo( + const float time, const float relTime, float* frequency, float* amplitude, float* phase, uint8_t param +); +void effect_volume_slide( + const float time, const float relTime, float* frequency, float* amplitude, float* phase, uint8_t param +); + +const effect_fn_t effect_functions[EFFECT_TYPE_COUNT] = { + effect_none, + effect_arpeggio, + effect_vibrato, + effect_tremolo, + effect_volume_slide, +}; diff --git a/firmware/keira/src/apps/liltracker/icons/.gitattributes b/firmware/keira/src/apps/liltracker/icons/.gitattributes new file mode 100644 index 00000000..4689bbbe --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/.gitattributes @@ -0,0 +1 @@ +*.h linguist-generated diff --git a/firmware/keira/src/apps/liltracker/icons/LilTrackerIcons.bdf b/firmware/keira/src/apps/liltracker/icons/LilTrackerIcons.bdf new file mode 100644 index 00000000..312d4e59 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/LilTrackerIcons.bdf @@ -0,0 +1,1315 @@ +STARTFONT 2.1 +COMMENT Exported by Fony v1.4.7 +FONT LilTrackerIcons +SIZE 13 96 96 +FONTBOUNDINGBOX 9 12 0 0 +STARTPROPERTIES 6 +COPYRIGHT "Created with Fony 1.4.7" +RESOLUTION_X 96 +RESOLUTION_Y 96 +FONT_ASCENT 13 +FONT_DESCENT 0 +DEFAULT_CHAR 0 +ENDPROPERTIES +CHARS 65 +STARTCHAR 000 +ENCODING 0 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 001 +ENCODING 1 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 002 +ENCODING 2 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 003 +ENCODING 3 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 004 +ENCODING 4 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 005 +ENCODING 5 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 006 +ENCODING 6 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 007 +ENCODING 7 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 008 +ENCODING 8 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 009 +ENCODING 9 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 010 +ENCODING 10 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 011 +ENCODING 11 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 012 +ENCODING 12 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 013 +ENCODING 13 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 014 +ENCODING 14 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 015 +ENCODING 15 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 016 +ENCODING 16 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 017 +ENCODING 17 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 018 +ENCODING 18 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 019 +ENCODING 19 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 020 +ENCODING 20 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 021 +ENCODING 21 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 022 +ENCODING 22 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 023 +ENCODING 23 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 024 +ENCODING 24 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 025 +ENCODING 25 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 026 +ENCODING 26 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 027 +ENCODING 27 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 028 +ENCODING 28 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 029 +ENCODING 29 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 030 +ENCODING 30 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 031 +ENCODING 31 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 032 +ENCODING 32 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 033 +ENCODING 33 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 034 +ENCODING 34 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 035 +ENCODING 35 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 036 +ENCODING 36 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 037 +ENCODING 37 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 038 +ENCODING 38 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 039 +ENCODING 39 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 040 +ENCODING 40 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 041 +ENCODING 41 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 042 +ENCODING 42 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 043 +ENCODING 43 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 044 +ENCODING 44 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 045 +ENCODING 45 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 046 +ENCODING 46 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 047 +ENCODING 47 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 048 +ENCODING 48 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +3E00 +2200 +2200 +2200 +2200 +E380 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 049 +ENCODING 49 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0800 +1880 +3980 +6B00 +CE00 +8C00 +0800 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 050 +ENCODING 50 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0800 +1C00 +3600 +6300 +C180 +8080 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 051 +ENCODING 51 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +7000 +D800 +8880 +0D80 +0700 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 052 +ENCODING 52 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0400 +4400 +5500 +5500 +B680 +AA80 +AA80 +2200 +0200 +0000 +0000 +ENDCHAR +STARTCHAR 053 +ENCODING 53 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 054 +ENCODING 54 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 055 +ENCODING 55 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 056 +ENCODING 56 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 057 +ENCODING 57 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 058 +ENCODING 58 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 059 +ENCODING 59 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 060 +ENCODING 60 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 061 +ENCODING 61 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 062 +ENCODING 62 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 063 +ENCODING 63 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +STARTCHAR 064 +ENCODING 64 +SWIDTH 648 0 +DWIDTH 9 0 +BBX 9 13 0 0 +BITMAP +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +0000 +ENDCHAR +ENDFONT diff --git a/firmware/keira/src/apps/liltracker/icons/LilTrackerIcons.fon b/firmware/keira/src/apps/liltracker/icons/LilTrackerIcons.fon new file mode 100644 index 00000000..3977e1b4 Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/LilTrackerIcons.fon differ diff --git a/firmware/keira/src/apps/liltracker/icons/Makefile b/firmware/keira/src/apps/liltracker/icons/Makefile new file mode 100644 index 00000000..21a602c1 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/Makefile @@ -0,0 +1,12 @@ +BDF = ./LilTrackerIcons.bdf +NAME = liltracker_icons +FONT = ./$(NAME).h + +all: $(FONT) + +$(FONT): $(BDF) + ./bdfconv -v -f 1 -b 2 $(BDF) -o $(FONT) -n $(NAME) + +.PHONY: clean +clean: + rm -f $(FONT) diff --git a/firmware/keira/src/apps/liltracker/icons/README.md b/firmware/keira/src/apps/liltracker/icons/README.md new file mode 100644 index 00000000..0fe8d9c7 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/README.md @@ -0,0 +1,4 @@ +This folder contains custom font glyphs for waveform icons (square, sine, etc). + +Fonts were created using fony: http://hukka.ncn.fi/?fony +Converted to U8g2 font using bdfconv: https://stncrn.github.io/u8g2-unifont-helper/bdfconv diff --git a/firmware/keira/src/apps/liltracker/icons/bdfconv b/firmware/keira/src/apps/liltracker/icons/bdfconv new file mode 100755 index 00000000..82fbe514 Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/bdfconv differ diff --git a/firmware/keira/src/apps/liltracker/icons/liltracker_icons.h b/firmware/keira/src/apps/liltracker/icons/liltracker_icons.h new file mode 100644 index 00000000..6439d36b --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/liltracker_icons.h @@ -0,0 +1,18 @@ +/* + Fontname: LilTrackerIcons + Copyright: Created with Fony 1.4.7 + Glyphs: 33/65 + BBX Build Mode: 2 +*/ +// clang-format off +const uint8_t liltracker_icons[298] U8G2_FONT_SECTION("liltracker_icons") = + "!\2\7\2\4\4\1\3\5\11\13\0\2\12\0\15\15\0\0\0\0\1\15 \6\271\235\307\0!\6\271" + "\235\307\0\42\6\271\235\307\0#\6\271\235\307\0$\6\271\235\307\0%\6\271\235\307\0&\6\271\235\307" + "\0'\6\271\235\307\0(\6\271\235\307\0)\6\271\235\307\0*\6\271\235\307\0+\6\271\235\307\0," + "\6\271\235\307\0-\6\271\235\307\0.\6\271\235\307\0/\6\271\235\307\0\60\25\271\235;\3\210\220A" + "\10\31\204\220A\10\31D\260\301$\0\61\25\271\235\77\71h\20\301\4\12(\220\200\11&\310@\207\64" + "\0\62\20\271\235\77\71\254\240\200\6\26Pa\207H\0\63\20\271\235K+( B\6EP@\205M" + "\0\64\31\271\235/!d\20B\2M\220@\27p\201\26P\240\23d\20D\4\0\65\6\271\235\307\0" + "\66\6\271\235\307\0\67\6\271\235\307\0\70\6\271\235\307\0\71\6\271\235\307\0:\6\271\235\307\0;\6" + "\271\235\307\0<\6\271\235\307\0=\6\271\235\307\0>\6\271\235\307\0\77\6\271\235\307\0@\6\271\235" + "\307\0\0\0\0\4\377\377\0"; diff --git a/firmware/keira/src/apps/liltracker/icons/noi.h b/firmware/keira/src/apps/liltracker/icons/noi.h new file mode 100644 index 00000000..162982f7 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/noi.h @@ -0,0 +1,125 @@ +// This is a generated file, do not edit. +// clang-format off +#include +const uint16_t noi_img_width = 9; +const uint16_t noi_img_height = 13; +const uint16_t noi_img[] = { + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, +}; +// clang-format on diff --git a/firmware/keira/src/apps/liltracker/icons/noi.png b/firmware/keira/src/apps/liltracker/icons/noi.png new file mode 100644 index 00000000..8b35ab57 Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/noi.png differ diff --git a/firmware/keira/src/apps/liltracker/icons/saw.h b/firmware/keira/src/apps/liltracker/icons/saw.h new file mode 100644 index 00000000..adcadc35 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/saw.h @@ -0,0 +1,125 @@ +// This is a generated file, do not edit. +// clang-format off +#include +const uint16_t saw_img_width = 9; +const uint16_t saw_img_height = 13; +const uint16_t saw_img[] = { + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, +}; +// clang-format on diff --git a/firmware/keira/src/apps/liltracker/icons/saw.png b/firmware/keira/src/apps/liltracker/icons/saw.png new file mode 100644 index 00000000..518987e2 Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/saw.png differ diff --git a/firmware/keira/src/apps/liltracker/icons/sin.h b/firmware/keira/src/apps/liltracker/icons/sin.h new file mode 100644 index 00000000..b1bea4f3 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/sin.h @@ -0,0 +1,125 @@ +// This is a generated file, do not edit. +// clang-format off +#include +const uint16_t sin_img_width = 9; +const uint16_t sin_img_height = 13; +const uint16_t sin_img[] = { + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, +}; +// clang-format on diff --git a/firmware/keira/src/apps/liltracker/icons/sin.png b/firmware/keira/src/apps/liltracker/icons/sin.png new file mode 100644 index 00000000..2adf57bf Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/sin.png differ diff --git a/firmware/keira/src/apps/liltracker/icons/sqr.h b/firmware/keira/src/apps/liltracker/icons/sqr.h new file mode 100644 index 00000000..8ef6144b --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/sqr.h @@ -0,0 +1,125 @@ +// This is a generated file, do not edit. +// clang-format off +#include +const uint16_t sqr_img_width = 9; +const uint16_t sqr_img_height = 13; +const uint16_t sqr_img[] = { + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, +}; +// clang-format on diff --git a/firmware/keira/src/apps/liltracker/icons/sqr.png b/firmware/keira/src/apps/liltracker/icons/sqr.png new file mode 100644 index 00000000..77c80f6a Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/sqr.png differ diff --git a/firmware/keira/src/apps/liltracker/icons/tri.h b/firmware/keira/src/apps/liltracker/icons/tri.h new file mode 100644 index 00000000..d761c76d --- /dev/null +++ b/firmware/keira/src/apps/liltracker/icons/tri.h @@ -0,0 +1,125 @@ +// This is a generated file, do not edit. +// clang-format off +#include +const uint16_t tri_img_width = 9; +const uint16_t tri_img_height = 13; +const uint16_t tri_img[] = { + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0xffff, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0xffff, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, + 0x0000, +}; +// clang-format on diff --git a/firmware/keira/src/apps/liltracker/icons/tri.png b/firmware/keira/src/apps/liltracker/icons/tri.png new file mode 100644 index 00000000..0245c003 Binary files /dev/null and b/firmware/keira/src/apps/liltracker/icons/tri.png differ diff --git a/firmware/keira/src/apps/liltracker/liltracker.cpp b/firmware/keira/src/apps/liltracker/liltracker.cpp new file mode 100644 index 00000000..32b9896f --- /dev/null +++ b/firmware/keira/src/apps/liltracker/liltracker.cpp @@ -0,0 +1,939 @@ +#include + +#include "liltracker.h" +#include "note.h" +#include "utils/defer.h" + +#include "icons/liltracker_icons.h" + +#define LILTRACKER_DIR "/liltracker" + +// Layout: +// - Title +// - Controls (3 columns, 2 rows) +// - Score header (3 columns) +// - Score (3 columns, rest of the screen) + +// Overall layout +constexpr int32_t ITEM_HEIGHT = 15; + +// Title +constexpr int32_t TITLE_HEIGHT = 20; + +// Controls +constexpr int32_t CONTROL_TOP = TITLE_HEIGHT; +constexpr int32_t CONTROL_ROWS = 3; +constexpr int32_t CONTROL_COLS = 3; +constexpr int32_t CONTROL_PADDING_LEFT = 32; +const int32_t CONTROL_WIDTH = (lilka::display.width() - CONTROL_PADDING_LEFT) / CONTROL_COLS; + +// Score header +constexpr int32_t SCORE_HEADER_TOP = CONTROL_TOP + ITEM_HEIGHT * CONTROL_ROWS; + +// Score +constexpr int32_t SCORE_TOP = SCORE_HEADER_TOP + ITEM_HEIGHT; +const int32_t SCORE_HEIGHT = lilka::display.height() - SCORE_TOP; +constexpr int32_t SCORE_ITEM_HEIGHT = ITEM_HEIGHT; +const uint8_t* FONT = FONT_8x13_MONO; +constexpr int32_t SCORE_COUNTER_WIDTH = 32; +const int32_t SCORE_EVENT_WIDTH = (lilka::display.width() - SCORE_COUNTER_WIDTH) / CHANNEL_COUNT; +const int32_t SCORE_ROW_COUNT = SCORE_HEIGHT / ITEM_HEIGHT; +const int32_t SCORE_MIDDLE_ROW_INDEX = SCORE_ROW_COUNT / 2; + +const uint8_t* FONT_ICONS = liltracker_icons; + +typedef enum : uint8_t { + BLOCK_CONTROLS, + BLOCK_EVENT_SCORE, + BLOCK_COUNT, +} active_block_t; + +typedef enum : uint8_t { + SEGMENT_NOTE, + SEGMENT_WAVEFORM, + SEGMENT_VOLUME, + SEGMENT_EFFECT, + SEGMENT_EFFECT_PARAM, + SEGMENT_COUNT, +} active_segment_t; + +typedef enum : uint8_t { + CONTROL_ROW_0_BUTTONS, + CONTROL_ROW_1_SETTINGS, + CONTROL_ROW_2_SETTINGS, + CONTROL_ROW_3_PATTERNS, + CONTROL_ROW_COUNT, +} control_row_t; + +typedef enum : uint8_t { + VISUALIZER_MODE_PER_CHANNEL, + VISUALIZER_MODE_MIXED, + VISUALIZER_MODE_COUNT, +} visualizer_mode_t; + +LilTrackerApp::LilTrackerApp() : + App("LilTracker", 0, 0, lilka::display.width(), lilka::display.height()), mixer(), sequencer(&mixer) { + this->setFlags(APP_FLAG_FULLSCREEN); + this->setCore(1); + this->setStackSize(16384); + this->initialPath = ""; +} + +LilTrackerApp::LilTrackerApp(String path) : LilTrackerApp() { + this->initialPath = lilka::fileutils.getLocalPathInfo(path).path; +} + +xSemaphoreHandle xMutex; + +void LilTrackerApp::run() { + Track track; + + if (initialPath.length()) { + loadTrack(&track, initialPath); + } + + int pageIndex = 0; + + int8_t activeBlock = BLOCK_EVENT_SCORE; + int scoreCursorX = 0; + int scoreCursorY = 0; + + bool isEditing = false; + bool isPreviewing = false; + + int controlCursorX = 0; + int controlCursorY = CONTROL_ROW_0_BUTTONS; + + int visualizerMode = VISUALIZER_MODE_PER_CHANNEL; + + event_t copiedEvent = {N_C0, WAVEFORM_CONT, MAX_VOLUME, EVENT_TYPE_CONT, {EFFECT_TYPE_NONE, 0}}; + + char str[64]; + + while (1) { + seq_state_t seqState = sequencer.getSeqState(); + + if (seqState.playing) { + scoreCursorY = seqState.eventIndex; + pageIndex = seqState.pageIndex; + } + + int currentChannel = scoreCursorX / SEGMENT_COUNT; + int currentSegment = scoreCursorX % SEGMENT_COUNT; + + page_t* page = track.getPage(pageIndex); + + canvas->fillScreen(lilka::colors::Black); + canvas->setFont(FONT); + + float masterVolume = mixer.getMasterVolume(); + + if (seqState.playing || isPreviewing) { + // Draw visualizer + float graphScale = 1.0f; + if (masterVolume > 0.01f) { + graphScale = 1.0f / masterVolume; + } else { + graphScale = 0.0f; + } + if (visualizerMode == VISUALIZER_MODE_PER_CHANNEL) { + // Draw per-channel buffers + for (int channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + int16_t buffer[MIXER_BUFFER_SIZE]; + mixer.readBuffer(buffer, channelIndex); + int16_t prevX, prevY; + int16_t minX = SCORE_COUNTER_WIDTH + channelIndex * SCORE_EVENT_WIDTH; + int16_t width = SCORE_EVENT_WIDTH; + + for (int i = 0; i < MIXER_BUFFER_SIZE; i += 4) { + int x = minX + i * width / MIXER_BUFFER_SIZE; + int index = i / 2; // Make samples wider for nicer display + float amplitude = static_cast(buffer[index]) / 32768.0f * graphScale; + int y = SCORE_HEADER_TOP / 2 - static_cast(amplitude * SCORE_HEADER_TOP / 2); + if (i > 0) { + canvas->drawLine(prevX, prevY, x, y, lilka::colors::White); + } + prevX = x; + prevY = y; + } + } + } else { + // Draw mixed buffer + int16_t buffer[MIXER_BUFFER_SIZE]; + mixer.readBuffer(buffer); + + int16_t prevX, prevY; + for (int i = 0; i < MIXER_BUFFER_SIZE; i++) { + int x = i * lilka::display.width() / MIXER_BUFFER_SIZE; + float amplitude = static_cast(buffer[i]) / 32768.0f * graphScale; + int y = SCORE_HEADER_TOP / 2 - static_cast(amplitude * SCORE_HEADER_TOP / 2); + if (i > 0) { + canvas->drawLine(prevX, prevY, x, y, lilka::colors::White); + } + prevX = x; + prevY = y; + } + } + } else { + // Draw title + canvas->setFont(FONT_10x20); + canvas->setTextColor(lilka::colors::Pink, lilka::colors::Pink); + sprintf(str, "ЛілТрекер by Андерсон"); + canvas->drawTextAligned( + str, lilka::display.width() / 2, TITLE_HEIGHT / 2, lilka::ALIGN_CENTER, lilka::ALIGN_CENTER + ); + + canvas->setFont(FONT); + + // Draw buttons (load/save/reset) + for (int i = 0; i < 3; i++) { + bool isFocused = + activeBlock == BLOCK_CONTROLS && controlCursorX == i && controlCursorY == CONTROL_ROW_0_BUTTONS; + const char* buttonText; + if (i == 0) { + buttonText = "Load"; + } else if (i == 1) { + buttonText = "Save"; + } else { + buttonText = "Reset"; + } + drawElement( + buttonText, + CONTROL_PADDING_LEFT + CONTROL_WIDTH * i, + CONTROL_TOP + ITEM_HEIGHT / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + isFocused && isEditing, + isFocused, + lilka::colors::Uranian_blue + ); + } + + // Draw current page index, BPM and length + sprintf(str, "Page: %02X", pageIndex); + bool isPageSelFocused = + activeBlock == BLOCK_CONTROLS && controlCursorX == 0 && controlCursorY == CONTROL_ROW_1_SETTINGS; + drawElement( + str, + CONTROL_PADDING_LEFT, + CONTROL_TOP + ITEM_HEIGHT * 3 / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + isPageSelFocused && isEditing, + isPageSelFocused, + lilka::colors::Uranian_blue + ); + + bool isBPMFocused = + activeBlock == BLOCK_CONTROLS && controlCursorX == 1 && controlCursorY == CONTROL_ROW_1_SETTINGS; + sprintf(str, "BPM: %3d", track.getBPM()); + drawElement( + str, + CONTROL_PADDING_LEFT + CONTROL_WIDTH, + CONTROL_TOP + ITEM_HEIGHT * 3 / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + isBPMFocused && isEditing, + isBPMFocused, + lilka::colors::Uranian_blue + ); + + bool isLengthFocused = + activeBlock == BLOCK_CONTROLS && controlCursorX == 2 && controlCursorY == CONTROL_ROW_1_SETTINGS; + sprintf(str, "Len: %3d", track.getPageCount()); + drawElement( + str, + CONTROL_PADDING_LEFT + CONTROL_WIDTH * 2, + CONTROL_TOP + ITEM_HEIGHT * 3 / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + isLengthFocused && isEditing, + isLengthFocused, + lilka::colors::Uranian_blue + ); + + // Draw 2 unused sections & master volume + bool isUnused0Focused = + activeBlock == BLOCK_CONTROLS && controlCursorX == 0 && controlCursorY == CONTROL_ROW_2_SETTINGS; + drawElement( + "-", + CONTROL_PADDING_LEFT, + CONTROL_TOP + ITEM_HEIGHT * 5 / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + false, + isUnused0Focused, + lilka::colors::Uranian_blue + ); + bool isUnused1Focused = + activeBlock == BLOCK_CONTROLS && controlCursorX == 1 && controlCursorY == CONTROL_ROW_2_SETTINGS; + drawElement( + "-", + CONTROL_PADDING_LEFT + CONTROL_WIDTH, + CONTROL_TOP + ITEM_HEIGHT * 5 / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + false, + isUnused1Focused, + lilka::colors::Uranian_blue + ); + sprintf(str, "Vol: %.0f%%", roundf(masterVolume * 100)); + bool isMasterVolumeFocused = + activeBlock == BLOCK_CONTROLS && controlCursorX == 2 && controlCursorY == CONTROL_ROW_2_SETTINGS; + drawElement( + str, + CONTROL_PADDING_LEFT + CONTROL_WIDTH * 2, + CONTROL_TOP + ITEM_HEIGHT * 5 / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + isMasterVolumeFocused && isEditing, + isMasterVolumeFocused, + masterVolume < 0.5 ? lilka::colors::Uranian_blue : lilka::colors::Red + ); + } + + // Draw channel waveform names + canvas->setTextBound(0, 0, canvas->width(), canvas->height()); + canvas->setTextColor(lilka::colors::White, lilka::colors::White); + canvas->drawTextAligned( + "##", SCORE_COUNTER_WIDTH / 2, SCORE_HEADER_TOP + ITEM_HEIGHT / 2, lilka::ALIGN_CENTER, lilka::ALIGN_CENTER + ); + + for (int channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + bool isChannelWaveformFocused = activeBlock == BLOCK_CONTROLS && controlCursorY == CONTROL_ROW_3_PATTERNS && + controlCursorX == channelIndex; + sprintf(str, "%02X", page->patternIndices[channelIndex]); + drawElement( + str, + SCORE_COUNTER_WIDTH + channelIndex * SCORE_EVENT_WIDTH, + SCORE_HEADER_TOP + ITEM_HEIGHT / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + isChannelWaveformFocused && isEditing, + isChannelWaveformFocused, + lilka::colors::Uranian_blue + ); + } + + for (int eventIndex = 0; eventIndex < CHANNEL_SIZE; eventIndex++) { + int scoreRowIndex = eventIndex - scoreCursorY + SCORE_MIDDLE_ROW_INDEX - 1; + if (scoreRowIndex < 0 || scoreRowIndex >= SCORE_ROW_COUNT) { + // Not visible + continue; + } + // Top coordinate of the score item on screen + int16_t y = SCORE_TOP + scoreRowIndex * SCORE_ITEM_HEIGHT; + // Draw score, with current event in the middle + if (eventIndex % 4 == 0) { + canvas->fillRect(0, y, canvas->width(), SCORE_ITEM_HEIGHT, lilka::colors::Delft_blue); + } + if (eventIndex == scoreCursorY && activeBlock == BLOCK_EVENT_SCORE) { + canvas->drawRect(0, y, canvas->width(), SCORE_ITEM_HEIGHT, lilka::colors::Blue); + } + canvas->setTextColor(lilka::colors::White, lilka::colors::White); + sprintf(str, "%2d", eventIndex); + canvas->drawTextAligned( + str, SCORE_COUNTER_WIDTH / 2, y + SCORE_ITEM_HEIGHT / 2, lilka::ALIGN_CENTER, lilka::ALIGN_CENTER + ); + for (int channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + Pattern* pattern = track.getPattern(page->patternIndices[channelIndex]); + event_t event = pattern->getChannelEvent(channelIndex, eventIndex); + int xOffset = SCORE_COUNTER_WIDTH + channelIndex * SCORE_EVENT_WIDTH; + if (event.type == EVENT_TYPE_CONT) { + strcpy(str, "..."); + } else if (event.type == EVENT_TYPE_NORMAL) { + strcpy(str, event.note.toStr()); + } else if (event.type == EVENT_TYPE_OFF) { + strcpy(str, "OFF"); + } else { + strcpy(str, "???"); + } + bool eventFocused = + activeBlock == BLOCK_EVENT_SCORE && channelIndex == currentChannel && scoreCursorY == eventIndex; + // Note + xOffset += drawElement( + str, + xOffset, + y + SCORE_ITEM_HEIGHT / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + eventFocused && isEditing, + eventFocused && currentSegment == SEGMENT_NOTE, + event.type == EVENT_TYPE_CONT ? lilka::colors::Battleship_gray : lilka::colors::White + ); + // Waveform + int8_t fontShiftY = 0; + if (event.waveform == WAVEFORM_CONT) { + sprintf(str, "."); + canvas->setFont(FONT); + } else { + sprintf(str, "%d", event.waveform - 1); + canvas->setFont(FONT_ICONS); + // I have absolutely no idea why does the icon font end up aligned incorrectly, and I'm too lazy to fix it properly. + fontShiftY = 3; + } + drawElement( + str, + xOffset, + y + SCORE_ITEM_HEIGHT / 2 + fontShiftY, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + eventFocused && isEditing, + eventFocused && currentSegment == SEGMENT_WAVEFORM, + event.waveform == WAVEFORM_CONT ? lilka::colors::Battleship_gray : lilka::colors::Cyan + ); + canvas->setFont(FONT); + xOffset += 9; + // Volume + if (event.volume == 0) { + sprintf(str, ".."); + } else { + sprintf(str, "%02X", event.volume); + } + xOffset += drawElement( + str, + xOffset, + y + SCORE_ITEM_HEIGHT / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + eventFocused && isEditing, + eventFocused && currentSegment == SEGMENT_VOLUME, + event.volume == 0 ? lilka::colors::Battleship_gray : lilka::colors::Green + ); + // Effect + sprintf(str, "%c", effect_signs[event.effect.type]); + xOffset += drawElement( + str, + xOffset, + y + SCORE_ITEM_HEIGHT / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + eventFocused && isEditing, + eventFocused && currentSegment == SEGMENT_EFFECT, + event.effect.type == EFFECT_TYPE_NONE ? lilka::colors::Battleship_gray : lilka::colors::Yellow + ); + // Effect param + sprintf(str, "%02X", event.effect.param); + xOffset += drawElement( + str, + xOffset, + y + SCORE_ITEM_HEIGHT / 2, + lilka::ALIGN_START, + lilka::ALIGN_CENTER, + eventFocused && isEditing, + eventFocused && currentSegment == SEGMENT_EFFECT_PARAM, + event.effect.type == EFFECT_TYPE_NONE ? lilka::colors::Battleship_gray : lilka::colors::Orange + ); + xOffset += 4; + (void)xOffset; + } + } + lilka::State state = lilka::controller.getState(); + + if (activeBlock == BLOCK_CONTROLS) { + if (isEditing) { + if (state.a.justPressed) { + // Exit edit mode + isEditing = false; + } + if (state.up.justPressed || state.down.justPressed || state.left.justPressed || + state.right.justPressed) { + if (controlCursorY == CONTROL_ROW_0_BUTTONS) { + // Unreachable + } else if (controlCursorY == CONTROL_ROW_1_SETTINGS) { + if (controlCursorX == 0) { + // Select page + if (state.up.justPressed || state.left.justPressed) { + pageIndex = (pageIndex - 1 + track.getPageCount()) % track.getPageCount(); + } else if (state.down.justPressed || state.right.justPressed) { + pageIndex = (pageIndex + 1) % track.getPageCount(); + } + } else if (controlCursorX == 1) { + // Adjust BPM + if (state.up.justPressed) { + track.setBPM(track.getBPM() + 1); + } else if (state.down.justPressed) { + track.setBPM(track.getBPM() - 1); + } else if (state.left.justPressed) { + track.setBPM(track.getBPM() - 5); + } else if (state.right.justPressed) { + track.setBPM(track.getBPM() + 5); + } + } else if (controlCursorX == 2) { + // Adjust length + if (state.up.justPressed) { + track.setPageCount(track.getPageCount() + 1); + } else if (state.down.justPressed) { + track.setPageCount(track.getPageCount() - 1); + if (pageIndex >= track.getPageCount()) { + // Adjust current page if it's out of bounds + pageIndex = track.getPageCount() - 1; + } + } + } + } else if (controlCursorY == CONTROL_ROW_2_SETTINGS) { + if (controlCursorX == 0) { + // No-op + } else if (controlCursorX == 1) { + // No-op + } else if (controlCursorX == 2) { + // Adjust master volume + if (state.up.justPressed) { + mixer.setMasterVolume(mixer.getMasterVolume() + 0.05); + } else if (state.down.justPressed) { + mixer.setMasterVolume(mixer.getMasterVolume() - 0.05); + } + } + } else if (controlCursorY == CONTROL_ROW_3_PATTERNS) { + // Select waveform for pattern's channel + if (state.left.justPressed) { + // Previous channel + controlCursorX = (controlCursorX - 1 + CHANNEL_COUNT) % CHANNEL_COUNT; + } else if (state.right.justPressed) { + // Next channel + controlCursorX = (controlCursorX + 1) % CHANNEL_COUNT; + } else if (state.up.justPressed) { + // Previous pattern + page->patternIndices[controlCursorX] = + (page->patternIndices[controlCursorX] - 1 + track.getPatternCount()) % + track.getPatternCount(); + } else if (state.down.justPressed) { + // Next pattern (auto-resize, unused patterns will not be saved) + page->patternIndices[controlCursorX]++; + } + } + } + } else { + if (state.a.justPressed) { + // Enter edit mode + + if (controlCursorY == CONTROL_ROW_0_BUTTONS) { + if (controlCursorX == 0) { + // Load + String filename = filePicker(false); + if (filename.length()) { + loadTrack(&track, filename); + pageIndex = 0; + scoreCursorX = 0; + scoreCursorY = 0; + } + } else if (controlCursorX == 1) { + // Save + String filename = filePicker(true); + if (filename.length()) { + saveTrack(&track, filename); + } + } else if (controlCursorX == 2) { + // Reset + if (confirm("Увага", "Очистити всі дані\nкомпозиції?")) { + track.reset(); + pageIndex = 0; + scoreCursorX = 0; + scoreCursorY = 0; + } + } + } else if (controlCursorY == CONTROL_ROW_2_SETTINGS && (controlCursorX == 0 || controlCursorX == 1)) { + // No-op + } else { + isEditing = true; + } + } + if (state.up.justPressed) { + // We add 1 to CONTROL_ROWS to account for the score header row which is not part of the control, but is managed by the same cursor + controlCursorY = (controlCursorY - 1 + (CONTROL_ROWS + 1)) % (CONTROL_ROWS + 1); + } else if (state.down.justPressed) { + controlCursorY = (controlCursorY + 1) % (CONTROL_ROWS + 1); + } else if (state.left.justPressed) { + // TODO: This assumes that control column count is the same as channel count + controlCursorX = (controlCursorX - 1 + CHANNEL_COUNT) % CHANNEL_COUNT; + } else if (state.right.justPressed) { + controlCursorX = (controlCursorX + 1) % CHANNEL_COUNT; + } + if (state.select.justPressed) { + activeBlock = (activeBlock + 1) % BLOCK_COUNT; + } + } + } else if (activeBlock == BLOCK_EVENT_SCORE) { + if (isEditing) { + // Edit mode + if (state.a.justPressed) { + // Exit edit mode + mixer.stop(); + isPreviewing = false; + isEditing = false; + } + if (state.up.justPressed || state.down.justPressed || state.left.justPressed || + state.right.justPressed || state.c.justPressed) { + // Adjust note + Pattern* pattern = track.getPattern(page->patternIndices[currentChannel]); + event_t event = pattern->getChannelEvent(currentChannel, scoreCursorY); + if (currentSegment == SEGMENT_NOTE) { + if (state.c.justPressed) { + event.type = static_cast((event.type + 1) % EVENT_TYPE_COUNT); + } else { + if (event.type != EVENT_TYPE_NORMAL) { + event.type = EVENT_TYPE_NORMAL; + // Find and use previous note (if any) + bool found = false; + for (int i = scoreCursorY - 1; i >= 0; i--) { + event_t prevEvent = pattern->getChannelEvent(currentChannel, i); + if (prevEvent.type == EVENT_TYPE_NORMAL) { + event.note = prevEvent.note; + found = true; + break; + } + } + if (!found) { + event.note = N_C0; + } + } + if (state.up.justPressed) { + event.note.add(1); + } else if (state.down.justPressed) { + event.note.add(-1); + } + if (state.left.justPressed) { + event.note.add(-12); + } else if (state.right.justPressed) { + event.note.add(12); + } + } + } else if (currentSegment == SEGMENT_WAVEFORM) { + // Adjust waveform + if (state.up.justPressed) { + event.waveform = static_cast((event.waveform + 1) % WAVEFORM_COUNT); + } else if (state.down.justPressed) { + event.waveform = + static_cast((event.waveform - 1 + WAVEFORM_COUNT) % WAVEFORM_COUNT); + } + } else if (currentSegment == SEGMENT_VOLUME) { + // Adjust volume + if (state.up.justPressed) { + event.volume = (event.volume + 1) % (MAX_VOLUME + 1); + } else if (state.down.justPressed) { + event.volume = (event.volume - 1 + (MAX_VOLUME + 1)) % (MAX_VOLUME + 1); + } + if (state.left.justPressed) { + event.volume = (event.volume - 16 + (MAX_VOLUME + 1)) % (MAX_VOLUME + 1); + } else if (state.right.justPressed) { + event.volume = (event.volume + 16) % (MAX_VOLUME + 1); + } + } else if (currentSegment == SEGMENT_EFFECT) { + // Adjust effect + if (state.up.justPressed) { + event.effect.type = static_cast((event.effect.type + 1) % EFFECT_TYPE_COUNT); + } else if (state.down.justPressed) { + event.effect.type = static_cast( + (event.effect.type - 1 + EFFECT_TYPE_COUNT) % EFFECT_TYPE_COUNT + ); + } + } else if (currentSegment == SEGMENT_EFFECT_PARAM) { + // Adjust effect param + if (state.up.justPressed) { + event.effect.param = (event.effect.param + 1) % 256; + } else if (state.down.justPressed) { + event.effect.param = (event.effect.param - 1 + 256) % 256; + } + if (state.left.justPressed) { + event.effect.param = (event.effect.param - 16 + 256) % 256; + } else if (state.right.justPressed) { + event.effect.param = (event.effect.param + 16) % 256; + } + } + pattern->setChannelEvent(currentChannel, scoreCursorY, event); + if (isPreviewing) { + // Update preview + startPreview(&track, page, currentChannel, scoreCursorY); + } + } + if (state.b.justPressed) { + // Play single event + startPreview(&track, page, currentChannel, scoreCursorY); + isPreviewing = true; + } else if (state.b.justReleased) { + // Stop playing single event + mixer.stop(); + isPreviewing = false; + } + } else { + // Normal mode + if (seqState.playing) { + // Is playing + scoreCursorY = seqState.eventIndex; + if (state.start.justPressed) { + // Stop playing + sequencer.stop(); + } + + if (state.select.justPressed) { + visualizerMode = (visualizerMode + 1) % VISUALIZER_MODE_COUNT; + } + + // Adjust master volume + if (state.up.justPressed) { + mixer.setMasterVolume(mixer.getMasterVolume() + 0.05); + } else if (state.down.justPressed) { + mixer.setMasterVolume(mixer.getMasterVolume() - 0.05); + } + } else { + // Not playing + if (state.b.justPressed) { + // Play all events from this row + startPreview(&track, page, -1, scoreCursorY); + isPreviewing = true; + } else if (state.b.justReleased) { + // Stop playing all events from this row + mixer.stop(); + isPreviewing = false; + } + + if (state.c.justPressed) { + // Copy event + Pattern* pattern = track.getPattern(page->patternIndices[currentChannel]); + copiedEvent = pattern->getChannelEvent(currentChannel, scoreCursorY); + } else if (state.d.justPressed) { + // Paste event + Pattern* pattern = track.getPattern(page->patternIndices[currentChannel]); + pattern->setChannelEvent(currentChannel, scoreCursorY, copiedEvent); + } + + if (state.a.justPressed) { + // Enter edit mode + mixer.stop(); + isEditing = true; + isPreviewing = false; + } + + if (state.up.justPressed) { + scoreCursorY = (scoreCursorY - 1 + CHANNEL_SIZE) % CHANNEL_SIZE; + } else if (state.down.justPressed) { + scoreCursorY = (scoreCursorY + 1) % CHANNEL_SIZE; + } else if (state.left.justPressed) { + scoreCursorX = + (scoreCursorX - 1 + CHANNEL_COUNT * SEGMENT_COUNT) % (CHANNEL_COUNT * SEGMENT_COUNT); + } else if (state.right.justPressed) { + scoreCursorX = (scoreCursorX + 1) % (CHANNEL_COUNT * SEGMENT_COUNT); + } + + if (state.start.justPressed) { + // Start playing + sequencer.play(&track, pageIndex, true); + } + if (state.a.justPressed) { + // Enter edit mode + isEditing = true; + } + if (state.select.justPressed && !isPreviewing) { + activeBlock = (activeBlock + 1) % BLOCK_COUNT; + } + } + } + if (state.select.justPressed && isPreviewing) { + visualizerMode = (visualizerMode + 1) % VISUALIZER_MODE_COUNT; + } + } + + queueDraw(); + } +} + +int LilTrackerApp::drawElement( + const char* text, int16_t x, int16_t y, lilka::Alignment hAlign, lilka::Alignment vAlign, bool editing, + bool focused, uint16_t color +) { + uint16_t textColor; + uint16_t fillColor; + uint16_t outlineColor; + if (focused) { + if (editing) { + textColor = lilka::colors::Black; + fillColor = color; + outlineColor = 0; + } else { + textColor = color; + fillColor = 0; + outlineColor = color; + } + } else { + textColor = color; + fillColor = 0; + outlineColor = 0; + } + canvas->setTextColor(textColor); + int16_t _x, _y; + uint16_t _w, _h; + canvas->getTextBoundsAligned(text, x, y, hAlign, vAlign, &_x, &_y, &_w, &_h); + if (fillColor) { + canvas->fillRect(_x, _y, _w, _h, fillColor); + } else if (outlineColor) { + canvas->drawRect(_x, _y, _w, _h, outlineColor); + } + return canvas->drawTextAligned(text, x, y, hAlign, vAlign); +} + +void LilTrackerApp::startPreview( + Track* track, page_t* page, int8_t requestedChannelIndex, uint16_t requestedEventIndex +) { + for (int channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + Pattern* pattern = track->getPattern(page->patternIndices[channelIndex]); + event_t event = pattern->getChannelEvent(channelIndex, requestedEventIndex); + bool shouldPlayThisChannel = requestedChannelIndex == -1 || requestedChannelIndex == channelIndex; + if (shouldPlayThisChannel && event.type == EVENT_TYPE_NORMAL) { + // Find waveform for this event by iterating up + waveform_t waveform = WAVEFORM_SQUARE; // Default to square if no waveform found + for (int i = requestedEventIndex; i >= 0; i--) { + event_t prevEvent = pattern->getChannelEvent(channelIndex, i); + if (prevEvent.waveform != WAVEFORM_CONT) { + waveform = prevEvent.waveform; + break; + } + } + mixer.start( + channelIndex, + waveform, + event.note.toFrequency(), + event.volume > 0 ? ((float)event.volume) / MAX_VOLUME : 1.0, + event.effect + ); + } + } +} + +void LilTrackerApp::alert(String title, String message) { + lilka::Alert alertDialog(title, message); + alertDialog.draw(canvas); + queueDraw(); + while (!alertDialog.isFinished()) { + alertDialog.update(); + } +} + +bool LilTrackerApp::confirm(String title, String message) { + lilka::Alert confirmDialog(title, message + "\n\n[START] - Так\n[A] - Ні"); + confirmDialog.addActivationButton(lilka::Button::START); + confirmDialog.draw(canvas); + queueDraw(); + while (!confirmDialog.isFinished()) { + confirmDialog.update(); + } + return confirmDialog.getButton() == lilka::Button::START; +} + +String LilTrackerApp::filePicker(bool isSave) { + // isSave determines whether we are writing to file or opening an existing one + + // List files + if (!SD.exists(LILTRACKER_DIR)) { + if (!SD.mkdir(LILTRACKER_DIR)) { + alert("Помилка", "Не вдалося створити директорію " LILTRACKER_DIR); + return ""; + } + } + File root = SD.open("/liltracker"); + if (!root) { + alert("Помилка", "Не вдалося відкрити директорію " LILTRACKER_DIR); + return ""; + } + + int fileCount = lilka::fileutils.getEntryCount(&SD, LILTRACKER_DIR); + if (fileCount == 0 && !isSave) { + alert("Помилка", "Директорія " LILTRACKER_DIR " порожня"); + return ""; + } + + lilka::Entry entries[fileCount]; + std::vector filenames; + lilka::fileutils.listDir(&SD, LILTRACKER_DIR, entries); + + lilka::Menu menu(isSave ? "Зберегти трек" : "Відкрити трек"); + if (isSave) { + menu.addItem("++ Створити новий"); + } + for (int i = 0; i < fileCount; i++) { + if (entries[i].type == lilka::EntryType::ENT_DIRECTORY) { + continue; + } + menu.addItem(entries[i].name); + filenames.push_back(entries[i].name); + } + menu.addItem("<< Назад"); + + while (!menu.isFinished()) { + menu.update(); + menu.draw(canvas); + queueDraw(); + } + + int16_t selectedItem = menu.getCursor(); + if (selectedItem == menu.getItemCount() - 1) { + // Back + return ""; + } + + if (isSave) { + if (selectedItem == 0) { + // Create new file + lilka::InputDialog dialog("Введіть назву файлу"); + while (1) { + dialog.update(); + dialog.draw(canvas); + queueDraw(); + if (dialog.isFinished()) { + String filename = dialog.getValue(); + filename.trim(); + if (filename.length() == 0) { + alert("Помилка", "Назва файлу не може бути порожньою"); + } else { + String lowerFilename = filename; + lowerFilename.toLowerCase(); + if (lowerFilename.endsWith(".lt")) { + filename.remove(filename.length() - 3); + } + filename += ".lt"; + return String(LILTRACKER_DIR) + "/" + filename; + } + } + } + } else { + // Save to existing file + selectedItem--; // Skip the "Create new" item + return String(LILTRACKER_DIR) + "/" + filenames[selectedItem]; + } + } else { + // Open existing file + return String(LILTRACKER_DIR) + "/" + filenames[selectedItem]; + } +} + +void LilTrackerApp::loadTrack(Track* track, String filename) { + File file = SD.open(filename, FILE_READ); + if (!file) { + alert("Помилка", "Не вдалося відкрити файл " + filename); + return; + } + Defer closeFile([&file]() { file.close(); }); + uint8_t* buff = new uint8_t[file.size()]; + std::unique_ptr buffPtr(buff); + file.read(buff, file.size()); + track->readFromBuffer(buff); +} + +void LilTrackerApp::saveTrack(Track* track, String filename) { + if (SD.exists(filename)) { + // Remove existing file + if (!SD.remove(filename)) { + alert("Помилка", "Не вдалося видалити файл " + filename); + return; + } + } + File file = SD.open(filename, FILE_WRITE); + if (!file) { + alert("Помилка", "Не вдалося відкрити файл " + filename); + return; + } + Defer closeFile([&file]() { file.close(); }); + uint8_t* buff = new uint8_t[track->calculateWriteBufferSize()]; + std::unique_ptr buffPtr(buff); + track->writeToBuffer(buff); + file.write(buff, track->calculateWriteBufferSize()); +} diff --git a/firmware/keira/src/apps/liltracker/liltracker.h b/firmware/keira/src/apps/liltracker/liltracker.h new file mode 100644 index 00000000..06f297d3 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/liltracker.h @@ -0,0 +1,27 @@ +#pragma once + +#include "app.h" +#include "sequencer.h" + +class LilTrackerApp : public App { +public: + LilTrackerApp(); + explicit LilTrackerApp(String path); + +private: + Mixer mixer; + Sequencer sequencer; + void run() override; + int drawElement( + const char* text, int16_t x, int16_t y, lilka::Alignment hAlign, lilka::Alignment vAlign, bool editing, + bool focused, uint16_t color + ); + void startPreview(Track* track, page_t* page, int8_t requestedChannelIndex, uint16_t requestedEventIndex); + void alert(String title, String message); + bool confirm(String title, String message); + String filePicker(bool isSave); + void loadTrack(Track* track, String path); + void saveTrack(Track* track, String path); + + String initialPath; +}; diff --git a/firmware/keira/src/apps/liltracker/mixer.cpp b/firmware/keira/src/apps/liltracker/mixer.cpp new file mode 100644 index 00000000..40629d50 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/mixer.cpp @@ -0,0 +1,256 @@ +#include +#include +#include +// #include "WiFi.h" +#include "mixer.h" +#include "config.h" +#include "utils/acquire.h" + +typedef struct { + waveform_t waveform; + float frequency; + float volume; + // TODO: Research how effects should generally be handled in NES, since things seem weird: + // some effects are cancelled by others, some are reset by OFF, etc... /AD + effect_t effect; + float effectStartTime; + // float time; // TODO +} channel_state_t; + +Mixer::Mixer() : + xMutex(xSemaphoreCreateMutex()), + xQueue(xQueueCreate(CHANNEL_COUNT * MIXER_COMMAND_COUNT, sizeof(mixer_command_t))), + masterVolume(0.25) { + constexpr uint8_t pinCount = 3; + uint8_t pins[pinCount] = {LILKA_I2S_BCLK, LILKA_I2S_LRCK, LILKA_I2S_DOUT}; + uint8_t funcs[pinCount] = {I2S0O_BCK_OUT_IDX, I2S0O_WS_OUT_IDX, I2S0O_SD_OUT_IDX}; + for (int i = 0; i < pinCount; i++) { + gpio_pad_select_gpio(pins[i]); + gpio_set_direction((gpio_num_t)pins[i], GPIO_MODE_OUTPUT); + gpio_matrix_out(pins[i], funcs[i], false, false); + } + + esp_i2s::i2s_config_t cfg = { + .mode = (esp_i2s::i2s_mode_t)(esp_i2s::I2S_MODE_MASTER | esp_i2s::I2S_MODE_TX), + .sample_rate = SAMPLE_RATE, + .bits_per_sample = esp_i2s::I2S_BITS_PER_SAMPLE_16BIT, + .channel_format = esp_i2s::I2S_CHANNEL_FMT_ONLY_LEFT, + .communication_format = + (esp_i2s::i2s_comm_format_t)(esp_i2s::I2S_COMM_FORMAT_STAND_I2S | esp_i2s::I2S_COMM_FORMAT_STAND_MSB), + .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, + .dma_buf_count = 4, + .dma_buf_len = MIXER_BUFFER_SIZE, + .use_apll = false, + .tx_desc_auto_clear = true, + }; + if (esp_i2s::i2s_driver_install(esp_i2s::I2S_NUM_0, &cfg, 0, NULL) != ESP_OK) { + lilka::serial_err("Failed to install I2S driver"); + return; + } + if (esp_i2s::i2s_zero_dma_buffer(esp_i2s::I2S_NUM_0) != ESP_OK) { + lilka::serial_err("Failed to zero I2S DMA buffer"); + return; + } + + // Free up the core 0 for the mixer task + // WiFi.mode(WIFI_OFF); + // esp_wifi_stop(); + // esp_wifi_deinit(); + // esp_bt_controller_disable(); + // esp_bt_controller_deinit(); + + xTaskCreatePinnedToCore( + [](void* pvParameters) { + static_cast(pvParameters)->mixerTask(); + vTaskDelete(NULL); + }, + "mixerTask", + 8192, + this, + 1, + nullptr, + 0 + ); + + xSemaphoreGive(xMutex); +} + +Mixer::~Mixer() { + vQueueDelete(xQueue); + vSemaphoreDelete(xMutex); +} + +void Mixer::sendCommand(const mixer_command_t command) { + xQueueSend(xQueue, &command, portMAX_DELAY); +} + +void Mixer::start(uint8_t channelIndex, waveform_t waveform, float frequency, float volume, effect_t effect) { + mixer_command_t cmd; + cmd.channelIndex = channelIndex; + cmd.type = MIXER_COMMAND_SET_WAVEFORM; + cmd.waveform = waveform; + sendCommand(cmd); + cmd.type = MIXER_COMMAND_SET_FREQUENCY; + cmd.frequency = frequency; + sendCommand(cmd); + cmd.type = MIXER_COMMAND_SET_VOLUME; + cmd.volume = volume; + sendCommand(cmd); + cmd.type = MIXER_COMMAND_SET_EFFECT; + cmd.effect = effect; + sendCommand(cmd); +} + +void Mixer::stop() { + // start(NULL, 0); + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + mixer_command_t request = {channelIndex, MIXER_COMMAND_SET_OFF}; + xQueueSend(xQueue, &request, portMAX_DELAY); + } +} + +void Mixer::reset() { + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + mixer_command_t cmd; + cmd.channelIndex = channelIndex; + cmd.type = MIXER_COMMAND_SET_WAVEFORM; + cmd.waveform = WAVEFORM_SQUARE; + sendCommand(cmd); + cmd.type = MIXER_COMMAND_SET_FREQUENCY; + cmd.frequency = 0.0f; + sendCommand(cmd); + cmd.type = MIXER_COMMAND_SET_VOLUME; + cmd.volume = 1.0f; + sendCommand(cmd); + cmd.type = MIXER_COMMAND_SET_EFFECT; + cmd.effect = {EFFECT_TYPE_NONE, 0}; + sendCommand(cmd); + } +} + +void Mixer::mixerTask() { + channel_state_t channelStates[CHANNEL_COUNT]; + int16_t audioBuffer[MIXER_BUFFER_SIZE]; + int16_t channelAudioBuffers[CHANNEL_COUNT][MIXER_BUFFER_SIZE]; + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + channelStates[channelIndex] = {WAVEFORM_SQUARE, 0.0, 1.0, {EFFECT_TYPE_NONE, 0}}; + } + + int64_t time = 0; + while (1) { // TODO: make this stoppable + // TODO: Handle envelopes, effects and stuff in this loop + // Check if queue has a new pattern and event index to play + // start_request_t request; + mixer_command_t command; + while (xQueueReceive(xQueue, &command, 0) == pdTRUE) { + // channelStates[request.channelIndex] = {request.waveform, request.frequency, request.volume, request.effect}; + if (command.type == MIXER_COMMAND_SET_WAVEFORM) { + channelStates[command.channelIndex].waveform = command.waveform; + } else if (command.type == MIXER_COMMAND_SET_FREQUENCY) { + channelStates[command.channelIndex].frequency = command.frequency; + } else if (command.type == MIXER_COMMAND_SET_VOLUME) { + channelStates[command.channelIndex].volume = command.volume; + } else if (command.type == MIXER_COMMAND_SET_EFFECT) { + channelStates[command.channelIndex].effect = command.effect; + channelStates[command.channelIndex].effectStartTime = ((float)time) / SAMPLE_RATE; + } else if (command.type == MIXER_COMMAND_SET_OFF) { + channelStates[command.channelIndex].frequency = 0.0f; + } + } + // Mix the channels + float _masterVolume; + { + Acquire lock(xMutex); + _masterVolume = masterVolume; + } + int64_t mixStart = millis(); + // float timeSec = (float)time / SAMPLE_RATE; + for (int16_t i = 0; i < MIXER_BUFFER_SIZE; i++) { + float timeSec = ((float)time + i) / SAMPLE_RATE; + // timeSec += SECONDS_PER_SAMPLE; + // audioBuffer[i] = 0; + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + // event_t event = events[channelIndex]; + const channel_state_t* channelState = &channelStates[channelIndex]; + waveform_fn_t waveform_fn = waveform_functions[channelState->waveform]; + float relTime = timeSec - channelState->effectStartTime; + float modFrequency = channelState->frequency; + if (modFrequency == 0.0f) { + channelAudioBuffers[channelIndex][i] = 0; + } else { + float modVolume = channelState->volume; + float modPhase = 0.0; + effect_t effect = channelState->effect; + effect_fn_t effect_fn = effect_functions[effect.type]; + effect_fn(timeSec, relTime, &modFrequency, &modVolume, &modPhase, effect.param); + channelAudioBuffers[channelIndex][i] = + waveform_fn(timeSec, modFrequency, modVolume, modPhase) * _masterVolume * 32767; + } + } + // audioBuffer[i] /= CHANNEL_COUNT; + } + { + Acquire lock(xMutex); + for (int16_t i = 0; i < MIXER_BUFFER_SIZE; i++) { + audioBuffer[i] = 0; + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + audioBuffer[i] += channelAudioBuffers[channelIndex][i]; + } + audioBuffer[i] /= CHANNEL_COUNT; + } + } + int64_t mixEnd = millis(); + // Check if time spent mixing is more than the duration of the buffer + // Duration of the buffer in microseconds: 1 / SAMPLE_RATE * 1000 * MIXER_BUFFER_SIZE + // For 256-sample buffer at 8 kHz, it is 32000 microseconds + if (mixEnd - mixStart > MIXER_BUFFER_DURATION_MS) { + lilka::serial_err( + "Mixer buffer underrun! Spent %lld ms mixing, had %d ms", mixEnd - mixStart, MIXER_BUFFER_DURATION_MS + ); + } else { + // lilka::serial_log("Mixer buffer mix took %lld ms", mixEnd - mixStart); + } + + size_t bytesWritten = 0; + esp_i2s::i2s_write(esp_i2s::I2S_NUM_0, audioBuffer, MIXER_BUFFER_SIZE * 2, &bytesWritten, portMAX_DELAY); + { + Acquire lock(xMutex); + memcpy(audioBufferCopy, audioBuffer, sizeof(int16_t) * MIXER_BUFFER_SIZE); + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + memcpy( + channelAudioBuffersCopy[channelIndex], + channelAudioBuffers[channelIndex], + sizeof(int16_t) * MIXER_BUFFER_SIZE + ); + } + } + time += bytesWritten / 2; + // taskYIELD(); + vTaskDelay(1); // Needed to wait for UI to be able to acquire the mutex... Probably can go back to taskYIELD now + } + + // TODO: Make this part reachable & deinit I2S + i2s_driver_uninstall(esp_i2s::I2S_NUM_0); +} + +int16_t Mixer::readBuffer(int16_t* targetBuffer) { + Acquire lock(xMutex); + memcpy(targetBuffer, audioBufferCopy, sizeof(int16_t) * MIXER_BUFFER_SIZE); + return MIXER_BUFFER_SIZE; +} + +int16_t Mixer::readBuffer(int16_t* targetBuffer, uint8_t channelIndex) { + Acquire lock(xMutex); + memcpy(targetBuffer, channelAudioBuffersCopy[channelIndex], sizeof(int16_t) * MIXER_BUFFER_SIZE); + return MIXER_BUFFER_SIZE; +} + +void Mixer::setMasterVolume(float volume) { + Acquire lock(xMutex); + masterVolume = fmaxf(0.0f, fminf(1.0f, volume)); +} + +float Mixer::getMasterVolume() { + Acquire lock(xMutex); + return masterVolume; +} diff --git a/firmware/keira/src/apps/liltracker/mixer.h b/firmware/keira/src/apps/liltracker/mixer.h new file mode 100644 index 00000000..d7e22a95 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/mixer.h @@ -0,0 +1,58 @@ +#pragma once + +#include "FreeRTOS.h" +#include +#include +#include "config.h" +#include "waveforms.h" +#include "effects.h" + +#define MIXER_BUFFER_SIZE 512 +#define SAMPLE_RATE 44100 +#define MIXER_BUFFER_DURATION_MS (MIXER_BUFFER_SIZE * 1000 / SAMPLE_RATE) +#define SECONDS_PER_SAMPLE (1.0f / SAMPLE_RATE) + +typedef enum : uint8_t { + MIXER_COMMAND_SET_WAVEFORM, + MIXER_COMMAND_SET_FREQUENCY, + MIXER_COMMAND_SET_VOLUME, + MIXER_COMMAND_SET_EFFECT, + MIXER_COMMAND_SET_OFF, + MIXER_COMMAND_COUNT, +} mixer_command_type_t; + +typedef struct { + uint8_t channelIndex; + mixer_command_type_t type; + union { + waveform_t waveform; + float frequency; + float volume; + effect_t effect; + }; +} mixer_command_t; + +class Mixer { +public: + Mixer(); + ~Mixer(); + void sendCommand(const mixer_command_t command); + void start( + uint8_t channelIndex, waveform_t waveforms, float frequency, float volume, + effect_t effect = {EFFECT_TYPE_NONE, 0} + ); + void stop(); + void reset(); + int16_t readBuffer(int16_t* targetBuffer); + int16_t readBuffer(int16_t* targetBuffer, uint8_t channelIndex); + void setMasterVolume(float volume); + float getMasterVolume(); + +private: + SemaphoreHandle_t xMutex; + QueueHandle_t xQueue; + void mixerTask(); + int16_t audioBufferCopy[MIXER_BUFFER_SIZE]; + int16_t channelAudioBuffersCopy[CHANNEL_COUNT][MIXER_BUFFER_SIZE]; + float masterVolume; +}; diff --git a/firmware/keira/src/apps/liltracker/note.cpp b/firmware/keira/src/apps/liltracker/note.cpp new file mode 100644 index 00000000..ea1586fb --- /dev/null +++ b/firmware/keira/src/apps/liltracker/note.cpp @@ -0,0 +1,90 @@ +#include +#include + +#include "note.h" + +const char* note_names[] = {"C-", "C#", "D-", "D#", "E-", "F-", "F#", "G-", "G#", "A-", "A#", "B-"}; + +// Function to convert frequency to the nearest musical note, starting from A0 and ending with B9 +#define A4_FREQUENCY 440.0f + +// Define the number of notes in an octave +#define NOTES_PER_OCTAVE 12 + +// Define the number of octaves +#define OCTAVES 10 + +// Define the number of notes in total +#define TOTAL_NOTES (NOTES_PER_OCTAVE * OCTAVES) + +void noteinfo_t::fromFrequency(float frequency) { + // 16.35 Hz is the lowest note, which is C0 (returned as octave 0, index 0) + int absIndex = round(log2(frequency / A4_FREQUENCY) * NOTES_PER_OCTAVE) + 57; + + if (absIndex < 0) { + absIndex = 0; + } + if (absIndex >= TOTAL_NOTES) { + absIndex = TOTAL_NOTES - 1; + } + + index = absIndex % NOTES_PER_OCTAVE; + octave = absIndex / NOTES_PER_OCTAVE; +} + +// Function to convert musical note to frequency +float noteinfo_t::toFrequency() { + // C0 is the lowest note, which is index 0 (as opposed to MIDI's 12) + int16_t absIndex = octave * NOTES_PER_OCTAVE + index; + if (absIndex < 0) { + absIndex = 0; + } + + return A4_FREQUENCY * powf(2.0, ((float)(absIndex - 57)) / 12.0f); +} + +// Function to convert note to string +char* noteinfo_t::toStr() { + static char buffer[4]; + sprintf(buffer, "%s%d", note_names[index], octave); + return buffer; +} + +void noteinfo_t::add(int16_t semitoneCount) { + // Calculate the new index + int absIndex = octave * NOTES_PER_OCTAVE + index; + absIndex += semitoneCount; + + if (absIndex < 0) { + absIndex = 0; + } + if (absIndex >= TOTAL_NOTES) { + absIndex = TOTAL_NOTES - 1; + } + + // Update the note + index = absIndex % NOTES_PER_OCTAVE; + octave = absIndex / NOTES_PER_OCTAVE; +} + +float pow2table[12 * 10 * 2 + 1] = { + 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.002, 0.002, 0.002, 0.002, 0.002, + 0.002, 0.002, 0.002, 0.002, 0.003, 0.003, 0.003, 0.003, 0.003, 0.003, 0.004, 0.004, 0.004, + 0.004, 0.005, 0.005, 0.005, 0.006, 0.006, 0.006, 0.007, 0.007, 0.007, 0.008, 0.008, 0.009, + 0.009, 0.010, 0.010, 0.011, 0.012, 0.012, 0.013, 0.014, 0.015, 0.016, 0.017, 0.018, 0.019, + 0.020, 0.021, 0.022, 0.023, 0.025, 0.026, 0.028, 0.029, 0.031, 0.033, 0.035, 0.037, 0.039, + 0.042, 0.044, 0.047, 0.050, 0.053, 0.056, 0.059, 0.062, 0.066, 0.070, 0.074, 0.079, 0.083, + 0.088, 0.094, 0.099, 0.105, 0.111, 0.118, 0.125, 0.132, 0.140, 0.149, 0.157, 0.167, 0.177, + 0.187, 0.198, 0.210, 0.223, 0.236, 0.250, 0.265, 0.281, 0.297, 0.315, 0.334, 0.354, 0.375, + 0.397, 0.420, 0.445, 0.472, 0.500, 0.530, 0.561, 0.595, 0.630, 0.667, 0.707, 0.749, 0.794, + 0.841, 0.891, 0.944, 1.000, 1.059, 1.122, 1.189, 1.260, 1.335, 1.414, 1.498, 1.587, 1.682, + 1.782, 1.888, 2.000, 2.119, 2.245, 2.378, 2.520, 2.670, 2.828, 2.997, 3.175, 3.364, 3.564, + 3.775, 4.000, 4.238, 4.490, 4.757, 5.040, 5.339, 5.657, 5.993, 6.350, 6.727, 7.127, 7.551, + 8.000, 8.476, 8.980, 9.514, 10.079, 10.679, 11.314, 11.986, 12.699, 13.454, 14.254, 15.102, 16.000, + 16.951, 17.959, 19.027, 20.159, 21.357, 22.627, 23.973, 25.398, 26.909, 28.509, 30.204, 32.000, 33.903, + 35.919, 38.055, 40.317, 42.715, 45.255, 47.946, 50.797, 53.817, 57.018, 60.408, 64.000, 67.806, 71.838, + 76.109, 80.635, 85.430, 90.510, 95.892, 101.594, 107.635, 114.035, 120.816, 128.000, 135.611, 143.675, 152.219, + 161.270, 170.859, 181.019, 191.783, 203.187, 215.269, 228.070, 241.632, 256.000, 271.223, 287.350, 304.437, 322.540, + 341.719, 362.039, 383.567, 406.375, 430.539, 456.140, 483.264, 512.000, 542.445, 574.701, 608.874, 645.079, 683.438, + 724.077, 767.133, 812.750, 861.078, 912.280, 966.528, 1024.000 +}; diff --git a/firmware/keira/src/apps/liltracker/note.h b/firmware/keira/src/apps/liltracker/note.h new file mode 100644 index 00000000..43c0edf5 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/note.h @@ -0,0 +1,191 @@ +#pragma once + +// #include +#include + +typedef struct noteinfo_t { + uint8_t index; // [0;11] + uint8_t octave; + char* toStr(); + void add(int16_t semitoneCount); + void fromFrequency(float frequency); + float toFrequency(); +} noteinfo_t; + +// inline float modulate_frequency(int16_t frequency, int16_t semitoneCount) { +// return frequency * powf(2.0f, semitoneCount / 12.0f); +// } + +// Lookup table for powers of 2 in range [-10;10] with a step of 1/12 +extern float pow2table[12 * 10 * 2 + 1]; + +inline float modulate_frequency(float frequency, float semitoneCount) { + int index = semitoneCount + 12 * 10; + if (index < 0) { + index = 0; + } else if (index > 12 * 10 * 2) { + index = 12 * 10 * 2; + } + return frequency * pow2table[index]; + // int index = semitoneCount + 12; + // if (index < 0) { + // index = 0; + // } else if (index > 24) { + // index = 24; + // } + // + // return frequency * pow2table[index][0] / pow2table[index][1]; +} + +#define N_C0 \ + { 0, 0 } + +#define N_C1 \ + { 0, 1 } +#define N_CS1 \ + { 1, 1 } +#define N_D1 \ + { 2, 1 } +#define N_DS1 \ + { 3, 1 } +#define N_E1 \ + { 4, 1 } +#define N_F1 \ + { 5, 1 } +#define N_FS1 \ + { 6, 1 } +#define N_G1 \ + { 7, 1 } +#define N_GS1 \ + { 8, 1 } +#define N_A1 \ + { 9, 1 } +#define N_AS1 \ + { 10, 1 } +#define N_B1 \ + { 11, 1 } + +#define N_C2 \ + { 0, 2 } +#define N_CS2 \ + { 1, 2 } +#define N_D2 \ + { 2, 2 } +#define N_DS2 \ + { 3, 2 } +#define N_E2 \ + { 4, 2 } +#define N_F2 \ + { 5, 2 } +#define N_FS2 \ + { 6, 2 } +#define N_G2 \ + { 7, 2 } +#define N_GS2 \ + { 8, 2 } +#define N_A2 \ + { 9, 2 } +#define N_AS2 \ + { 10, 2 } +#define N_B2 \ + { 11, 2 } + +#define N_C3 \ + { 0, 3 } +#define N_CS3 \ + { 1, 3 } +#define N_D3 \ + { 2, 3 } +#define N_DS3 \ + { 3, 3 } +#define N_E3 \ + { 4, 3 } +#define N_F3 \ + { 5, 3 } +#define N_FS3 \ + { 6, 3 } +#define N_G3 \ + { 7, 3 } +#define N_GS3 \ + { 8, 3 } +#define N_A3 \ + { 9, 3 } +#define N_AS3 \ + { 10, 3 } +#define N_B3 \ + { 11, 3 } + +#define N_C4 \ + { 0, 4 } +#define N_CS4 \ + { 1, 4 } +#define N_D4 \ + { 2, 4 } +#define N_DS4 \ + { 3, 4 } +#define N_E4 \ + { 4, 4 } +#define N_F4 \ + { 5, 4 } +#define N_FS4 \ + { 6, 4 } +#define N_G4 \ + { 7, 4 } +#define N_GS4 \ + { 8, 4 } +#define N_A4 \ + { 9, 4 } +#define N_AS4 \ + { 10, 4 } +#define N_B4 \ + { 11, 4 } + +#define N_C5 \ + { 0, 5 } +#define N_CS5 \ + { 1, 5 } +#define N_D5 \ + { 2, 5 } +#define N_DS5 \ + { 3, 5 } +#define N_E5 \ + { 4, 5 } +#define N_F5 \ + { 5, 5 } +#define N_FS5 \ + { 6, 5 } +#define N_G5 \ + { 7, 5 } +#define N_GS5 \ + { 8, 5 } +#define N_A5 \ + { 9, 5 } +#define N_AS5 \ + { 10, 5 } +#define N_B5 \ + { 11, 5 } + +#define N_C6 \ + { 0, 6 } +#define N_CS6 \ + { 1, 6 } +#define N_D6 \ + { 2, 6 } +#define N_DS6 \ + { 3, 6 } +#define N_E6 \ + { 4, 6 } +#define N_F6 \ + { 5, 6 } +#define N_FS6 \ + { 6, 6 } +#define N_G6 \ + { 7, 6 } +#define N_GS6 \ + { 8, 6 } +#define N_A6 \ + { 9, 6 } +#define N_AS6 \ + { 10, 6 } +#define N_B6 \ + { 11, 6 } diff --git a/firmware/keira/src/apps/liltracker/pattern.cpp b/firmware/keira/src/apps/liltracker/pattern.cpp new file mode 100644 index 00000000..874dfc6b --- /dev/null +++ b/firmware/keira/src/apps/liltracker/pattern.cpp @@ -0,0 +1,113 @@ +#include +#include + +#include "pattern.h" +#include "utils/acquire.h" + +#define WRITE_TO_BUFFER(buffer, value) \ + memcpy(&buffer[offset], &value, sizeof(value)); \ + offset += sizeof(value); + +#define READ_FROM_BUFFER(value, buffer) \ + memcpy(&value, &buffer[offset], sizeof(value)); \ + offset += sizeof(value); + +Pattern::Pattern() : xMutex(xSemaphoreCreateMutex()) { + const waveform_t defaultWaveforms[CHANNEL_COUNT] = { + WAVEFORM_SQUARE, + WAVEFORM_SAWTOOTH, + WAVEFORM_NOISE, + }; + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + // Set some default waveforms for nicer expeience when starting from scratch + channels[channelIndex].volume = 1.0f; + for (int16_t eventIndex = 0; eventIndex < CHANNEL_SIZE; eventIndex++) { + event_t event = { + N_C0, + eventIndex == 0 ? defaultWaveforms[channelIndex] : WAVEFORM_CONT, + MAX_VOLUME, + EVENT_TYPE_CONT, + {EFFECT_TYPE_NONE, 0}, + }; + channels[channelIndex].events[eventIndex] = event; + } + } + xSemaphoreGive(xMutex); +} + +Pattern::~Pattern() { + vSemaphoreDelete(xMutex); +} + +event_t Pattern::getChannelEvent(uint8_t channelIndex, int16_t eventIndex) { + Acquire acquire(xMutex); + return channels[channelIndex].events[eventIndex]; +} + +void Pattern::setChannelEvent(uint8_t channelIndex, int16_t eventIndex, event_t event) { + Acquire acquire(xMutex); + channels[channelIndex].events[eventIndex] = event; +} + +void Pattern::setChannelEvents(uint8_t channelIndex, const event_t* events) { + Acquire acquire(xMutex); + for (int16_t eventIndex = 0; eventIndex < CHANNEL_SIZE; eventIndex++) { + event_t event = events[eventIndex]; + channels[channelIndex].events[eventIndex] = event; + } +} + +int Pattern::calculateWriteBufferSize() { + Acquire acquire(xMutex); + int32_t bufferSize = 0; + + // Calculate all channels + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + bufferSize += sizeof(uint8_t); // Volume + + // Calculate events + bufferSize += sizeof(int32_t); + bufferSize += sizeof(event_t) * CHANNEL_SIZE; + } + + return bufferSize * 2; +} + +int Pattern::writeToBuffer(uint8_t* buffer) { + Acquire acquire(xMutex); + int32_t offset = 0; + + // Write all channels + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + // Write channel settings + WRITE_TO_BUFFER(buffer, channels[channelIndex].volume); + + // Write events + int16_t eventCount = CHANNEL_SIZE; + WRITE_TO_BUFFER(buffer, eventCount); + for (int16_t eventIndex = 0; eventIndex < CHANNEL_SIZE; eventIndex++) { + WRITE_TO_BUFFER(buffer, channels[channelIndex].events[eventIndex]); + } + } + + return offset; +} +int Pattern::readFromBuffer(const uint8_t* buffer) { + Acquire acquire(xMutex); + int32_t offset = 0; + + // Read all channels + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + // Read channel settings + READ_FROM_BUFFER(channels[channelIndex].volume, buffer); + + // Read events + int16_t eventCount; + READ_FROM_BUFFER(eventCount, buffer); + for (int16_t eventIndex = 0; eventIndex < eventCount; eventIndex++) { + READ_FROM_BUFFER(channels[channelIndex].events[eventIndex], buffer); + } + } + + return offset; +} diff --git a/firmware/keira/src/apps/liltracker/pattern.h b/firmware/keira/src/apps/liltracker/pattern.h new file mode 100644 index 00000000..17f04639 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/pattern.h @@ -0,0 +1,46 @@ +#pragma once + +#include +#include + +#include "note.h" +#include "waveforms.h" +#include "effects.h" +#include "config.h" + +typedef enum : uint8_t { + EVENT_TYPE_CONT, + EVENT_TYPE_NORMAL, + EVENT_TYPE_OFF, + EVENT_TYPE_COUNT, +} event_type_t; + +typedef struct { + noteinfo_t note; + waveform_t waveform; + uint8_t volume; + event_type_t type; + effect_t effect; +} event_t; + +typedef struct { + uint8_t volume; + event_t events[CHANNEL_SIZE]; +} channel_t; + +class Pattern { +public: + Pattern(); + ~Pattern(); + event_t getChannelEvent(uint8_t channelIndex, int16_t eventIndex); + void setChannelEvent(uint8_t channelIndex, int16_t eventIndex, event_t event); + void setChannelEvents(uint8_t channelIndex, const event_t* events); + + int calculateWriteBufferSize(); + int writeToBuffer(uint8_t* buffer); + int readFromBuffer(const uint8_t* buffer); + +private: + SemaphoreHandle_t xMutex; + channel_t channels[CHANNEL_COUNT]; +}; diff --git a/firmware/keira/src/apps/liltracker/rand.cpp b/firmware/keira/src/apps/liltracker/rand.cpp new file mode 100644 index 00000000..a7bb9e81 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/rand.cpp @@ -0,0 +1,29 @@ +#include "rand.h" + +Xoroshiro128Plus::Xoroshiro128Plus(uint64_t seed) { + state[0] = splitmix64(seed); + state[1] = splitmix64(state[0]); +}; + +uint64_t Xoroshiro128Plus::operator()() { + const uint64_t s0 = state[0]; + uint64_t s1 = state[1]; + const uint64_t result = s0 + s1; + + s1 ^= s0; + state[0] = rotl(s0, 55) ^ s1 ^ (s1 << 14); + state[1] = rotl(s1, 36); + + return result; +} + +uint64_t Xoroshiro128Plus::rotl(const uint64_t x, int k) { + return (x << k) | (x >> (64 - k)); +} + +uint64_t Xoroshiro128Plus::splitmix64(uint64_t x) { + x += 0x9e3779b97f4a7c15; + x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9; + x = (x ^ (x >> 27)) * 0x94d049bb133111eb; + return x ^ (x >> 31); +} diff --git a/firmware/keira/src/apps/liltracker/rand.h b/firmware/keira/src/apps/liltracker/rand.h new file mode 100644 index 00000000..bcab8739 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/rand.h @@ -0,0 +1,26 @@ +#include + +// So why do we need this? +// - rand_r(seed) does not produce satisfactory results +// - std::mt19937 is too slow +// - std::minstd_rand0 does not seem random at all +// - LFSR depends on state and it's hard to make it idempotent +// So behold - Xoroshiro128+! +// https://en.wikipedia.org/wiki/Xoroshiro128%2B +// /AD + +class Xoroshiro128Plus { +public: + explicit Xoroshiro128Plus(uint64_t seed); + uint64_t operator()(); + inline uint64_t max() const { + return UINT64_MAX; + } + +private: + static uint64_t rotl(const uint64_t x, int k); + static uint64_t splitmix64(uint64_t x); + // We don't really need the state at all, since we always generate one number at a time for any given seed. + // Keeping it here in case we need to generate multiple numbers in the future. + uint64_t state[2]; +}; diff --git a/firmware/keira/src/apps/liltracker/sequencer.cpp b/firmware/keira/src/apps/liltracker/sequencer.cpp new file mode 100644 index 00000000..ebe99923 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/sequencer.cpp @@ -0,0 +1,164 @@ +#include "sequencer.h" +#include "lilka/serial.h" +#include "utils/acquire.h" + +Sequencer::Sequencer(Mixer* mixer) : xMutex(xSemaphoreCreateMutex()), mixer(mixer) { + playstate.playing = false; + playstate.eventIndex = 0; + playstate.pageIndex = 0; + playstate.track = NULL; + playstate.loopPage = false; + playstate.loopTrack = false; + + xTaskCreatePinnedToCore( + [](void* pvParameters) { + static_cast(pvParameters)->sequencerTask(); + vTaskDelete(NULL); + }, + "sequencerTask", + 4096, + this, + 1, + nullptr, + 1 + ); + + xSemaphoreGive(xMutex); +} + +Sequencer::~Sequencer() { + vSemaphoreDelete(xMutex); +} + +void Sequencer::play(Track* track, int16_t pageIndex, bool loopTrack) { + Acquire acquire(xMutex); + if (playstate.playing) { + return; + } + playstate.track = track; + playstate.pageIndex = pageIndex; + playstate.loopPage = false; + playstate.loopTrack = loopTrack; + playstate.eventIndex = 0; + playstate.playing = true; + mixer->reset(); +} + +void Sequencer::play(Track* track, bool loopTrack) { + Acquire acquire(xMutex); + if (playstate.playing) { + return; + } + playstate.track = track; + playstate.pageIndex = 0; + playstate.loopPage = false; + playstate.loopTrack = loopTrack; + playstate.eventIndex = 0; + playstate.playing = true; + mixer->reset(); +} + +void Sequencer::stop() { + Acquire acquire(xMutex); + playstate.playing = false; + mixer->stop(); +} + +seq_state_t Sequencer::getSeqState() { + Acquire acquire(xMutex); + return playstate; +} + +void Sequencer::sequencerTask() { + while (1) { // TODO: make this stoppable + // Play the page. + // If we reach the end of the page: + // - If loopPage is enabled, start playing the page from the beginning + // - Else, increment the page index + // If we reach the end of the track: + // - If loopTrack is enabled, start playing the track from the beginning + // - Else, stop playing + // If we stop playing, yield the task + + bool playing; + { + Acquire acquire(xMutex); + playing = playstate.playing; + } + + if (playing) { + // Play the page + { + Acquire acquire(xMutex); + const page_t* page = playstate.track->getPage(playstate.pageIndex); + for (uint8_t channelIndex = 0; channelIndex < CHANNEL_COUNT; channelIndex++) { + Pattern* pattern = playstate.track->getPattern(page->patternIndices[channelIndex]); + event_t event = pattern->getChannelEvent(channelIndex, playstate.eventIndex); + // waveform_t waveform = pattern->getChannelWaveform(channelIndex); + mixer_command_t cmd; + cmd.channelIndex = channelIndex; + if (event.type == EVENT_TYPE_OFF) { + mixer->sendCommand({channelIndex, MIXER_COMMAND_SET_OFF}); + } else if (event.type == EVENT_TYPE_NORMAL) { + cmd.type = MIXER_COMMAND_SET_FREQUENCY; + cmd.frequency = event.note.toFrequency(); + mixer->sendCommand(cmd); + } + if (event.waveform != WAVEFORM_CONT) { + cmd.type = MIXER_COMMAND_SET_WAVEFORM; + cmd.waveform = event.waveform; + mixer->sendCommand(cmd); + } + if (event.effect.type != EFFECT_TYPE_NONE) { + cmd.type = MIXER_COMMAND_SET_EFFECT; + cmd.effect = event.effect; + mixer->sendCommand(cmd); + } + if (event.volume) { + cmd.type = MIXER_COMMAND_SET_VOLUME; + cmd.volume = ((float)event.volume) / MAX_VOLUME; + mixer->sendCommand(cmd); + } + } + } + // Wait according to the BPM + const int32_t msPerBeat = 60000 / playstate.track->getBPM(); + vTaskDelay(msPerBeat / portTICK_PERIOD_MS); + // Increment the event index + { + Acquire acquire(xMutex); + if (!playstate.playing) { + // Playback stopped while we were waiting + mixer->stop(); + continue; + } + playstate.eventIndex++; + if (playstate.eventIndex >= CHANNEL_SIZE) { + // End of the page + playstate.eventIndex = 0; + int16_t nextPageIndex = playstate.pageIndex + 1; + + if (playstate.loopPage) { + // Loop the page + } else if (nextPageIndex < playstate.track->getPageCount()) { + // Play the next page + playstate.pageIndex = nextPageIndex; + } else { + // End of the track + playstate.pageIndex = 0; + if (playstate.loopTrack) { + // Loop the track + } else { + // Stop playing + playstate.playing = false; + mixer->stop(); + } + } + } + } + } else { + // Yield + taskYIELD(); + } + } +} diff --git a/firmware/keira/src/apps/liltracker/sequencer.h b/firmware/keira/src/apps/liltracker/sequencer.h new file mode 100644 index 00000000..7befe560 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/sequencer.h @@ -0,0 +1,31 @@ +#pragma once + +#include "pattern.h" +#include "track.h" +#include "mixer.h" + +typedef struct { + Track* track; + int16_t pageIndex; + int16_t eventIndex; + bool loopPage; + bool loopTrack; + bool playing; +} seq_state_t; + +class Sequencer { +public: + explicit Sequencer(Mixer* mixer); + ~Sequencer(); + // void play(Track* track, int16_t patternIndex, int16_t eventIndex); // TODO - implement this instead of using mixer directly from LilTrackerApp? + void play(Track* track, int16_t pageIndex, bool loopTrack); + void play(Track* track, bool loopTrack); + void stop(); + seq_state_t getSeqState(); + +private: + void sequencerTask(); + Mixer* mixer; + seq_state_t playstate; + SemaphoreHandle_t xMutex; +}; diff --git a/firmware/keira/src/apps/liltracker/track.cpp b/firmware/keira/src/apps/liltracker/track.cpp new file mode 100644 index 00000000..51c57762 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/track.cpp @@ -0,0 +1,243 @@ +#include + +#include "lilka/serial.h" +#include "track.h" +#include "utils/acquire.h" + +// TODO: Limit page count +// TODO: Limit pattern count +// TODO: Allow unneeded patterns to be removed somehow + +#define CLAMP(x, min, max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +#define WRITE_TO_BUFFER(buffer, value) \ + memcpy(&buffer[offset], &value, sizeof(value)); \ + offset += sizeof(value); + +#define READ_FROM_BUFFER(value, buffer) \ + memcpy(&value, &buffer[offset], sizeof(value)); \ + offset += sizeof(value); + +Track::Track(int16_t bpm) : xMutex(xSemaphoreCreateRecursiveMutex()), bpm(bpm) { + reset(); + xSemaphoreGive(xMutex); +} + +Track::~Track() { + { + Acquire acquire(xMutex, true); + for (Pattern* pattern : patterns) { + delete pattern; + } + for (page_t* page : pages) { + delete page; + } + } + vSemaphoreDelete(xMutex); +} + +int16_t Track::getPatternCount() { + Acquire acquire(xMutex, true); + return patterns.size(); +} + +int16_t Track::getUsedPatternCount() { + // Similar to getPatternCount, but only counts patterns that are used in pages + Acquire acquire(xMutex, true); + int16_t count = 1; + for (int16_t i = 0; i < getPageCount(); i++) { + for (uint8_t j = 0; j < CHANNEL_COUNT; j++) { + count = MAX(count, getPage(i)->patternIndices[j] + 1); + } + } + return count; +} + +void Track::setPatternCount(int16_t count) { + Acquire acquire(xMutex, true); + count = MAX(count, 1); + while (getPatternCount() > count) { + delete patterns.back(); + patterns.pop_back(); + } + while (getPatternCount() < count) { + patterns.push_back(new Pattern()); + } +} + +Pattern* Track::getPattern(int16_t index) { + Acquire acquire(xMutex, true); + if (index >= getPatternCount()) { + // Auto-resize if index is out of bounds + // This will happen when user tries to access pattern index that is not yet allocated + setPatternCount(index + 1); + } + return patterns[index]; +} + +int16_t Track::getPageCount() { + Acquire acquire(xMutex, true); + return pages.size(); +} + +void Track::setPageCount(int16_t count) { + Acquire acquire(xMutex, true); + count = MAX(count, 1); + while (getPageCount() > count) { + delete pages.back(); + pages.pop_back(); + } + while (getPageCount() < count) { + page_t* lastPage = getPageCount() > 0 ? pages.back() : NULL; + pages.push_back(new page_t()); + for (uint8_t i = 0; i < CHANNEL_COUNT; i++) { + if (lastPage != NULL) { + // Copy pattern indices from last page + pages.back()->patternIndices[i] = lastPage->patternIndices[i]; + } else { + // Set pattern indices to 0 (should not happen) + lilka::serial_err( + "Track::setPageCount: suspiciously creating first page with all pattern indices set to 0, index %d", + i + ); + } + } + } +} + +page_t* Track::getPage(int16_t index) { + Acquire acquire(xMutex, true); + if (index >= getPageCount()) { + // Auto-resize if index is out of bounds + // (This should not happen in normal operation, since page count is controlled by UI) + lilka::serial_err("Track::getPage: suspiciously resizing page count to %d", index + 1); + setPageCount(index + 1); + } + return pages[index]; +} + +int16_t Track::getBPM() { + Acquire acquire(xMutex, true); + return bpm; +} + +void Track::setBPM(int16_t bpm) { + Acquire acquire(xMutex, true); + this->bpm = CLAMP(bpm, 30, 900); +} + +void Track::reset() { + Acquire acquire(xMutex, true); + // Create default pages and patterns + constexpr uint16_t initialPageCount = 4; + constexpr uint16_t initialPatternCount = 4; + while (pages.size()) { + delete pages.back(); + pages.pop_back(); + } + while (pages.size() < initialPageCount) { + pages.push_back(new page_t()); + } + while (patterns.size()) { + delete patterns.back(); + patterns.pop_back(); + } + while (patterns.size() < initialPatternCount) { + patterns.push_back(new Pattern()); + } +} + +int32_t Track::calculateWriteBufferSize() { + Acquire acquire(xMutex, true); + int32_t size = 0; + size += 64; // Signature, version, reserved bytes + size += sizeof(bpm); // BPM + size += sizeof(int16_t); // Pattern count + // Patterns + for (int16_t i = 0; i < getUsedPatternCount(); i++) { + size += getPattern(i)->calculateWriteBufferSize(); + } + size += sizeof(int16_t); // Page count + // Pages + size += getPageCount() * CHANNEL_COUNT * sizeof(int16_t); + return size; +} + +int32_t Track::writeToBuffer(uint8_t* data) { + Acquire acquire(xMutex, true); + int32_t offset = 0; + + // Write signature ("LIL") & version (1) + data[offset++] = 'L'; + data[offset++] = 'I'; + data[offset++] = 'L'; + data[offset++] = 1; + + // Write reserved bytes until position 64 + while (offset < 64) { + data[offset++] = 0; + } + + // Write BPM + WRITE_TO_BUFFER(data, bpm); + + // Write pattern count + int16_t patternCount = getUsedPatternCount(); + WRITE_TO_BUFFER(data, patternCount); + // Write patterns + for (int16_t i = 0; i < patternCount; i++) { + offset += getPattern(i)->writeToBuffer(&data[offset]); + } + + // Write page count + int16_t pageCount = getPageCount(); + WRITE_TO_BUFFER(data, pageCount); + // Write pages + for (int16_t i = 0; i < pageCount; i++) { + for (uint8_t j = 0; j < CHANNEL_COUNT; j++) { + WRITE_TO_BUFFER(data, getPage(i)->patternIndices[j]); + } + } + + return offset; +} + +int32_t Track::readFromBuffer(const uint8_t* data) { + Acquire acquire(xMutex, true); + int32_t offset = 0; + + // Read signature ("LIL") + if (data[offset++] != 'L' || data[offset++] != 'I' || data[offset++] != 'L') { + return -1; + } + // offset++; // Skip version + + // Skip reserved bytes until position 64 + offset = 64; + + // Read BPM + READ_FROM_BUFFER(bpm, data); + + // Read pattern count + int16_t patternCount; + READ_FROM_BUFFER(patternCount, data); + setPatternCount(patternCount); + // Read patterns + for (int16_t i = 0; i < patternCount; i++) { + offset += getPattern(i)->readFromBuffer(&data[offset]); + } + + // Read page count + int16_t pageCount; + READ_FROM_BUFFER(pageCount, data); + setPageCount(pageCount); + // Read pages + for (int16_t i = 0; i < pageCount; i++) { + for (uint8_t j = 0; j < CHANNEL_COUNT; j++) { + READ_FROM_BUFFER(getPage(i)->patternIndices[j], data); + } + } + + return offset; +} diff --git a/firmware/keira/src/apps/liltracker/track.h b/firmware/keira/src/apps/liltracker/track.h new file mode 100644 index 00000000..2999a1f8 --- /dev/null +++ b/firmware/keira/src/apps/liltracker/track.h @@ -0,0 +1,40 @@ +#pragma once + +#include + +#include "pattern.h" + +// Track consists of pages that are played sequentially. +// Each page tells which patterns to play. +typedef struct page_t { + int16_t patternIndices[CHANNEL_COUNT] = {0, 0, 0}; +} page_t; + +// Track is the top-level container for a song. +// It contains patterns and pages. +// It can be saved to and loaded from a buffer. +class Track { +public: + explicit Track(int16_t bpm = DEFAULT_BPM); + ~Track(); + int16_t getPatternCount(); + int16_t getUsedPatternCount(); + void setPatternCount(int16_t count); + Pattern* getPattern(int16_t index); + int16_t getPageCount(); + void setPageCount(int16_t count); + page_t* getPage(int16_t index); + int16_t getBPM(); + void setBPM(int16_t bpm); + void reset(); + + int32_t calculateWriteBufferSize(); + int32_t writeToBuffer(uint8_t* data); + int32_t readFromBuffer(const uint8_t* data); + +private: + int16_t bpm; + std::vector patterns; + std::vector pages; + SemaphoreHandle_t xMutex; +}; diff --git a/firmware/keira/src/apps/liltracker/waveforms.cpp b/firmware/keira/src/apps/liltracker/waveforms.cpp new file mode 100644 index 00000000..754212cc --- /dev/null +++ b/firmware/keira/src/apps/liltracker/waveforms.cpp @@ -0,0 +1,42 @@ +#include +#include +#include "waveforms.h" +#include "rand.h" + +// TODO: Use integers instead of floats for audio samples, time, frequency, amplitude, and phase? + +// Silence wave function +float silence(float time, float frequency, float amplitude, float phase) { + return 0.0f; +} + +// Triangle wave function +float triangle(float time, float frequency, float amplitude, float phase) { + return 2.0f * amplitude * fabsf(2.0f * fmodf(time * frequency + phase, 1.0f) - 1.0f) - amplitude; +} + +// Sine wave function +// float sine(float time, float frequency, float amplitude, float phase) { +// return amplitude * sinf(2.0f * M_PI * frequency * time + phase); +// } + +float fast_sine(float time, float frequency, float amplitude, float phase) { + return amplitude * lilka::fSin360(frequency * 360 * time + phase * 360); +} + +// Square wave function +float square(float time, float frequency, float amplitude, float phase) { + // return amplitude * (sinf(2.0f * M_PI * frequency * time + phase) > 0.0f ? 1.0f : -1.0f); + return amplitude * (fmodf(time * frequency + phase, 1.0f) < 0.5f ? 1.0f : -1.0f); +} + +// Sawtooth wave function +float sawtooth(float time, float frequency, float amplitude, float phase) { + return 2.0f * amplitude * (fmodf(time * frequency + phase, 1.0f) - 0.5f); +} + +// Noise wave function +float noise(float time, float frequency, float amplitude, float phase) { + Xoroshiro128Plus generator(time * frequency + phase); + return 2.0f * amplitude * (generator() / (float)generator.max() - 0.5f); +} diff --git a/firmware/keira/src/apps/liltracker/waveforms.h b/firmware/keira/src/apps/liltracker/waveforms.h new file mode 100644 index 00000000..c9f8c3cc --- /dev/null +++ b/firmware/keira/src/apps/liltracker/waveforms.h @@ -0,0 +1,42 @@ +#pragma once + +#include + +typedef enum : uint8_t { + WAVEFORM_CONT, + WAVEFORM_SQUARE, + WAVEFORM_SAWTOOTH, + WAVEFORM_TRIANGLE, + WAVEFORM_SINE, + WAVEFORM_NOISE, + WAVEFORM_COUNT, +} waveform_t; + +const waveform_t waveforms[WAVEFORM_COUNT] = { + WAVEFORM_CONT, + WAVEFORM_SQUARE, + WAVEFORM_SAWTOOTH, + WAVEFORM_TRIANGLE, + WAVEFORM_SINE, + WAVEFORM_NOISE, +}; + +typedef float (*waveform_fn_t)(float time, float frequency, float amplitude, float phase); + +// float silence(float time, float frequency, float amplitude, float phase); +float triangle(float time, float frequency, float amplitude, float phase); +// float sine(float time, float frequency, float amplitude, float phase); +float fast_sine(float time, float frequency, float amplitude, float phase); +float square(float time, float frequency, float amplitude, float phase); +float sawtooth(float time, float frequency, float amplitude, float phase); +float noise(float time, float frequency, float amplitude, float phase); + +const waveform_fn_t waveform_functions[WAVEFORM_COUNT] = { + 0, + // silence, + square, + sawtooth, + triangle, + fast_sine, + noise, +}; diff --git a/firmware/keira/src/apps/nes/nesapp.cpp b/firmware/keira/src/apps/nes/nesapp.cpp index f0dbbf42..4ca6d7f3 100644 --- a/firmware/keira/src/apps/nes/nesapp.cpp +++ b/firmware/keira/src/apps/nes/nesapp.cpp @@ -2,10 +2,15 @@ #include "driver.h" NesApp::NesApp(String path) : App("NES", 0, 0, lilka::display.width(), lilka::display.height()) { - argv[0] = const_cast(path.c_str()); + argv[0] = new char[path.length() + 1]; + strcpy(argv[0], path.c_str()); setFlags(AppFlags::APP_FLAG_FULLSCREEN); } +NesApp::~NesApp() { + delete[] argv[0]; +} + void NesApp::run() { // Load the ROM Driver::setNesApp(this); diff --git a/firmware/keira/src/apps/nes/nesapp.h b/firmware/keira/src/apps/nes/nesapp.h index e3589607..42fc8814 100644 --- a/firmware/keira/src/apps/nes/nesapp.h +++ b/firmware/keira/src/apps/nes/nesapp.h @@ -4,6 +4,7 @@ class NesApp : public App { public: explicit NesApp(String path); + ~NesApp(); private: void run(); diff --git a/firmware/keira/src/apps/nes/osd.cpp b/firmware/keira/src/apps/nes/osd.cpp index fabb7c3d..c930639c 100644 --- a/firmware/keira/src/apps/nes/osd.cpp +++ b/firmware/keira/src/apps/nes/osd.cpp @@ -151,6 +151,8 @@ int osd_init_sound() { return OSD_INIT_FAILED; } + lilka::audio.initPins(); + esp_i2s::i2s_config_t cfg = { .mode = (esp_i2s::i2s_mode_t)(esp_i2s::I2S_MODE_MASTER | esp_i2s::I2S_MODE_TX), .sample_rate = HW_AUDIO_SAMPLERATE, diff --git a/firmware/keira/src/apps/statusbar.cpp b/firmware/keira/src/apps/statusbar.cpp index c7ec1b5b..b4a62fc8 100644 --- a/firmware/keira/src/apps/statusbar.cpp +++ b/firmware/keira/src/apps/statusbar.cpp @@ -16,7 +16,7 @@ StatusBarApp::StatusBarApp() : App("StatusBar", 0, 0, lilka::display.width(), 24) { } -const uint16_t* icons[] = {wifi_0, wifi_1, wifi_2, wifi_3}; +const uint16_t* icons[] = {wifi_0_img, wifi_1_img, wifi_2_img, wifi_3_img}; void StatusBarApp::run() { lilka::Canvas iconCanvas(240, 24); @@ -58,15 +58,15 @@ int16_t StatusBarApp::drawIcons(lilka::Canvas* iconCanvas) { int16_t barHeight = 10; int16_t barWidthUsed = barWidth * (totalRAM - freeRAM) / totalRAM; iconCanvas->fillRect(xOffset + padding, padding, barWidthUsed, barHeight, lilka::colors::Red); - iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, ram, lilka::colors::Black, 24, 24); + iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, ram_img, lilka::colors::Black, 24, 24); xOffset += 4 + 24; // Draw WiFi signal strength if (networkService != NULL) { if (networkService->getNetworkState() == NETWORK_STATE_OFFLINE) { - iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, wifi_offline, 0, 24, 24); + iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, wifi_offline_img, 0, 24, 24); } else if (networkService->getNetworkState() == NETWORK_STATE_CONNECTING) { - iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, wifi_connecting, 0, 24, 24); + iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, wifi_connecting_img, 0, 24, 24); } else if (networkService->getNetworkState() == NETWORK_STATE_ONLINE) { iconCanvas->draw16bitRGBBitmapWithTranColor( xOffset, 0, icons[networkService->getSignalStrength()], 0, 24, 24 @@ -78,7 +78,7 @@ int16_t StatusBarApp::drawIcons(lilka::Canvas* iconCanvas) { // Draw battery int level = lilka::battery.readLevel(); if (level == -1) { - iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, battery_absent, lilka::colors::Fuchsia, 16, 24); + iconCanvas->draw16bitRGBBitmapWithTranColor(xOffset, 0, battery_absent_img, lilka::colors::Fuchsia, 16, 24); xOffset += 4 + 16; } else { int16_t x1 = 4, y1 = 6; @@ -88,7 +88,7 @@ int16_t StatusBarApp::drawIcons(lilka::Canvas* iconCanvas) { int emptyHeight = fullHeight - filledHeight; int16_t color = level > 50 ? lilka::colors::Green : (level > 20 ? lilka::colors::Yellow : lilka::colors::Red); iconCanvas->draw16bitRGBBitmapWithTranColor( - xOffset, 0, level > 10 ? battery : battery_danger, lilka::colors::Fuchsia, 16, 24 + xOffset, 0, level > 10 ? battery_img : battery_danger_img, lilka::colors::Fuchsia, 16, 24 ); iconCanvas->fillRect(xOffset + x1, y1 + emptyHeight, width, filledHeight, color); xOffset += 4 + 16; diff --git a/firmware/keira/src/apps/weather/icons/.gitattributes b/firmware/keira/src/apps/weather/icons/.gitattributes new file mode 100644 index 00000000..4689bbbe --- /dev/null +++ b/firmware/keira/src/apps/weather/icons/.gitattributes @@ -0,0 +1 @@ +*.h linguist-generated diff --git a/firmware/keira/src/apps/wifi_config.cpp b/firmware/keira/src/apps/wifi_config.cpp index c14cf144..e2835ec0 100644 --- a/firmware/keira/src/apps/wifi_config.cpp +++ b/firmware/keira/src/apps/wifi_config.cpp @@ -103,7 +103,7 @@ void WiFiConfigApp::run() { signalStrength = 0; } } - menu_icon_t* icons[] = {&wifi_0, &wifi_1, &wifi_2, &wifi_3}; + menu_icon_t* icons[] = {&wifi_0_img, &wifi_1_img, &wifi_2_img, &wifi_3_img}; menu.addItem( networks[i], icons[signalStrength], diff --git a/firmware/keira/src/servicemanager.cpp b/firmware/keira/src/servicemanager.cpp index 443f5808..e6c6845f 100644 --- a/firmware/keira/src/servicemanager.cpp +++ b/firmware/keira/src/servicemanager.cpp @@ -2,7 +2,8 @@ ServiceManager* ServiceManager::instance = NULL; -ServiceManager::ServiceManager() { +ServiceManager::ServiceManager() : xMutex(xSemaphoreCreateMutex()) { + xSemaphoreGive(xMutex); } ServiceManager::~ServiceManager() { @@ -18,6 +19,7 @@ ServiceManager* ServiceManager::getInstance() { } void ServiceManager::addService(Service* service) { + AcquireServiceManager acquire(xMutex); services.push_back(service); service->start(); } diff --git a/firmware/keira/src/servicemanager.h b/firmware/keira/src/servicemanager.h index bba01386..b22afec5 100644 --- a/firmware/keira/src/servicemanager.h +++ b/firmware/keira/src/servicemanager.h @@ -2,6 +2,19 @@ #include "service.h" +class AcquireServiceManager { +public: + explicit AcquireServiceManager(SemaphoreHandle_t xMutex) : xMutex(xMutex) { + xSemaphoreTake(xMutex, portMAX_DELAY); + } + ~AcquireServiceManager() { + xSemaphoreGive(xMutex); + } + +private: + SemaphoreHandle_t xMutex; +}; + class ServiceManager { public: ~ServiceManager(); @@ -9,6 +22,7 @@ class ServiceManager { template T* getService(const char* name) { + AcquireServiceManager acquire(xMutex); std::vector::iterator it = std::find_if(services.begin(), services.end(), [name](const Service* service) { return strcmp(service->name, name) == 0; @@ -26,4 +40,5 @@ class ServiceManager { ServiceManager(); static ServiceManager* instance; std::vector services; + SemaphoreHandle_t xMutex; }; diff --git a/firmware/keira/src/services/network.cpp b/firmware/keira/src/services/network.cpp index 46c456f8..1bdc09ed 100644 --- a/firmware/keira/src/services/network.cpp +++ b/firmware/keira/src/services/network.cpp @@ -1,4 +1,8 @@ +// TODO: Add enable/disable methods instead of deallocating WiFi from apps like LilTracker +// TODO: Use the mutex, Luke! + #include +#include #include "network.h" @@ -15,6 +19,7 @@ NetworkService::NetworkService() : lastPassword(""), ipAddr("") { // TODO: Use the mutex, Luke! + xSemaphoreGive(mutex); } void NetworkService::run() { @@ -34,13 +39,13 @@ void NetworkService::run() { // Check if there is a known network to connect to prefs.begin("network", true); if (!prefs.isKey("last_ssid")) { - Serial.println("NetworkService: no last SSID found, skipping startup connection"); + lilka::serial_log("NetworkService: no last SSID found, skipping startup connection"); } else { String currentSSID = prefs.getString("last_ssid"); - Serial.println("NetworkService: last SSID found: " + currentSSID); + lilka::serial_log("NetworkService: last SSID found: %s", currentSSID.c_str()); lastPassword = getPassword(currentSSID); if (lastPassword == "") { - Serial.println("NetworkService: no password found for last SSID, skipping startup connection"); + lilka::serial_log("NetworkService: no password found for last SSID, skipping startup connection"); } else { connect(currentSSID, lastPassword); } @@ -50,12 +55,12 @@ void NetworkService::run() { WiFi.onEvent([this](WiFiEvent_t event, WiFiEventInfo_t info) { switch (event) { case ARDUINO_EVENT_WIFI_STA_START: { - Serial.println("NetworkService: connecting to WiFi"); + lilka::serial_log("NetworkService: connecting to WiFi"); setNetworkState(NETWORK_STATE_CONNECTING); break; } case ARDUINO_EVENT_WIFI_STA_CONNECTED: { - Serial.println("NetworkService: connected to WiFi"); + lilka::serial_log("NetworkService: connected to WiFi"); setNetworkState(NETWORK_STATE_ONLINE); Preferences prefs; String connectedSSID = String(info.wifi_sta_connected.ssid, info.wifi_sta_connected.ssid_len); @@ -63,7 +68,7 @@ void NetworkService::run() { if (!prefs.isKey("last_ssid") || !String(prefs.getString("last_ssid")).equals(connectedSSID)) { // Set current SSID as last connected prefs.putString("last_ssid", String(connectedSSID)); - Serial.println("NetworkService: last SSID set to " + connectedSSID); + lilka::serial_log("NetworkService: last SSID set to %s", connectedSSID.c_str()); } prefs.end(); String ssidHash = hash(connectedSSID); @@ -72,14 +77,14 @@ void NetworkService::run() { if (savedPassword != lastPassword) { // Save password for the connected network prefs.putString(String(ssidHash + "_pw").c_str(), lastPassword); - Serial.println("NetworkService: password for " + connectedSSID + " saved"); + lilka::serial_log("NetworkService: password for %s saved", connectedSSID.c_str()); } prefs.end(); break; } case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: { - Serial.println( - "NetworkService: disconnected from WiFi, reason " + String(info.wifi_sta_disconnected.reason) + lilka::serial_log( + "NetworkService: disconnected from WiFi, reason: %d", info.wifi_sta_disconnected.reason ); setNetworkState(NETWORK_STATE_OFFLINE); reason = info.wifi_sta_disconnected.reason; @@ -89,12 +94,12 @@ void NetworkService::run() { case ARDUINO_EVENT_WIFI_STA_GOT_IP6: { IPAddress ip = WiFi.localIP(); ipAddr = ip.toString(); - Serial.println("NetworkService: got IP address: " + ipAddr); + lilka::serial_log("NetworkService: got IP address: %s", ipAddr.c_str()); setNetworkState(NETWORK_STATE_ONLINE); break; } case ARDUINO_EVENT_WIFI_STA_LOST_IP: { - Serial.println("NetworkService: lost IP address"); + lilka::serial_log("NetworkService: lost IP address"); ipAddr = ""; setNetworkState(NETWORK_STATE_OFFLINE); break; @@ -105,22 +110,33 @@ void NetworkService::run() { }); while (1) { - const int8_t rssi = WiFi.RSSI(); - if (rssi == 0) { - signalStrength = 0; + // Check if WiFi is deallocated + wifi_mode_t mode; + if (esp_wifi_get_mode(&mode) == ESP_ERR_WIFI_NOT_INIT) { + // WiFi was deallocated + // TODO: This is a crutch to avoid using WiFi after deallocation by apps (e. g. LilTracker). /AD + // lilka::serial_log("NetworkService: WiFi deallocated"); + } else if (WiFi.status() == WL_DISCONNECTED) { + // WiFi is disconnected + // lilka::serial_log("NetworkService: WiFi disconnected"); } else { - const int8_t excellent = -50; - const int8_t good = -70; - const int8_t fair = -80; - - if (rssi >= excellent) { - signalStrength = 3; - } else if (rssi >= good) { - signalStrength = 2; - } else if (rssi >= fair) { - signalStrength = 1; - } else { + const int8_t rssi = WiFi.RSSI(); + if (rssi == 0) { signalStrength = 0; + } else { + const int8_t excellent = -50; + const int8_t good = -70; + const int8_t fair = -80; + + if (rssi >= excellent) { + signalStrength = 3; + } else if (rssi >= good) { + signalStrength = 2; + } else if (rssi >= fair) { + signalStrength = 1; + } else { + signalStrength = 0; + } } } @@ -152,17 +168,17 @@ int NetworkService::getSignalStrength() { bool NetworkService::connect(String ssid) { String password = getPassword(ssid); if (password == "") { - Serial.println("NetworkService: no password found for SSID " + ssid); + lilka::serial_log("NetworkService: no password found for SSID %s", ssid.c_str()); return false; } - Serial.println("NetworkService: found password for SSID " + ssid); + lilka::serial_log("NetworkService: found password for SSID ", ssid.c_str()); connect(ssid, password); return true; } // Attempt to connect to a given network with a given password. void NetworkService::connect(String ssid, String password) { - Serial.println("NetworkService: connecting to " + ssid); + lilka::serial_log("NetworkService: connecting to %s", ssid.c_str()); lastPassword = password; WiFi.disconnect(); WiFi.begin(ssid.c_str(), password.c_str()); @@ -200,7 +216,6 @@ String NetworkService::getIpAddr() { } void NetworkService::setNetworkState(NetworkState state) { - // xSemaphoreTake(mutex, portMAX_DELAY); if (this->state != state) { this->state = state; if (state == NETWORK_STATE_OFFLINE) { @@ -209,5 +224,4 @@ void NetworkService::setNetworkState(NetworkState state) { AppManager::getInstance()->startToast("Приєднано до WiFi", 2000); } } - // xSemaphoreGive(mutex); } diff --git a/firmware/keira/src/utils/acquire.cpp b/firmware/keira/src/utils/acquire.cpp new file mode 100644 index 00000000..ac5f489a --- /dev/null +++ b/firmware/keira/src/utils/acquire.cpp @@ -0,0 +1,17 @@ +#include "acquire.h" + +Acquire::Acquire(SemaphoreHandle_t semaphore, bool recursive) : _semaphore(semaphore), recursive(recursive) { + if (recursive) { + xSemaphoreTakeRecursive(_semaphore, portMAX_DELAY); + return; + } + xSemaphoreTake(_semaphore, portMAX_DELAY); +} + +Acquire::~Acquire() { + if (recursive) { + xSemaphoreGiveRecursive(_semaphore); + return; + } + xSemaphoreGive(_semaphore); +} diff --git a/firmware/keira/src/utils/acquire.h b/firmware/keira/src/utils/acquire.h new file mode 100644 index 00000000..93699d45 --- /dev/null +++ b/firmware/keira/src/utils/acquire.h @@ -0,0 +1,14 @@ +#pragma once + +#include +#include + +class Acquire { +public: + explicit Acquire(SemaphoreHandle_t semaphore, bool recursive = false); + ~Acquire(); + +private: + SemaphoreHandle_t _semaphore; + bool recursive; +}; diff --git a/firmware/keira/src/utils/defer.cpp b/firmware/keira/src/utils/defer.cpp new file mode 100644 index 00000000..ed499f54 --- /dev/null +++ b/firmware/keira/src/utils/defer.cpp @@ -0,0 +1,8 @@ +#include "defer.h" + +Defer::Defer(std::function func) : _func(func) { +} + +Defer::~Defer() { + _func(); +} diff --git a/firmware/keira/src/utils/defer.h b/firmware/keira/src/utils/defer.h index 23c3acf7..e8a5e6f5 100644 --- a/firmware/keira/src/utils/defer.h +++ b/firmware/keira/src/utils/defer.h @@ -4,11 +4,8 @@ class Defer { public: - Defer(std::function func) : _func(func) { - } - ~Defer() { - _func(); - } + explicit Defer(std::function func); + ~Defer(); private: std::function _func; diff --git a/firmware/sample/platformio.ini b/firmware/sample/platformio.ini index 14616278..caefcd31 100644 --- a/firmware/sample/platformio.ini +++ b/firmware/sample/platformio.ini @@ -2,14 +2,8 @@ ; Докладніше про конфігурацію PlatformIO можна прочитати тут: https://docs.platformio.org/en/latest/projectconf/index.html [env:default] -; Підтримка Лілки v2 ще не включена в офіційний реліз, тому поки що використовуємо коміт, який містить необхідні зміни -; platform = espressif32 -platform = https://github.com/platformio/platform-espressif32.git#9b0c95d4a737683370a8e3e1cd5ffd07590ccb28 +platform = espressif32 @ ^6.6.0 board = lilka_v2 framework = arduino lib_deps = lilka -build_flags = -; Розкоментуйте наступні рядки, якщо ви хочете відключити підтримку певних мов програмування або функціональності -; Більше інформації: https://docs.lilka.dev/uk/latest/library/build_flags/ -; -D LILKA_NO_SPLASH ; Не відображати сплеш-екран diff --git a/firmware/template/platformio.ini b/firmware/template/platformio.ini index 30ec7524..caefcd31 100644 --- a/firmware/template/platformio.ini +++ b/firmware/template/platformio.ini @@ -1,20 +1,9 @@ -; PlatformIO Project Configuration File -; -; Build options: build flags, source filter -; Upload options: custom upload port, speed and extra flags -; Library options: dependencies, extra library storages -; Advanced options: extra scripting -; -; Please visit documentation for the other options and examples -; https://docs.platformio.org/page/projectconf.html - -[platformio] -; TODO: Figure out how to submit lilka_v2 board to PlatformIO -boards_dir = ./boards +; Це - конфігураційний файл PlatformIO. Він використовується для налаштування проєкту та його залежностей. +; Докладніше про конфігурацію PlatformIO можна прочитати тут: https://docs.platformio.org/en/latest/projectconf/index.html [env:default] -platform = espressif32 +platform = espressif32 @ ^6.6.0 board = lilka_v2 framework = arduino -lib_deps = - and3rson/lilka +lib_deps = + lilka diff --git a/hardware/v2/main.kicad_pcb b/hardware/v2/main.kicad_pcb index bab1a7ef..ec3d722c 100644 --- a/hardware/v2/main.kicad_pcb +++ b/hardware/v2/main.kicad_pcb @@ -12797,457 +12797,550 @@ ) (gr_poly (pts - (xy 150.179707 55.485529) (xy 150.179722 55.485529) (xy 150.179702 55.485502) + (xy 144.447716 47.059518) (xy 144.414748 47.060969) (xy 144.382767 47.063787) (xy 144.351738 47.067922) + (xy 144.321626 47.073322) (xy 144.292397 47.079935) (xy 144.264015 47.087711) (xy 144.236447 47.096598) + (xy 144.209656 47.106545) (xy 144.183609 47.117501) (xy 144.15827 47.129414) (xy 144.133605 47.142233) + (xy 144.109579 47.155907) (xy 144.086158 47.170384) (xy 144.040987 47.201545) (xy 143.997816 47.235305) + (xy 143.956366 47.271254) (xy 143.916358 47.308982) (xy 143.877514 47.348079) (xy 143.802205 47.428738) + (xy 143.728212 47.50995) (xy 143.651423 47.495147) (xy 143.577685 47.482133) (xy 143.506938 47.470896) + (xy 143.439124 47.461423) (xy 143.374183 47.453702) (xy 143.312057 47.447721) (xy 143.252685 47.443466) + (xy 143.196009 47.440926) (xy 143.141971 47.440089) (xy 143.090509 47.44094) (xy 143.041567 47.44347) + (xy 142.995083 47.447663) (xy 142.951 47.45351) (xy 142.909258 47.460996) (xy 142.869798 47.47011) + (xy 142.83256 47.480838) (xy 142.797486 47.49317) (xy 142.764517 47.507091) (xy 142.733593 47.52259) + (xy 142.704655 47.539655) (xy 142.677644 47.558272) (xy 142.652501 47.57843) (xy 142.629167 47.600116) + (xy 142.607582 47.623317) (xy 142.587688 47.648022) (xy 142.569425 47.674217) (xy 142.552735 47.70189) + (xy 142.537557 47.731029) (xy 142.523833 47.761622) (xy 142.511504 47.793655) (xy 142.500511 47.827117) + (xy 142.490794 47.861995) (xy 142.632338 47.764405) (xy 142.67035 47.739536) (xy 142.710659 47.715324) + (xy 142.75389 47.69219) (xy 142.800665 47.670559) (xy 142.851608 47.650853) (xy 142.907343 47.633493) + (xy 142.968493 47.618903) (xy 143.035683 47.607506) (xy 143.109535 47.599724) (xy 143.190673 47.59598) + (xy 143.279721 47.596696) (xy 143.377303 47.602295) (xy 143.262529 47.649319) (xy 143.158277 47.699455) + (xy 143.06388 47.752301) (xy 142.978674 47.807455) (xy 142.901993 47.864514) (xy 142.833171 47.923075) + (xy 142.771544 47.982738) (xy 142.716446 48.043098) (xy 142.667211 48.103754) (xy 142.623174 48.164304) + (xy 142.583671 48.224344) (xy 142.548034 48.283473) (xy 142.485703 48.397387) (xy 142.430858 48.502826) + (xy 142.378175 48.596572) (xy 142.350982 48.638054) (xy 142.322333 48.675405) (xy 142.291563 48.708224) + (xy 142.258007 48.736107) (xy 142.221 48.758652) (xy 142.179876 48.775458) (xy 142.13397 48.78612) + (xy 142.082616 48.790238) (xy 142.02515 48.787409) (xy 141.960905 48.77723) (xy 141.889217 48.759299) + (xy 141.809419 48.733214) (xy 141.720848 48.698572) (xy 141.622837 48.65497) (xy 141.635318 48.686477) + (xy 141.648436 48.716554) (xy 141.662183 48.745214) (xy 141.676552 48.772473) (xy 141.691539 48.798343) + (xy 141.707136 48.82284) (xy 141.723337 48.845977) (xy 141.740136 48.867769) (xy 141.757527 48.88823) + (xy 141.775502 48.907375) (xy 141.794056 48.925217) (xy 141.813183 48.941772) (xy 141.832875 48.957052) + (xy 141.853127 48.971073) (xy 141.873933 48.983849) (xy 141.895285 48.995394) (xy 141.917179 49.005722) + (xy 141.939606 49.014847) (xy 141.962562 49.022784) (xy 141.98604 49.029548) (xy 142.010032 49.035151) + (xy 142.034534 49.039609) (xy 142.059539 49.042936) (xy 142.08504 49.045146) (xy 142.137505 49.046272) + (xy 142.19188 49.043102) (xy 142.248113 49.035749) (xy 142.306154 49.024328) (xy 142.295598 49.055317) + (xy 142.283646 49.083818) (xy 142.270444 49.110088) (xy 142.256136 49.134385) (xy 142.224777 49.178086) + (xy 142.190725 49.216981) (xy 142.119159 49.288593) (xy 142.083953 49.325428) (xy 142.050671 49.365695) + (xy 142.035112 49.38776) (xy 142.020468 49.411454) (xy 142.006881 49.437037) (xy 141.994497 49.464764) + (xy 141.983461 49.494895) (xy 141.973915 49.527685) (xy 141.966005 49.563393) (xy 141.959874 49.602276) + (xy 141.955668 49.644591) (xy 141.95353 49.690596) (xy 141.953605 49.740548) (xy 141.956036 49.794705) + (xy 141.96097 49.853324) (xy 141.968548 49.916662) (xy 141.978917 49.984978) (xy 141.99222 50.058528) + (xy 141.937769 50.231024) (xy 141.892942 50.390108) (xy 141.857265 50.536552) (xy 141.830264 50.671128) + (xy 141.811467 50.794608) (xy 141.8004 50.907764) (xy 141.79659 51.011368) (xy 141.799564 51.106192) + (xy 141.808848 51.193008) (xy 141.82397 51.272587) (xy 141.844455 51.345701) (xy 141.869831 51.413123) + (xy 141.899624 51.475624) (xy 141.933361 51.533976) (xy 141.970568 51.588952) (xy 142.010773 51.641322) + (xy 142.098283 51.741335) (xy 142.192103 51.840192) (xy 142.288447 51.944067) (xy 142.336382 51.999816) + (xy 142.383529 52.059135) (xy 142.429413 52.122796) (xy 142.473562 52.191572) (xy 142.515503 52.266234) + (xy 142.554761 52.347553) (xy 142.590865 52.436303) (xy 142.62334 52.533254) (xy 142.651713 52.639179) + (xy 142.675511 52.754849) (xy 142.860203 52.42244) (xy 142.86412 52.56248) (xy 142.87635 52.69981) + (xy 142.896278 52.834596) (xy 142.923291 52.967004) (xy 142.956774 53.097199) (xy 142.996115 53.225347) + (xy 143.040698 53.351613) (xy 143.08991 53.476163) (xy 143.143138 53.599163) (xy 143.199767 53.720778) + (xy 143.320773 53.960516) (xy 143.576593 54.430664) (xy 143.706414 54.671523) (xy 143.771014 54.79715) + (xy 143.833567 54.925663) (xy 143.892692 55.056625) (xy 143.947011 55.189601) (xy 143.995143 55.324155) + (xy 144.035708 55.459853) (xy 144.067326 55.596259) (xy 144.088617 55.732936) (xy 144.094959 55.801241) + (xy 144.098202 55.869451) (xy 144.098174 55.937511) (xy 144.094701 56.005366) (xy 144.087611 56.072964) + (xy 144.076733 56.140248) (xy 144.061893 56.207165) (xy 144.042919 56.27366) (xy 144.019638 56.339679) + (xy 143.991878 56.405167) (xy 143.959467 56.470071) (xy 143.922231 56.534334) (xy 143.853465 56.639859) + (xy 143.775868 56.752536) (xy 143.690319 56.875925) (xy 143.597701 57.013586) (xy 143.498895 57.169079) + (xy 143.394782 57.345966) (xy 143.341011 57.443544) (xy 143.286244 57.547806) (xy 143.230592 57.659196) + (xy 143.174163 57.77816) (xy 143.466169 57.646835) (xy 143.753707 57.507131) (xy 144.315158 57.20746) + (xy 144.858069 56.888907) (xy 145.381995 56.56123) (xy 146.371105 55.917538) (xy 146.835396 55.621041) + (xy 147.278916 55.354456) (xy 147.70122 55.12754) (xy 147.904276 55.032008) (xy 148.10186 54.950053) + (xy 148.293917 54.882894) (xy 148.480391 54.831753) (xy 148.661226 54.797848) (xy 148.836367 54.782399) + (xy 149.005757 54.786626) (xy 149.16934 54.81175) (xy 149.327062 54.858989) (xy 149.478865 54.929564) + (xy 149.624695 55.024695) (xy 149.764496 55.145601) (xy 149.898212 55.293502) (xy 150.025786 55.469619) + (xy 150.018344 55.426853) (xy 150.008519 55.384437) (xy 149.981851 55.300638) (xy 149.946049 55.218183) + (xy 149.901376 55.137032) (xy 149.848099 55.057147) (xy 149.786481 54.978488) (xy 149.71679 54.901017) + (xy 149.639289 54.824695) (xy 149.593628 54.784312) (xy 149.377402 54.784312) (xy 149.258909 54.729892) + (xy 149.134989 54.691591) (xy 149.005737 54.668714) (xy 148.871244 54.660567) (xy 148.731603 54.666455) + (xy 148.586906 54.685683) (xy 148.437247 54.717557) (xy 148.282718 54.761382) (xy 147.95942 54.882108) + (xy 147.617754 55.042302) (xy 147.25846 55.236408) (xy 146.88228 55.458868) (xy 145.22352 56.521114) + (xy 144.774025 56.80199) (xy 144.312091 57.077878) (xy 143.838458 57.343221) (xy 143.353868 57.592461) + (xy 143.52536 57.350723) (xy 143.674477 57.12964) (xy 143.802386 56.927512) (xy 143.858752 56.833024) + (xy 143.910253 56.742638) (xy 143.957036 56.656139) (xy 143.999246 56.573317) (xy 144.037029 56.493957) + (xy 144.070531 56.417849) (xy 144.099898 56.344778) (xy 144.125275 56.274533) (xy 144.146809 56.206901) + (xy 144.164645 56.141669) (xy 144.178929 56.078625) (xy 144.189807 56.017556) (xy 144.197425 55.95825) + (xy 144.201929 55.900493) (xy 144.203465 55.844075) (xy 144.202177 55.788781) (xy 144.198213 55.7344) + (xy 144.191719 55.680718) (xy 144.182839 55.627524) (xy 144.17172 55.574604) (xy 144.143347 55.468739) + (xy 144.107769 55.361421) (xy 144.06615 55.25095) (xy 143.960738 54.996003) (xy 143.856822 54.767873) + (xy 143.755001 54.562628) (xy 143.655873 54.376337) (xy 143.298276 53.742095) (xy 143.2216 53.591608) + (xy 143.15121 53.436489) (xy 143.087707 53.272807) (xy 143.031688 53.096629) (xy 142.983753 52.904025) + (xy 142.9445 52.691064) (xy 142.914529 52.453815) (xy 142.894438 52.188346) (xy 142.638873 52.413604) + (xy 142.002004 51.523444) (xy 141.970161 51.460851) (xy 141.941201 51.395737) (xy 141.915448 51.32782) + (xy 141.893227 51.256816) (xy 141.874862 51.182441) (xy 141.860678 51.104413) (xy 141.850998 51.022447) + (xy 141.846148 50.936259) (xy 141.846451 50.845567) (xy 141.852233 50.750087) (xy 141.863817 50.649535) + (xy 141.881527 50.543628) (xy 141.905689 50.432082) (xy 141.936626 50.314614) (xy 141.974663 50.190939) + (xy 142.020125 50.060776) (xy 141.976409 49.855195) (xy 141.970004 49.803779) (xy 141.968182 49.750492) + (xy 141.972328 49.6944) (xy 141.977073 49.665011) (xy 141.98383 49.634572) (xy 141.992773 49.602966) + (xy 142.004074 49.570076) (xy 142.017908 49.535786) (xy 142.034447 49.49998) (xy 142.053864 49.462541) + (xy 142.076334 49.423352) (xy 142.102029 49.382297) (xy 142.131123 49.339259) (xy 142.200199 49.24677) + (xy 142.28495 49.144953) (xy 142.386762 49.032876) (xy 142.507021 48.909606) (xy 142.2914 48.833073) + (xy 142.381526 48.666319) (xy 142.470057 48.498569) (xy 142.516057 48.415448) (xy 142.56446 48.333432) + (xy 142.616197 48.252973) (xy 142.672204 48.174521) (xy 142.733412 48.098528) (xy 142.766258 48.061595) + (xy 142.800755 48.025446) (xy 142.837019 47.990137) (xy 142.875168 47.955725) (xy 142.915316 47.922267) + (xy 142.957582 47.889818) (xy 143.002082 47.858436) (xy 143.048933 47.828176) (xy 143.098251 47.799095) + (xy 143.150152 47.771249) (xy 143.204755 47.744696) (xy 143.262175 47.719491) (xy 143.322529 47.69569) + (xy 143.385933 47.67335) (xy 143.392786 47.66349) (xy 143.399985 47.654487) (xy 143.407515 47.646308) + (xy 143.415364 47.638918) (xy 143.423516 47.632282) (xy 143.431959 47.626367) (xy 143.440678 47.621138) + (xy 143.44966 47.616559) (xy 143.458891 47.612598) (xy 143.468356 47.609219) (xy 143.478042 47.606388) + (xy 143.487935 47.604071) (xy 143.508286 47.600839) (xy 143.5293 47.599249) (xy 143.550863 47.599024) + (xy 143.572867 47.59989) (xy 143.595199 47.60157) (xy 143.617748 47.60379) (xy 143.663056 47.608746) + (xy 143.685593 47.610931) (xy 143.707903 47.612553) (xy 143.745804 47.56214) (xy 143.78401 47.515309) + (xy 143.822515 47.471975) (xy 143.861311 47.432051) (xy 143.90039 47.395453) (xy 143.939746 47.362095) + (xy 143.979371 47.331892) (xy 144.019258 47.304759) (xy 144.0594 47.280609) (xy 144.099789 47.259358) + (xy 144.140418 47.240919) (xy 144.18128 47.225209) (xy 144.222367 47.21214) (xy 144.263673 47.201628) + (xy 144.305189 47.193587) (xy 144.346909 47.187932) (xy 144.388825 47.184578) (xy 144.430931 47.183438) + (xy 144.473218 47.184428) (xy 144.515679 47.187462) (xy 144.601096 47.19932) (xy 144.687123 47.21833) + (xy 144.773702 47.243807) (xy 144.860775 47.275067) (xy 144.948283 47.311429) (xy 145.036168 47.352207) + (xy 145.080586 47.328544) (xy 145.124947 47.306726) (xy 145.169242 47.286722) (xy 145.21346 47.268499) + (xy 145.257592 47.252027) (xy 145.301627 47.237273) (xy 145.345556 47.224205) (xy 145.389368 47.212793) + (xy 145.433053 47.203005) (xy 145.4766 47.194808) (xy 145.520001 47.188172) (xy 145.563245 47.183063) + (xy 145.606321 47.179452) (xy 145.64922 47.177306) (xy 145.691932 47.176593) (xy 145.734446 47.177283) + (xy 145.809842 47.181901) (xy 145.884518 47.190708) (xy 145.958417 47.203524) (xy 146.031482 47.22017) + (xy 146.103655 47.240464) (xy 146.17488 47.264226) (xy 146.245097 47.291277) (xy 146.314251 47.321435) + (xy 146.382284 47.354522) (xy 146.449138 47.390356) (xy 146.514756 47.428757) (xy 146.579079 47.469546) + (xy 146.703617 47.557564) (xy 146.82229 47.652969) (xy 146.934641 47.754318) (xy 147.040208 47.86017) + (xy 147.138534 47.969084) (xy 147.229158 48.079617) (xy 147.311621 48.190328) (xy 147.385463 48.299776) + (xy 147.450226 48.406518) (xy 147.505449 48.509113) (xy 147.555761 48.505704) (xy 147.604084 48.504491) + (xy 147.650477 48.505407) (xy 147.695001 48.508386) (xy 147.737715 48.513361) (xy 147.778681 48.520267) + (xy 147.817959 48.529035) (xy 147.855608 48.539601) (xy 147.891688 48.551897) (xy 147.926261 48.565857) + (xy 147.959387 48.581414) (xy 147.991125 48.598503) (xy 148.021535 48.617056) (xy 148.050679 48.637007) + (xy 148.078616 48.658289) (xy 148.105407 48.680837) (xy 148.131112 48.704583) (xy 148.155791 48.729461) + (xy 148.202311 48.782347) (xy 148.245451 48.838963) (xy 148.285692 48.898778) (xy 148.323516 48.96126) + (xy 148.359405 49.025876) (xy 148.427305 49.159384) (xy 148.4014 49.347602) (xy 148.391888 49.441988) + (xy 148.385609 49.536636) (xy 148.383269 49.631601) (xy 148.385572 49.72694) (xy 148.393223 49.822712) + (xy 148.406927 49.918971) (xy 148.427389 50.015776) (xy 148.455313 50.113182) (xy 148.491404 50.211248) + (xy 148.536368 50.310029) (xy 148.590908 50.409583) (xy 148.62199 50.459668) (xy 148.65573 50.509967) + (xy 148.692217 50.560487) (xy 148.731538 50.611236) (xy 148.773783 50.662221) (xy 148.819038 50.713449) + (xy 148.53164 50.734869) (xy 148.593898 50.818335) (xy 148.651456 50.898141) (xy 148.704471 50.974411) + (xy 148.753102 51.047266) (xy 148.797508 51.116831) (xy 148.837845 51.183228) (xy 148.874272 51.246581) + (xy 148.906948 51.307012) (xy 148.93603 51.364646) (xy 148.961676 51.419604) (xy 148.984045 51.47201) + (xy 149.003295 51.521988) (xy 149.019584 51.56966) (xy 149.033069 51.615149) (xy 149.04391 51.658579) + (xy 149.052264 51.700072) (xy 149.058289 51.739752) (xy 149.062144 51.777742) (xy 149.063987 51.814165) + (xy 149.063975 51.849144) (xy 149.062267 51.882803) (xy 149.059021 51.915263) (xy 149.054395 51.946649) + (xy 149.048547 51.977084) (xy 149.033818 52.035592) (xy 149.0161 52.091771) (xy 148.976755 52.201085) + (xy 148.94645 52.144901) (xy 148.91579 52.097213) (xy 148.884917 52.0576) (xy 148.853971 52.025642) + (xy 148.823095 52.000916) (xy 148.79243 51.983002) (xy 148.762118 51.971478) (xy 148.732301 51.965925) + (xy 148.70312 51.96592) (xy 148.674717 51.971042) (xy 148.647235 51.980871) (xy 148.620813 51.994986) + (xy 148.595595 52.012965) (xy 148.571722 52.034387) (xy 148.549335 52.058831) (xy 148.528577 52.085876) + (xy 148.509589 52.115102) (xy 148.492512 52.146086) (xy 148.477489 52.178409) (xy 148.464661 52.211648) + (xy 148.45417 52.245383) (xy 148.446158 52.279193) (xy 148.440765 52.312656) (xy 148.438135 52.345352) + (xy 148.438408 52.376859) (xy 148.441727 52.406757) (xy 148.448232 52.434625) (xy 148.458067 52.46004) + (xy 148.471372 52.482583) (xy 148.488289 52.501832) (xy 148.508959 52.517366) (xy 148.533526 52.528764) + (xy 148.567341 52.550044) (xy 148.57952 52.581866) (xy 148.571233 52.623764) (xy 148.543651 52.675273) + (xy 148.435274 52.805261) (xy 148.263746 52.968104) (xy 148.038424 53.160074) (xy 147.768663 53.377446) + (xy 147.13325 53.873491) (xy 146.432359 54.42643) (xy 146.080749 54.71492) (xy 145.740838 55.006454) + (xy 145.421983 55.297307) (xy 145.133539 55.583753) (xy 144.884863 55.862066) (xy 144.778362 55.997008) + (xy 144.685311 56.128519) (xy 148.706151 53.290321) (xy 148.724366 53.321072) (xy 148.741018 53.35182) + (xy 148.756123 53.382566) (xy 148.769697 53.413309) (xy 148.781756 53.44405) (xy 148.792316 53.474788) + (xy 148.801394 53.505523) (xy 148.809004 53.536256) (xy 148.815164 53.566986) (xy 148.81989 53.597714) + (xy 148.823197 53.628439) (xy 148.825102 53.659162) (xy 148.825621 53.689882) (xy 148.82477 53.7206) + (xy 148.822565 53.751316) (xy 148.819022 53.782029) (xy 148.807987 53.843448) (xy 148.791794 53.904858) + (xy 148.770571 53.966258) (xy 148.744447 54.02765) (xy 148.713552 54.089032) (xy 148.678013 54.150406) + (xy 148.63796 54.211771) (xy 148.593522 54.273128) (xy 149.377402 54.784312) (xy 149.593628 54.784312) + (xy 149.554244 54.749482) (xy 149.46192 54.675339) (xy 149.362583 54.602228) (xy 149.256497 54.530109) + (xy 149.143928 54.458944) (xy 149.02514 54.388693) (xy 148.9004 54.319318) (xy 148.769971 54.250779) + (xy 148.801736 54.192135) (xy 148.83019 54.133615) (xy 148.855331 54.075219) (xy 148.877161 54.016948) + (xy 148.895679 53.958801) (xy 148.910885 53.900778) (xy 148.922779 53.842879) (xy 148.931362 53.785104) + (xy 148.936632 53.727454) (xy 148.938591 53.669927) (xy 148.937238 53.612525) (xy 148.932573 53.555246) + (xy 148.924595 53.498092) (xy 148.913306 53.441061) (xy 148.898705 53.384155) (xy 148.880791 53.327372) + (xy 148.903323 53.294528) (xy 148.924252 53.262163) (xy 148.943578 53.23028) (xy 148.961301 53.198877) + (xy 148.977422 53.167956) (xy 148.99194 53.137515) (xy 149.004856 53.107554) (xy 149.016168 53.078075) + (xy 149.025878 53.049076) (xy 149.033986 53.020558) (xy 149.040491 52.992521) (xy 149.045393 52.964964) + (xy 149.048692 52.937888) (xy 149.050389 52.911293) (xy 149.050483 52.885179) (xy 149.048975 52.859546) + (xy 149.045864 52.834393) (xy 149.041151 52.809721) (xy 149.034835 52.785529) (xy 149.026916 52.761819) + (xy 149.017395 52.738589) (xy 149.006271 52.71584) (xy 148.993544 52.693571) (xy 148.979216 52.671783) + (xy 148.963284 52.650476) (xy 148.94575 52.62965) (xy 148.926614 52.609304) (xy 148.905875 52.589439) + (xy 148.883533 52.570055) (xy 148.859589 52.551152) (xy 148.834043 52.532729) (xy 148.806894 52.514787) + (xy 148.857999 52.601135) (xy 148.875961 52.64305) (xy 148.888779 52.684384) (xy 148.896394 52.725334) + (xy 148.898742 52.766093) (xy 148.895764 52.806857) (xy 148.887396 52.84782) (xy 148.873578 52.889177) + (xy 148.854247 52.931123) (xy 148.798805 53.017562) (xy 148.720576 53.108695) (xy 148.619067 53.20608) + (xy 148.493788 53.311276) (xy 148.344245 53.425842) (xy 147.970398 53.689317) (xy 146.909878 54.397281) + (xy 146.692208 54.545185) (xy 146.464961 54.704847) (xy 146.228311 54.876983) (xy 145.982435 55.062308) + (xy 145.727506 55.261539) (xy 145.4637 55.475391) (xy 145.191191 55.70458) (xy 144.910155 55.949822) + (xy 145.022402 55.809262) (xy 145.144216 55.670019) (xy 145.274677 55.532169) (xy 145.412862 55.395786) + (xy 145.708723 55.127724) (xy 146.024426 54.866433) (xy 146.352602 54.612516) (xy 146.68588 54.366571) + (xy 147.338255 53.901005) (xy 147.642611 53.682585) (xy 147.922585 53.474542) (xy 148.170805 53.277477) + (xy 148.379901 53.091989) (xy 148.467474 53.003775) (xy 148.542502 52.918681) (xy 148.604064 52.836781) + (xy 148.651237 52.758152) (xy 148.683102 52.682868) (xy 148.698735 52.611004) (xy 148.697217 52.542635) + (xy 148.677626 52.477837) (xy 148.644092 52.457825) (xy 148.615842 52.435988) (xy 148.592615 52.41263) + (xy 148.574151 52.388056) (xy 148.560191 52.362569) (xy 148.550474 52.336473) (xy 148.544741 52.310074) + (xy 148.542732 52.283675) (xy 148.544186 52.25758) (xy 148.548846 52.232093) (xy 148.55645 52.207519) + (xy 148.566738 52.184161) (xy 148.579452 52.162324) (xy 148.59433 52.142312) (xy 148.611114 52.12443) + (xy 148.629544 52.10898) (xy 148.649358 52.096269) (xy 148.670299 52.086598) (xy 148.692106 52.080274) + (xy 148.714519 52.077599) (xy 148.737279 52.078879) (xy 148.760125 52.084417) (xy 148.782798 52.094517) + (xy 148.805037 52.109484) (xy 148.826584 52.129622) (xy 148.847178 52.155234) (xy 148.86656 52.186626) + (xy 148.88447 52.2241) (xy 148.900647 52.267963) (xy 148.914833 52.318516) (xy 148.926766 52.376066) + (xy 148.936189 52.440915) (xy 148.970566 52.397349) (xy 149.002093 52.353696) (xy 149.030833 52.309955) + (xy 149.056849 52.266128) (xy 149.080204 52.222213) (xy 149.100961 52.17821) (xy 149.119184 52.13412) + (xy 149.134934 52.089943) (xy 149.148277 52.045678) (xy 149.159273 52.001325) (xy 149.167988 51.956884) + (xy 149.174483 51.912356) (xy 149.178822 51.867739) (xy 149.181068 51.823035) (xy 149.181284 51.778242) + (xy 149.179533 51.733361) (xy 149.176666 51.695733) (xy 149.172746 51.659908) (xy 149.167803 51.625761) + (xy 149.161866 51.593165) (xy 149.154966 51.561994) (xy 149.147133 51.532121) (xy 149.138397 51.50342) + (xy 149.128788 51.475765) (xy 149.118336 51.449029) (xy 149.107072 51.423086) (xy 149.082226 51.373075) + (xy 149.054489 51.324719) (xy 149.024105 51.277007) (xy 148.880896 51.072397) (xy 148.84088 51.012749) + (xy 148.799661 50.947681) (xy 148.757478 50.876183) (xy 148.714574 50.797242) (xy 149.065457 50.778794) + (xy 148.983556 50.710165) (xy 148.906874 50.638105) (xy 148.835775 50.562376) (xy 148.770624 50.482738) + (xy 148.711786 50.398952) (xy 148.659623 50.310779) (xy 148.6145 50.217979) (xy 148.576781 50.120313) + (xy 148.546831 50.017543) (xy 148.525013 49.909429) (xy 148.511692 49.795731) (xy 148.507232 49.676211) + (xy 148.511996 49.550629) (xy 148.52635 49.418747) (xy 148.550656 49.280324) (xy 148.58528 49.135122) + (xy 148.561557 49.113458) (xy 148.53878 49.089768) (xy 148.516816 49.064249) (xy 148.495527 49.037098) + (xy 148.454437 48.978688) (xy 148.414429 48.916116) (xy 148.333332 48.784799) (xy 148.29008 48.719207) + (xy 148.243582 48.655765) (xy 148.218778 48.625342) (xy 148.192757 48.596048) (xy 148.165384 48.56808) + (xy 148.136523 48.541636) (xy 148.10604 48.516911) (xy 148.073799 48.494104) (xy 148.039664 48.473412) + (xy 148.003501 48.455032) (xy 147.965175 48.43916) (xy 147.92455 48.425996) (xy 147.881491 48.415734) + (xy 147.835862 48.408573) (xy 147.787529 48.404711) (xy 147.736356 48.404343) (xy 147.682209 48.407667) + (xy 147.624951 48.414881) (xy 147.6156 48.362046) (xy 147.598577 48.305428) (xy 147.574202 48.245512) + (xy 147.542798 48.182783) (xy 147.460185 48.050822) (xy 147.353307 47.913421) (xy 147.224733 47.774458) + (xy 147.077032 47.637808) (xy 146.912773 47.507349) (xy 146.734527 47.386956) (xy 146.544861 47.280506) + (xy 146.446549 47.233721) (xy 146.346346 47.191876) (xy 146.244573 47.155454) (xy 146.141551 47.124941) + (xy 146.037601 47.100821) (xy 145.933044 47.083579) (xy 145.828202 47.0737) (xy 145.723396 47.071667) + (xy 145.618947 47.077965) (xy 145.515176 47.093079) (xy 145.412404 47.117494) (xy 145.310952 47.151694) + (xy 145.211142 47.196163) (xy 145.113295 47.251387) (xy 145.065248 47.227296) (xy 145.018466 47.204998) + (xy 144.972922 47.184455) (xy 144.928591 47.165627) (xy 144.885447 47.148476) (xy 144.843464 47.132963) + (xy 144.802614 47.119051) (xy 144.762873 47.1067) (xy 144.724214 47.095872) (xy 144.686611 47.086529) + (xy 144.650038 47.078631) (xy 144.614469 47.072141) (xy 144.579877 47.06702) (xy 144.546237 47.06323) + (xy 144.513522 47.060731) (xy 144.481706 47.059486) ) (stroke - (width -0.000001) + (width 0) (type solid) + (color 255 255 255 1) ) (fill solid) (layer "B.Cu") - (uuid "261c1837-3589-479f-b145-f68eea730bbf") + (uuid "a76e95d6-5f2b-4955-a62e-c4eb203a6877") ) (gr_poly (pts - (xy 144.586527 47.075877) (xy 144.539555 47.079348) (xy 144.494604 47.085614) (xy 144.451566 47.094516) - (xy 144.410336 47.105898) (xy 144.370805 47.119601) (xy 144.332866 47.135467) (xy 144.296413 47.15334) - (xy 144.261339 47.17306) (xy 144.227536 47.19447) (xy 144.194898 47.217414) (xy 144.163317 47.241731) - (xy 144.102899 47.29386) (xy 144.045426 47.349595) (xy 143.990041 47.407674) (xy 143.882112 47.525814) - (xy 143.805323 47.511011) (xy 143.731585 47.497997) (xy 143.660838 47.48676) (xy 143.593024 47.477288) - (xy 143.528083 47.469567) (xy 143.465957 47.463586) (xy 143.406586 47.459332) (xy 143.34991 47.456792) - (xy 143.295872 47.455955) (xy 143.244411 47.456807) (xy 143.195468 47.459336) (xy 143.148985 47.463531) - (xy 143.104903 47.469377) (xy 143.063161 47.476864) (xy 143.023701 47.485978) (xy 142.986464 47.496707) - (xy 142.95139 47.509039) (xy 142.918421 47.522961) (xy 142.887497 47.538461) (xy 142.85856 47.555526) - (xy 142.831549 47.574143) (xy 142.806407 47.594302) (xy 142.783073 47.615988) (xy 142.761488 47.63919) - (xy 142.741595 47.663894) (xy 142.723332 47.69009) (xy 142.706641 47.717764) (xy 142.691464 47.746903) - (xy 142.67774 47.777496) (xy 142.665411 47.809529) (xy 142.654418 47.842992) (xy 142.644701 47.87787) - (xy 142.786246 47.780277) (xy 142.824259 47.755407) (xy 142.864568 47.731193) (xy 142.907799 47.708059) - (xy 142.954575 47.686426) (xy 143.005518 47.666718) (xy 143.061254 47.649357) (xy 143.122405 47.634766) - (xy 143.189595 47.623368) (xy 143.263447 47.615585) (xy 143.344586 47.61184) (xy 143.433634 47.612556) - (xy 143.531216 47.618155) (xy 143.416442 47.665178) (xy 143.31219 47.715314) (xy 143.217793 47.76816) - (xy 143.132587 47.823314) (xy 143.055906 47.880373) (xy 142.987084 47.938935) (xy 142.925457 47.998597) - (xy 142.870359 48.058958) (xy 142.821125 48.119614) (xy 142.777088 48.180163) (xy 142.737585 48.240204) - (xy 142.701949 48.299332) (xy 142.639619 48.413246) (xy 142.584774 48.518686) (xy 142.532092 48.612432) - (xy 142.504899 48.653914) (xy 142.47625 48.691265) (xy 142.445481 48.724083) (xy 142.411925 48.751967) - (xy 142.374918 48.774512) (xy 142.333795 48.791317) (xy 142.287889 48.80198) (xy 142.236535 48.806098) - (xy 142.179069 48.803269) (xy 142.114824 48.79309) (xy 142.043136 48.775159) (xy 141.963339 48.749073) - (xy 141.874767 48.714431) (xy 141.776756 48.67083) (xy 141.789237 48.702337) (xy 141.802355 48.732414) - (xy 141.816102 48.761074) (xy 141.830472 48.788332) (xy 141.845458 48.814203) (xy 141.861055 48.838699) - (xy 141.877257 48.861837) (xy 141.894055 48.883629) (xy 141.911446 48.90409) (xy 141.929421 48.923235) - (xy 141.947975 48.941078) (xy 141.967101 48.957632) (xy 141.986793 48.972913) (xy 142.007046 48.986934) - (xy 142.027851 48.99971) (xy 142.049203 49.011255) (xy 142.071097 49.021583) (xy 142.093524 49.030708) - (xy 142.11648 49.038645) (xy 142.139957 49.045409) (xy 142.16395 49.051012) (xy 142.188451 49.055471) - (xy 142.213456 49.058798) (xy 142.238957 49.061008) (xy 142.291422 49.062134) (xy 142.345796 49.058964) - (xy 142.40203 49.051611) (xy 142.460071 49.04019) (xy 142.449514 49.071179) (xy 142.437563 49.099681) - (xy 142.42436 49.125951) (xy 142.410052 49.150247) (xy 142.378692 49.193949) (xy 142.344639 49.232845) - (xy 142.273069 49.304458) (xy 142.237861 49.341294) (xy 142.204577 49.381562) (xy 142.189018 49.403627) - (xy 142.174372 49.427322) (xy 142.160785 49.452905) (xy 142.1484 49.480633) (xy 142.137362 49.510764) - (xy 142.127816 49.543554) (xy 142.119905 49.579263) (xy 142.113774 49.618146) (xy 142.109567 49.660461) - (xy 142.107428 49.706466) (xy 142.107502 49.756419) (xy 142.109934 49.810576) (xy 142.114866 49.869195) - (xy 142.122445 49.932534) (xy 142.132813 50.00085) (xy 142.146116 50.0744) (xy 142.091665 50.246895) - (xy 142.046838 50.40598) (xy 142.011161 50.552424) (xy 141.984161 50.687001) (xy 141.965365 50.810481) - (xy 141.954298 50.923638) (xy 141.950489 51.027242) (xy 141.953464 51.122066) (xy 141.962749 51.208882) - (xy 141.977871 51.288461) (xy 141.998357 51.361576) (xy 142.023734 51.428998) (xy 142.053528 51.491499) - (xy 142.087266 51.549852) (xy 142.124475 51.604828) (xy 142.164681 51.657198) (xy 142.252193 51.757213) - (xy 142.346015 51.85607) (xy 142.442361 51.959945) (xy 142.490297 52.015694) (xy 142.537445 52.075014) - (xy 142.58333 52.138676) (xy 142.62748 52.207452) (xy 142.669421 52.282113) (xy 142.70868 52.363433) - (xy 142.744784 52.452183) (xy 142.77726 52.549134) (xy 142.805633 52.655059) (xy 142.829431 52.77073) - (xy 143.014111 52.43831) (xy 143.018029 52.578349) (xy 143.030258 52.715679) (xy 143.050187 52.850465) - (xy 143.077199 52.982872) (xy 143.110683 53.113066) (xy 143.150023 53.241213) (xy 143.194606 53.367479) - (xy 143.243818 53.492028) (xy 143.297046 53.615027) (xy 143.353675 53.736641) (xy 143.474682 53.976378) - (xy 143.730502 54.446525) (xy 143.860323 54.687383) (xy 143.924924 54.813011) (xy 143.987477 54.941523) - (xy 144.046604 55.072485) (xy 144.100923 55.205461) (xy 144.149056 55.340015) (xy 144.189622 55.475713) - (xy 144.221242 55.612118) (xy 144.242534 55.748796) (xy 144.248877 55.817101) (xy 144.25212 55.88531) - (xy 144.252092 55.95337) (xy 144.24862 56.021226) (xy 144.241531 56.088824) (xy 144.230653 56.156108) - (xy 144.215813 56.223025) (xy 144.196839 56.28952) (xy 144.173558 56.355539) (xy 144.145799 56.421027) - (xy 144.113387 56.485931) (xy 144.076152 56.550194) (xy 144.007386 56.65572) (xy 143.929787 56.768399) - (xy 143.844236 56.89179) (xy 143.751616 57.029453) (xy 143.652807 57.184949) (xy 143.548693 57.361838) - (xy 143.494921 57.459418) (xy 143.440154 57.56368) (xy 143.3845 57.675071) (xy 143.328072 57.794034) - (xy 143.62008 57.662709) (xy 143.907621 57.523002) (xy 144.469076 57.223328) (xy 145.011992 56.904771) - (xy 145.535921 56.57709) (xy 146.525036 55.933392) (xy 146.989329 55.636892) (xy 147.432851 55.370305) - (xy 147.855156 55.14339) (xy 148.058213 55.047858) (xy 148.255798 54.965904) (xy 148.447855 54.898747) - (xy 148.634329 54.847607) (xy 148.815164 54.813705) (xy 148.990305 54.798259) (xy 149.159694 54.80249) - (xy 149.323278 54.827618) (xy 149.480999 54.874862) (xy 149.632803 54.945443) (xy 149.778632 55.040581) - (xy 149.918433 55.161494) (xy 150.052148 55.309404) (xy 150.179702 55.485502) (xy 150.172268 55.442761) - (xy 150.162445 55.400344) (xy 150.135781 55.316541) (xy 150.099981 55.234082) (xy 150.055311 55.152927) - (xy 150.002035 55.073039) (xy 149.940418 54.994377) (xy 149.870727 54.916903) (xy 149.793225 54.840577) - (xy 149.708179 54.765361) (xy 149.615853 54.691215) (xy 149.516513 54.618102) (xy 149.410424 54.54598) - (xy 149.297851 54.474812) (xy 149.17906 54.404559) (xy 149.054315 54.33518) (xy 148.923882 54.266639) - (xy 148.955647 54.207995) (xy 148.9841 54.149475) (xy 149.009241 54.09108) (xy 149.03107 54.032809) - (xy 149.049587 53.974662) (xy 149.064793 53.91664) (xy 149.076686 53.858742) (xy 149.085268 53.800968) - (xy 149.090537 53.743318) (xy 149.092495 53.685792) (xy 149.091141 53.62839) (xy 149.086475 53.571112) - (xy 149.078497 53.513958) (xy 149.067207 53.456928) (xy 149.052605 53.400021) (xy 149.034692 53.343239) - (xy 149.057224 53.310394) (xy 149.078153 53.27803) (xy 149.097479 53.246146) (xy 149.115203 53.214744) - (xy 149.131324 53.183822) (xy 149.145843 53.153381) (xy 149.158759 53.12342) (xy 149.170073 53.093941) - (xy 149.179784 53.064942) (xy 149.187892 53.036424) (xy 149.194398 53.008386) (xy 149.199301 52.980829) - (xy 149.202601 52.953754) (xy 149.204299 52.927158) (xy 149.204394 52.901044) (xy 149.202887 52.87541) - (xy 149.199777 52.850257) (xy 149.195065 52.825585) (xy 149.18875 52.801393) (xy 149.180832 52.777683) - (xy 149.171312 52.754452) (xy 149.160189 52.731703) (xy 149.147463 52.709434) (xy 149.133135 52.687647) - (xy 149.117204 52.666339) (xy 149.099671 52.645513) (xy 149.080535 52.625167) (xy 149.059797 52.605302) - (xy 149.037456 52.585918) (xy 149.013512 52.567014) (xy 148.987966 52.548591) (xy 148.960817 52.530649) - (xy 149.011922 52.616997) (xy 149.029883 52.658912) (xy 149.042702 52.700246) (xy 149.050316 52.741196) - (xy 149.052664 52.781955) (xy 149.049685 52.822718) (xy 149.041317 52.863681) (xy 149.027498 52.905038) - (xy 149.008168 52.946985) (xy 148.952724 53.033423) (xy 148.874493 53.124555) (xy 148.772984 53.22194) - (xy 148.647703 53.327135) (xy 148.498159 53.441701) (xy 148.12431 53.705175) (xy 147.063787 54.413139) - (xy 146.846117 54.561044) (xy 146.61887 54.720708) (xy 146.382221 54.892847) (xy 146.136345 55.078175) - (xy 145.881417 55.277409) (xy 145.617611 55.491264) (xy 145.345103 55.720456) (xy 145.064067 55.965699) - (xy 145.176314 55.825138) (xy 145.298128 55.685895) (xy 145.428589 55.548045) (xy 145.566774 55.411662) - (xy 145.862635 55.1436) (xy 146.178339 54.882309) (xy 146.506515 54.628391) (xy 146.839793 54.382446) - (xy 147.492169 53.916879) (xy 147.796526 53.698459) (xy 148.0765 53.490415) (xy 148.169483 53.416595) - (xy 147.270158 53.416595) (xy 147.268578 53.448637) (xy 147.264113 53.481927) (xy 147.256827 53.516382) - (xy 147.24678 53.55192) (xy 147.234036 53.588461) (xy 147.218656 53.625921) (xy 147.200701 53.66422) - (xy 147.180235 53.703276) (xy 147.132015 53.78333) (xy 147.074492 53.86543) (xy 147.008161 53.948923) - (xy 146.933519 54.033153) (xy 146.851062 54.117469) (xy 146.786179 54.177598) (xy 146.71748 54.235302) - (xy 146.645185 54.290759) (xy 146.569512 54.344146) (xy 146.490678 54.395638) (xy 146.408902 54.445414) - (xy 146.324402 54.493649) (xy 146.237395 54.540522) (xy 146.056737 54.630883) (xy 145.868672 54.717911) - (xy 145.477302 54.88763) (xy 145.409234 54.922322) (xy 145.340728 54.955315) (xy 145.271883 54.98625) - (xy 145.202802 55.014767) (xy 145.133587 55.040507) (xy 145.064337 55.063112) (xy 144.995156 55.082221) - (xy 144.926144 55.097477) (xy 144.857402 55.108519) (xy 144.789032 55.114989) (xy 144.721136 55.116527) - (xy 144.653815 55.112775) (xy 144.620402 55.108803) (xy 144.58717 55.103374) (xy 144.554133 55.096442) - (xy 144.521303 55.087963) (xy 144.488692 55.077893) (xy 144.456314 55.066185) (xy 144.424182 55.052796) - (xy 144.392307 55.03768) (xy 144.367823 55.026884) (xy 144.345715 55.013801) (xy 144.325956 54.998607) - (xy 144.308517 54.98148) (xy 144.293368 54.962597) (xy 144.280483 54.942137) (xy 144.269831 54.920275) - (xy 144.261385 54.897191) (xy 144.255117 54.87306) (xy 144.250996 54.848061) (xy 144.248996 54.822371) - (xy 144.249088 54.796167) (xy 144.251243 54.769627) (xy 144.255432 54.742928) (xy 144.261627 54.716248) - (xy 144.2698 54.689764) (xy 144.279921 54.663654) (xy 144.291964 54.638095) (xy 144.305898 54.613263) - (xy 144.321696 54.589338) (xy 144.339328 54.566496) (xy 144.358767 54.544915) (xy 144.379985 54.524771) - (xy 144.402951 54.506244) (xy 144.427639 54.489509) (xy 144.454018 54.474744) (xy 144.482062 54.462127) - (xy 144.511741 54.451836) (xy 144.543027 54.444047) (xy 144.575892 54.438938) (xy 144.610306 54.436687) - (xy 144.646242 54.43747) (xy 144.630102 54.424212) (xy 144.614865 54.410414) (xy 144.600529 54.396075) - (xy 144.587094 54.381195) (xy 144.574561 54.365774) (xy 144.56293 54.349812) (xy 144.5522 54.33331) - (xy 144.542371 54.316266) (xy 144.533444 54.298682) (xy 144.525418 54.280557) (xy 144.518293 54.261891) - (xy 144.512069 54.242685) (xy 144.506747 54.222937) (xy 144.502326 54.202649) (xy 144.498806 54.18182) - (xy 144.496187 54.16045) (xy 144.437433 54.158474) (xy 144.38442 54.156307) (xy 144.336838 54.153833) - (xy 144.294381 54.150938) (xy 144.274978 54.149296) (xy 144.25674 54.147506) (xy 144.23963 54.145553) - (xy 144.223609 54.143422) (xy 144.208638 54.141101) (xy 144.194678 54.138573) (xy 144.181692 54.135825) - (xy 144.169641 54.132842) (xy 144.158486 54.12961) (xy 144.14819 54.126115) (xy 144.138712 54.122342) - (xy 144.130016 54.118277) (xy 144.122062 54.113905) (xy 144.114812 54.109213) (xy 144.108228 54.104185) - (xy 144.102271 54.098808) (xy 144.096903 54.093066) (xy 144.092085 54.086947) (xy 144.087779 54.080435) - (xy 144.083946 54.073515) (xy 144.080547 54.066175) (xy 144.077545 54.058398) (xy 144.074901 54.050171) - (xy 144.072577 54.04148) (xy 144.071654 54.035839) (xy 144.071588 54.030023) (xy 144.072368 54.024056) - (xy 144.073984 54.017961) (xy 144.079684 54.005481) (xy 144.088608 53.992771) (xy 144.100675 53.980018) - (xy 144.115804 53.967408) (xy 144.133916 53.95513) (xy 144.154929 53.943369) (xy 144.178764 53.932314) - (xy 144.20534 53.922151) (xy 144.234577 53.913067) (xy 144.266393 53.90525) (xy 144.300709 53.898887) - (xy 144.337445 53.894164) (xy 144.376519 53.891269) (xy 144.417852 53.89039) (xy 144.455451 53.891233) - (xy 144.494438 53.893266) (xy 144.576511 53.8999) (xy 144.756619 53.916435) (xy 144.854405 53.922332) - (xy 144.905176 53.923811) (xy 144.95718 53.923978) (xy 145.010399 53.922583) (xy 145.064818 53.919373) - (xy 145.120423 53.914101) (xy 145.177197 53.906515) (xy 145.164555 53.900367) (xy 145.152557 53.893515) - (xy 145.141135 53.886031) (xy 145.130223 53.877988) (xy 145.119755 53.86946) (xy 145.109664 53.860518) - (xy 145.090347 53.841688) (xy 145.05331 53.802279) (xy 145.034525 53.782866) (xy 145.014854 53.764425) - (xy 145.004519 53.755751) (xy 144.993762 53.747538) (xy 144.982518 53.73986) (xy 144.970719 53.732789) - (xy 144.958299 53.726399) (xy 144.945192 53.720761) (xy 144.931331 53.715949) (xy 144.916649 53.712036) - (xy 144.90108 53.709095) (xy 144.884557 53.707198) (xy 144.867014 53.706419) (xy 144.848384 53.70683) - (xy 144.828601 53.708504) (xy 144.807598 53.711514) (xy 144.785309 53.715933) (xy 144.761667 53.721834) - (xy 144.73841 53.73424) (xy 144.715861 53.744841) (xy 144.693986 53.753728) (xy 144.672751 53.760988) - (xy 144.652119 53.76671) (xy 144.632057 53.770983) (xy 144.61253 53.773897) (xy 144.593501 53.775538) - (xy 144.574938 53.775997) (xy 144.556804 53.775361) (xy 144.539066 53.77372) (xy 144.521687 53.771163) - (xy 144.504634 53.767777) (xy 144.487872 53.763653) (xy 144.455079 53.75354) (xy 144.423029 53.741535) - (xy 144.391444 53.728347) (xy 144.328554 53.701262) (xy 144.29669 53.688783) (xy 144.264176 53.677961) - (xy 144.247588 53.673393) (xy 144.230733 53.669505) (xy 144.213576 53.666386) (xy 144.196082 53.664124) - (xy 144.18876 53.670897) (xy 144.181471 53.677315) (xy 144.167013 53.689145) (xy 144.152741 53.699725) - (xy 144.138692 53.709166) (xy 144.1249 53.717578) (xy 144.111399 53.725072) (xy 144.098226 53.73176) - (xy 144.085414 53.737752) (xy 144.073 53.743158) (xy 144.061017 53.748091) (xy 144.038489 53.756978) - (xy 144.018109 53.765298) (xy 144.008812 53.769523) (xy 144.000157 53.773939) (xy 143.991987 53.778142) - (xy 143.983871 53.781794) (xy 143.975831 53.784895) (xy 143.967891 53.787443) (xy 143.960072 53.789436) - (xy 143.952399 53.790874) (xy 143.944894 53.791754) (xy 143.93758 53.792076) (xy 143.93048 53.791838) - (xy 143.923617 53.791038) (xy 143.917013 53.789676) (xy 143.910692 53.787749) (xy 143.904677 53.785256) - (xy 143.898991 53.782196) (xy 143.893655 53.778568) (xy 143.888695 53.774369) (xy 143.884131 53.769599) - (xy 143.879988 53.764256) (xy 143.876288 53.758339) (xy 143.873054 53.751847) (xy 143.870309 53.744777) - (xy 143.868077 53.737129) (xy 143.866379 53.7289) (xy 143.865239 53.720091) (xy 143.864679 53.710698) - (xy 143.864724 53.700722) (xy 143.865395 53.69016) (xy 143.866715 53.67901) (xy 143.868708 53.667273) - (xy 143.871397 53.654945) (xy 143.874803 53.642026) (xy 143.878951 53.628515) (xy 143.886113 53.598446) - (xy 143.893119 53.57142) (xy 143.899979 53.547287) (xy 143.906699 53.525898) (xy 143.913287 53.507102) - (xy 143.919751 53.490751) (xy 143.926098 53.476693) (xy 143.932336 53.464781) (xy 143.938473 53.454864) - (xy 143.944516 53.446792) (xy 143.950472 53.440416) (xy 143.95635 53.435587) (xy 143.962157 53.432154) - (xy 143.9679 53.429968) (xy 143.973588 53.42888) (xy 143.979228 53.428739) (xy 143.984827 53.429396) - (xy 143.990393 53.430702) (xy 144.001456 53.434661) (xy 144.023522 53.443775) (xy 144.029071 53.44543) - (xy 144.034647 53.446537) (xy 144.040259 53.446945) (xy 144.045913 53.446505) (xy 144.051619 53.445068) - (xy 144.057383 53.442484) (xy 144.063213 53.438602) (xy 144.069116 53.433275) (xy 144.071432 53.424629) - (xy 144.073356 53.415329) (xy 144.076189 53.395042) (xy 144.077941 53.372952) (xy 144.078936 53.349601) - (xy 144.079953 53.301278) (xy 144.080624 53.277386) (xy 144.081835 53.254396) (xy 144.083911 53.232848) - (xy 144.085375 53.222784) (xy 144.087177 53.213283) (xy 144.089357 53.204412) (xy 144.091956 53.19624) - (xy 144.095014 53.188834) (xy 144.098573 53.182261) (xy 144.102672 53.17659) (xy 144.107353 53.171887) - (xy 144.112655 53.16822) (xy 144.11862 53.165657) (xy 144.125287 53.164265) (xy 144.132698 53.164113) - (xy 144.140892 53.165267) (xy 144.149911 53.167795) (xy 144.194243 53.167503) (xy 144.23738 53.166125) - (xy 144.279157 53.163509) (xy 144.319408 53.159506) (xy 144.357967 53.153965) (xy 144.37656 53.15057) - (xy 144.394669 53.146735) (xy 144.412272 53.14244) (xy 144.429349 53.137667) (xy 144.445879 53.132396) - (xy 144.461841 53.126609) (xy 144.477215 53.120287) (xy 144.49198 53.113412) (xy 144.506115 53.105964) - (xy 144.5196 53.097924) (xy 144.532413 53.089275) (xy 144.544535 53.079996) (xy 144.555945 53.07007) - (xy 144.566621 53.059478) (xy 144.576543 53.0482) (xy 144.585691 53.036217) (xy 144.594044 53.023512) - (xy 144.601581 53.010065) (xy 144.608281 52.995858) (xy 144.614124 52.980871) (xy 144.61909 52.965086) - (xy 144.623156 52.948485) (xy 144.600711 52.957688) (xy 144.576954 52.96523) (xy 144.551973 52.971256) - (xy 144.525854 52.975917) (xy 144.498687 52.97936) (xy 144.470559 52.981734) (xy 144.441556 52.983187) - (xy 144.411769 52.983867) (xy 144.155711 52.979305) (xy 144.129054 52.979588) (xy 144.106015 52.980299) - (xy 144.086137 52.981477) (xy 144.068961 52.983165) (xy 144.054027 52.985404) (xy 144.040877 52.988235) - (xy 144.029052 52.991699) (xy 144.018093 52.99584) (xy 144.007541 53.000696) (xy 143.996937 53.006311) - (xy 143.97374 53.019982) (xy 143.94483 53.037182) (xy 143.927085 53.04721) (xy 143.906536 53.058245) - (xy 143.895661 53.063667) (xy 143.884712 53.06861) (xy 143.873715 53.073066) (xy 143.862696 53.077027) - (xy 143.851678 53.080486) (xy 143.840687 53.083437) (xy 143.829749 53.085872) (xy 143.818888 53.087785) - (xy 143.808129 53.089167) (xy 143.797498 53.090013) (xy 143.787019 53.090315) (xy 143.776718 53.090065) - (xy 143.76662 53.089257) (xy 143.75675 53.087884) (xy 143.747132 53.085938) (xy 143.737793 53.083413) - (xy 143.728756 53.0803) (xy 143.720048 53.076595) (xy 143.711693 53.072288) (xy 143.703716 53.067373) - (xy 143.696143 53.061843) (xy 143.688998 53.055691) (xy 143.682307 53.04891) (xy 143.676094 53.041493) - (xy 143.670385 53.033431) (xy 143.665205 53.02472) (xy 143.660579 53.01535) (xy 143.656532 53.005316) - (xy 143.65309 52.99461) (xy 143.650276 52.983225) (xy 143.648116 52.971154) (xy 143.646636 52.958389) - (xy 143.644996 52.935038) (xy 143.644173 52.912714) (xy 143.644129 52.891363) (xy 143.644826 52.87093) - (xy 143.646225 52.851361) (xy 143.648287 52.832602) (xy 143.650975 52.814598) (xy 143.654249 52.797294) - (xy 143.65807 52.780638) (xy 143.662401 52.764573) (xy 143.667203 52.749046) (xy 143.672438 52.734003) - (xy 143.684049 52.705149) (xy 143.696928 52.677576) (xy 143.710765 52.65085) (xy 143.725254 52.624535) - (xy 143.75495 52.571399) (xy 143.769542 52.543708) (xy 143.783551 52.514688) (xy 143.79667 52.483906) - (xy 143.8028 52.467717) (xy 143.808591 52.450925) (xy 143.839923 52.348088) (xy 143.867991 52.242747) - (xy 143.893573 52.135613) (xy 143.917445 52.0274) (xy 143.963175 51.810588) (xy 143.986587 51.703415) - (xy 144.011401 51.598014) (xy 143.961502 51.515392) (xy 143.912096 51.440341) (xy 143.863237 51.37249) - (xy 143.814979 51.31147) (xy 143.767376 51.256909) (xy 143.720481 51.208437) (xy 143.674349 51.165682) - (xy 143.629033 51.128275) (xy 143.584588 51.095844) (xy 143.541066 51.068019) (xy 143.498522 51.044429) - (xy 143.457011 51.024704) (xy 143.416584 51.008472) (xy 143.377298 50.995363) (xy 143.339205 50.985007) - (xy 143.302359 50.977032) (xy 143.266814 50.971067) (xy 143.232624 50.966744) (xy 143.168525 50.961534) - (xy 143.110492 50.958436) (xy 143.058956 50.954485) (xy 143.03576 50.951262) (xy 143.014349 50.946714) - (xy 142.994778 50.940471) (xy 142.977101 50.93216) (xy 142.961371 50.921411) (xy 142.947643 50.907855) - (xy 142.93597 50.891119) (xy 142.926406 50.870834) (xy 142.911738 50.845228) (xy 142.903112 50.824304) - (xy 142.899837 50.806574) (xy 142.901223 50.79055) (xy 142.90658 50.774745) (xy 142.915219 50.757671) - (xy 142.939581 50.713764) (xy 142.953924 50.683956) (xy 142.968788 50.646928) (xy 142.983484 50.601192) - (xy 142.997322 50.545261) (xy 143.00961 50.477646) (xy 143.019661 50.39686) (xy 143.026783 50.301415) - (xy 143.030287 50.189824) (xy 143.026882 50.052539) (xy 143.028351 49.927312) (xy 143.034431 49.813595) - (xy 143.044859 49.710839) (xy 143.059372 49.618497) (xy 143.077708 49.53602) (xy 143.099603 49.46286) - (xy 143.124793 49.398469) (xy 143.153017 49.342299) (xy 143.184012 49.293802) (xy 143.217513 49.252429) - (xy 143.253259 49.217634) (xy 143.290986 49.188866) (xy 143.330432 49.165579) (xy 143.371332 49.147223) - (xy 143.413426 49.133252) (xy 143.456448 49.123117) (xy 143.500137 49.116269) (xy 143.544229 49.112161) - (xy 143.588462 49.110245) (xy 143.676297 49.110793) (xy 143.761538 49.11353) (xy 143.842082 49.11407) - (xy 143.879934 49.112146) (xy 143.915823 49.108029) (xy 143.949486 49.101169) (xy 143.98066 49.09102) - (xy 144.009081 49.077033) (xy 144.034487 49.058659) (xy 144.020865 49.086831) (xy 144.00879 49.114037) - (xy 143.998184 49.140324) (xy 143.988973 49.165739) (xy 143.981079 49.190331) (xy 143.974428 49.214147) - (xy 143.968943 49.237234) (xy 143.964547 49.259639) (xy 143.961165 49.281411) (xy 143.958722 49.302597) - (xy 143.957139 49.323245) (xy 143.956343 49.343401) (xy 143.956804 49.38243) (xy 143.959494 49.420065) - (xy 143.963807 49.456686) (xy 143.969134 49.492674) (xy 143.980395 49.564269) (xy 143.985114 49.600637) - (xy 143.988412 49.637892) (xy 143.989683 49.676414) (xy 143.989367 49.696269) (xy 143.988317 49.716584) - (xy 144.030188 49.632274) (xy 144.076196 49.556396) (xy 144.125983 49.488429) (xy 144.179191 49.42785) - (xy 144.235461 49.374135) (xy 144.294437 49.326762) (xy 144.355759 49.285209) (xy 144.419069 49.248953) - (xy 144.484011 49.21747) (xy 144.550225 49.190237) (xy 144.617354 49.166734) (xy 144.685039 49.146435) - (xy 144.820647 49.113363) (xy 144.954186 49.086839) (xy 145.08279 49.06268) (xy 145.203595 49.036705) - (xy 145.260179 49.021729) (xy 145.313739 49.004731) (xy 145.363917 48.985188) (xy 145.410355 48.962576) - (xy 145.452695 48.936374) (xy 145.49058 48.906058) (xy 145.523651 48.871105) (xy 145.55155 48.830994) - (xy 145.573919 48.7852) (xy 145.5904 48.733202) (xy 145.600636 48.674476) (xy 145.604267 48.608499) - (xy 145.669106 48.665094) (xy 145.733403 48.718019) (xy 145.79713 48.767104) (xy 145.860264 48.812178) - (xy 145.922778 48.853068) (xy 145.984647 48.889605) (xy 146.045846 48.921616) (xy 146.10635 48.948932) - (xy 146.166133 48.97138) (xy 146.225169 48.98879) (xy 146.2544 48.995552) (xy 146.283434 49.00099) - (xy 146.312269 49.005083) (xy 146.340902 49.007809) (xy 146.369329 49.009148) (xy 146.397548 49.009077) - (xy 146.425554 49.007576) (xy 146.453346 49.004622) (xy 146.480919 49.000195) (xy 146.50827 48.994273) - (xy 146.535398 48.986835) (xy 146.562297 48.977859) (xy 146.56882 49.008562) (xy 146.572643 49.03762) - (xy 146.573919 49.065118) (xy 146.572798 49.09114) (xy 146.569433 49.115772) (xy 146.563976 49.139098) - (xy 146.556579 49.161204) (xy 146.547393 49.182174) (xy 146.536569 49.202093) (xy 146.524261 49.221046) - (xy 146.510619 49.239118) (xy 146.495796 49.256393) (xy 146.479943 49.272958) (xy 146.463213 49.288895) - (xy 146.427725 49.319231) (xy 146.390548 49.34808) (xy 146.352895 49.37612) (xy 146.315981 49.404032) - (xy 146.281021 49.432493) (xy 146.264653 49.447143) (xy 146.249229 49.462184) (xy 146.234901 49.477703) - (xy 146.22182 49.493784) (xy 146.210138 49.510511) (xy 146.200008 49.527971) (xy 146.19158 49.546247) - (xy 146.185007 49.565424) (xy 146.175603 49.595093) (xy 146.170152 49.624967) (xy 146.16845 49.655007) - (xy 146.170288 49.685169) (xy 146.17546 49.715412) (xy 146.18376 49.745694) (xy 146.19498 49.775973) - (xy 146.208915 49.806208) (xy 146.225358 49.836356) (xy 146.244102 49.866376) (xy 146.264941 49.896226) - (xy 146.287667 49.925864) (xy 146.337958 49.984337) (xy 146.39332 50.041462) (xy 146.452102 50.096902) - (xy 146.51265 50.150324) (xy 146.632434 50.249776) (xy 146.739449 50.337139) (xy 146.784036 50.375452) - (xy 146.820472 50.409739) (xy 146.893236 50.486333) (xy 146.95304 50.555484) (xy 146.999996 50.616721) - (xy 147.03422 50.669574) (xy 147.046592 50.692709) (xy 147.055823 50.713571) (xy 147.061928 50.732101) - (xy 147.06492 50.748242) (xy 147.064814 50.761932) (xy 147.061624 50.773115) (xy 147.055365 50.78173) - (xy 147.04605 50.78772) (xy 147.033694 50.791024) (xy 147.01831 50.791586) (xy 146.999913 50.789344) - (xy 146.978518 50.784241) (xy 146.954138 50.776218) (xy 146.926788 50.765216) (xy 146.863234 50.734038) - (xy 146.787968 50.690238) (xy 146.701105 50.633343) (xy 146.602759 50.562884) (xy 146.493042 50.478389) - (xy 146.496799 50.52681) (xy 146.5061 50.573504) (xy 146.52046 50.618563) (xy 146.539391 50.662078) - (xy 146.562409 50.704138) (xy 146.589029 50.744835) (xy 146.618765 50.784259) (xy 146.651131 50.822501) - (xy 146.721813 50.8958) (xy 146.79719 50.965456) (xy 146.946496 51.096739) (xy 147.012656 51.159816) - (xy 147.041914 51.19103) (xy 147.067976 51.222148) (xy 147.090357 51.253262) (xy 147.108571 51.284461) - (xy 147.122134 51.315837) (xy 147.130558 51.34748) (xy 147.13336 51.37948) (xy 147.130053 51.411928) - (xy 147.120152 51.444915) (xy 147.103171 51.478531) (xy 147.078625 51.512867) (xy 147.046029 51.548013) - (xy 147.004896 51.584061) (xy 146.954742 51.621099) (xy 146.956605 51.674825) (xy 146.952939 51.730974) - (xy 146.944285 51.789264) (xy 146.931183 51.849413) (xy 146.914175 51.91114) (xy 146.893801 51.974163) - (xy 146.84512 52.102969) (xy 146.623954 52.613687) (xy 146.602258 52.672371) (xy 146.583688 52.728971) - (xy 146.568783 52.783204) (xy 146.558085 52.834789) (xy 146.552135 52.883444) (xy 146.551474 52.928887) - (xy 146.556643 52.970838) (xy 146.568182 53.009013) (xy 146.576509 53.026597) (xy 146.586632 53.043132) - (xy 146.598619 53.058582) (xy 146.612535 53.072912) (xy 146.62845 53.086087) (xy 146.646431 53.098072) - (xy 146.666546 53.108831) (xy 146.688862 53.11833) (xy 146.740367 53.133404) (xy 146.801488 53.143014) - (xy 146.872766 53.146876) (xy 146.954742 53.144709) (xy 147.000048 53.150711) (xy 147.041602 53.159105) - (xy 147.079467 53.169808) (xy 147.113703 53.182738) (xy 147.144372 53.197815) (xy 147.171538 53.214956) - (xy 147.195262 53.23408) (xy 147.215606 53.255105) (xy 147.232631 53.277949) (xy 147.246401 53.30253) - (xy 147.256976 53.328767) (xy 147.264419 53.356578) (xy 147.268793 53.385881) (xy 147.270158 53.416595) - (xy 148.169483 53.416595) (xy 148.324721 53.293349) (xy 148.533817 53.107861) (xy 148.621391 53.019647) - (xy 148.696419 52.934553) (xy 148.75798 52.852653) (xy 148.805154 52.774024) (xy 148.837018 52.69874) - (xy 148.852652 52.626876) (xy 148.851134 52.558507) (xy 148.831542 52.493709) (xy 148.798009 52.473697) - (xy 148.769759 52.451859) (xy 148.746531 52.428501) (xy 148.728067 52.403926) (xy 148.714106 52.378439) - (xy 148.704389 52.352344) (xy 148.698655 52.325944) (xy 148.696646 52.299544) (xy 148.6981 52.273448) - (xy 148.702759 52.247961) (xy 148.710362 52.223386) (xy 148.72065 52.200028) (xy 148.733363 52.178191) - (xy 148.748241 52.158178) (xy 148.765024 52.140295) (xy 148.783453 52.124845) (xy 148.803268 52.112133) - (xy 148.824208 52.102462) (xy 148.846014 52.096137) (xy 148.868427 52.093462) (xy 148.891185 52.094741) - (xy 148.914031 52.100278) (xy 148.936703 52.110378) (xy 148.958943 52.125345) (xy 148.980489 52.145482) - (xy 149.001083 52.171094) (xy 149.020464 52.202485) (xy 149.038374 52.23996) (xy 149.054551 52.283822) - (xy 149.068736 52.334375) (xy 149.08067 52.391925) (xy 149.090092 52.456774) (xy 149.12447 52.413208) - (xy 149.155997 52.369555) (xy 149.184737 52.325815) (xy 149.210753 52.281987) (xy 149.234108 52.238073) - (xy 149.254865 52.194071) (xy 149.273087 52.149981) (xy 149.288838 52.105804) (xy 149.30218 52.061539) - (xy 149.313177 52.017187) (xy 149.321891 51.972746) (xy 149.328387 51.928218) (xy 149.332726 51.883602) - (xy 149.334972 51.838897) (xy 149.335188 51.794105) (xy 149.333437 51.749224) (xy 149.33057 51.711595) - (xy 149.32665 51.675771) (xy 149.321707 51.641624) (xy 149.31577 51.609028) (xy 149.30887 51.577857) - (xy 149.301037 51.547985) (xy 149.292301 51.519284) (xy 149.282692 51.49163) (xy 149.27224 51.464894) - (xy 149.260976 51.438952) (xy 149.236129 51.388942) (xy 149.208393 51.340587) (xy 149.178008 51.292877) - (xy 149.034799 51.088272) (xy 148.994783 51.028624) (xy 148.953563 50.963557) (xy 148.911381 50.892059) - (xy 148.868477 50.813119) (xy 149.219372 50.794654) (xy 149.13747 50.726025) (xy 149.060789 50.653966) - (xy 148.98969 50.578238) (xy 148.92454 50.498601) (xy 148.865702 50.414816) (xy 148.81354 50.326644) - (xy 148.768417 50.233846) (xy 148.7307 50.136182) (xy 148.70075 50.033414) (xy 148.678933 49.925301) - (xy 148.665612 49.811605) (xy 148.661153 49.692086) (xy 148.665918 49.566505) (xy 148.680271 49.434623) - (xy 148.704578 49.296201) (xy 148.739202 49.150999) (xy 148.715479 49.129335) (xy 148.692703 49.105645) - (xy 148.670737 49.080126) (xy 148.649449 49.052974) (xy 148.608358 48.994564) (xy 148.56835 48.931991) - (xy 148.487251 48.800671) (xy 148.443998 48.735079) (xy 148.397499 48.671635) (xy 148.372694 48.641211) - (xy 148.346673 48.611917) (xy 148.319299 48.583948) (xy 148.290438 48.557503) (xy 148.259954 48.532778) - (xy 148.227713 48.50997) (xy 148.193578 48.489277) (xy 148.157415 48.470896) (xy 148.119088 48.455025) - (xy 148.078462 48.441859) (xy 148.035403 48.431598) (xy 147.989774 48.424437) (xy 147.941441 48.420573) - (xy 147.890268 48.420206) (xy 147.83612 48.42353) (xy 147.778862 48.430744) (xy 147.769511 48.377909) - (xy 147.752488 48.321291) (xy 147.728114 48.261375) (xy 147.69671 48.198646) (xy 147.614097 48.066685) - (xy 147.507219 47.929285) (xy 147.378645 47.790322) (xy 147.230945 47.653673) (xy 147.066687 47.523215) - (xy 146.888441 47.402823) (xy 146.698776 47.296374) (xy 146.600464 47.249589) (xy 146.500261 47.207744) - (xy 146.398488 47.171323) (xy 146.295466 47.140811) (xy 146.191517 47.116692) (xy 146.08696 47.09945) - (xy 145.982119 47.08957) (xy 145.877313 47.087538) (xy 145.772864 47.093836) (xy 145.669093 47.108951) - (xy 145.566321 47.133366) (xy 145.464869 47.167566) (xy 145.365059 47.212035) (xy 145.267212 47.267259) - (xy 145.190945 47.229577) (xy 145.117877 47.196425) (xy 145.0479 47.167646) (xy 144.980908 47.143081) - (xy 144.916792 47.122572) (xy 144.855447 47.105963) (xy 144.796765 47.093094) (xy 144.740639 47.083809) - (xy 144.686962 47.07795) (xy 144.635627 47.075358) + (xy 150.025786 55.469671) (xy 150.025812 55.469671) (xy 150.025786 55.469619) ) (stroke - (width -0.000001) + (width 0) (type solid) + (color 255 255 255 1) ) (fill solid) (layer "B.Cu") - (uuid "3d71e663-a04c-42d3-ac95-12c6ea81ffe0") + (uuid "b5a3dcc6-cc5e-45bd-8b9e-ac30d0f7c09a") ) (gr_poly (pts - (xy 144.794504 50.670959) (xy 144.793359 50.701985) (xy 144.789274 50.729764) (xy 144.782401 50.754465) - (xy 144.772892 50.776255) (xy 144.760898 50.795302) (xy 144.746573 50.811774) (xy 144.730068 50.825839) - (xy 144.711535 50.837666) (xy 144.691126 50.847421) (xy 144.668994 50.855273) (xy 144.645291 50.86139) - (xy 144.620168 50.86594) (xy 144.593777 50.86909) (xy 144.566272 50.871009) (xy 144.537803 50.871864) - (xy 144.478584 50.871056) (xy 144.417337 50.868008) (xy 144.293627 50.86057) (xy 144.233597 50.858866) - (xy 144.176406 50.860296) (xy 144.149255 50.862607) (xy 144.12327 50.866204) (xy 144.098604 50.871258) - (xy 144.075407 50.877934) (xy 144.068903 50.878907) (xy 144.063931 50.881046) (xy 144.060331 50.884263) - (xy 144.057946 50.888474) (xy 144.056617 50.893594) (xy 144.056186 50.899536) (xy 144.056494 50.906215) - (xy 144.057384 50.913546) (xy 144.06358 50.947674) (xy 144.066045 50.966423) (xy 144.066564 50.97592) - (xy 144.066397 50.985384) (xy 144.065385 50.99473) (xy 144.06337 51.003872) (xy 144.060193 51.012724) - (xy 144.055696 51.021201) (xy 144.04972 51.029218) (xy 144.042107 51.036689) (xy 144.032699 51.043529) - (xy 144.021337 51.049651) (xy 144.007863 51.054971) (xy 143.992118 51.059402) (xy 143.973944 51.06286) - (xy 143.953182 51.065259) (xy 143.929674 51.066512) (xy 143.903262 51.066536) (xy 143.873788 51.065243) - (xy 143.841092 51.062549) (xy 143.834967 51.063759) (xy 143.829635 51.066035) (xy 143.825087 51.069335) - (xy 143.821312 51.073618) (xy 143.818301 51.078844) (xy 143.816043 51.084969) (xy 143.81453 51.091953) - (xy 143.81375 51.099754) (xy 143.813694 51.108331) (xy 143.814352 51.117642) (xy 143.815714 51.127646) - (xy 143.81777 51.138301) (xy 143.82051 51.149566) (xy 143.823925 51.1614) (xy 143.828003 51.17376) - (xy 143.832737 51.186605) (xy 143.838114 51.199895) (xy 143.844127 51.213587) (xy 143.850763 51.227639) - (xy 143.858015 51.242011) (xy 143.865871 51.256662) (xy 143.874322 51.271548) (xy 143.883359 51.28663) - (xy 143.89297 51.301865) (xy 143.903146 51.317212) (xy 143.913877 51.332629) (xy 143.925154 51.348076) - (xy 143.936965 51.363511) (xy 143.949302 51.378891) (xy 143.962155 51.394176) (xy 143.975513 51.409324) - (xy 143.989367 51.424294) (xy 144.024051 51.459468) (xy 144.05935 51.492698) (xy 144.094995 51.524009) - (xy 144.130721 51.553428) (xy 144.166261 51.580981) (xy 144.201348 51.606695) (xy 144.235715 51.630596) - (xy 144.269096 51.65271) (xy 144.331833 51.691684) (xy 144.387426 51.723828) (xy 144.468647 51.768469) - (xy 144.481458 51.7751) (xy 144.493471 51.782467) (xy 144.504749 51.790514) (xy 144.515355 51.799184) - (xy 144.525353 51.808421) (xy 144.534807 51.818168) (xy 144.54378 51.82837) (xy 144.552335 51.83897) - (xy 144.568449 51.861139) (xy 144.583657 51.884226) (xy 144.613389 51.931351) (xy 144.628929 51.954489) - (xy 144.645597 51.976743) (xy 144.654514 51.987398) (xy 144.663902 51.997664) (xy 144.673827 52.007483) - (xy 144.684352 52.016801) (xy 144.69554 52.02556) (xy 144.707455 52.033704) (xy 144.720161 52.041177) - (xy 144.733721 52.047923) (xy 144.748198 52.053886) (xy 144.763657 52.059008) (xy 144.78016 52.063235) - (xy 144.797772 52.066509) (xy 144.827477 52.070385) (xy 144.856462 52.07281) (xy 144.884554 52.073737) - (xy 144.911582 52.073123) (xy 144.937377 52.07092) (xy 144.961766 52.067083) (xy 144.98458 52.061567) - (xy 145.005646 52.054325) (xy 145.015471 52.050043) (xy 145.024795 52.045313) (xy 145.033597 52.040129) - (xy 145.041855 52.034484) (xy 145.049548 52.028375) (xy 145.056655 52.021793) (xy 145.063154 52.014736) - (xy 145.069024 52.007195) (xy 145.074244 51.999166) (xy 145.078792 51.990643) (xy 145.082647 51.98162) - (xy 145.085788 51.972092) (xy 145.088192 51.962052) (xy 145.089839 51.951496) (xy 145.090708 51.940417) - (xy 145.090777 51.928809) (xy 145.067518 51.931545) (xy 145.045219 51.933667) (xy 145.023888 51.935168) - (xy 145.003533 51.93604) (xy 144.984162 51.936274) (xy 144.965782 51.935862) (xy 144.948403 51.934795) - (xy 144.932032 51.933067) (xy 144.916678 51.930668) (xy 144.902347 51.92759) (xy 144.88905 51.923825) - (xy 144.876793 51.919365) (xy 144.865584 51.914201) (xy 144.855432 51.908326) (xy 144.846346 51.901732) - (xy 144.838332 51.894409) (xy 144.825899 51.881196) (xy 144.815068 51.868794) (xy 144.80577 51.85715) - (xy 144.797941 51.846212) (xy 144.791513 51.835928) (xy 144.78642 51.826244) (xy 144.782596 51.817109) - (xy 144.779975 51.80847) (xy 144.77849 51.800275) (xy 144.778075 51.792471) (xy 144.778663 51.785006) - (xy 144.780188 51.777827) (xy 144.782584 51.770882) (xy 144.785785 51.764118) (xy 144.789724 51.757483) - (xy 144.794334 51.750924) (xy 144.79955 51.744389) (xy 144.805305 51.737826) (xy 144.818167 51.724405) - (xy 144.847439 51.694911) (xy 144.855109 51.68668) (xy 144.862788 51.678) (xy 144.870408 51.66882) - (xy 144.877904 51.659087) (xy 144.885209 51.648748) (xy 144.892257 51.637751) (xy 144.898982 51.626044) - (xy 144.905317 51.613574) (xy 144.908242 51.607096) (xy 144.910872 51.600678) (xy 144.913261 51.59432) - (xy 144.915468 51.58802) (xy 144.923591 51.563372) (xy 144.925729 51.557341) (xy 144.928024 51.551361) - (xy 144.930531 51.545429) (xy 144.933307 51.539545) (xy 144.93641 51.533707) (xy 144.939894 51.527913) - (xy 144.943818 51.522162) (xy 144.948237 51.516454) (xy 144.951465 51.512631) (xy 144.954615 51.509096) - (xy 144.957687 51.505842) (xy 144.960682 51.502864) (xy 144.9636 51.500153) (xy 144.966442 51.497703) - (xy 144.969209 51.495509) (xy 144.971901 51.493562) (xy 144.974519 51.491856) (xy 144.977064 51.490385) - (xy 144.979535 51.489142) (xy 144.981935 51.488121) (xy 144.984262 51.487314) (xy 144.986518 51.486714) - (xy 144.988704 51.486316) (xy 144.99082 51.486113) (xy 144.992867 51.486097) (xy 144.994845 51.486263) - (xy 144.996755 51.486602) (xy 144.998597 51.48711) (xy 145.000373 51.487779) (xy 145.002083 51.488602) - (xy 145.003726 51.489573) (xy 145.005305 51.490685) (xy 145.006819 51.491931) (xy 145.00827 51.493305) - (xy 145.009657 51.494799) (xy 145.010982 51.496409) (xy 145.013446 51.499943) (xy 145.015667 51.503854) - (xy 145.016795 51.506294) (xy 145.017699 51.50877) (xy 145.018397 51.511275) (xy 145.018904 51.513804) - (xy 145.019236 51.51635) (xy 145.019409 51.518907) (xy 145.019441 51.521468) (xy 145.019346 51.524028) - (xy 145.018844 51.529117) (xy 145.018033 51.534124) (xy 145.016001 51.54369) (xy 145.015041 51.548149) - (xy 145.01429 51.552324) (xy 145.013879 51.556165) (xy 145.013842 51.557945) (xy 145.013938 51.559623) - (xy 145.014184 51.561192) (xy 145.014595 51.562647) (xy 145.01519 51.56398) (xy 145.015982 51.565186) - (xy 145.016989 51.566258) (xy 145.018228 51.56719) (xy 145.019713 51.567976) (xy 145.021462 51.568609) - (xy 145.014775 51.59663) (xy 145.011294 51.623736) (xy 145.010839 51.649864) (xy 145.013232 51.674954) - (xy 145.018293 51.698946) (xy 145.025846 51.721778) (xy 145.03571 51.743389) (xy 145.047707 51.763719) - (xy 145.061659 51.782706) (xy 145.077387 51.800291) (xy 145.094713 51.816411) (xy 145.113457 51.831007) - (xy 145.133441 51.844016) (xy 145.154487 51.855379) (xy 145.176416 51.865035) (xy 145.199048 51.872922) - (xy 145.222207 51.87898) (xy 145.245713 51.883148) (xy 145.269387 51.885364) (xy 145.29305 51.885569) - (xy 145.316525 51.883701) (xy 145.339632 51.879699) (xy 145.362194 51.873503) (xy 145.38403 51.865051) - (xy 145.404963 51.854284) (xy 145.424814 51.841139) (xy 145.443405 51.825555) (xy 145.460556 51.807474) - (xy 145.47609 51.786832) (xy 145.489827 51.763569) (xy 145.501589 51.737625) (xy 145.511197 51.708939) - (xy 145.529558 51.710341) (xy 145.546441 51.710273) (xy 145.561884 51.708829) (xy 145.575922 51.706102) - (xy 145.588592 51.702187) (xy 145.599928 51.697175) (xy 145.609968 51.691162) (xy 145.618748 51.68424) - (xy 145.626304 51.676503) (xy 145.632671 51.668044) (xy 145.637886 51.658957) (xy 145.641985 51.649335) - (xy 145.645004 51.639272) (xy 145.64698 51.628862) (xy 145.647947 51.618197) (xy 145.647944 51.607371) - (xy 145.647004 51.596478) (xy 145.645166 51.585611) (xy 145.642464 51.574864) (xy 145.638935 51.56433) - (xy 145.634615 51.554103) (xy 145.62954 51.544276) (xy 145.623746 51.534943) (xy 145.617269 51.526196) - (xy 145.610146 51.518131) (xy 145.602413 51.510839) (xy 145.594105 51.504415) (xy 145.585258 51.498952) - (xy 145.57591 51.494543) (xy 145.566095 51.491283) (xy 145.55585 51.489263) (xy 145.545212 51.488579) - (xy 145.544134 51.498654) (xy 145.542408 51.507774) (xy 145.540056 51.515971) (xy 145.537101 51.523278) - (xy 145.533566 51.529729) (xy 145.529475 51.535355) (xy 145.524852 51.540191) (xy 145.519718 51.544269) - (xy 145.514099 51.547621) (xy 145.508016 51.550281) (xy 145.501493 51.552281) (xy 145.494553 51.553654) - (xy 145.48722 51.554433) (xy 145.479517 51.554652) (xy 145.471466 51.554342) (xy 145.463092 51.553536) - (xy 145.454418 51.552268) (xy 145.445466 51.550571) (xy 145.436261 51.548476) (xy 145.426824 51.546018) - (xy 145.407353 51.54014) (xy 145.387237 51.5332) (xy 145.366664 51.525462) (xy 145.345819 51.517187) - (xy 145.304057 51.50008) (xy 145.290525 51.494193) (xy 145.276955 51.487683) (xy 145.249703 51.473361) - (xy 145.222313 51.458248) (xy 145.194795 51.443477) (xy 145.180992 51.436574) (xy 145.167161 51.43018) - (xy 145.153304 51.424439) (xy 145.139422 51.419492) (xy 145.125517 51.415479) (xy 145.11159 51.412544) - (xy 145.104619 51.411524) (xy 145.097643 51.410827) (xy 145.090662 51.410469) (xy 145.083677 51.41047) - (xy 145.079057 51.41164) (xy 145.074193 51.412634) (xy 145.069158 51.413432) (xy 145.06402 51.414011) - (xy 145.058851 51.414349) (xy 145.053721 51.414425) (xy 145.048702 51.414217) (xy 145.043863 51.413704) - (xy 145.039277 51.412863) (xy 145.035012 51.411674) (xy 145.033023 51.410941) (xy 145.031141 51.410114) - (xy 145.029375 51.409188) (xy 145.027734 51.408161) (xy 145.026226 51.407031) (xy 145.024861 51.405795) - (xy 145.023647 51.40445) (xy 145.022593 51.402993) (xy 145.021709 51.401422) (xy 145.021002 51.399733) - (xy 145.020481 51.397925) (xy 145.020157 51.395995) (xy 145.020034 51.393941) (xy 145.020109 51.391772) - (xy 145.020375 51.3895) (xy 145.020826 51.387135) (xy 145.021456 51.384689) (xy 145.022259 51.382171) - (xy 145.023227 51.379593) (xy 145.024355 51.376965) (xy 145.027064 51.371606) (xy 145.030334 51.366179) - (xy 145.034114 51.360772) (xy 145.038353 51.355471) (xy 145.043 51.350363) (xy 145.048004 51.345536) - (xy 145.053314 51.341075) (xy 145.056067 51.33901) (xy 145.058878 51.337069) (xy 145.061739 51.335262) - (xy 145.064645 51.333602) (xy 145.067589 51.332099) (xy 145.070565 51.330763) (xy 145.073566 51.329606) - (xy 145.076586 51.328638) (xy 145.079618 51.327871) (xy 145.082657 51.327315) (xy 145.089897 51.326545) - (xy 145.097745 51.326244) (xy 145.10611 51.326366) (xy 145.114907 51.32687) (xy 145.124048 51.327713) - (xy 145.133445 51.328852) (xy 145.152657 51.331845) (xy 145.171842 51.335507) (xy 145.190301 51.339495) - (xy 145.222237 51.347075) (xy 145.273707 51.360864) (xy 145.326556 51.375968) (xy 145.377622 51.38937) - (xy 145.401497 51.39449) (xy 145.423741 51.398054) (xy 145.443958 51.399684) (xy 145.453182 51.399655) - (xy 145.461752 51.399002) (xy 145.469617 51.397677) (xy 145.476728 51.395633) (xy 145.483036 51.392822) - (xy 145.488491 51.389198) (xy 145.493044 51.384713) (xy 145.496646 51.379321) (xy 145.499247 51.372974) - (xy 145.500797 51.365625) (xy 145.501248 51.357226) (xy 145.500549 51.347731) (xy 145.498652 51.337093) - (xy 145.495507 51.325265) (xy 145.496391 51.321236) (xy 145.496693 51.315816) (xy 145.496081 51.301242) - (xy 145.493708 51.260264) (xy 145.494071 51.235633) (xy 145.495103 51.22267) (xy 145.49688 51.209422) - (xy 145.499535 51.196002) (xy 145.5032 51.182519) (xy 145.508007 51.169084) (xy 145.514089 51.155808) - (xy 145.52158 51.142802) (xy 145.530611 51.130177) (xy 145.541316 51.118044) (xy 145.553827 51.106512) - (xy 145.568277 51.095694) (xy 145.584799 51.0857) (xy 145.603524 51.076641) (xy 145.624587 51.068627) - (xy 145.648119 51.061769) (xy 145.674253 51.056178) (xy 145.703122 51.051966) (xy 145.734859 51.049242) - (xy 145.769596 51.048117) (xy 145.807466 51.048703) (xy 145.848602 51.051111) (xy 145.893137 51.055449) - (xy 145.867963 51.039027) (xy 145.844105 51.022307) (xy 145.799569 50.988184) (xy 145.758003 50.953487) - (xy 145.717877 50.918627) (xy 145.677665 50.884013) (xy 145.635837 50.850053) (xy 145.61384 50.833447) - (xy 145.590866 50.817158) (xy 145.566724 50.801238) (xy 145.541224 50.785737) (xy 145.514174 50.770706) - (xy 145.485382 50.756198) (xy 145.45466 50.742262) (xy 145.421814 50.728951) (xy 145.386654 50.716315) - (xy 145.34899 50.704405) (xy 145.308629 50.693273) (xy 145.265382 50.68297) (xy 145.219057 50.673547) - (xy 145.169463 50.665055) (xy 145.116409 50.657545) (xy 145.059705 50.651068) (xy 144.999158 50.645676) - (xy 144.934579 50.64142) (xy 144.865775 50.63835) (xy 144.792557 50.636519) + (xy 145.483673 48.636191) (xy 145.473438 48.694917) (xy 145.456956 48.746915) (xy 145.434587 48.792709) + (xy 145.406688 48.832821) (xy 145.373617 48.867773) (xy 145.335733 48.898089) (xy 145.293392 48.924292) + (xy 145.246954 48.946903) (xy 145.196776 48.966447) (xy 145.143216 48.983445) (xy 145.086633 48.998421) + (xy 144.965827 49.024396) (xy 144.837223 49.048554) (xy 144.703685 49.075078) (xy 144.568076 49.108151) + (xy 144.500391 49.128449) (xy 144.433262 49.151953) (xy 144.367048 49.179185) (xy 144.302107 49.210668) + (xy 144.238796 49.246925) (xy 144.177474 49.288478) (xy 144.118499 49.335851) (xy 144.062228 49.389565) + (xy 144.00902 49.450145) (xy 143.959233 49.518112) (xy 143.913225 49.593989) (xy 143.871354 49.6783) + (xy 143.872405 49.657985) (xy 143.87272 49.63813) (xy 143.871449 49.599607) (xy 143.868151 49.562352) + (xy 143.863433 49.525984) (xy 143.852171 49.454389) (xy 143.846845 49.418402) (xy 143.842532 49.38178) + (xy 143.839841 49.344145) (xy 143.83938 49.305116) (xy 143.840177 49.28496) (xy 143.841759 49.264313) + (xy 143.844203 49.243127) (xy 143.847584 49.221355) (xy 143.85198 49.198949) (xy 143.857465 49.175862) + (xy 143.864117 49.152047) (xy 143.87201 49.127455) (xy 143.881221 49.102039) (xy 143.891827 49.075753) + (xy 143.903902 49.048547) (xy 143.917524 49.020375) (xy 143.892118 49.038748) (xy 143.863697 49.052735) + (xy 143.832524 49.062885) (xy 143.798861 49.069744) (xy 143.762972 49.073862) (xy 143.725119 49.075786) + (xy 143.644576 49.075246) (xy 143.559335 49.072509) (xy 143.4715 49.07196) (xy 143.427267 49.073877) + (xy 143.383174 49.077985) (xy 143.339486 49.084832) (xy 143.296463 49.094968) (xy 143.25437 49.108939) + (xy 143.213469 49.127294) (xy 143.174024 49.150582) (xy 143.136297 49.179349) (xy 143.100551 49.214145) + (xy 143.067049 49.255517) (xy 143.036055 49.304015) (xy 143.007831 49.360184) (xy 142.98264 49.424575) + (xy 142.960745 49.497735) (xy 142.94241 49.580212) (xy 142.927897 49.672555) (xy 142.917468 49.77531) + (xy 142.911388 49.889028) (xy 142.909919 50.014255) (xy 142.913324 50.15154) (xy 142.909821 50.263131) + (xy 142.902699 50.358575) (xy 142.892648 50.439361) (xy 142.880359 50.506976) (xy 142.866522 50.562908) + (xy 142.851826 50.608644) (xy 142.836961 50.645672) (xy 142.822618 50.67548) (xy 142.798257 50.719387) + (xy 142.789618 50.736461) (xy 142.78426 50.752266) (xy 142.782874 50.76829) (xy 142.78615 50.78602) + (xy 142.794776 50.806944) (xy 142.809444 50.83255) (xy 142.819008 50.852835) (xy 142.830681 50.86957) + (xy 142.844409 50.883127) (xy 142.860139 50.893875) (xy 142.877816 50.902186) (xy 142.897387 50.90843) + (xy 142.918797 50.912978) (xy 142.941994 50.9162) (xy 142.99353 50.920151) (xy 143.051562 50.923249) + (xy 143.115662 50.928459) (xy 143.149851 50.932783) (xy 143.185396 50.938747) (xy 143.222242 50.946722) + (xy 143.260335 50.957079) (xy 143.299622 50.970187) (xy 143.340048 50.986419) (xy 143.38156 51.006145) + (xy 143.424104 51.029735) (xy 143.467625 51.05756) (xy 143.512071 51.08999) (xy 143.557387 51.127398) + (xy 143.603519 51.170152) (xy 143.650414 51.218625) (xy 143.698017 51.273186) (xy 143.746275 51.334206) + (xy 143.795134 51.402056) (xy 143.84454 51.477107) (xy 143.894439 51.55973) (xy 143.869625 51.66513) + (xy 143.846213 51.772303) (xy 143.800483 51.989115) (xy 143.77661 52.097329) (xy 143.751029 52.204462) + (xy 143.722961 52.309804) (xy 143.691629 52.41264) (xy 143.685837 52.429433) (xy 143.679708 52.445621) + (xy 143.666589 52.476404) (xy 143.652579 52.505423) (xy 143.637988 52.533114) (xy 143.608291 52.58625) + (xy 143.593803 52.612565) (xy 143.579965 52.639291) (xy 143.567087 52.666864) (xy 143.555475 52.695718) + (xy 143.550241 52.710762) (xy 143.545439 52.726288) (xy 143.541108 52.742353) (xy 143.537286 52.75901) + (xy 143.534012 52.776313) (xy 143.531325 52.794317) (xy 143.529263 52.813076) (xy 143.527864 52.832645) + (xy 143.527167 52.853078) (xy 143.527211 52.874429) (xy 143.528034 52.896754) (xy 143.529674 52.920105) + (xy 143.531154 52.932869) (xy 143.533314 52.94494) (xy 143.536127 52.956325) (xy 143.53957 52.967031) + (xy 143.543617 52.977065) (xy 143.548243 52.986435) (xy 143.553423 52.995147) (xy 143.559132 53.003208) + (xy 143.565344 53.010625) (xy 143.572036 53.017407) (xy 143.57918 53.023559) (xy 143.586754 53.029088) + (xy 143.59473 53.034003) (xy 143.603085 53.03831) (xy 143.611794 53.042016) (xy 143.62083 53.045128) + (xy 143.63017 53.047653) (xy 143.639787 53.049599) (xy 143.649658 53.050972) (xy 143.659756 53.05178) + (xy 143.670057 53.05203) (xy 143.680536 53.051728) (xy 143.691167 53.050883) (xy 143.701925 53.0495) + (xy 143.712787 53.047587) (xy 143.723725 53.045152) (xy 143.734716 53.042201) (xy 143.745733 53.038742) + (xy 143.756753 53.034781) (xy 143.76775 53.030325) (xy 143.778698 53.025383) (xy 143.789574 53.01996) + (xy 143.810123 53.008925) (xy 143.827867 52.998897) (xy 143.856777 52.981697) (xy 143.879975 52.968027) + (xy 143.890578 52.962412) (xy 143.90113 52.957555) (xy 143.912089 52.953415) (xy 143.923915 52.94995) + (xy 143.937065 52.947119) (xy 143.951999 52.94488) (xy 143.969175 52.943192) (xy 143.989053 52.942014) + (xy 144.012091 52.941304) (xy 144.038749 52.94102) (xy 144.294806 52.945582) (xy 144.324594 52.944902) + (xy 144.353596 52.943449) (xy 144.381725 52.941075) (xy 144.408892 52.937632) (xy 144.43501 52.932971) + (xy 144.459992 52.926945) (xy 144.483749 52.919404) (xy 144.506194 52.9102) (xy 144.502127 52.926802) + (xy 144.497162 52.942587) (xy 144.491319 52.957573) (xy 144.484619 52.971781) (xy 144.477082 52.985227) + (xy 144.468729 52.997933) (xy 144.459581 53.009915) (xy 144.449659 53.021193) (xy 144.438982 53.031785) + (xy 144.427573 53.041712) (xy 144.415451 53.05099) (xy 144.402637 53.059639) (xy 144.389153 53.067679) + (xy 144.375017 53.075127) (xy 144.360253 53.082002) (xy 144.344879 53.088324) (xy 144.328917 53.094111) + (xy 144.312387 53.099382) (xy 144.29531 53.104155) (xy 144.277707 53.10845) (xy 144.259598 53.112285) + (xy 144.241004 53.11568) (xy 144.202445 53.121221) (xy 144.162195 53.125224) (xy 144.120418 53.12784) + (xy 144.077281 53.129218) (xy 144.032949 53.12951) (xy 144.02393 53.126982) (xy 144.015735 53.125828) + (xy 144.008324 53.12598) (xy 144.001657 53.127372) (xy 143.995693 53.129935) (xy 143.99039 53.133602) + (xy 143.98571 53.138305) (xy 143.981611 53.143976) (xy 143.978052 53.150549) (xy 143.974993 53.157955) + (xy 143.972394 53.166127) (xy 143.970214 53.174998) (xy 143.968412 53.184499) (xy 143.966949 53.194564) + (xy 143.964873 53.216112) (xy 143.963662 53.239102) (xy 143.962991 53.262993) (xy 143.961974 53.311316) + (xy 143.960979 53.334667) (xy 143.959227 53.356757) (xy 143.956393 53.377045) (xy 143.95447 53.386344) + (xy 143.952154 53.39499) (xy 143.946251 53.400318) (xy 143.940421 53.404199) (xy 143.934657 53.406783) + (xy 143.928951 53.40822) (xy 143.923296 53.40866) (xy 143.917684 53.408252) (xy 143.912108 53.407145) + (xy 143.90656 53.40549) (xy 143.884494 53.396376) (xy 143.87343 53.392417) (xy 143.867864 53.391112) + (xy 143.862265 53.390454) (xy 143.856626 53.390595) (xy 143.850938 53.391683) (xy 143.845195 53.393869) + (xy 143.839388 53.397302) (xy 143.83351 53.402131) (xy 143.827553 53.408507) (xy 143.82151 53.416579) + (xy 143.815374 53.426496) (xy 143.809136 53.438408) (xy 143.802788 53.452466) (xy 143.796325 53.468817) + (xy 143.789737 53.487613) (xy 143.783017 53.509002) (xy 143.776157 53.533135) (xy 143.76915 53.560161) + (xy 143.761989 53.590229) (xy 143.757841 53.603741) (xy 143.754434 53.61666) (xy 143.751746 53.628988) + (xy 143.749753 53.640725) (xy 143.748432 53.651874) (xy 143.747761 53.662437) (xy 143.747717 53.672413) + (xy 143.748276 53.681806) (xy 143.749416 53.690615) (xy 143.751114 53.698843) (xy 143.753347 53.706492) + (xy 143.756092 53.713562) (xy 143.759326 53.720054) (xy 143.763026 53.725971) (xy 143.767169 53.731314) + (xy 143.771732 53.736084) (xy 143.776693 53.740282) (xy 143.782028 53.743911) (xy 143.787715 53.746971) + (xy 143.79373 53.749463) (xy 143.800051 53.75139) (xy 143.806654 53.752753) (xy 143.813518 53.753553) + (xy 143.820618 53.753791) (xy 143.827932 53.753469) (xy 143.835437 53.752589) (xy 143.84311 53.751151) + (xy 143.850928 53.749158) (xy 143.858869 53.74661) (xy 143.866909 53.743509) (xy 143.875025 53.739857) + (xy 143.883194 53.735654) (xy 143.891849 53.731238) (xy 143.901146 53.727013) (xy 143.921526 53.718692) + (xy 143.944055 53.709806) (xy 143.956037 53.704873) (xy 143.968452 53.699466) (xy 143.981263 53.693475) + (xy 143.994437 53.686787) (xy 144.007937 53.679293) (xy 144.02173 53.670881) (xy 144.035779 53.66144) + (xy 144.050051 53.65086) (xy 144.064509 53.63903) (xy 144.071797 53.632612) (xy 144.079119 53.625839) + (xy 144.096613 53.628101) (xy 144.113771 53.63122) (xy 144.130626 53.635108) (xy 144.147214 53.639676) + (xy 144.179728 53.650498) (xy 144.211591 53.662976) (xy 144.274482 53.690062) (xy 144.306067 53.70325) + (xy 144.338116 53.715255) (xy 144.370909 53.725367) (xy 144.387672 53.729492) (xy 144.404725 53.732878) + (xy 144.422103 53.735435) (xy 144.439842 53.737076) (xy 144.457976 53.737712) (xy 144.476539 53.737253) + (xy 144.495567 53.735611) (xy 144.515095 53.732698) (xy 144.535157 53.728425) (xy 144.555789 53.722703) + (xy 144.577024 53.715443) (xy 144.598899 53.706556) (xy 144.621447 53.695955) (xy 144.644704 53.683549) + (xy 144.668346 53.677648) (xy 144.690636 53.673229) (xy 144.711639 53.670219) (xy 144.731422 53.668545) + (xy 144.750051 53.668134) (xy 144.767595 53.668913) (xy 144.784117 53.67081) (xy 144.799686 53.673751) + (xy 144.814368 53.677664) (xy 144.82823 53.682476) (xy 144.841337 53.688113) (xy 144.853757 53.694504) + (xy 144.865556 53.701575) (xy 144.8768 53.709253) (xy 144.887556 53.717466) (xy 144.897891 53.72614) + (xy 144.917563 53.744581) (xy 144.936348 53.763994) (xy 144.973385 53.803403) (xy 144.992702 53.822233) + (xy 145.002793 53.831175) (xy 145.013261 53.839703) (xy 145.024173 53.847746) (xy 145.035594 53.855229) + (xy 145.047593 53.862082) (xy 145.060234 53.868229) (xy 145.00346 53.875816) (xy 144.947856 53.881088) + (xy 144.893436 53.884297) (xy 144.840217 53.885693) (xy 144.788214 53.885526) (xy 144.737443 53.884047) + (xy 144.639657 53.87815) (xy 144.459549 53.861615) (xy 144.377476 53.854981) (xy 144.338489 53.852948) + (xy 144.300889 53.852105) (xy 144.259557 53.852984) (xy 144.220483 53.855879) (xy 144.183747 53.860602) + (xy 144.149431 53.866965) (xy 144.117614 53.874782) (xy 144.088378 53.883866) (xy 144.061802 53.894029) + (xy 144.037967 53.905084) (xy 144.016953 53.916845) (xy 143.998842 53.929123) (xy 143.983712 53.941733) + (xy 143.971646 53.954486) (xy 143.962722 53.967196) (xy 143.957022 53.979676) (xy 143.955406 53.98577) + (xy 143.954626 53.991738) (xy 143.954692 53.997553) (xy 143.955614 54.003195) (xy 143.957939 54.011886) + (xy 143.960583 54.020113) (xy 143.963585 54.027889) (xy 143.966983 54.03523) (xy 143.970816 54.042149) + (xy 143.975123 54.048662) (xy 143.979941 54.054781) (xy 143.985309 54.060522) (xy 143.991266 54.0659) + (xy 143.99785 54.070927) (xy 144.0051 54.07562) (xy 144.013054 54.079992) (xy 144.02175 54.084057) + (xy 144.031227 54.08783) (xy 144.041524 54.091325) (xy 144.052679 54.094557) (xy 144.06473 54.097539) + (xy 144.077716 54.100288) (xy 144.091675 54.102815) (xy 144.106646 54.105137) (xy 144.122668 54.107267) + (xy 144.139778 54.10922) (xy 144.158015 54.111011) (xy 144.177419 54.112652) (xy 144.219876 54.115548) + (xy 144.267457 54.118022) (xy 144.320471 54.120189) (xy 144.379224 54.122165) (xy 144.381843 54.143535) + (xy 144.385363 54.164364) (xy 144.389784 54.184652) (xy 144.395107 54.204399) (xy 144.40133 54.223606) + (xy 144.408455 54.242272) (xy 144.416481 54.260397) (xy 144.425409 54.277981) (xy 144.435237 54.295024) + (xy 144.445967 54.311527) (xy 144.457599 54.327489) (xy 144.470132 54.34291) (xy 144.483566 54.35779) + (xy 144.497902 54.372129) (xy 144.51314 54.385927) (xy 144.529279 54.399185) (xy 144.493344 54.398401) + (xy 144.458929 54.400653) (xy 144.426065 54.405762) (xy 144.394779 54.41355) (xy 144.3651 54.423842) + (xy 144.337056 54.436459) (xy 144.310676 54.451223) (xy 144.285989 54.467958) (xy 144.263022 54.486486) + (xy 144.241805 54.506629) (xy 144.222366 54.528211) (xy 144.204733 54.551053) (xy 144.188936 54.574978) + (xy 144.175001 54.599809) (xy 144.162959 54.625369) (xy 144.152837 54.651479) (xy 144.144665 54.677963) + (xy 144.138469 54.704643) (xy 144.13428 54.731342) (xy 144.132126 54.757882) (xy 144.132034 54.784086) + (xy 144.134034 54.809776) (xy 144.138154 54.834775) (xy 144.144423 54.858905) (xy 144.152869 54.88199) + (xy 144.16352 54.903852) (xy 144.176406 54.924312) (xy 144.191554 54.943195) (xy 144.208994 54.960322) + (xy 144.228753 54.975516) (xy 144.25086 54.988599) (xy 144.275344 54.999395) (xy 144.307219 55.014511) + (xy 144.339352 55.0279) (xy 144.37173 55.039607) (xy 144.40434 55.049678) (xy 144.43717 55.058157) + (xy 144.470208 55.065088) (xy 144.503439 55.070518) (xy 144.536853 55.07449) (xy 144.604174 55.078242) + (xy 144.67207 55.076704) (xy 144.74044 55.070234) (xy 144.809181 55.059191) (xy 144.878193 55.043936) + (xy 144.947375 55.024827) (xy 145.016624 55.002222) (xy 145.08584 54.976482) (xy 145.154921 54.947965) + (xy 145.223765 54.91703) (xy 145.292272 54.884037) (xy 145.360339 54.849344) (xy 145.751709 54.679626) + (xy 145.939774 54.592598) (xy 146.120432 54.502237) (xy 146.207439 54.455365) (xy 146.291939 54.40713) + (xy 146.373715 54.357354) (xy 146.452549 54.305861) (xy 146.528222 54.252475) (xy 146.600517 54.197018) + (xy 146.669216 54.139313) (xy 146.734099 54.079184) (xy 146.816556 53.994869) (xy 146.891198 53.910638) + (xy 146.957529 53.827146) (xy 147.015052 53.745045) (xy 147.063272 53.664991) (xy 147.083738 53.625936) + (xy 147.101693 53.587637) (xy 147.117073 53.550176) (xy 147.129817 53.513636) (xy 147.139864 53.478097) + (xy 147.14715 53.443643) (xy 147.151615 53.410353) (xy 147.153195 53.378311) (xy 147.15183 53.347597) + (xy 147.147457 53.318294) (xy 147.140013 53.290483) (xy 147.129438 53.264246) (xy 147.115668 53.239664) + (xy 147.098643 53.216821) (xy 147.078299 53.195796) (xy 147.054575 53.176672) (xy 147.02741 53.159531) + (xy 146.99674 53.144454) (xy 146.962504 53.131523) (xy 146.92464 53.12082) (xy 146.883085 53.112427) + (xy 146.837779 53.106424) (xy 146.755803 53.108591) (xy 146.684525 53.104729) (xy 146.623404 53.09512) + (xy 146.571899 53.080045) (xy 146.549583 53.070546) (xy 146.529469 53.059787) (xy 146.511488 53.047802) + (xy 146.495573 53.034627) (xy 146.481656 53.020297) (xy 146.46967 53.004847) (xy 146.459547 52.988312) + (xy 146.451219 52.970728) (xy 146.43968 52.932553) (xy 146.434512 52.890603) (xy 146.435173 52.845159) + (xy 146.441123 52.796504) (xy 146.45182 52.744919) (xy 146.466725 52.690686) (xy 146.485296 52.634086) + (xy 146.506992 52.575402) (xy 146.728158 52.064685) (xy 146.776838 51.935878) (xy 146.797212 51.872856) + (xy 146.81422 51.811129) (xy 146.827322 51.75098) (xy 146.835976 51.69269) (xy 146.839642 51.636541) + (xy 146.837779 51.582815) (xy 146.887933 51.545776) (xy 146.929066 51.509729) (xy 146.961662 51.474583) + (xy 146.986208 51.440247) (xy 147.003189 51.406631) (xy 147.01309 51.373644) (xy 147.016397 51.341196) + (xy 147.013596 51.309195) (xy 147.005171 51.277553) (xy 146.991608 51.246177) (xy 146.973394 51.214978) + (xy 146.951013 51.183864) (xy 146.924951 51.152745) (xy 146.895693 51.121531) (xy 146.829533 51.058455) + (xy 146.782575 51.017165) (xy 145.776174 51.017165) (xy 145.731639 51.012826) (xy 145.690503 51.010419) + (xy 145.652633 51.009833) (xy 145.617896 51.010957) (xy 145.586159 51.013681) (xy 145.55729 51.017894) + (xy 145.531155 51.023485) (xy 145.507623 51.030342) (xy 145.486561 51.038356) (xy 145.467835 51.047416) + (xy 145.451314 51.05741) (xy 145.436864 51.068228) (xy 145.424353 51.079759) (xy 145.413648 51.091893) + (xy 145.404617 51.104518) (xy 145.397126 51.117524) (xy 145.391044 51.130799) (xy 145.386236 51.144234) + (xy 145.382572 51.157717) (xy 145.379917 51.171138) (xy 145.37814 51.184385) (xy 145.377107 51.197349) + (xy 145.376745 51.22198) (xy 145.379118 51.262957) (xy 145.37973 51.277531) (xy 145.379428 51.282952) + (xy 145.378544 51.28698) (xy 145.381689 51.298809) (xy 145.383586 51.309447) (xy 145.384285 51.318942) + (xy 145.383834 51.32734) (xy 145.382284 51.334689) (xy 145.379683 51.341037) (xy 145.376081 51.346429) + (xy 145.371528 51.350914) (xy 145.366073 51.354538) (xy 145.359765 51.357348) (xy 145.352654 51.359393) + (xy 145.344789 51.360718) (xy 145.336219 51.361371) (xy 145.326995 51.361399) (xy 145.306778 51.35977) + (xy 145.284534 51.356206) (xy 145.260659 51.351086) (xy 145.209593 51.337683) (xy 145.156744 51.322579) + (xy 145.105274 51.30879) (xy 145.073338 51.30121) (xy 145.054879 51.297223) (xy 145.035694 51.293561) + (xy 145.016482 51.290567) (xy 145.007085 51.289429) (xy 144.997945 51.288586) (xy 144.989148 51.288082) + (xy 144.980782 51.287959) (xy 144.972935 51.288261) (xy 144.965694 51.28903) (xy 144.962655 51.289587) + (xy 144.959623 51.290354) (xy 144.956603 51.291322) (xy 144.953602 51.292479) (xy 144.950627 51.293814) + (xy 144.947683 51.295318) (xy 144.944777 51.296978) (xy 144.941915 51.298784) (xy 144.939104 51.300725) + (xy 144.936351 51.302791) (xy 144.931041 51.307252) (xy 144.926037 51.312079) (xy 144.92139 51.317187) + (xy 144.917151 51.322487) (xy 144.913371 51.327894) (xy 144.910101 51.333321) (xy 144.907392 51.338681) + (xy 144.906264 51.341308) (xy 144.905296 51.343886) (xy 144.904494 51.346404) (xy 144.903864 51.348851) + (xy 144.903412 51.351216) (xy 144.903146 51.353488) (xy 144.903071 51.355656) (xy 144.903194 51.35771) + (xy 144.903519 51.359641) (xy 144.904039 51.361449) (xy 144.904746 51.363137) (xy 144.905631 51.364708) + (xy 144.906684 51.366165) (xy 144.907898 51.36751) (xy 144.909263 51.368747) (xy 144.910771 51.369877) + (xy 144.912412 51.370903) (xy 144.914179 51.371829) (xy 144.916061 51.372657) (xy 144.91805 51.373389) + (xy 144.922314 51.374579) (xy 144.926901 51.37542) (xy 144.931739 51.375933) (xy 144.936758 51.376141) + (xy 144.941888 51.376065) (xy 144.947057 51.375726) (xy 144.952195 51.375148) (xy 144.957231 51.37435) + (xy 144.962094 51.373355) (xy 144.966714 51.372185) (xy 144.973699 51.372185) (xy 144.98068 51.372542) + (xy 144.987656 51.373239) (xy 144.994627 51.374259) (xy 145.008554 51.377195) (xy 145.022459 51.381207) + (xy 145.036341 51.386155) (xy 145.050198 51.391896) (xy 145.064029 51.398289) (xy 145.077832 51.405193) + (xy 145.10535 51.419964) (xy 145.13274 51.435077) (xy 145.159992 51.449398) (xy 145.173562 51.455908) + (xy 145.187094 51.461795) (xy 145.228855 51.478903) (xy 145.249701 51.487177) (xy 145.270274 51.494916) + (xy 145.290389 51.501856) (xy 145.309861 51.507733) (xy 145.319298 51.510192) (xy 145.328503 51.512286) + (xy 145.337455 51.513984) (xy 145.346129 51.515252) (xy 145.354503 51.516057) (xy 145.362553 51.516367) + (xy 145.370257 51.516149) (xy 145.37759 51.51537) (xy 145.38453 51.513996) (xy 145.391052 51.511996) + (xy 145.397136 51.509337) (xy 145.402755 51.505984) (xy 145.407889 51.501907) (xy 145.412512 51.497071) + (xy 145.416603 51.491444) (xy 145.420138 51.484993) (xy 145.423093 51.477686) (xy 145.425445 51.469489) + (xy 145.427171 51.46037) (xy 145.428248 51.450295) (xy 145.438887 51.450979) (xy 145.449132 51.452998) + (xy 145.458946 51.456259) (xy 145.468295 51.460667) (xy 145.477141 51.46613) (xy 145.485449 51.472555) + (xy 145.493183 51.479846) (xy 145.500306 51.487912) (xy 145.506783 51.496659) (xy 145.512577 51.505992) + (xy 145.517652 51.515819) (xy 145.521972 51.526046) (xy 145.525501 51.53658) (xy 145.528203 51.547327) + (xy 145.530041 51.558194) (xy 145.530981 51.569087) (xy 145.530984 51.579913) (xy 145.530017 51.590578) + (xy 145.528041 51.600988) (xy 145.525022 51.611051) (xy 145.520923 51.620673) (xy 145.515708 51.62976) + (xy 145.50934 51.638219) (xy 145.501785 51.645956) (xy 145.493005 51.652878) (xy 145.482965 51.658891) + (xy 145.471628 51.663902) (xy 145.458959 51.667818) (xy 145.444921 51.670545) (xy 145.429478 51.671989) + (xy 145.412594 51.672057) (xy 145.394234 51.670655) (xy 145.384625 51.699341) (xy 145.372864 51.725285) + (xy 145.359127 51.748548) (xy 145.343593 51.769189) (xy 145.326442 51.787271) (xy 145.307851 51.802854) + (xy 145.288 51.816) (xy 145.267067 51.826767) (xy 145.245231 51.835219) (xy 145.22267 51.841415) + (xy 145.199562 51.845417) (xy 145.176087 51.847285) (xy 145.152424 51.84708) (xy 145.12875 51.844864) + (xy 145.105244 51.840696) (xy 145.082086 51.834638) (xy 145.059453 51.826751) (xy 145.037524 51.817095) + (xy 145.016478 51.805732) (xy 144.996494 51.792723) (xy 144.97775 51.778127) (xy 144.960425 51.762007) + (xy 144.944696 51.744422) (xy 144.930744 51.725435) (xy 144.918747 51.705105) (xy 144.908883 51.683493) + (xy 144.901331 51.660662) (xy 144.896269 51.63667) (xy 144.893876 51.61158) (xy 144.894331 51.585452) + (xy 144.897813 51.558346) (xy 144.904499 51.530325) (xy 144.90275 51.529692) (xy 144.901265 51.528906) + (xy 144.900027 51.527974) (xy 144.899019 51.526901) (xy 144.898227 51.525696) (xy 144.897633 51.524362) + (xy 144.897221 51.522908) (xy 144.896975 51.521339) (xy 144.896879 51.519661) (xy 144.896916 51.517881) + (xy 144.897327 51.51404) (xy 144.898078 51.509865) (xy 144.899038 51.505406) (xy 144.90107 51.49584) + (xy 144.901881 51.490833) (xy 144.902383 51.485744) (xy 144.902478 51.483184) (xy 144.902446 51.480623) + (xy 144.902273 51.478066) (xy 144.901941 51.47552) (xy 144.901434 51.472991) (xy 144.900737 51.470486) + (xy 144.899832 51.46801) (xy 144.898704 51.46557) (xy 144.896483 51.461659) (xy 144.894019 51.458125) + (xy 144.892694 51.456515) (xy 144.891307 51.455021) (xy 144.889857 51.453647) (xy 144.888342 51.452401) + (xy 144.886764 51.451289) (xy 144.88512 51.450318) (xy 144.88341 51.449495) (xy 144.881635 51.448826) + (xy 144.879792 51.448318) (xy 144.877882 51.447978) (xy 144.875904 51.447813) (xy 144.873858 51.447829) + (xy 144.871742 51.448032) (xy 144.869556 51.44843) (xy 144.867299 51.44903) (xy 144.864972 51.449837) + (xy 144.862573 51.450858) (xy 144.860101 51.452101) (xy 144.857557 51.453572) (xy 144.854938 51.455278) + (xy 144.852246 51.457224) (xy 144.849479 51.459419) (xy 144.846637 51.461869) (xy 144.843719 51.46458) + (xy 144.840724 51.467558) (xy 144.837652 51.470812) (xy 144.834502 51.474347) (xy 144.831274 51.47817) + (xy 144.826855 51.483878) (xy 144.822931 51.489629) (xy 144.819447 51.495422) (xy 144.816345 51.501261) + (xy 144.813568 51.507145) (xy 144.811061 51.513077) (xy 144.808767 51.519057) (xy 144.806628 51.525088) + (xy 144.798505 51.549735) (xy 144.796299 51.556036) (xy 144.793909 51.562394) (xy 144.79128 51.568812) + (xy 144.788354 51.57529) (xy 144.782019 51.58776) (xy 144.775295 51.599467) (xy 144.768247 51.610464) + (xy 144.760941 51.620803) (xy 144.753445 51.630536) (xy 144.745825 51.639716) (xy 144.738146 51.648396) + (xy 144.730476 51.656627) (xy 144.701204 51.686121) (xy 144.688342 51.699542) (xy 144.682587 51.706105) + (xy 144.677372 51.71264) (xy 144.672761 51.719199) (xy 144.668822 51.725834) (xy 144.665622 51.732598) + (xy 144.663226 51.739543) (xy 144.6617 51.746722) (xy 144.661112 51.754187) (xy 144.661527 51.761991) + (xy 144.663012 51.770186) (xy 144.665633 51.778825) (xy 144.669457 51.78796) (xy 144.67455 51.797644) + (xy 144.680978 51.807928) (xy 144.688807 51.818866) (xy 144.698105 51.83051) (xy 144.708937 51.842912) + (xy 144.721369 51.856125) (xy 144.729383 51.863448) (xy 144.73847 51.870042) (xy 144.748621 51.875917) + (xy 144.75983 51.881081) (xy 144.772087 51.885541) (xy 144.785385 51.889306) (xy 144.799715 51.892384) + (xy 144.815069 51.894783) (xy 144.83144 51.896511) (xy 144.84882 51.897578) (xy 144.867199 51.89799) + (xy 144.88657 51.897756) (xy 144.906925 51.896884) (xy 144.928257 51.895383) (xy 144.950555 51.893261) + (xy 144.973814 51.890525) (xy 144.973745 51.902132) (xy 144.972877 51.913212) (xy 144.971229 51.923768) + (xy 144.968825 51.933807) (xy 144.965684 51.943336) (xy 144.96183 51.952359) (xy 144.957282 51.960882) + (xy 144.952062 51.968911) (xy 144.946192 51.976451) (xy 144.939692 51.983509) (xy 144.932585 51.99009) + (xy 144.924892 51.9962) (xy 144.916634 52.001845) (xy 144.907832 52.007029) (xy 144.898508 52.011759) + (xy 144.888684 52.016041) (xy 144.867617 52.023283) (xy 144.844804 52.028799) (xy 144.820414 52.032636) + (xy 144.79462 52.034839) (xy 144.767591 52.035453) (xy 144.739499 52.034525) (xy 144.710515 52.032101) + (xy 144.680809 52.028225) (xy 144.663197 52.024951) (xy 144.646694 52.020724) (xy 144.631235 52.015602) + (xy 144.616758 52.009639) (xy 144.603198 52.002893) (xy 144.590493 51.99542) (xy 144.578578 51.987276) + (xy 144.567389 51.978517) (xy 144.556865 51.969199) (xy 144.54694 51.95938) (xy 144.537551 51.949114) + (xy 144.528635 51.938459) (xy 144.511966 51.916204) (xy 144.496426 51.893067) (xy 144.466695 51.845942) + (xy 144.451487 51.822855) (xy 144.435373 51.800686) (xy 144.426817 51.790086) (xy 144.417844 51.779884) + (xy 144.40839 51.770137) (xy 144.398392 51.7609) (xy 144.387786 51.75223) (xy 144.376508 51.744183) + (xy 144.364495 51.736816) (xy 144.351684 51.730185) (xy 144.270463 51.685544) (xy 144.214871 51.6534) + (xy 144.152133 51.614426) (xy 144.118752 51.592312) (xy 144.084385 51.568411) (xy 144.049298 51.542697) + (xy 144.013759 51.515144) (xy 143.978033 51.485725) (xy 143.942387 51.454414) (xy 143.907089 51.421184) + (xy 143.872404 51.38601) (xy 143.85855 51.37104) (xy 143.845192 51.355892) (xy 143.83234 51.340607) + (xy 143.820003 51.325226) (xy 143.808191 51.309792) (xy 143.796914 51.294345) (xy 143.786183 51.278928) + (xy 143.776007 51.263581) (xy 143.766396 51.248346) (xy 143.75736 51.233264) (xy 143.748909 51.218377) + (xy 143.741052 51.203727) (xy 143.733801 51.189355) (xy 143.727164 51.175302) (xy 143.721152 51.161611) + (xy 143.715774 51.148321) (xy 143.711041 51.135476) (xy 143.706962 51.123116) (xy 143.703547 51.111282) + (xy 143.700807 51.100017) (xy 143.698751 51.089362) (xy 143.697389 51.079358) (xy 143.696731 51.070047) + (xy 143.696787 51.06147) (xy 143.697567 51.053669) (xy 143.699081 51.046685) (xy 143.701338 51.04056) + (xy 143.704349 51.035334) (xy 143.708124 51.031051) (xy 143.712672 51.02775) (xy 143.718004 51.025475) + (xy 143.724129 51.024265) (xy 143.756825 51.026959) (xy 143.7863 51.028252) (xy 143.812712 51.028228) + (xy 143.836219 51.026975) (xy 143.856981 51.024576) (xy 143.875155 51.021118) (xy 143.8909 51.016687) + (xy 143.904374 51.011367) (xy 143.915736 51.005245) (xy 143.925145 50.998405) (xy 143.932757 50.990934) + (xy 143.938733 50.982917) (xy 143.94323 50.97444) (xy 143.946407 50.965587) (xy 143.948423 50.956446) + (xy 143.949435 50.9471) (xy 143.949602 50.937636) (xy 143.949082 50.928139) (xy 143.946618 50.90939) + (xy 143.940421 50.875262) (xy 143.939532 50.867931) (xy 143.939223 50.861252) (xy 143.939655 50.855309) + (xy 143.940983 50.85019) (xy 143.943368 50.845979) (xy 143.946968 50.842761) (xy 143.95194 50.840623) + (xy 143.958444 50.83965) (xy 143.981641 50.832974) (xy 144.006308 50.82792) (xy 144.032292 50.824323) + (xy 144.059443 50.822012) (xy 144.116634 50.820582) (xy 144.176664 50.822286) (xy 144.300374 50.829724) + (xy 144.361621 50.832772) (xy 144.42084 50.83358) (xy 144.449309 50.832725) (xy 144.476814 50.830806) + (xy 144.503205 50.827656) (xy 144.528328 50.823106) (xy 144.552031 50.816989) (xy 144.574164 50.809137) + (xy 144.594572 50.799382) (xy 144.613105 50.787556) (xy 144.62961 50.77349) (xy 144.643935 50.757018) + (xy 144.655929 50.737971) (xy 144.665438 50.716181) (xy 144.672311 50.69148) (xy 144.676397 50.663701) + (xy 144.677542 50.632675) (xy 144.675594 50.598235) (xy 144.748812 50.600066) (xy 144.817616 50.603136) + (xy 144.882195 50.607392) (xy 144.942742 50.612784) (xy 144.999446 50.619261) (xy 145.0525 50.626771) + (xy 145.102094 50.635263) (xy 145.148419 50.644686) (xy 145.191666 50.654989) (xy 145.232027 50.666121) + (xy 145.269691 50.678031) (xy 145.304851 50.690667) (xy 145.337697 50.703978) (xy 145.36842 50.717914) + (xy 145.397211 50.732422) (xy 145.424261 50.747453) (xy 145.449761 50.762954) (xy 145.473903 50.778874) + (xy 145.496877 50.795163) (xy 145.518874 50.811769) (xy 145.560702 50.845729) (xy 145.600914 50.880343) + (xy 145.64104 50.915203) (xy 145.682606 50.949899) (xy 145.727142 50.984023) (xy 145.751 51.000742) + (xy 145.776174 51.017165) (xy 146.782575 51.017165) (xy 146.680227 50.927171) (xy 146.60485 50.857515) + (xy 146.534168 50.784217) (xy 146.501802 50.745975) (xy 146.472066 50.706551) (xy 146.445447 50.665854) + (xy 146.422428 50.623793) (xy 146.403497 50.580279) (xy 146.389138 50.53522) (xy 146.379837 50.488525) + (xy 146.376079 50.440105) (xy 146.485796 50.5246) (xy 146.584143 50.595059) (xy 146.671005 50.651953) + (xy 146.746271 50.695754) (xy 146.809825 50.726931) (xy 146.837176 50.737933) (xy 146.861555 50.745957) + (xy 146.882951 50.75106) (xy 146.901347 50.753301) (xy 146.916731 50.75274) (xy 146.929087 50.749435) + (xy 146.938402 50.743446) (xy 146.944662 50.73483) (xy 146.947851 50.723648) (xy 146.947957 50.709957) + (xy 146.944965 50.693817) (xy 146.93886 50.675286) (xy 146.929629 50.654424) (xy 146.917257 50.631289) + (xy 146.883034 50.578437) (xy 146.836077 50.517199) (xy 146.776273 50.448048) (xy 146.703509 50.371455) + (xy 146.667073 50.337168) (xy 146.622486 50.298855) (xy 146.515471 50.211491) (xy 146.395687 50.11204) + (xy 146.335139 50.058618) (xy 146.276357 50.003177) (xy 146.220995 49.946053) (xy 146.170705 49.887579) + (xy 146.147978 49.857941) (xy 146.12714 49.828091) (xy 146.108396 49.798071) (xy 146.091953 49.767923) + (xy 146.078018 49.737688) (xy 146.066797 49.707409) (xy 146.058497 49.677127) (xy 146.053325 49.646884) + (xy 146.051487 49.616722) (xy 146.05319 49.586683) (xy 146.05864 49.556808) (xy 146.068044 49.52714) + (xy 146.074617 49.507962) (xy 146.083045 49.489686) (xy 146.093175 49.472227) (xy 146.104857 49.455499) + (xy 146.117938 49.439419) (xy 146.132266 49.4239) (xy 146.14769 49.408858) (xy 146.164058 49.394209) + (xy 146.199018 49.365747) (xy 146.235932 49.337836) (xy 146.273585 49.309795) (xy 146.310762 49.280947) + (xy 146.34625 49.250611) (xy 146.362981 49.234673) (xy 146.378834 49.218109) (xy 146.393657 49.200833) + (xy 146.407298 49.182761) (xy 146.419607 49.163808) (xy 146.43043 49.143889) (xy 146.439616 49.12292) + (xy 146.447014 49.100814) (xy 146.452471 49.077488) (xy 146.455835 49.052856) (xy 146.456956 49.026833) + (xy 146.45568 48.999336) (xy 146.451857 48.970278) (xy 146.445334 48.939575) (xy 146.418435 48.948551) + (xy 146.391308 48.955989) (xy 146.363956 48.961911) (xy 146.336383 48.966338) (xy 146.308591 48.969291) + (xy 146.280585 48.970793) (xy 146.252367 48.970864) (xy 146.223939 48.969525) (xy 146.195307 48.966798) + (xy 146.166471 48.962705) (xy 146.137437 48.957267) (xy 146.108207 48.950505) (xy 146.04917 48.933095) + (xy 145.989387 48.910647) (xy 145.928884 48.883332) (xy 145.867684 48.85132) (xy 145.805815 48.814784) + (xy 145.743301 48.773893) (xy 145.680168 48.72882) (xy 145.61644 48.679735) (xy 145.552144 48.62681) + (xy 145.487304 48.570215) ) (stroke - (width -0.000001) + (width 0) (type solid) + (color 255 255 255 1) ) (fill solid) (layer "B.Cu") - (uuid "8ad8220d-7a2b-4166-a04c-2ad5464b56e6") + (uuid "c745a64e-3343-4155-b648-d4e9a29487fb") ) (gr_circle (center 101.6 45.72) @@ -13669,6 +13762,231 @@ (layer "B.SilkS") (uuid "2e131037-c995-4e7c-858f-d3e290fae1b4") ) + (gr_poly + (pts + (xy 144.375377 47.074174) (xy 144.342409 47.075625) (xy 144.310428 47.078443) (xy 144.279399 47.082578) + (xy 144.249287 47.087978) (xy 144.220058 47.094591) (xy 144.191676 47.102367) (xy 144.164108 47.111254) + (xy 144.137317 47.121201) (xy 144.11127 47.132157) (xy 144.085931 47.14407) (xy 144.061266 47.156889) + (xy 144.03724 47.170563) (xy 144.013819 47.18504) (xy 143.968648 47.216201) (xy 143.925477 47.249961) + (xy 143.884027 47.28591) (xy 143.844019 47.323638) (xy 143.805175 47.362735) (xy 143.729866 47.443394) + (xy 143.655873 47.524606) (xy 143.579084 47.509803) (xy 143.505346 47.496789) (xy 143.434599 47.485552) + (xy 143.366785 47.476079) (xy 143.301844 47.468358) (xy 143.239718 47.462377) (xy 143.180346 47.458122) + (xy 143.12367 47.455582) (xy 143.069632 47.454745) (xy 143.01817 47.455596) (xy 142.969228 47.458126) + (xy 142.922744 47.462319) (xy 142.878661 47.468166) (xy 142.836919 47.475652) (xy 142.797459 47.484766) + (xy 142.760221 47.495494) (xy 142.725147 47.507826) (xy 142.692178 47.521747) (xy 142.661254 47.537246) + (xy 142.632316 47.554311) (xy 142.605305 47.572928) (xy 142.580162 47.593086) (xy 142.556828 47.614772) + (xy 142.535243 47.637973) (xy 142.515349 47.662678) (xy 142.497086 47.688873) (xy 142.480396 47.716546) + (xy 142.465218 47.745685) (xy 142.451494 47.776278) (xy 142.439165 47.808311) (xy 142.428172 47.841773) + (xy 142.418455 47.876651) (xy 142.559999 47.779061) (xy 142.598011 47.754192) (xy 142.63832 47.72998) + (xy 142.681551 47.706846) (xy 142.728326 47.685215) (xy 142.779269 47.665509) (xy 142.835004 47.648149) + (xy 142.896154 47.633559) (xy 142.963344 47.622162) (xy 143.037196 47.61438) (xy 143.118334 47.610636) + (xy 143.207382 47.611352) (xy 143.304964 47.616951) (xy 143.19019 47.663975) (xy 143.085938 47.714111) + (xy 142.991541 47.766957) (xy 142.906335 47.822111) (xy 142.829654 47.87917) (xy 142.760832 47.937731) + (xy 142.699205 47.997394) (xy 142.644107 48.057754) (xy 142.594872 48.11841) (xy 142.550835 48.17896) + (xy 142.511332 48.239) (xy 142.475695 48.298129) (xy 142.413364 48.412043) (xy 142.358519 48.517482) + (xy 142.305836 48.611228) (xy 142.278643 48.65271) (xy 142.249994 48.690061) (xy 142.219224 48.72288) + (xy 142.185668 48.750763) (xy 142.148661 48.773308) (xy 142.107537 48.790114) (xy 142.061631 48.800776) + (xy 142.010277 48.804894) (xy 141.952811 48.802065) (xy 141.888566 48.791886) (xy 141.816878 48.773955) + (xy 141.73708 48.74787) (xy 141.648509 48.713228) (xy 141.550498 48.669626) (xy 141.562979 48.701133) + (xy 141.576097 48.73121) (xy 141.589844 48.75987) (xy 141.604213 48.787129) (xy 141.6192 48.812999) + (xy 141.634797 48.837496) (xy 141.650998 48.860633) (xy 141.667797 48.882425) (xy 141.685188 48.902886) + (xy 141.703163 48.922031) (xy 141.721717 48.939873) (xy 141.740844 48.956428) (xy 141.760536 48.971708) + (xy 141.780788 48.985729) (xy 141.801594 48.998505) (xy 141.822946 49.01005) (xy 141.84484 49.020378) + (xy 141.867267 49.029503) (xy 141.890223 49.03744) (xy 141.913701 49.044204) (xy 141.937693 49.049807) + (xy 141.962195 49.054265) (xy 141.9872 49.057592) (xy 142.012701 49.059802) (xy 142.065166 49.060928) + (xy 142.119541 49.057758) (xy 142.175774 49.050405) (xy 142.233815 49.038984) (xy 142.223259 49.069973) + (xy 142.211307 49.098474) (xy 142.198105 49.124744) (xy 142.183797 49.149041) (xy 142.152438 49.192742) + (xy 142.118386 49.231637) (xy 142.04682 49.303249) (xy 142.011614 49.340084) (xy 141.978332 49.380351) + (xy 141.962773 49.402416) (xy 141.948129 49.42611) (xy 141.934542 49.451693) (xy 141.922158 49.47942) + (xy 141.911122 49.509551) (xy 141.901576 49.542341) (xy 141.893666 49.578049) (xy 141.887535 49.616932) + (xy 141.883329 49.659247) (xy 141.881191 49.705252) (xy 141.881266 49.755204) (xy 141.883697 49.809361) + (xy 141.888631 49.86798) (xy 141.896209 49.931318) (xy 141.906578 49.999634) (xy 141.919881 50.073184) + (xy 141.86543 50.24568) (xy 141.820603 50.404764) (xy 141.784926 50.551208) (xy 141.757925 50.685784) + (xy 141.739128 50.809264) (xy 141.728061 50.92242) (xy 141.724251 51.026024) (xy 141.727225 51.120848) + (xy 141.736509 51.207664) (xy 141.751631 51.287243) (xy 141.772116 51.360357) (xy 141.797492 51.427779) + (xy 141.827285 51.49028) (xy 141.861022 51.548632) (xy 141.898229 51.603608) (xy 141.938434 51.655978) + (xy 142.025944 51.755991) (xy 142.119764 51.854848) (xy 142.216108 51.958723) (xy 142.264043 52.014472) + (xy 142.31119 52.073791) (xy 142.357074 52.137452) (xy 142.401223 52.206228) (xy 142.443164 52.28089) + (xy 142.482422 52.362209) (xy 142.518526 52.450959) (xy 142.551001 52.54791) (xy 142.579374 52.653835) + (xy 142.603172 52.769505) (xy 142.787864 52.437096) (xy 142.791781 52.577136) (xy 142.804011 52.714466) + (xy 142.823939 52.849252) (xy 142.850952 52.98166) (xy 142.884435 53.111855) (xy 142.923776 53.240003) + (xy 142.968359 53.366269) (xy 143.017571 53.490819) (xy 143.070799 53.613819) (xy 143.127428 53.735434) + (xy 143.248434 53.975172) (xy 143.504254 54.44532) (xy 143.634075 54.686179) (xy 143.698675 54.811806) + (xy 143.761228 54.940319) (xy 143.820353 55.071281) (xy 143.874672 55.204257) (xy 143.922804 55.338811) + (xy 143.963369 55.474509) (xy 143.994987 55.610915) (xy 144.016278 55.747592) (xy 144.02262 55.815897) + (xy 144.025863 55.884107) (xy 144.025835 55.952167) (xy 144.022362 56.020022) (xy 144.015272 56.08762) + (xy 144.004394 56.154904) (xy 143.989554 56.221821) (xy 143.97058 56.288316) (xy 143.947299 56.354335) + (xy 143.919539 56.419823) (xy 143.887128 56.484727) (xy 143.849892 56.54899) (xy 143.781126 56.654515) + (xy 143.703529 56.767192) (xy 143.61798 56.890581) (xy 143.525362 57.028242) (xy 143.426556 57.183735) + (xy 143.322443 57.360622) (xy 143.268672 57.4582) (xy 143.213905 57.562462) (xy 143.158253 57.673852) + (xy 143.101824 57.792816) (xy 143.39383 57.661491) (xy 143.681368 57.521787) (xy 144.242819 57.222116) + (xy 144.78573 56.903563) (xy 145.309656 56.575886) (xy 146.298766 55.932194) (xy 146.763057 55.635697) + (xy 147.206577 55.369112) (xy 147.628881 55.142196) (xy 147.831937 55.046664) (xy 148.029521 54.964709) + (xy 148.221578 54.89755) (xy 148.408052 54.846409) (xy 148.588887 54.812504) (xy 148.764028 54.797055) + (xy 148.933418 54.801282) (xy 149.097001 54.826406) (xy 149.254723 54.873645) (xy 149.406526 54.94422) + (xy 149.552356 55.039351) (xy 149.692157 55.160257) (xy 149.825873 55.308158) (xy 149.953447 55.484275) + (xy 149.946005 55.441509) (xy 149.93618 55.399093) (xy 149.909512 55.315294) (xy 149.87371 55.232839) + (xy 149.829037 55.151688) (xy 149.77576 55.071803) (xy 149.714142 54.993144) (xy 149.644451 54.915673) + (xy 149.56695 54.839351) (xy 149.521289 54.798968) (xy 149.305063 54.798968) (xy 149.18657 54.744548) + (xy 149.06265 54.706247) (xy 148.933398 54.68337) (xy 148.798905 54.675223) (xy 148.659264 54.681111) + (xy 148.514567 54.700339) (xy 148.364908 54.732213) (xy 148.210379 54.776038) (xy 147.887081 54.896764) + (xy 147.545415 55.056958) (xy 147.186121 55.251064) (xy 146.809941 55.473524) (xy 145.151181 56.53577) + (xy 144.701686 56.816646) (xy 144.239752 57.092534) (xy 143.766119 57.357877) (xy 143.281529 57.607117) + (xy 143.453021 57.365379) (xy 143.602138 57.144296) (xy 143.730047 56.942168) (xy 143.786413 56.84768) + (xy 143.837914 56.757294) (xy 143.884697 56.670795) (xy 143.926907 56.587973) (xy 143.96469 56.508613) + (xy 143.998192 56.432505) (xy 144.027559 56.359434) (xy 144.052936 56.289189) (xy 144.07447 56.221557) + (xy 144.092306 56.156325) (xy 144.10659 56.093281) (xy 144.117468 56.032212) (xy 144.125086 55.972906) + (xy 144.12959 55.915149) (xy 144.131126 55.858731) (xy 144.129838 55.803437) (xy 144.125874 55.749056) + (xy 144.11938 55.695374) (xy 144.1105 55.64218) (xy 144.099381 55.58926) (xy 144.071008 55.483395) + (xy 144.03543 55.376077) (xy 143.993811 55.265606) (xy 143.888399 55.010659) (xy 143.784483 54.782529) + (xy 143.682662 54.577284) (xy 143.583534 54.390993) (xy 143.225937 53.756751) (xy 143.149261 53.606264) + (xy 143.078871 53.451145) (xy 143.015368 53.287463) (xy 142.959349 53.111285) (xy 142.911414 52.918681) + (xy 142.872161 52.70572) (xy 142.84219 52.468471) (xy 142.822099 52.203002) (xy 142.566534 52.42826) + (xy 141.929665 51.5381) (xy 141.897822 51.475507) (xy 141.868862 51.410393) (xy 141.843109 51.342476) + (xy 141.820888 51.271472) (xy 141.802523 51.197097) (xy 141.788339 51.119069) (xy 141.778659 51.037103) + (xy 141.773809 50.950915) (xy 141.774112 50.860223) (xy 141.779894 50.764743) (xy 141.791478 50.664191) + (xy 141.809188 50.558284) (xy 141.83335 50.446738) (xy 141.864287 50.32927) (xy 141.902324 50.205595) + (xy 141.947786 50.075432) (xy 141.90407 49.869851) (xy 141.897665 49.818435) (xy 141.895843 49.765148) + (xy 141.899989 49.709056) (xy 141.904734 49.679667) (xy 141.911491 49.649228) (xy 141.920434 49.617622) + (xy 141.931735 49.584732) (xy 141.945569 49.550442) (xy 141.962108 49.514636) (xy 141.981525 49.477197) + (xy 142.003995 49.438008) (xy 142.02969 49.396953) (xy 142.058784 49.353915) (xy 142.12786 49.261426) + (xy 142.212611 49.159609) (xy 142.314423 49.047532) (xy 142.434682 48.924262) (xy 142.219061 48.847729) + (xy 142.309187 48.680975) (xy 142.397718 48.513225) (xy 142.443718 48.430104) (xy 142.492121 48.348088) + (xy 142.543858 48.267629) (xy 142.599865 48.189177) (xy 142.661073 48.113184) (xy 142.693919 48.076251) + (xy 142.728416 48.040102) (xy 142.76468 48.004793) (xy 142.802829 47.970381) (xy 142.842977 47.936923) + (xy 142.885243 47.904474) (xy 142.929743 47.873092) (xy 142.976594 47.842832) (xy 143.025912 47.813751) + (xy 143.077813 47.785905) (xy 143.132416 47.759352) (xy 143.189836 47.734147) (xy 143.25019 47.710346) + (xy 143.313594 47.688006) (xy 143.320447 47.678146) (xy 143.327646 47.669143) (xy 143.335176 47.660964) + (xy 143.343025 47.653574) (xy 143.351177 47.646938) (xy 143.35962 47.641023) (xy 143.368339 47.635794) + (xy 143.377321 47.631215) (xy 143.386552 47.627254) (xy 143.396017 47.623875) (xy 143.405703 47.621044) + (xy 143.415596 47.618727) (xy 143.435947 47.615495) (xy 143.456961 47.613905) (xy 143.478524 47.61368) + (xy 143.500528 47.614546) (xy 143.52286 47.616226) (xy 143.545409 47.618446) (xy 143.590717 47.623402) + (xy 143.613254 47.625587) (xy 143.635564 47.627209) (xy 143.673465 47.576796) (xy 143.711671 47.529965) + (xy 143.750176 47.486631) (xy 143.788972 47.446707) (xy 143.828051 47.410109) (xy 143.867407 47.376751) + (xy 143.907032 47.346548) (xy 143.946919 47.319415) (xy 143.987061 47.295265) (xy 144.02745 47.274014) + (xy 144.068079 47.255575) (xy 144.108941 47.239865) (xy 144.150028 47.226796) (xy 144.191334 47.216284) + (xy 144.23285 47.208243) (xy 144.27457 47.202588) (xy 144.316486 47.199234) (xy 144.358592 47.198094) + (xy 144.400879 47.199084) (xy 144.44334 47.202118) (xy 144.528757 47.213976) (xy 144.614784 47.232986) + (xy 144.701363 47.258463) (xy 144.788436 47.289723) (xy 144.875944 47.326085) (xy 144.963829 47.366863) + (xy 145.008247 47.3432) (xy 145.052608 47.321382) (xy 145.096903 47.301378) (xy 145.141121 47.283155) + (xy 145.185253 47.266683) (xy 145.229288 47.251929) (xy 145.273217 47.238861) (xy 145.317029 47.227449) + (xy 145.360714 47.217661) (xy 145.404261 47.209464) (xy 145.447662 47.202828) (xy 145.490906 47.197719) + (xy 145.533982 47.194108) (xy 145.576881 47.191962) (xy 145.619593 47.191249) (xy 145.662107 47.191939) + (xy 145.737503 47.196557) (xy 145.812179 47.205364) (xy 145.886078 47.21818) (xy 145.959143 47.234826) + (xy 146.031316 47.25512) (xy 146.102541 47.278882) (xy 146.172758 47.305933) (xy 146.241912 47.336091) + (xy 146.309945 47.369178) (xy 146.376799 47.405012) (xy 146.442417 47.443413) (xy 146.50674 47.484202) + (xy 146.631278 47.57222) (xy 146.749951 47.667625) (xy 146.862302 47.768974) (xy 146.967869 47.874826) + (xy 147.066195 47.98374) (xy 147.156819 48.094273) (xy 147.239282 48.204984) (xy 147.313124 48.314432) + (xy 147.377887 48.421174) (xy 147.43311 48.523769) (xy 147.483422 48.52036) (xy 147.531745 48.519147) + (xy 147.578138 48.520063) (xy 147.622662 48.523042) (xy 147.665376 48.528017) (xy 147.706342 48.534923) + (xy 147.74562 48.543691) (xy 147.783269 48.554257) (xy 147.819349 48.566553) (xy 147.853922 48.580513) + (xy 147.887048 48.59607) (xy 147.918786 48.613159) (xy 147.949196 48.631712) (xy 147.97834 48.651663) + (xy 148.006277 48.672945) (xy 148.033068 48.695493) (xy 148.058773 48.719239) (xy 148.083452 48.744117) + (xy 148.129972 48.797003) (xy 148.173112 48.853619) (xy 148.213353 48.913434) (xy 148.251177 48.975916) + (xy 148.287066 49.040532) (xy 148.354966 49.17404) (xy 148.329061 49.362258) (xy 148.319549 49.456644) + (xy 148.31327 49.551292) (xy 148.31093 49.646257) (xy 148.313233 49.741596) (xy 148.320884 49.837368) + (xy 148.334588 49.933627) (xy 148.35505 50.030432) (xy 148.382974 50.127838) (xy 148.419065 50.225904) + (xy 148.464029 50.324685) (xy 148.518569 50.424239) (xy 148.549651 50.474324) (xy 148.583391 50.524623) + (xy 148.619878 50.575143) (xy 148.659199 50.625892) (xy 148.701444 50.676877) (xy 148.746699 50.728105) + (xy 148.459301 50.749525) (xy 148.521559 50.832991) (xy 148.579117 50.912797) (xy 148.632132 50.989067) + (xy 148.680763 51.061922) (xy 148.725169 51.131487) (xy 148.765506 51.197884) (xy 148.801933 51.261237) + (xy 148.834609 51.321668) (xy 148.863691 51.379302) (xy 148.889337 51.43426) (xy 148.911706 51.486666) + (xy 148.930956 51.536644) (xy 148.947245 51.584316) (xy 148.96073 51.629805) (xy 148.971571 51.673235) + (xy 148.979925 51.714728) (xy 148.98595 51.754408) (xy 148.989805 51.792398) (xy 148.991648 51.828821) + (xy 148.991636 51.8638) (xy 148.989928 51.897459) (xy 148.986682 51.929919) (xy 148.982056 51.961305) + (xy 148.976208 51.99174) (xy 148.961479 52.050248) (xy 148.943761 52.106427) (xy 148.904416 52.215741) + (xy 148.874111 52.159557) (xy 148.843451 52.111869) (xy 148.812578 52.072256) (xy 148.781632 52.040298) + (xy 148.750756 52.015572) (xy 148.720091 51.997658) (xy 148.689779 51.986134) (xy 148.659962 51.980581) + (xy 148.630781 51.980576) (xy 148.602378 51.985698) (xy 148.574896 51.995527) (xy 148.548474 52.009642) + (xy 148.523256 52.027621) (xy 148.499383 52.049043) (xy 148.476996 52.073487) (xy 148.456238 52.100532) + (xy 148.43725 52.129758) (xy 148.420173 52.160742) (xy 148.40515 52.193065) (xy 148.392322 52.226304) + (xy 148.381831 52.260039) (xy 148.373819 52.293849) (xy 148.368426 52.327312) (xy 148.365796 52.360008) + (xy 148.366069 52.391515) (xy 148.369388 52.421413) (xy 148.375893 52.449281) (xy 148.385728 52.474696) + (xy 148.399033 52.497239) (xy 148.41595 52.516488) (xy 148.43662 52.532022) (xy 148.461187 52.54342) + (xy 148.495002 52.5647) (xy 148.507181 52.596522) (xy 148.498894 52.63842) (xy 148.471312 52.689929) + (xy 148.362935 52.819917) (xy 148.191407 52.98276) (xy 147.966085 53.17473) (xy 147.696324 53.392102) + (xy 147.060911 53.888147) (xy 146.36002 54.441086) (xy 146.00841 54.729576) (xy 145.668499 55.02111) + (xy 145.349644 55.311963) (xy 145.0612 55.598409) (xy 144.812524 55.876722) (xy 144.706023 56.011664) + (xy 144.612972 56.143175) (xy 148.633812 53.304977) (xy 148.652027 53.335728) (xy 148.668679 53.366476) + (xy 148.683784 53.397222) (xy 148.697358 53.427965) (xy 148.709417 53.458706) (xy 148.719977 53.489444) + (xy 148.729055 53.520179) (xy 148.736665 53.550912) (xy 148.742825 53.581642) (xy 148.747551 53.61237) + (xy 148.750858 53.643095) (xy 148.752763 53.673818) (xy 148.753282 53.704538) (xy 148.752431 53.735256) + (xy 148.750226 53.765972) (xy 148.746683 53.796685) (xy 148.735648 53.858104) (xy 148.719455 53.919514) + (xy 148.698232 53.980914) (xy 148.672108 54.042306) (xy 148.641213 54.103688) (xy 148.605674 54.165062) + (xy 148.565621 54.226427) (xy 148.521183 54.287784) (xy 149.305063 54.798968) (xy 149.521289 54.798968) + (xy 149.481905 54.764138) (xy 149.389581 54.689995) (xy 149.290244 54.616884) (xy 149.184158 54.544765) + (xy 149.071589 54.4736) (xy 148.952801 54.403349) (xy 148.828061 54.333974) (xy 148.697632 54.265435) + (xy 148.729397 54.206791) (xy 148.757851 54.148271) (xy 148.782992 54.089875) (xy 148.804822 54.031604) + (xy 148.82334 53.973457) (xy 148.838546 53.915434) (xy 148.85044 53.857535) (xy 148.859023 53.79976) + (xy 148.864293 53.74211) (xy 148.866252 53.684583) (xy 148.864899 53.627181) (xy 148.860234 53.569902) + (xy 148.852256 53.512748) (xy 148.840967 53.455717) (xy 148.826366 53.398811) (xy 148.808452 53.342028) + (xy 148.830984 53.309184) (xy 148.851913 53.276819) (xy 148.871239 53.244936) (xy 148.888962 53.213533) + (xy 148.905083 53.182612) (xy 148.919601 53.152171) (xy 148.932517 53.12221) (xy 148.943829 53.092731) + (xy 148.953539 53.063732) (xy 148.961647 53.035214) (xy 148.968152 53.007177) (xy 148.973054 52.97962) + (xy 148.976353 52.952544) (xy 148.97805 52.925949) (xy 148.978144 52.899835) (xy 148.976636 52.874202) + (xy 148.973525 52.849049) (xy 148.968812 52.824377) (xy 148.962496 52.800185) (xy 148.954577 52.776475) + (xy 148.945056 52.753245) (xy 148.933932 52.730496) (xy 148.921205 52.708227) (xy 148.906877 52.686439) + (xy 148.890945 52.665132) (xy 148.873411 52.644306) (xy 148.854275 52.62396) (xy 148.833536 52.604095) + (xy 148.811194 52.584711) (xy 148.78725 52.565808) (xy 148.761704 52.547385) (xy 148.734555 52.529443) + (xy 148.78566 52.615791) (xy 148.803622 52.657706) (xy 148.81644 52.69904) (xy 148.824055 52.73999) + (xy 148.826403 52.780749) (xy 148.823425 52.821513) (xy 148.815057 52.862476) (xy 148.801239 52.903833) + (xy 148.781908 52.945779) (xy 148.726466 53.032218) (xy 148.648237 53.123351) (xy 148.546728 53.220736) + (xy 148.421449 53.325932) (xy 148.271906 53.440498) (xy 147.898059 53.703973) (xy 146.837539 54.411937) + (xy 146.619869 54.559841) (xy 146.392622 54.719503) (xy 146.155972 54.891639) (xy 145.910096 55.076964) + (xy 145.655167 55.276195) (xy 145.391361 55.490047) (xy 145.118852 55.719236) (xy 144.837816 55.964478) + (xy 144.950063 55.823918) (xy 145.071877 55.684675) (xy 145.202338 55.546825) (xy 145.340523 55.410442) + (xy 145.636384 55.14238) (xy 145.952087 54.881089) (xy 146.280263 54.627172) (xy 146.613541 54.381227) + (xy 147.265916 53.915661) (xy 147.570272 53.697241) (xy 147.850246 53.489198) (xy 148.098466 53.292133) + (xy 148.307562 53.106645) (xy 148.395135 53.018431) (xy 148.470163 52.933337) (xy 148.531725 52.851437) + (xy 148.578898 52.772808) (xy 148.610763 52.697524) (xy 148.626396 52.62566) (xy 148.624878 52.557291) + (xy 148.605287 52.492493) (xy 148.571753 52.472481) (xy 148.543503 52.450644) (xy 148.520276 52.427286) + (xy 148.501812 52.402712) (xy 148.487852 52.377225) (xy 148.478135 52.351129) (xy 148.472402 52.32473) + (xy 148.470393 52.298331) (xy 148.471847 52.272236) (xy 148.476507 52.246749) (xy 148.484111 52.222175) + (xy 148.494399 52.198817) (xy 148.507113 52.17698) (xy 148.521991 52.156968) (xy 148.538775 52.139086) + (xy 148.557205 52.123636) (xy 148.577019 52.110925) (xy 148.59796 52.101254) (xy 148.619767 52.09493) + (xy 148.64218 52.092255) (xy 148.66494 52.093535) (xy 148.687786 52.099073) (xy 148.710459 52.109173) + (xy 148.732698 52.12414) (xy 148.754245 52.144278) (xy 148.774839 52.16989) (xy 148.794221 52.201282) + (xy 148.812131 52.238756) (xy 148.828308 52.282619) (xy 148.842494 52.333172) (xy 148.854427 52.390722) + (xy 148.86385 52.455571) (xy 148.898227 52.412005) (xy 148.929754 52.368352) (xy 148.958494 52.324611) + (xy 148.98451 52.280784) (xy 149.007865 52.236869) (xy 149.028622 52.192866) (xy 149.046845 52.148776) + (xy 149.062595 52.104599) (xy 149.075938 52.060334) (xy 149.086934 52.015981) (xy 149.095649 51.97154) + (xy 149.102144 51.927012) (xy 149.106483 51.882395) (xy 149.108729 51.837691) (xy 149.108945 51.792898) + (xy 149.107194 51.748017) (xy 149.104327 51.710389) (xy 149.100407 51.674564) (xy 149.095464 51.640417) + (xy 149.089527 51.607821) (xy 149.082627 51.57665) (xy 149.074794 51.546777) (xy 149.066058 51.518076) + (xy 149.056449 51.490421) (xy 149.045997 51.463685) (xy 149.034733 51.437742) (xy 149.009887 51.387731) + (xy 148.98215 51.339375) (xy 148.951766 51.291663) (xy 148.808557 51.087053) (xy 148.768541 51.027405) + (xy 148.727322 50.962337) (xy 148.685139 50.890839) (xy 148.642235 50.811898) (xy 148.993118 50.79345) + (xy 148.911217 50.724821) (xy 148.834535 50.652761) (xy 148.763436 50.577032) (xy 148.698285 50.497394) + (xy 148.639447 50.413608) (xy 148.587284 50.325435) (xy 148.542161 50.232635) (xy 148.504442 50.134969) + (xy 148.474492 50.032199) (xy 148.452674 49.924085) (xy 148.439353 49.810387) (xy 148.434893 49.690867) + (xy 148.439657 49.565285) (xy 148.454011 49.433403) (xy 148.478317 49.29498) (xy 148.512941 49.149778) + (xy 148.489218 49.128114) (xy 148.466441 49.104424) (xy 148.444477 49.078905) (xy 148.423188 49.051754) + (xy 148.382098 48.993344) (xy 148.34209 48.930772) (xy 148.260993 48.799455) (xy 148.217741 48.733863) + (xy 148.171243 48.670421) (xy 148.146439 48.639998) (xy 148.120418 48.610704) (xy 148.093045 48.582736) + (xy 148.064184 48.556292) (xy 148.033701 48.531567) (xy 148.00146 48.50876) (xy 147.967325 48.488068) + (xy 147.931162 48.469688) (xy 147.892836 48.453816) (xy 147.852211 48.440652) (xy 147.809152 48.43039) + (xy 147.763523 48.423229) (xy 147.71519 48.419367) (xy 147.664017 48.418999) (xy 147.60987 48.422323) + (xy 147.552612 48.429537) (xy 147.543261 48.376702) (xy 147.526238 48.320084) (xy 147.501863 48.260168) + (xy 147.470459 48.197439) (xy 147.387846 48.065478) (xy 147.280968 47.928077) (xy 147.152394 47.789114) + (xy 147.004693 47.652464) (xy 146.840434 47.522005) (xy 146.662188 47.401612) (xy 146.472522 47.295162) + (xy 146.37421 47.248377) (xy 146.274007 47.206532) (xy 146.172234 47.17011) (xy 146.069212 47.139597) + (xy 145.965262 47.115477) (xy 145.860705 47.098235) (xy 145.755863 47.088356) (xy 145.651057 47.086323) + (xy 145.546608 47.092621) (xy 145.442837 47.107735) (xy 145.340065 47.13215) (xy 145.238613 47.16635) + (xy 145.138803 47.210819) (xy 145.040956 47.266043) (xy 144.992909 47.241952) (xy 144.946127 47.219654) + (xy 144.900583 47.199111) (xy 144.856252 47.180283) (xy 144.813108 47.163132) (xy 144.771125 47.147619) + (xy 144.730275 47.133707) (xy 144.690534 47.121356) (xy 144.651875 47.110528) (xy 144.614272 47.101185) + (xy 144.577699 47.093287) (xy 144.54213 47.086797) (xy 144.507538 47.081676) (xy 144.473898 47.077886) + (xy 144.441183 47.075387) (xy 144.409367 47.074142) + ) + (stroke + (width 0) + (type solid) + (color 255 255 255 1) + ) + (fill solid) + (layer "B.SilkS") + (uuid "2effe90e-04d5-4802-8d46-19bbf314b9ce") + ) (gr_poly (pts (xy 136.652 86.919822) (xy 137.108178 86.919822) (xy 137.108178 86.463643) (xy 136.652 86.463643) @@ -14361,6 +14679,19 @@ (layer "B.SilkS") (uuid "86cc1225-db34-4d16-851b-7c0f7920646f") ) + (gr_poly + (pts + (xy 149.953447 55.484327) (xy 149.953473 55.484327) (xy 149.953447 55.484275) + ) + (stroke + (width 0) + (type solid) + (color 255 255 255 1) + ) + (fill solid) + (layer "B.SilkS") + (uuid "8983a985-1456-4ee6-a436-aab1f0e3cf20") + ) (gr_poly (pts (xy 136.195822 88.744535) (xy 136.652 88.744535) (xy 136.652 88.288356) (xy 136.195822 88.288356) @@ -15061,6 +15392,315 @@ (layer "B.SilkS") (uuid "d1a005d9-377b-4b48-ac37-7041579c2a1c") ) + (gr_poly + (pts + (xy 145.411334 48.650847) (xy 145.401099 48.709573) (xy 145.384617 48.761571) (xy 145.362248 48.807365) + (xy 145.334349 48.847477) (xy 145.301278 48.882429) (xy 145.263394 48.912745) (xy 145.221053 48.938948) + (xy 145.174615 48.961559) (xy 145.124437 48.981103) (xy 145.070877 48.998101) (xy 145.014294 49.013077) + (xy 144.893488 49.039052) (xy 144.764884 49.06321) (xy 144.631346 49.089734) (xy 144.495737 49.122807) + (xy 144.428052 49.143105) (xy 144.360923 49.166609) (xy 144.294709 49.193841) (xy 144.229768 49.225324) + (xy 144.166457 49.261581) (xy 144.105135 49.303134) (xy 144.04616 49.350507) (xy 143.989889 49.404221) + (xy 143.936681 49.464801) (xy 143.886894 49.532768) (xy 143.840886 49.608645) (xy 143.799015 49.692956) + (xy 143.800066 49.672641) (xy 143.800381 49.652786) (xy 143.79911 49.614263) (xy 143.795812 49.577008) + (xy 143.791094 49.54064) (xy 143.779832 49.469045) (xy 143.774506 49.433058) (xy 143.770193 49.396436) + (xy 143.767502 49.358801) (xy 143.767041 49.319772) (xy 143.767838 49.299616) (xy 143.76942 49.278969) + (xy 143.771864 49.257783) (xy 143.775245 49.236011) (xy 143.779641 49.213605) (xy 143.785126 49.190518) + (xy 143.791778 49.166703) (xy 143.799671 49.142111) (xy 143.808882 49.116695) (xy 143.819488 49.090409) + (xy 143.831563 49.063203) (xy 143.845185 49.035031) (xy 143.819779 49.053404) (xy 143.791358 49.067391) + (xy 143.760185 49.077541) (xy 143.726522 49.0844) (xy 143.690633 49.088518) (xy 143.65278 49.090442) + (xy 143.572237 49.089902) (xy 143.486996 49.087165) (xy 143.399161 49.086616) (xy 143.354928 49.088533) + (xy 143.310835 49.092641) (xy 143.267147 49.099488) (xy 143.224124 49.109624) (xy 143.182031 49.123595) + (xy 143.14113 49.14195) (xy 143.101685 49.165238) (xy 143.063958 49.194005) (xy 143.028212 49.228801) + (xy 142.99471 49.270173) (xy 142.963716 49.318671) (xy 142.935492 49.37484) (xy 142.910301 49.439231) + (xy 142.888406 49.512391) (xy 142.870071 49.594868) (xy 142.855558 49.687211) (xy 142.845129 49.789966) + (xy 142.839049 49.903684) (xy 142.83758 50.028911) (xy 142.840985 50.166196) (xy 142.837482 50.277787) + (xy 142.83036 50.373231) (xy 142.820309 50.454017) (xy 142.80802 50.521632) (xy 142.794183 50.577564) + (xy 142.779487 50.6233) (xy 142.764622 50.660328) (xy 142.750279 50.690136) (xy 142.725918 50.734043) + (xy 142.717279 50.751117) (xy 142.711921 50.766922) (xy 142.710535 50.782946) (xy 142.713811 50.800676) + (xy 142.722437 50.8216) (xy 142.737105 50.847206) (xy 142.746669 50.867491) (xy 142.758342 50.884226) + (xy 142.77207 50.897783) (xy 142.7878 50.908531) (xy 142.805477 50.916842) (xy 142.825048 50.923086) + (xy 142.846458 50.927634) (xy 142.869655 50.930856) (xy 142.921191 50.934807) (xy 142.979223 50.937905) + (xy 143.043323 50.943115) (xy 143.077512 50.947439) (xy 143.113057 50.953403) (xy 143.149903 50.961378) + (xy 143.187996 50.971735) (xy 143.227283 50.984843) (xy 143.267709 51.001075) (xy 143.309221 51.020801) + (xy 143.351765 51.044391) (xy 143.395286 51.072216) (xy 143.439732 51.104646) (xy 143.485048 51.142054) + (xy 143.53118 51.184808) (xy 143.578075 51.233281) (xy 143.625678 51.287842) (xy 143.673936 51.348862) + (xy 143.722795 51.416712) (xy 143.772201 51.491763) (xy 143.8221 51.574386) (xy 143.797286 51.679786) + (xy 143.773874 51.786959) (xy 143.728144 52.003771) (xy 143.704271 52.111985) (xy 143.67869 52.219118) + (xy 143.650622 52.32446) (xy 143.61929 52.427296) (xy 143.613498 52.444089) (xy 143.607369 52.460277) + (xy 143.59425 52.49106) (xy 143.58024 52.520079) (xy 143.565649 52.54777) (xy 143.535952 52.600906) + (xy 143.521464 52.627221) (xy 143.507626 52.653947) (xy 143.494748 52.68152) (xy 143.483136 52.710374) + (xy 143.477902 52.725418) (xy 143.4731 52.740944) (xy 143.468769 52.757009) (xy 143.464947 52.773666) + (xy 143.461673 52.790969) (xy 143.458986 52.808973) (xy 143.456924 52.827732) (xy 143.455525 52.847301) + (xy 143.454828 52.867734) (xy 143.454872 52.889085) (xy 143.455695 52.91141) (xy 143.457335 52.934761) + (xy 143.458815 52.947525) (xy 143.460975 52.959596) (xy 143.463788 52.970981) (xy 143.467231 52.981687) + (xy 143.471278 52.991721) (xy 143.475904 53.001091) (xy 143.481084 53.009803) (xy 143.486793 53.017864) + (xy 143.493005 53.025281) (xy 143.499697 53.032063) (xy 143.506841 53.038215) (xy 143.514415 53.043744) + (xy 143.522391 53.048659) (xy 143.530746 53.052966) (xy 143.539455 53.056672) (xy 143.548491 53.059784) + (xy 143.557831 53.062309) (xy 143.567448 53.064255) (xy 143.577319 53.065628) (xy 143.587417 53.066436) + (xy 143.597718 53.066686) (xy 143.608197 53.066384) (xy 143.618828 53.065539) (xy 143.629586 53.064156) + (xy 143.640448 53.062243) (xy 143.651386 53.059808) (xy 143.662377 53.056857) (xy 143.673394 53.053398) + (xy 143.684414 53.049437) (xy 143.695411 53.044981) (xy 143.706359 53.040039) (xy 143.717235 53.034616) + (xy 143.737784 53.023581) (xy 143.755528 53.013553) (xy 143.784438 52.996353) (xy 143.807636 52.982683) + (xy 143.818239 52.977068) (xy 143.828791 52.972211) (xy 143.83975 52.968071) (xy 143.851576 52.964606) + (xy 143.864726 52.961775) (xy 143.87966 52.959536) (xy 143.896836 52.957848) (xy 143.916714 52.95667) + (xy 143.939752 52.95596) (xy 143.96641 52.955676) (xy 144.222467 52.960238) (xy 144.252255 52.959558) + (xy 144.281257 52.958105) (xy 144.309386 52.955731) (xy 144.336553 52.952288) (xy 144.362671 52.947627) + (xy 144.387653 52.941601) (xy 144.41141 52.93406) (xy 144.433855 52.924856) (xy 144.429788 52.941458) + (xy 144.424823 52.957243) (xy 144.41898 52.972229) (xy 144.41228 52.986437) (xy 144.404743 52.999883) + (xy 144.39639 53.012589) (xy 144.387242 53.024571) (xy 144.37732 53.035849) (xy 144.366643 53.046441) + (xy 144.355234 53.056368) (xy 144.343112 53.065646) (xy 144.330298 53.074295) (xy 144.316814 53.082335) + (xy 144.302678 53.089783) (xy 144.287914 53.096658) (xy 144.27254 53.10298) (xy 144.256578 53.108767) + (xy 144.240048 53.114038) (xy 144.222971 53.118811) (xy 144.205368 53.123106) (xy 144.187259 53.126941) + (xy 144.168665 53.130336) (xy 144.130106 53.135877) (xy 144.089856 53.13988) (xy 144.048079 53.142496) + (xy 144.004942 53.143874) (xy 143.96061 53.144166) (xy 143.951591 53.141638) (xy 143.943396 53.140484) + (xy 143.935985 53.140636) (xy 143.929318 53.142028) (xy 143.923354 53.144591) (xy 143.918051 53.148258) + (xy 143.913371 53.152961) (xy 143.909272 53.158632) (xy 143.905713 53.165205) (xy 143.902654 53.172611) + (xy 143.900055 53.180783) (xy 143.897875 53.189654) (xy 143.896073 53.199155) (xy 143.89461 53.20922) + (xy 143.892534 53.230768) (xy 143.891323 53.253758) (xy 143.890652 53.277649) (xy 143.889635 53.325972) + (xy 143.88864 53.349323) (xy 143.886888 53.371413) (xy 143.884054 53.391701) (xy 143.882131 53.401) + (xy 143.879815 53.409646) (xy 143.873912 53.414974) (xy 143.868082 53.418855) (xy 143.862318 53.421439) + (xy 143.856612 53.422876) (xy 143.850957 53.423316) (xy 143.845345 53.422908) (xy 143.839769 53.421801) + (xy 143.834221 53.420146) (xy 143.812155 53.411032) (xy 143.801091 53.407073) (xy 143.795525 53.405768) + (xy 143.789926 53.40511) (xy 143.784287 53.405251) (xy 143.778599 53.406339) (xy 143.772856 53.408525) + (xy 143.767049 53.411958) (xy 143.761171 53.416787) (xy 143.755214 53.423163) (xy 143.749171 53.431235) + (xy 143.743035 53.441152) (xy 143.736797 53.453064) (xy 143.730449 53.467122) (xy 143.723986 53.483473) + (xy 143.717398 53.502269) (xy 143.710678 53.523658) (xy 143.703818 53.547791) (xy 143.696811 53.574817) + (xy 143.68965 53.604885) (xy 143.685502 53.618397) (xy 143.682095 53.631316) (xy 143.679407 53.643644) + (xy 143.677414 53.655381) (xy 143.676093 53.66653) (xy 143.675422 53.677093) (xy 143.675378 53.687069) + (xy 143.675937 53.696462) (xy 143.677077 53.705271) (xy 143.678775 53.713499) (xy 143.681008 53.721148) + (xy 143.683753 53.728218) (xy 143.686987 53.73471) (xy 143.690687 53.740627) (xy 143.69483 53.74597) + (xy 143.699393 53.75074) (xy 143.704354 53.754938) (xy 143.709689 53.758567) (xy 143.715376 53.761627) + (xy 143.721391 53.764119) (xy 143.727712 53.766046) (xy 143.734315 53.767409) (xy 143.741179 53.768209) + (xy 143.748279 53.768447) (xy 143.755593 53.768125) (xy 143.763098 53.767245) (xy 143.770771 53.765807) + (xy 143.778589 53.763814) (xy 143.78653 53.761266) (xy 143.79457 53.758165) (xy 143.802686 53.754513) + (xy 143.810855 53.75031) (xy 143.81951 53.745894) (xy 143.828807 53.741669) (xy 143.849187 53.733348) + (xy 143.871716 53.724462) (xy 143.883698 53.719529) (xy 143.896113 53.714122) (xy 143.908924 53.708131) + (xy 143.922098 53.701443) (xy 143.935598 53.693949) (xy 143.949391 53.685537) (xy 143.96344 53.676096) + (xy 143.977712 53.665516) (xy 143.99217 53.653686) (xy 143.999458 53.647268) (xy 144.00678 53.640495) + (xy 144.024274 53.642757) (xy 144.041432 53.645876) (xy 144.058287 53.649764) (xy 144.074875 53.654332) + (xy 144.107389 53.665154) (xy 144.139252 53.677632) (xy 144.202143 53.704718) (xy 144.233728 53.717906) + (xy 144.265777 53.729911) (xy 144.29857 53.740023) (xy 144.315333 53.744148) (xy 144.332386 53.747534) + (xy 144.349764 53.750091) (xy 144.367503 53.751732) (xy 144.385637 53.752368) (xy 144.4042 53.751909) + (xy 144.423228 53.750267) (xy 144.442756 53.747354) (xy 144.462818 53.743081) (xy 144.48345 53.737359) + (xy 144.504685 53.730099) (xy 144.52656 53.721212) (xy 144.549108 53.710611) (xy 144.572365 53.698205) + (xy 144.596007 53.692304) (xy 144.618297 53.687885) (xy 144.6393 53.684875) (xy 144.659083 53.683201) + (xy 144.677712 53.68279) (xy 144.695256 53.683569) (xy 144.711778 53.685466) (xy 144.727347 53.688407) + (xy 144.742029 53.69232) (xy 144.755891 53.697132) (xy 144.768998 53.702769) (xy 144.781418 53.70916) + (xy 144.793217 53.716231) (xy 144.804461 53.723909) (xy 144.815217 53.732122) (xy 144.825552 53.740796) + (xy 144.845224 53.759237) (xy 144.864009 53.77865) (xy 144.901046 53.818059) (xy 144.920363 53.836889) + (xy 144.930454 53.845831) (xy 144.940922 53.854359) (xy 144.951834 53.862402) (xy 144.963255 53.869885) + (xy 144.975254 53.876738) (xy 144.987895 53.882885) (xy 144.931121 53.890472) (xy 144.875517 53.895744) + (xy 144.821097 53.898953) (xy 144.767878 53.900349) (xy 144.715875 53.900182) (xy 144.665104 53.898703) + (xy 144.567318 53.892806) (xy 144.38721 53.876271) (xy 144.305137 53.869637) (xy 144.26615 53.867604) + (xy 144.22855 53.866761) (xy 144.187218 53.86764) (xy 144.148144 53.870535) (xy 144.111408 53.875258) + (xy 144.077092 53.881621) (xy 144.045275 53.889438) (xy 144.016039 53.898522) (xy 143.989463 53.908685) + (xy 143.965628 53.91974) (xy 143.944614 53.931501) (xy 143.926503 53.943779) (xy 143.911373 53.956389) + (xy 143.899307 53.969142) (xy 143.890383 53.981852) (xy 143.884683 53.994332) (xy 143.883067 54.000426) + (xy 143.882287 54.006394) (xy 143.882353 54.012209) (xy 143.883275 54.017851) (xy 143.8856 54.026542) + (xy 143.888244 54.034769) (xy 143.891246 54.042545) (xy 143.894644 54.049886) (xy 143.898477 54.056805) + (xy 143.902784 54.063318) (xy 143.907602 54.069437) (xy 143.91297 54.075178) (xy 143.918927 54.080556) + (xy 143.925511 54.085583) (xy 143.932761 54.090276) (xy 143.940715 54.094648) (xy 143.949411 54.098713) + (xy 143.958888 54.102486) (xy 143.969185 54.105981) (xy 143.98034 54.109213) (xy 143.992391 54.112195) + (xy 144.005377 54.114944) (xy 144.019336 54.117471) (xy 144.034307 54.119793) (xy 144.050329 54.121923) + (xy 144.067439 54.123876) (xy 144.085676 54.125667) (xy 144.10508 54.127308) (xy 144.147537 54.130204) + (xy 144.195118 54.132678) (xy 144.248132 54.134845) (xy 144.306885 54.136821) (xy 144.309504 54.158191) + (xy 144.313024 54.17902) (xy 144.317445 54.199308) (xy 144.322768 54.219055) (xy 144.328991 54.238262) + (xy 144.336116 54.256928) (xy 144.344142 54.275053) (xy 144.35307 54.292637) (xy 144.362898 54.30968) + (xy 144.373628 54.326183) (xy 144.38526 54.342145) (xy 144.397793 54.357566) (xy 144.411227 54.372446) + (xy 144.425563 54.386785) (xy 144.440801 54.400583) (xy 144.45694 54.413841) (xy 144.421005 54.413057) + (xy 144.38659 54.415309) (xy 144.353726 54.420418) (xy 144.32244 54.428206) (xy 144.292761 54.438498) + (xy 144.264717 54.451115) (xy 144.238337 54.465879) (xy 144.21365 54.482614) (xy 144.190683 54.501142) + (xy 144.169466 54.521285) (xy 144.150027 54.542867) (xy 144.132394 54.565709) (xy 144.116597 54.589634) + (xy 144.102662 54.614465) (xy 144.09062 54.640025) (xy 144.080498 54.666135) (xy 144.072326 54.692619) + (xy 144.06613 54.719299) (xy 144.061941 54.745998) (xy 144.059787 54.772538) (xy 144.059695 54.798742) + (xy 144.061695 54.824432) (xy 144.065815 54.849431) (xy 144.072084 54.873561) (xy 144.08053 54.896646) + (xy 144.091181 54.918508) (xy 144.104067 54.938968) (xy 144.119215 54.957851) (xy 144.136655 54.974978) + (xy 144.156414 54.990172) (xy 144.178521 55.003255) (xy 144.203005 55.014051) (xy 144.23488 55.029167) + (xy 144.267013 55.042556) (xy 144.299391 55.054263) (xy 144.332001 55.064334) (xy 144.364831 55.072813) + (xy 144.397869 55.079744) (xy 144.4311 55.085174) (xy 144.464514 55.089146) (xy 144.531835 55.092898) + (xy 144.599731 55.09136) (xy 144.668101 55.08489) (xy 144.736842 55.073847) (xy 144.805854 55.058592) + (xy 144.875036 55.039483) (xy 144.944285 55.016878) (xy 145.013501 54.991138) (xy 145.082582 54.962621) + (xy 145.151426 54.931686) (xy 145.219933 54.898693) (xy 145.288 54.864) (xy 145.67937 54.694282) + (xy 145.867435 54.607254) (xy 146.048093 54.516893) (xy 146.1351 54.470021) (xy 146.2196 54.421786) + (xy 146.301376 54.37201) (xy 146.38021 54.320517) (xy 146.455883 54.267131) (xy 146.528178 54.211674) + (xy 146.596877 54.153969) (xy 146.66176 54.09384) (xy 146.744217 54.009525) (xy 146.818859 53.925294) + (xy 146.88519 53.841802) (xy 146.942713 53.759701) (xy 146.990933 53.679647) (xy 147.011399 53.640592) + (xy 147.029354 53.602293) (xy 147.044734 53.564832) (xy 147.057478 53.528292) (xy 147.067525 53.492753) + (xy 147.074811 53.458299) (xy 147.079276 53.425009) (xy 147.080856 53.392967) (xy 147.079491 53.362253) + (xy 147.075118 53.33295) (xy 147.067674 53.305139) (xy 147.057099 53.278902) (xy 147.043329 53.25432) + (xy 147.026304 53.231477) (xy 147.00596 53.210452) (xy 146.982236 53.191328) (xy 146.955071 53.174187) + (xy 146.924401 53.15911) (xy 146.890165 53.146179) (xy 146.852301 53.135476) (xy 146.810746 53.127083) + (xy 146.76544 53.12108) (xy 146.683464 53.123247) (xy 146.612186 53.119385) (xy 146.551065 53.109776) + (xy 146.49956 53.094701) (xy 146.477244 53.085202) (xy 146.45713 53.074443) (xy 146.439149 53.062458) + (xy 146.423234 53.049283) (xy 146.409317 53.034953) (xy 146.397331 53.019503) (xy 146.387208 53.002968) + (xy 146.37888 52.985384) (xy 146.367341 52.947209) (xy 146.362173 52.905259) (xy 146.362834 52.859815) + (xy 146.368784 52.81116) (xy 146.379481 52.759575) (xy 146.394386 52.705342) (xy 146.412957 52.648742) + (xy 146.434653 52.590058) (xy 146.655819 52.079341) (xy 146.704499 51.950534) (xy 146.724873 51.887512) + (xy 146.741881 51.825785) (xy 146.754983 51.765636) (xy 146.763637 51.707346) (xy 146.767303 51.651197) + (xy 146.76544 51.597471) (xy 146.815594 51.560432) (xy 146.856727 51.524385) (xy 146.889323 51.489239) + (xy 146.913869 51.454903) (xy 146.93085 51.421287) (xy 146.940751 51.3883) (xy 146.944058 51.355852) + (xy 146.941257 51.323851) (xy 146.932832 51.292209) (xy 146.919269 51.260833) (xy 146.901055 51.229634) + (xy 146.878674 51.19852) (xy 146.852612 51.167401) (xy 146.823354 51.136187) (xy 146.757194 51.073111) + (xy 146.710236 51.031821) (xy 145.703835 51.031821) (xy 145.6593 51.027482) (xy 145.618164 51.025075) + (xy 145.580294 51.024489) (xy 145.545557 51.025613) (xy 145.51382 51.028337) (xy 145.484951 51.03255) + (xy 145.458816 51.038141) (xy 145.435284 51.044998) (xy 145.414222 51.053012) (xy 145.395496 51.062072) + (xy 145.378975 51.072066) (xy 145.364525 51.082884) (xy 145.352014 51.094415) (xy 145.341309 51.106549) + (xy 145.332278 51.119174) (xy 145.324787 51.13218) (xy 145.318705 51.145455) (xy 145.313897 51.15889) + (xy 145.310233 51.172373) (xy 145.307578 51.185794) (xy 145.305801 51.199041) (xy 145.304768 51.212005) + (xy 145.304406 51.236636) (xy 145.306779 51.277613) (xy 145.307391 51.292187) (xy 145.307089 51.297608) + (xy 145.306205 51.301636) (xy 145.30935 51.313465) (xy 145.311247 51.324103) (xy 145.311946 51.333598) + (xy 145.311495 51.341996) (xy 145.309945 51.349345) (xy 145.307344 51.355693) (xy 145.303742 51.361085) + (xy 145.299189 51.36557) (xy 145.293734 51.369194) (xy 145.287426 51.372004) (xy 145.280315 51.374049) + (xy 145.27245 51.375374) (xy 145.26388 51.376027) (xy 145.254656 51.376055) (xy 145.234439 51.374426) + (xy 145.212195 51.370862) (xy 145.18832 51.365742) (xy 145.137254 51.352339) (xy 145.084405 51.337235) + (xy 145.032935 51.323446) (xy 145.000999 51.315866) (xy 144.98254 51.311879) (xy 144.963355 51.308217) + (xy 144.944143 51.305223) (xy 144.934746 51.304085) (xy 144.925606 51.303242) (xy 144.916809 51.302738) + (xy 144.908443 51.302615) (xy 144.900596 51.302917) (xy 144.893355 51.303686) (xy 144.890316 51.304243) + (xy 144.887284 51.30501) (xy 144.884264 51.305978) (xy 144.881263 51.307135) (xy 144.878288 51.30847) + (xy 144.875344 51.309974) (xy 144.872438 51.311634) (xy 144.869576 51.31344) (xy 144.866765 51.315381) + (xy 144.864012 51.317447) (xy 144.858702 51.321908) (xy 144.853698 51.326735) (xy 144.849051 51.331843) + (xy 144.844812 51.337143) (xy 144.841032 51.34255) (xy 144.837762 51.347977) (xy 144.835053 51.353337) + (xy 144.833925 51.355964) (xy 144.832957 51.358542) (xy 144.832155 51.36106) (xy 144.831525 51.363507) + (xy 144.831073 51.365872) (xy 144.830807 51.368144) (xy 144.830732 51.370312) (xy 144.830855 51.372366) + (xy 144.83118 51.374297) (xy 144.8317 51.376105) (xy 144.832407 51.377793) (xy 144.833292 51.379364) + (xy 144.834345 51.380821) (xy 144.835559 51.382166) (xy 144.836924 51.383403) (xy 144.838432 51.384533) + (xy 144.840073 51.385559) (xy 144.84184 51.386485) (xy 144.843722 51.387313) (xy 144.845711 51.388045) + (xy 144.849975 51.389235) (xy 144.854562 51.390076) (xy 144.8594 51.390589) (xy 144.864419 51.390797) + (xy 144.869549 51.390721) (xy 144.874718 51.390382) (xy 144.879856 51.389804) (xy 144.884892 51.389006) + (xy 144.889755 51.388011) (xy 144.894375 51.386841) (xy 144.90136 51.386841) (xy 144.908341 51.387198) + (xy 144.915317 51.387895) (xy 144.922288 51.388915) (xy 144.936215 51.391851) (xy 144.95012 51.395863) + (xy 144.964002 51.400811) (xy 144.977859 51.406552) (xy 144.99169 51.412945) (xy 145.005493 51.419849) + (xy 145.033011 51.43462) (xy 145.060401 51.449733) (xy 145.087653 51.464054) (xy 145.101223 51.470564) + (xy 145.114755 51.476451) (xy 145.156516 51.493559) (xy 145.177362 51.501833) (xy 145.197935 51.509572) + (xy 145.21805 51.516512) (xy 145.237522 51.522389) (xy 145.246959 51.524848) (xy 145.256164 51.526942) + (xy 145.265116 51.52864) (xy 145.27379 51.529908) (xy 145.282164 51.530713) (xy 145.290214 51.531023) + (xy 145.297918 51.530805) (xy 145.305251 51.530026) (xy 145.312191 51.528652) (xy 145.318713 51.526652) + (xy 145.324797 51.523993) (xy 145.330416 51.52064) (xy 145.33555 51.516563) (xy 145.340173 51.511727) + (xy 145.344264 51.5061) (xy 145.347799 51.499649) (xy 145.350754 51.492342) (xy 145.353106 51.484145) + (xy 145.354832 51.475026) (xy 145.355909 51.464951) (xy 145.366548 51.465635) (xy 145.376793 51.467654) + (xy 145.386607 51.470915) (xy 145.395956 51.475323) (xy 145.404802 51.480786) (xy 145.41311 51.487211) + (xy 145.420844 51.494502) (xy 145.427967 51.502568) (xy 145.434444 51.511315) (xy 145.440238 51.520648) + (xy 145.445313 51.530475) (xy 145.449633 51.540702) (xy 145.453162 51.551236) (xy 145.455864 51.561983) + (xy 145.457702 51.57285) (xy 145.458642 51.583743) (xy 145.458645 51.594569) (xy 145.457678 51.605234) + (xy 145.455702 51.615644) (xy 145.452683 51.625707) (xy 145.448584 51.635329) (xy 145.443369 51.644416) + (xy 145.437001 51.652875) (xy 145.429446 51.660612) (xy 145.420666 51.667534) (xy 145.410626 51.673547) + (xy 145.399289 51.678558) (xy 145.38662 51.682474) (xy 145.372582 51.685201) (xy 145.357139 51.686645) + (xy 145.340255 51.686713) (xy 145.321895 51.685311) (xy 145.312286 51.713997) (xy 145.300525 51.739941) + (xy 145.286788 51.763204) (xy 145.271254 51.783845) (xy 145.254103 51.801927) (xy 145.235512 51.81751) + (xy 145.215661 51.830656) (xy 145.194728 51.841423) (xy 145.172892 51.849875) (xy 145.150331 51.856071) + (xy 145.127223 51.860073) (xy 145.103748 51.861941) (xy 145.080085 51.861736) (xy 145.056411 51.85952) + (xy 145.032905 51.855352) (xy 145.009747 51.849294) (xy 144.987114 51.841407) (xy 144.965185 51.831751) + (xy 144.944139 51.820388) (xy 144.924155 51.807379) (xy 144.905411 51.792783) (xy 144.888086 51.776663) + (xy 144.872357 51.759078) (xy 144.858405 51.740091) (xy 144.846408 51.719761) (xy 144.836544 51.698149) + (xy 144.828992 51.675318) (xy 144.82393 51.651326) (xy 144.821537 51.626236) (xy 144.821992 51.600108) + (xy 144.825474 51.573002) (xy 144.83216 51.544981) (xy 144.830411 51.544348) (xy 144.828926 51.543562) + (xy 144.827688 51.54263) (xy 144.82668 51.541557) (xy 144.825888 51.540352) (xy 144.825294 51.539018) + (xy 144.824882 51.537564) (xy 144.824636 51.535995) (xy 144.82454 51.534317) (xy 144.824577 51.532537) + (xy 144.824988 51.528696) (xy 144.825739 51.524521) (xy 144.826699 51.520062) (xy 144.828731 51.510496) + (xy 144.829542 51.505489) (xy 144.830044 51.5004) (xy 144.830139 51.49784) (xy 144.830107 51.495279) + (xy 144.829934 51.492722) (xy 144.829602 51.490176) (xy 144.829095 51.487647) (xy 144.828398 51.485142) + (xy 144.827493 51.482666) (xy 144.826365 51.480226) (xy 144.824144 51.476315) (xy 144.82168 51.472781) + (xy 144.820355 51.471171) (xy 144.818968 51.469677) (xy 144.817518 51.468303) (xy 144.816003 51.467057) + (xy 144.814425 51.465945) (xy 144.812781 51.464974) (xy 144.811071 51.464151) (xy 144.809296 51.463482) + (xy 144.807453 51.462974) (xy 144.805543 51.462634) (xy 144.803565 51.462469) (xy 144.801519 51.462485) + (xy 144.799403 51.462688) (xy 144.797217 51.463086) (xy 144.79496 51.463686) (xy 144.792633 51.464493) + (xy 144.790234 51.465514) (xy 144.787762 51.466757) (xy 144.785218 51.468228) (xy 144.782599 51.469934) + (xy 144.779907 51.47188) (xy 144.77714 51.474075) (xy 144.774298 51.476525) (xy 144.77138 51.479236) + (xy 144.768385 51.482214) (xy 144.765313 51.485468) (xy 144.762163 51.489003) (xy 144.758935 51.492826) + (xy 144.754516 51.498534) (xy 144.750592 51.504285) (xy 144.747108 51.510078) (xy 144.744006 51.515917) + (xy 144.741229 51.521801) (xy 144.738722 51.527733) (xy 144.736428 51.533713) (xy 144.734289 51.539744) + (xy 144.726166 51.564391) (xy 144.72396 51.570692) (xy 144.72157 51.57705) (xy 144.718941 51.583468) + (xy 144.716015 51.589946) (xy 144.70968 51.602416) (xy 144.702956 51.614123) (xy 144.695908 51.62512) + (xy 144.688602 51.635459) (xy 144.681106 51.645192) (xy 144.673486 51.654372) (xy 144.665807 51.663052) + (xy 144.658137 51.671283) (xy 144.628865 51.700777) (xy 144.616003 51.714198) (xy 144.610248 51.720761) + (xy 144.605033 51.727296) (xy 144.600422 51.733855) (xy 144.596483 51.74049) (xy 144.593283 51.747254) + (xy 144.590887 51.754199) (xy 144.589361 51.761378) (xy 144.588773 51.768843) (xy 144.589188 51.776647) + (xy 144.590673 51.784842) (xy 144.593294 51.793481) (xy 144.597118 51.802616) (xy 144.602211 51.8123) + (xy 144.608639 51.822584) (xy 144.616468 51.833522) (xy 144.625766 51.845166) (xy 144.636598 51.857568) + (xy 144.64903 51.870781) (xy 144.657044 51.878104) (xy 144.666131 51.884698) (xy 144.676282 51.890573) + (xy 144.687491 51.895737) (xy 144.699748 51.900197) (xy 144.713046 51.903962) (xy 144.727376 51.90704) + (xy 144.74273 51.909439) (xy 144.759101 51.911167) (xy 144.776481 51.912234) (xy 144.79486 51.912646) + (xy 144.814231 51.912412) (xy 144.834586 51.91154) (xy 144.855918 51.910039) (xy 144.878216 51.907917) + (xy 144.901475 51.905181) (xy 144.901406 51.916788) (xy 144.900538 51.927868) (xy 144.89889 51.938424) + (xy 144.896486 51.948463) (xy 144.893345 51.957992) (xy 144.889491 51.967015) (xy 144.884943 51.975538) + (xy 144.879723 51.983567) (xy 144.873853 51.991107) (xy 144.867353 51.998165) (xy 144.860246 52.004746) + (xy 144.852553 52.010856) (xy 144.844295 52.016501) (xy 144.835493 52.021685) (xy 144.826169 52.026415) + (xy 144.816345 52.030697) (xy 144.795278 52.037939) (xy 144.772465 52.043455) (xy 144.748075 52.047292) + (xy 144.722281 52.049495) (xy 144.695252 52.050109) (xy 144.66716 52.049181) (xy 144.638176 52.046757) + (xy 144.60847 52.042881) (xy 144.590858 52.039607) (xy 144.574355 52.03538) (xy 144.558896 52.030258) + (xy 144.544419 52.024295) (xy 144.530859 52.017549) (xy 144.518154 52.010076) (xy 144.506239 52.001932) + (xy 144.49505 51.993173) (xy 144.484526 51.983855) (xy 144.474601 51.974036) (xy 144.465212 51.96377) + (xy 144.456296 51.953115) (xy 144.439627 51.93086) (xy 144.424087 51.907723) (xy 144.394356 51.860598) + (xy 144.379148 51.837511) (xy 144.363034 51.815342) (xy 144.354478 51.804742) (xy 144.345505 51.79454) + (xy 144.336051 51.784793) (xy 144.326053 51.775556) (xy 144.315447 51.766886) (xy 144.304169 51.758839) + (xy 144.292156 51.751472) (xy 144.279345 51.744841) (xy 144.198124 51.7002) (xy 144.142532 51.668056) + (xy 144.079794 51.629082) (xy 144.046413 51.606968) (xy 144.012046 51.583067) (xy 143.976959 51.557353) + (xy 143.94142 51.5298) (xy 143.905694 51.500381) (xy 143.870048 51.46907) (xy 143.83475 51.43584) + (xy 143.800065 51.400666) (xy 143.786211 51.385696) (xy 143.772853 51.370548) (xy 143.760001 51.355263) + (xy 143.747664 51.339882) (xy 143.735852 51.324448) (xy 143.724575 51.309001) (xy 143.713844 51.293584) + (xy 143.703668 51.278237) (xy 143.694057 51.263002) (xy 143.685021 51.24792) (xy 143.67657 51.233033) + (xy 143.668713 51.218383) (xy 143.661462 51.204011) (xy 143.654825 51.189958) (xy 143.648813 51.176267) + (xy 143.643435 51.162977) (xy 143.638702 51.150132) (xy 143.634623 51.137772) (xy 143.631208 51.125938) + (xy 143.628468 51.114673) (xy 143.626412 51.104018) (xy 143.62505 51.094014) (xy 143.624392 51.084703) + (xy 143.624448 51.076126) (xy 143.625228 51.068325) (xy 143.626742 51.061341) (xy 143.628999 51.055216) + (xy 143.63201 51.04999) (xy 143.635785 51.045707) (xy 143.640333 51.042406) (xy 143.645665 51.040131) + (xy 143.65179 51.038921) (xy 143.684486 51.041615) (xy 143.713961 51.042908) (xy 143.740373 51.042884) + (xy 143.76388 51.041631) (xy 143.784642 51.039232) (xy 143.802816 51.035774) (xy 143.818561 51.031343) + (xy 143.832035 51.026023) (xy 143.843397 51.019901) (xy 143.852806 51.013061) (xy 143.860418 51.00559) + (xy 143.866394 50.997573) (xy 143.870891 50.989096) (xy 143.874068 50.980243) (xy 143.876084 50.971102) + (xy 143.877096 50.961756) (xy 143.877263 50.952292) (xy 143.876743 50.942795) (xy 143.874279 50.924046) + (xy 143.868082 50.889918) (xy 143.867193 50.882587) (xy 143.866884 50.875908) (xy 143.867316 50.869965) + (xy 143.868644 50.864846) (xy 143.871029 50.860635) (xy 143.874629 50.857417) (xy 143.879601 50.855279) + (xy 143.886105 50.854306) (xy 143.909302 50.84763) (xy 143.933969 50.842576) (xy 143.959953 50.838979) + (xy 143.987104 50.836668) (xy 144.044295 50.835238) (xy 144.104325 50.836942) (xy 144.228035 50.84438) + (xy 144.289282 50.847428) (xy 144.348501 50.848236) (xy 144.37697 50.847381) (xy 144.404475 50.845462) + (xy 144.430866 50.842312) (xy 144.455989 50.837762) (xy 144.479692 50.831645) (xy 144.501825 50.823793) + (xy 144.522233 50.814038) (xy 144.540766 50.802212) (xy 144.557271 50.788146) (xy 144.571596 50.771674) + (xy 144.58359 50.752627) (xy 144.593099 50.730837) (xy 144.599972 50.706136) (xy 144.604058 50.678357) + (xy 144.605203 50.647331) (xy 144.603255 50.612891) (xy 144.676473 50.614722) (xy 144.745277 50.617792) + (xy 144.809856 50.622048) (xy 144.870403 50.62744) (xy 144.927107 50.633917) (xy 144.980161 50.641427) + (xy 145.029755 50.649919) (xy 145.07608 50.659342) (xy 145.119327 50.669645) (xy 145.159688 50.680777) + (xy 145.197352 50.692687) (xy 145.232512 50.705323) (xy 145.265358 50.718634) (xy 145.296081 50.73257) + (xy 145.324872 50.747078) (xy 145.351922 50.762109) (xy 145.377422 50.77761) (xy 145.401564 50.79353) + (xy 145.424538 50.809819) (xy 145.446535 50.826425) (xy 145.488363 50.860385) (xy 145.528575 50.894999) + (xy 145.568701 50.929859) (xy 145.610267 50.964555) (xy 145.654803 50.998679) (xy 145.678661 51.015398) + (xy 145.703835 51.031821) (xy 146.710236 51.031821) (xy 146.607888 50.941827) (xy 146.532511 50.872171) + (xy 146.461829 50.798873) (xy 146.429463 50.760631) (xy 146.399727 50.721207) (xy 146.373108 50.68051) + (xy 146.350089 50.638449) (xy 146.331158 50.594935) (xy 146.316799 50.549876) (xy 146.307498 50.503181) + (xy 146.30374 50.454761) (xy 146.413457 50.539256) (xy 146.511804 50.609715) (xy 146.598666 50.666609) + (xy 146.673932 50.71041) (xy 146.737486 50.741587) (xy 146.764837 50.752589) (xy 146.789216 50.760613) + (xy 146.810612 50.765716) (xy 146.829008 50.767957) (xy 146.844392 50.767396) (xy 146.856748 50.764091) + (xy 146.866063 50.758102) (xy 146.872323 50.749486) (xy 146.875512 50.738304) (xy 146.875618 50.724613) + (xy 146.872626 50.708473) (xy 146.866521 50.689942) (xy 146.85729 50.66908) (xy 146.844918 50.645945) + (xy 146.810695 50.593093) (xy 146.763738 50.531855) (xy 146.703934 50.462704) (xy 146.63117 50.386111) + (xy 146.594734 50.351824) (xy 146.550147 50.313511) (xy 146.443132 50.226147) (xy 146.323348 50.126696) + (xy 146.2628 50.073274) (xy 146.204018 50.017833) (xy 146.148656 49.960709) (xy 146.098366 49.902235) + (xy 146.075639 49.872597) (xy 146.054801 49.842747) (xy 146.036057 49.812727) (xy 146.019614 49.782579) + (xy 146.005679 49.752344) (xy 145.994458 49.722065) (xy 145.986158 49.691783) (xy 145.980986 49.66154) + (xy 145.979148 49.631378) (xy 145.980851 49.601339) (xy 145.986301 49.571464) (xy 145.995705 49.541796) + (xy 146.002278 49.522618) (xy 146.010706 49.504342) (xy 146.020836 49.486883) (xy 146.032518 49.470155) + (xy 146.045599 49.454075) (xy 146.059927 49.438556) (xy 146.075351 49.423514) (xy 146.091719 49.408865) + (xy 146.126679 49.380403) (xy 146.163593 49.352492) (xy 146.201246 49.324451) (xy 146.238423 49.295603) + (xy 146.273911 49.265267) (xy 146.290642 49.249329) (xy 146.306495 49.232765) (xy 146.321318 49.215489) + (xy 146.334959 49.197417) (xy 146.347268 49.178464) (xy 146.358091 49.158545) (xy 146.367277 49.137576) + (xy 146.374675 49.11547) (xy 146.380132 49.092144) (xy 146.383496 49.067512) (xy 146.384617 49.041489) + (xy 146.383341 49.013992) (xy 146.379518 48.984934) (xy 146.372995 48.954231) (xy 146.346096 48.963207) + (xy 146.318969 48.970645) (xy 146.291617 48.976567) (xy 146.264044 48.980994) (xy 146.236252 48.983947) + (xy 146.208246 48.985449) (xy 146.180028 48.98552) (xy 146.1516 48.984181) (xy 146.122968 48.981454) + (xy 146.094132 48.977361) (xy 146.065098 48.971923) (xy 146.035868 48.965161) (xy 145.976831 48.947751) + (xy 145.917048 48.925303) (xy 145.856545 48.897988) (xy 145.795345 48.865976) (xy 145.733476 48.82944) + (xy 145.670962 48.788549) (xy 145.607829 48.743476) (xy 145.544101 48.694391) (xy 145.479805 48.641466) + (xy 145.414965 48.584871) + ) + (stroke + (width 0) + (type solid) + (color 255 255 255 1) + ) + (fill solid) + (layer "B.SilkS") + (uuid "d39ba62d-8c9c-4047-b7c8-e6c4ba18653c") + ) (gr_poly (pts (xy 138.020534 87.832178) (xy 138.476713 87.832178) (xy 138.476713 87.376) (xy 138.020534 87.376) @@ -16023,7 +16663,7 @@ (layer "User.9") (uuid "f835f71b-97dd-4a29-b456-899d6f1d74ac") ) - (gr_text "18/0C/5B" + (gr_text "18/08/5B" (at 128.524 92.202 0) (layer "B.Cu" knockout) (uuid "6a006907-e6c3-4a2d-a16e-81f9708caf46") @@ -16168,6 +16808,18 @@ (justify mirror) ) ) + (gr_text "Привіт, 8-біт!" + (at 154.94 84.328 45) + (layer "B.SilkS") + (uuid "85777338-d221-4e96-8301-8eb86cb32cc3") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify left bottom mirror) + ) + ) (gr_text "JP 1" (at 61.722 52.324 90) (layer "B.SilkS") @@ -16524,7 +17176,7 @@ ) ) ) - (gr_text "андерсон пройдисвіт\nblack.ghost.off enko\nimbir\\sugar alder\nlogitwix noname" + (gr_text "андерсон пройдисвіт\nblack.ghost.off enko\nimbir alder\nlogitwix ~woz" (at 86.36 59.69 0) (layer "F.SilkS") (uuid "30b49fb9-7cc6-4583-b2c9-d63317472ff9") @@ -16537,7 +17189,7 @@ ) (justify left bottom) ) - (render_cache "андерсон пройдисвіт\nblack.ghost.off enko\nimbir\\sugar alder\nlogitwix noname" + (render_cache "андерсон пройдисвіт\nblack.ghost.off enko\nimbir alder\nlogitwix ~woz" 0 (polygon (pts @@ -17182,108 +17834,6 @@ (xy 89.862442 57.13658) ) ) - (polygon - (pts - (xy 91.107592 58.058841) (xy 91.306406 58.058841) (xy 90.844298 56.840802) (xy 90.645484 56.840802) - ) - ) - (polygon - (pts - (xy 91.801242 57.855631) (xy 91.86409 57.853035) (xy 91.921104 57.845475) (xy 91.97221 57.833295) - (xy 92.031026 57.810459) (xy 92.079021 57.780831) (xy 92.116014 57.745225) (xy 92.14651 57.693546) - (xy 92.159181 57.635383) (xy 92.159546 57.623112) (xy 92.154706 57.572272) (xy 92.134195 57.520371) - (xy 92.094397 57.476973) (xy 92.044016 57.446208) (xy 91.991011 57.424499) (xy 91.94318 57.409617) - (xy 91.887948 57.395722) (xy 91.833973 57.383585) (xy 91.7834 57.371273) (xy 91.742814 57.342315) - (xy 91.742379 57.336859) (xy 91.778477 57.30154) (xy 91.815163 57.297536) (xy 91.863976 57.300731) - (xy 91.91417 57.310194) (xy 91.96467 57.325739) (xy 92.014404 57.347184) (xy 92.042065 57.362016) - (xy 92.148555 57.219134) (xy 92.103571 57.192931) (xy 92.05226 57.167782) (xy 92.004786 57.14928) - (xy 91.953127 57.134423) (xy 91.897378 57.124538) (xy 91.837634 57.120949) (xy 91.782516 57.123278) - (xy 91.73152 57.130127) (xy 91.670429 57.145935) (xy 91.617842 57.168922) (xy 91.574433 57.1986) - (xy 91.540874 57.234479) (xy 91.513802 57.287303) (xy 91.504866 57.335344) (xy 91.504487 57.348094) - (xy 91.509807 57.39674) (xy 91.531422 57.448252) (xy 91.563563 57.485603) (xy 91.609854 57.518017) - (xy 91.657898 57.540476) (xy 91.716408 57.559916) (xy 91.767536 57.572554) (xy 91.816934 57.583194) - (xy 91.868034 57.595308) (xy 91.914128 57.616517) (xy 91.921653 57.637278) (xy 91.885906 57.673661) - (xy 91.834703 57.679288) (xy 91.783751 57.676488) (xy 91.731882 57.668121) (xy 91.679723 57.654235) - (xy 91.627902 57.634877) (xy 91.577047 57.610098) (xy 91.560418 57.600642) (xy 91.459546 57.749385) - (xy 91.504437 57.775999) (xy 91.554263 57.80011) (xy 91.607806 57.820896) (xy 91.663846 57.837535) - (xy 91.721166 57.849205) (xy 91.778546 57.855085) - ) - ) - (polygon - (pts - (xy 92.53397 57.855631) (xy 92.586326 57.85131) (xy 92.640769 57.835945) (xy 92.6891 57.810456) - (xy 92.732409 57.775885) (xy 92.760872 57.74621) (xy 92.766489 57.74621) (xy 92.783342 57.84) (xy 92.979225 57.84) - (xy 92.979225 57.13658) (xy 92.738401 57.13658) (xy 92.738401 57.589651) (xy 92.706083 57.626386) - (xy 92.661774 57.648899) (xy 92.633377 57.651444) (xy 92.583567 57.638973) (xy 92.558161 57.594838) - (xy 92.55356 57.546091) (xy 92.55351 57.538848) (xy 92.55351 57.13658) (xy 92.31293 57.13658) (xy 92.31293 57.569867) - (xy 92.315997 57.632074) (xy 92.325417 57.687882) (xy 92.341524 57.736706) (xy 92.371566 57.787025) - (xy 92.413221 57.824379) (xy 92.46714 57.847628) (xy 92.51954 57.855305) - ) - ) - (polygon - (pts - (xy 93.489574 57.121355) (xy 93.53954 57.126064) (xy 93.588855 57.13658) (xy 93.871688 57.13658) - (xy 93.871688 57.310237) (xy 93.745659 57.310237) (xy 93.756911 57.33639) (xy 93.765198 57.385708) - (xy 93.761879 57.430399) (xy 93.747672 57.481983) (xy 93.72326 57.524784) (xy 93.680019 57.566539) - (xy 93.636542 57.591032) (xy 93.586321 57.608034) (xy 93.530422 57.617943) (xy 93.469909 57.621158) - (xy 93.431684 57.619211) (xy 93.381737 57.611388) (xy 93.359267 57.649979) (xy 93.370861 57.673524) - (xy 93.418309 57.68721) (xy 93.468443 57.689302) (xy 93.58739 57.689302) (xy 93.652994 57.691841) - (xy 93.710919 57.699632) (xy 93.760836 57.712936) (xy 93.811468 57.737715) (xy 93.84843 57.772024) - (xy 93.871079 57.81637) (xy 93.878771 57.871263) (xy 93.878285 57.885584) (xy 93.866828 57.939697) - (xy 93.840788 57.988276) (xy 93.801008 58.0307) (xy 93.748333 58.066353) (xy 93.700872 58.088276) - (xy 93.64699 58.105782) (xy 93.587041 58.118609) (xy 93.521382 58.126496) (xy 93.450369 58.129183) - (xy 93.386973 58.126889) (xy 93.327878 58.119761) (xy 93.274364 58.107429) (xy 93.21727 58.084134) - (xy 93.173395 58.051411) (xy 93.145237 58.008538) (xy 93.135296 57.954794) (xy 93.13795 57.92826) - (xy 93.144113 57.914494) (xy 93.329958 57.914494) (xy 93.34146 57.94431) (xy 93.384759 57.968672) - (xy 93.438572 57.978531) (xy 93.487983 57.980683) (xy 93.513662 57.98001) (xy 93.567213 57.973449) - (xy 93.619338 57.955705) (xy 93.650404 57.914494) (xy 93.64131 57.88987) (xy 93.592832 57.873224) - (xy 93.541228 57.871263) (xy 93.471374 57.871263) (xy 93.466322 57.871255) (xy 93.416387 57.869916) - (xy 93.364884 57.862958) (xy 93.354605 57.870807) (xy 93.329958 57.914494) (xy 93.144113 57.914494) - (xy 93.158983 57.881276) (xy 93.195471 57.845434) (xy 93.241542 57.818262) (xy 93.241542 57.812644) - (xy 93.208024 57.785425) (xy 93.180019 57.741176) (xy 93.171688 57.692233) (xy 93.172092 57.683811) - (xy 93.187589 57.637085) (xy 93.218109 57.596782) (xy 93.255708 57.565226) (xy 93.255708 57.559609) - (xy 93.214133 57.524198) (xy 93.184975 57.481617) (xy 93.166162 57.429898) (xy 93.160453 57.378136) - (xy 93.385889 57.378136) (xy 93.391015 57.418033) (xy 93.419742 57.462527) (xy 93.469909 57.47852) - (xy 93.513703 57.467113) (xy 93.546588 57.427513) (xy 93.55515 57.378136) (xy 93.548322 57.335088) - (xy 93.517165 57.29413) (xy 93.469909 57.280683) (xy 93.429967 57.290003) (xy 93.396078 57.326312) - (xy 93.385889 57.378136) (xy 93.160453 57.378136) (xy 93.167088 57.316596) (xy 93.185965 57.263762) - (xy 93.215541 57.219481) (xy 93.254273 57.183597) (xy 93.300618 57.155956) (xy 93.353035 57.136405) - (xy 93.409979 57.124787) (xy 93.469909 57.120949) - ) - ) - (polygon - (pts - (xy 94.362486 57.121237) (xy 94.415209 57.125616) (xy 94.463849 57.135394) (xy 94.52185 57.157114) - (xy 94.571391 57.189117) (xy 94.611784 57.231795) (xy 94.642343 57.285542) (xy 94.658394 57.33335) - (xy 94.668238 57.38777) (xy 94.671584 57.448967) (xy 94.671584 57.84) (xy 94.475701 57.84) (xy 94.458848 57.766238) - (xy 94.45323 57.766238) (xy 94.42686 57.784525) (xy 94.377915 57.813011) (xy 94.325938 57.835523) - (xy 94.271541 57.850313) (xy 94.215338 57.855631) (xy 94.215338 57.856852) (xy 94.188801 57.855688) - (xy 94.129209 57.843244) (xy 94.079574 57.818766) (xy 94.040288 57.784239) (xy 94.011743 57.741647) - (xy 93.994328 57.692976) (xy 93.988436 57.640209) (xy 93.9888 57.625663) (xy 93.989672 57.620425) - (xy 94.218025 57.620425) (xy 94.244682 57.66226) (xy 94.29374 57.671228) (xy 94.29374 57.670983) - (xy 94.342728 57.664235) (xy 94.389625 57.644585) (xy 94.43076 57.617494) (xy 94.43076 57.527369) - (xy 94.386066 57.529879) (xy 94.336292 57.535758) (xy 94.280604 57.54941) (xy 94.236439 57.5751) - (xy 94.218025 57.620425) (xy 93.989672 57.620425) (xy 93.997746 57.571916) (xy 94.019315 57.525157) - (xy 94.054353 57.485243) (xy 94.103708 57.452031) (xy 94.150629 57.431434) (xy 94.206437 57.414466) - (xy 94.27149 57.401066) (xy 94.320172 57.394086) (xy 94.373226 57.388646) (xy 94.43076 57.384731) - (xy 94.428744 57.375536) (xy 94.397997 57.333831) (xy 94.349324 57.315763) (xy 94.296427 57.311458) - (xy 94.285386 57.31169) (xy 94.234769 57.318461) (xy 94.186468 57.33233) (xy 94.139677 57.350508) - (xy 94.094926 57.370565) (xy 94.010907 57.213517) (xy 94.030866 57.202777) (xy 94.081137 57.178589) - (xy 94.13203 57.15836) (xy 94.183656 57.142286) (xy 94.236128 57.130562) (xy 94.289557 57.123385) - (xy 94.344054 57.120949) - ) - ) - (polygon - (pts - (xy 94.897752 57.84) (xy 95.138576 57.84) (xy 95.138576 57.491465) (xy 95.16515 57.441487) (xy 95.195737 57.401865) - (xy 95.236487 57.366901) (xy 95.280199 57.344405) (xy 95.332891 57.332139) (xy 95.355464 57.330997) - (xy 95.405167 57.333908) (xy 95.454826 57.344239) (xy 95.477341 57.350781) (xy 95.524968 57.149036) - (xy 95.478972 57.131655) (xy 95.429595 57.122503) (xy 95.391856 57.120949) (xy 95.343057 57.124704) - (xy 95.295563 57.136178) (xy 95.250032 57.155684) (xy 95.207123 57.183536) (xy 95.167498 57.220046) - (xy 95.131814 57.265526) (xy 95.118792 57.286301) (xy 95.113175 57.286301) (xy 95.095101 57.13658) - (xy 94.897752 57.13658) - ) - ) (polygon (pts (xy 101.076233 57.121237) (xy 101.128956 57.125616) (xy 101.177596 57.135394) (xy 101.235598 57.157114) @@ -17499,101 +18049,58 @@ ) (polygon (pts - (xy 99.876887 59.52) (xy 100.117711 59.52) (xy 100.117711 59.058869) (xy 100.15739 59.027133) (xy 100.205993 59.007428) - (xy 100.229818 59.00538) (xy 100.279311 59.017851) (xy 100.30577 59.061986) (xy 100.310849 59.110733) - (xy 100.310907 59.117976) (xy 100.310907 59.52) (xy 100.55173 59.52) (xy 100.55173 59.086957) (xy 100.548541 59.024739) - (xy 100.538808 58.968904) (xy 100.522286 58.920041) (xy 100.491712 58.869665) (xy 100.449664 58.832257) - (xy 100.395662 58.808968) (xy 100.34353 58.801275) (xy 100.329225 58.800949) (xy 100.274445 58.805695) - (xy 100.225043 58.818826) (xy 100.173817 58.842527) (xy 100.129055 58.87274) (xy 100.095484 58.901821) - (xy 100.089867 58.901821) (xy 100.073014 58.81658) (xy 99.876887 58.81658) - ) - ) - (polygon - (pts - (xy 101.081092 58.802517) (xy 101.131968 58.810667) (xy 101.18101 58.825617) (xy 101.22739 58.847187) - (xy 101.270277 58.875199) (xy 101.308842 58.909473) (xy 101.342255 58.949832) (xy 101.369687 58.996096) - (xy 101.390309 59.048087) (xy 101.40329 59.105626) (xy 101.407801 59.168534) (xy 101.405776 59.211015) - (xy 101.395526 59.270296) (xy 101.377359 59.32409) (xy 101.352105 59.37222) (xy 101.320593 59.414509) - (xy 101.283653 59.450779) (xy 101.242115 59.480852) (xy 101.196807 59.504552) (xy 101.14856 59.5217) - (xy 101.098203 59.532119) (xy 101.046566 59.535631) (xy 101.01208 59.534066) (xy 100.961246 59.525929) - (xy 100.912225 59.511004) (xy 100.865851 59.489469) (xy 100.822957 59.461501) (xy 100.784376 59.427277) - (xy 100.750942 59.386974) (xy 100.723487 59.340772) (xy 100.702845 59.288846) (xy 100.689848 59.231374) - (xy 100.685331 59.168534) (xy 100.931772 59.168534) (xy 100.932672 59.197431) (xy 100.940075 59.248481) - (xy 100.958761 59.295418) (xy 100.99442 59.330238) (xy 101.046566 59.342435) (xy 101.068191 59.340681) - (xy 101.114056 59.319689) (xy 101.143827 59.27707) (xy 101.157736 59.224126) (xy 101.16136 59.168534) - (xy 101.160466 59.139575) (xy 101.153099 59.088434) (xy 101.134463 59.041436) (xy 101.098815 59.00659) - (xy 101.046566 58.994389) (xy 101.024998 58.996143) (xy 100.979185 59.017145) (xy 100.949377 59.059805) - (xy 100.935417 59.112829) (xy 100.931772 59.168534) (xy 100.685331 59.168534) (xy 100.687359 59.126007) - (xy 100.697622 59.066659) (xy 100.715808 59.012799) (xy 100.741084 58.964606) (xy 100.772618 58.922259) - (xy 100.809576 58.885936) (xy 100.851125 58.855817) (xy 100.896432 58.83208) (xy 100.944663 58.814904) - (xy 100.994985 58.804467) (xy 101.046566 58.800949) - ) - ) - (polygon - (pts - (xy 101.555324 59.52) (xy 101.796147 59.52) (xy 101.796147 59.058869) (xy 101.835826 59.027133) - (xy 101.88443 59.007428) (xy 101.908255 59.00538) (xy 101.957748 59.017851) (xy 101.984207 59.061986) - (xy 101.989286 59.110733) (xy 101.989344 59.117976) (xy 101.989344 59.52) (xy 102.230167 59.52) - (xy 102.230167 59.086957) (xy 102.226978 59.024739) (xy 102.217245 58.968904) (xy 102.200723 58.920041) - (xy 102.170149 58.869665) (xy 102.128101 58.832257) (xy 102.074099 58.808968) (xy 102.021967 58.801275) - (xy 102.007662 58.800949) (xy 101.952882 58.805695) (xy 101.90348 58.818826) (xy 101.852254 58.842527) - (xy 101.807492 58.87274) (xy 101.773921 58.901821) (xy 101.768304 58.901821) (xy 101.751451 58.81658) - (xy 101.555324 58.81658) + (xy 102.00351 59.191737) (xy 102.054761 59.18506) (xy 102.104193 59.16429) (xy 102.151119 59.128314) + (xy 102.187816 59.085919) (xy 102.215312 59.043412) (xy 102.240932 58.992914) (xy 102.24702 58.979002) + (xy 102.104138 58.911835) (xy 102.083545 58.958924) (xy 102.053629 59.000985) (xy 102.009737 59.02382) + (xy 102.006196 59.023942) (xy 101.953707 59.009875) (xy 101.909574 58.98072) (xy 101.867928 58.953446) + (xy 101.818453 58.932608) (xy 101.768304 58.926001) (xy 101.71696 58.9327) (xy 101.667501 58.953525) + (xy 101.620572 58.989568) (xy 101.583865 59.032017) (xy 101.55634 59.074554) (xy 101.530659 59.125068) + (xy 101.524549 59.138981) (xy 101.667431 59.206147) (xy 101.68823 59.159058) (xy 101.718549 59.116997) + (xy 101.761961 59.094163) (xy 101.765373 59.09404) (xy 101.817969 59.109801) (xy 101.862117 59.139754) + (xy 101.903767 59.167348) (xy 101.953278 59.188294) (xy 102.00351 59.194912) ) ) (polygon (pts - (xy 102.75467 58.801237) (xy 102.807393 58.805616) (xy 102.856033 58.815394) (xy 102.914035 58.837114) - (xy 102.963575 58.869117) (xy 103.003969 58.911795) (xy 103.034527 58.965542) (xy 103.050579 59.01335) - (xy 103.060422 59.06777) (xy 103.063768 59.128967) (xy 103.063768 59.52) (xy 102.867885 59.52) - (xy 102.851032 59.446238) (xy 102.845415 59.446238) (xy 102.819044 59.464525) (xy 102.770099 59.493011) - (xy 102.718122 59.515523) (xy 102.663725 59.530313) (xy 102.607522 59.535631) (xy 102.607522 59.536852) - (xy 102.580985 59.535688) (xy 102.521393 59.523244) (xy 102.471758 59.498766) (xy 102.432473 59.464239) - (xy 102.403927 59.421647) (xy 102.386512 59.372976) (xy 102.380621 59.320209) (xy 102.380984 59.305663) - (xy 102.381856 59.300425) (xy 102.610209 59.300425) (xy 102.636866 59.34226) (xy 102.685924 59.351228) - (xy 102.685924 59.350983) (xy 102.734912 59.344235) (xy 102.78181 59.324585) (xy 102.822944 59.297494) - (xy 102.822944 59.207369) (xy 102.77825 59.209879) (xy 102.728476 59.215758) (xy 102.672788 59.22941) - (xy 102.628623 59.2551) (xy 102.610209 59.300425) (xy 102.381856 59.300425) (xy 102.38993 59.251916) - (xy 102.411499 59.205157) (xy 102.446537 59.165243) (xy 102.495892 59.132031) (xy 102.542813 59.111434) - (xy 102.598622 59.094466) (xy 102.663675 59.081066) (xy 102.712356 59.074086) (xy 102.76541 59.068646) - (xy 102.822944 59.064731) (xy 102.820929 59.055536) (xy 102.790181 59.013831) (xy 102.741508 58.995763) - (xy 102.688611 58.991458) (xy 102.677571 58.99169) (xy 102.626954 58.998461) (xy 102.578652 59.01233) - (xy 102.531861 59.030508) (xy 102.48711 59.050565) (xy 102.403091 58.893517) (xy 102.42305 58.882777) - (xy 102.473322 58.858589) (xy 102.524214 58.83836) (xy 102.575841 58.822286) (xy 102.628312 58.810562) - (xy 102.681741 58.803385) (xy 102.736238 58.800949) + (xy 102.408709 59.52) (xy 102.680307 59.52) (xy 102.702777 59.332421) (xy 102.708306 59.277953) + (xy 102.713333 59.224766) (xy 102.71769 59.174901) (xy 102.721926 59.124052) (xy 102.722316 59.119441) + (xy 102.727934 59.119441) (xy 102.732467 59.169858) (xy 102.737813 59.224274) (xy 102.743421 59.276109) + (xy 102.749385 59.326233) (xy 102.75016 59.332421) (xy 102.77263 59.52) (xy 103.049846 59.52) (xy 103.14217 58.81658) + (xy 102.918199 58.81658) (xy 102.895973 59.108206) (xy 102.892367 59.162043) (xy 102.889287 59.216314) + (xy 102.885703 59.271181) (xy 102.880586 59.326803) (xy 102.874968 59.326803) (xy 102.868401 59.278089) + (xy 102.860745 59.223137) (xy 102.852666 59.168799) (xy 102.843888 59.114917) (xy 102.842728 59.108206) + (xy 102.811953 58.926001) (xy 102.649532 58.926001) (xy 102.621444 59.108206) (xy 102.611953 59.160909) + (xy 102.604133 59.215307) (xy 102.598392 59.263826) (xy 102.593438 59.312789) (xy 102.592135 59.326803) + (xy 102.587739 59.326803) (xy 102.582811 59.278089) (xy 102.578068 59.223137) (xy 102.573637 59.168799) + (xy 102.568855 59.114917) (xy 102.568199 59.108206) (xy 102.540355 58.81658) (xy 102.307836 58.81658) ) ) (polygon (pts - (xy 103.18076 59.52) (xy 103.407418 59.52) (xy 103.407418 59.058869) (xy 103.430754 59.013992) - (xy 103.449427 59.00538) (xy 103.477515 59.047634) (xy 103.477515 59.52) (xy 103.659476 59.52) - (xy 103.659476 59.058869) (xy 103.683459 59.015381) (xy 103.705638 59.00538) (xy 103.729574 59.047634) - (xy 103.729574 59.52) (xy 103.956231 59.52) (xy 103.956231 59.030781) (xy 103.953631 58.980654) - (xy 103.943203 58.925358) (xy 103.925035 58.879079) (xy 103.89337 58.836703) (xy 103.851356 58.810145) - (xy 103.799427 58.800949) (xy 103.744961 58.810188) (xy 103.701303 58.834929) (xy 103.665676 58.875732) - (xy 103.648241 58.913056) (xy 103.631465 58.864833) (xy 103.601392 58.826266) (xy 103.556671 58.803806) - (xy 103.53076 58.800949) (xy 103.476405 58.809222) (xy 103.429995 58.834975) (xy 103.397339 58.87274) - (xy 103.38226 58.901821) (xy 103.376643 58.901821) (xy 103.35979 58.81658) (xy 103.18076 58.81658) + (xy 103.598747 58.802517) (xy 103.649623 58.810667) (xy 103.698666 58.825617) (xy 103.745045 58.847187) + (xy 103.787932 58.875199) (xy 103.826497 58.909473) (xy 103.85991 58.949832) (xy 103.887342 58.996096) + (xy 103.907964 59.048087) (xy 103.920945 59.105626) (xy 103.925457 59.168534) (xy 103.923431 59.211015) + (xy 103.913181 59.270296) (xy 103.895014 59.32409) (xy 103.86976 59.37222) (xy 103.838248 59.414509) + (xy 103.801308 59.450779) (xy 103.75977 59.480852) (xy 103.714462 59.504552) (xy 103.666215 59.5217) + (xy 103.615859 59.532119) (xy 103.564221 59.535631) (xy 103.529736 59.534066) (xy 103.478901 59.525929) + (xy 103.42988 59.511004) (xy 103.383506 59.489469) (xy 103.340612 59.461501) (xy 103.302031 59.427277) + (xy 103.268597 59.386974) (xy 103.241142 59.340772) (xy 103.2205 59.288846) (xy 103.207503 59.231374) + (xy 103.202986 59.168534) (xy 103.449427 59.168534) (xy 103.450327 59.197431) (xy 103.45773 59.248481) + (xy 103.476416 59.295418) (xy 103.512076 59.330238) (xy 103.564221 59.342435) (xy 103.585846 59.340681) + (xy 103.631711 59.319689) (xy 103.661482 59.27707) (xy 103.675391 59.224126) (xy 103.679016 59.168534) + (xy 103.678121 59.139575) (xy 103.670754 59.088434) (xy 103.652118 59.041436) (xy 103.61647 59.00659) + (xy 103.564221 58.994389) (xy 103.542653 58.996143) (xy 103.49684 59.017145) (xy 103.467032 59.059805) + (xy 103.453072 59.112829) (xy 103.449427 59.168534) (xy 103.202986 59.168534) (xy 103.205014 59.126007) + (xy 103.215277 59.066659) (xy 103.233463 59.012799) (xy 103.25874 58.964606) (xy 103.290274 58.922259) + (xy 103.327232 58.885936) (xy 103.36878 58.855817) (xy 103.414087 58.83208) (xy 103.462318 58.814904) + (xy 103.512641 58.804467) (xy 103.564221 58.800949) ) ) (polygon (pts - (xy 104.440717 58.801389) (xy 104.49814 58.807819) (xy 104.549777 58.821465) (xy 104.595615 58.84175) - (xy 104.647692 58.878126) (xy 104.68941 58.923911) (xy 104.720742 58.977735) (xy 104.741658 59.038231) - (xy 104.750492 59.087159) (xy 104.75344 59.138492) (xy 104.750774 59.188005) (xy 104.74367 59.239364) - (xy 104.294263 59.239364) (xy 104.30124 59.260695) (xy 104.330307 59.306178) (xy 104.37461 59.335954) - (xy 104.42589 59.349986) (xy 104.479155 59.35367) (xy 104.494752 59.353296) (xy 104.545687 59.34664) - (xy 104.5974 59.331625) (xy 104.647194 59.310928) (xy 104.725596 59.454542) (xy 104.709559 59.464228) - (xy 104.658605 59.489675) (xy 104.604843 59.509636) (xy 104.550147 59.524013) (xy 104.496391 59.532711) - (xy 104.44545 59.535631) (xy 104.404581 59.534065) (xy 104.345884 59.525921) (xy 104.290844 59.51097) - (xy 104.240054 59.48938) (xy 104.194109 59.461317) (xy 104.153602 59.426947) (xy 104.119128 59.386438) - (xy 104.09128 59.339955) (xy 104.070654 59.287666) (xy 104.057842 59.229738) (xy 104.05344 59.166336) - (xy 104.055499 59.124639) (xy 104.063049 59.082316) (xy 104.295729 59.082316) (xy 104.540704 59.082316) - (xy 104.53856 59.070536) (xy 104.518327 59.022497) (xy 104.47729 58.991234) (xy 104.428597 58.983154) - (xy 104.404054 58.98465) (xy 104.356989 58.999136) (xy 104.318199 59.033813) (xy 104.295729 59.082316) - (xy 104.063049 59.082316) (xy 104.065918 59.066235) (xy 104.084382 59.013005) (xy 104.110047 58.965178) - (xy 104.142065 58.922983) (xy 104.179594 58.886651) (xy 104.221786 58.85641) (xy 104.267797 58.83249) - (xy 104.316783 58.81512) (xy 104.367896 58.80453) (xy 104.420293 58.800949) + (xy 104.081528 59.52) (xy 104.745136 59.52) (xy 104.745136 59.332421) (xy 104.411988 59.332421) + (xy 104.736831 58.94554) (xy 104.736831 58.81658) (xy 104.120607 58.81658) (xy 104.120607 59.004403) + (xy 104.40344 59.004403) (xy 104.081528 59.391284) ) ) ) @@ -32466,7 +32973,7 @@ (xy 111.423975 92.721) (xy 111.935173 92.721) (xy 112.034542 92.62163) (xy 112.738818 92.62163) (xy 112.838188 92.721) (xy 113.349386 92.721) (xy 113.448755 92.62163) (xy 114.153032 92.62163) (xy 114.252402 92.721) (xy 114.7636 92.721) (xy 114.862969 92.62163) (xy 115.567246 92.62163) (xy 115.666616 92.721) - (xy 115.948799 92.721) (xy 115.948799 92.293246) (xy 115.922214 92.266661) (xy 115.567246 92.62163) + (xy 116.020228 92.721) (xy 116.020228 92.364675) (xy 115.922214 92.266661) (xy 115.567246 92.62163) (xy 114.862969 92.62163) (xy 114.508001 92.266662) (xy 114.153032 92.62163) (xy 113.448755 92.62163) (xy 113.093787 92.266661) (xy 112.738818 92.62163) (xy 112.034542 92.62163) (xy 111.679574 92.266662) (xy 111.324605 92.62163) (xy 110.620328 92.62163) (xy 110.26536 92.266662) (xy 109.910391 92.62163) @@ -32503,8 +33010,8 @@ (xy 110.117339 91.2753) (xy 110.112996 91.272588) (xy 110.095758 91.261325) (xy 110.091533 91.258439) (xy 110.083126 91.252437) (xy 110.079014 91.249371) (xy 110.025111 91.207417) (xy 112.738819 91.207417) (xy 113.093787 91.562385) (xy 113.448755 91.207417) (xy 114.153033 91.207417) (xy 114.508001 91.562385) - (xy 114.862969 91.207417) (xy 115.567246 91.207417) (xy 115.922214 91.562385) (xy 115.948799 91.535801) - (xy 115.948799 90.879033) (xy 115.922214 90.852448) (xy 115.567246 91.207417) (xy 114.862969 91.207417) + (xy 114.862969 91.207417) (xy 115.567246 91.207417) (xy 115.922214 91.562385) (xy 116.020228 91.464372) + (xy 116.020228 90.950462) (xy 115.922214 90.852448) (xy 115.567246 91.207417) (xy 114.862969 91.207417) (xy 114.508001 90.852449) (xy 114.153033 91.207417) (xy 113.448755 91.207417) (xy 113.093787 90.852448) (xy 112.738819 91.207417) (xy 110.025111 91.207417) (xy 109.960601 91.157207) (xy 109.910391 91.207416) (xy 109.206114 91.207416) (xy 108.851147 90.852449) (xy 108.496179 91.207417) (xy 107.791901 91.207417) @@ -32556,7 +33063,7 @@ (xy 111.64011 89.927708) (xy 111.712518 89.802292) (xy 111.723787 89.760235) (xy 112.423434 90.459882) (xy 112.523731 90.306369) (xy 112.608355 90.113443) (xy 113.128514 90.113443) (xy 113.448755 89.793203) (xy 114.153033 89.793203) (xy 114.508001 90.148171) (xy 114.862969 89.793203) (xy 115.567246 89.793203) - (xy 115.922214 90.148171) (xy 115.948592 90.121794) (xy 116.446799 90.121794) (xy 116.446799 92.669577) + (xy 115.922214 90.148171) (xy 115.948591 90.121794) (xy 116.518228 90.121794) (xy 116.518228 92.669577) (xy 128.349322 92.669577) (xy 128.349322 92.463847) (xy 128.847322 92.463847) (xy 128.847322 92.721) (xy 128.905736 92.721) (xy 129.005105 92.62163) (xy 129.709381 92.62163) (xy 129.808751 92.721) (xy 130.319949 92.721) (xy 130.419318 92.62163) (xy 130.06435 92.266662) (xy 129.709381 92.62163) @@ -32570,75 +33077,75 @@ (xy 129.002275 90.50031) (xy 129.357243 90.855278) (xy 129.712211 90.50031) (xy 130.416489 90.50031) (xy 130.566 90.649821) (xy 130.566 90.350799) (xy 130.416489 90.50031) (xy 129.712211 90.50031) (xy 129.357243 90.145342) (xy 129.002275 90.50031) (xy 128.349322 90.50031) (xy 128.349322 90.121794) - (xy 116.446799 90.121794) (xy 115.948592 90.121794) (xy 115.948799 90.121587) (xy 115.948799 90.020704) - (xy 115.958238 89.973252) (xy 115.996298 89.881366) (xy 116.023178 89.841137) (xy 116.166142 89.698173) - (xy 116.175739 89.691759) (xy 116.110124 89.626144) (xy 128.462227 89.626144) (xy 128.497864 89.633233) - (xy 128.58975 89.671293) (xy 128.629979 89.698173) (xy 128.772943 89.841137) (xy 128.799823 89.881366) - (xy 128.834126 89.964181) (xy 129.005105 89.793203) (xy 129.709382 89.793203) (xy 130.06435 90.148171) - (xy 130.419318 89.793203) (xy 130.06435 89.438235) (xy 129.709382 89.793203) (xy 129.005105 89.793203) - (xy 128.650137 89.438235) (xy 128.462227 89.626144) (xy 116.110124 89.626144) (xy 116.107774 89.623794) - (xy 117.150869 89.623794) (xy 117.521987 89.623794) (xy 118.565083 89.623794) (xy 118.936201 89.623794) - (xy 119.979296 89.623794) (xy 120.350414 89.623794) (xy 121.39351 89.623794) (xy 121.764628 89.623794) - (xy 122.807723 89.623794) (xy 123.178841 89.623794) (xy 124.221937 89.623794) (xy 124.593055 89.623794) - (xy 125.63615 89.623794) (xy 126.007269 89.623794) (xy 127.050364 89.623794) (xy 127.421482 89.623794) - (xy 127.235923 89.438235) (xy 127.050364 89.623794) (xy 126.007269 89.623794) (xy 125.821709 89.438234) - (xy 125.63615 89.623794) (xy 124.593055 89.623794) (xy 124.407496 89.438235) (xy 124.221937 89.623794) - (xy 123.178841 89.623794) (xy 122.993282 89.438235) (xy 122.807723 89.623794) (xy 121.764628 89.623794) - (xy 121.579069 89.438235) (xy 121.39351 89.623794) (xy 120.350414 89.623794) (xy 120.164855 89.438235) - (xy 119.979296 89.623794) (xy 118.936201 89.623794) (xy 118.750642 89.438235) (xy 118.565083 89.623794) - (xy 117.521987 89.623794) (xy 117.336428 89.438235) (xy 117.150869 89.623794) (xy 116.107774 89.623794) - (xy 115.922214 89.438234) (xy 115.567246 89.793203) (xy 114.862969 89.793203) (xy 114.508001 89.438235) - (xy 114.153033 89.793203) (xy 113.448755 89.793203) (xy 113.201169 89.545617) (xy 113.20229 89.559136) - (xy 113.202608 89.564253) (xy 113.203035 89.57458) (xy 113.203141 89.579703) (xy 113.203141 89.600297) - (xy 113.203035 89.60542) (xy 113.202608 89.615747) (xy 113.20229 89.620864) (xy 113.180062 89.889122) - (xy 113.179533 89.894222) (xy 113.178255 89.904473) (xy 113.177517 89.909539) (xy 113.174128 89.929852) - (xy 113.17318 89.934891) (xy 113.171058 89.945012) (xy 113.169903 89.950008) (xy 113.128514 90.113443) - (xy 112.608355 90.113443) (xy 112.623587 90.078717) (xy 112.684612 89.837738) (xy 112.684614 89.837729) - (xy 112.705141 89.590005) (xy 112.705141 89.589994) (xy 112.684614 89.34227) (xy 112.684612 89.342261) - (xy 112.623587 89.101282) (xy 112.616926 89.086096) (xy 113.445925 89.086096) (xy 113.800894 89.441065) - (xy 114.155862 89.086096) (xy 114.860139 89.086096) (xy 115.215108 89.441065) (xy 115.570076 89.086096) - (xy 116.274352 89.086096) (xy 116.629321 89.441065) (xy 116.984289 89.086096) (xy 117.688566 89.086096) - (xy 118.043535 89.441065) (xy 118.398503 89.086096) (xy 119.102779 89.086096) (xy 119.457748 89.441065) - (xy 119.812716 89.086096) (xy 120.516993 89.086096) (xy 120.871962 89.441065) (xy 121.22693 89.086096) - (xy 121.931207 89.086096) (xy 122.286175 89.441065) (xy 122.641144 89.086096) (xy 123.34542 89.086096) - (xy 123.700389 89.441065) (xy 124.055357 89.086096) (xy 124.759634 89.086096) (xy 125.114603 89.441065) - (xy 125.469571 89.086096) (xy 126.173847 89.086096) (xy 126.528816 89.441065) (xy 126.883784 89.086096) - (xy 127.588061 89.086096) (xy 127.94303 89.441065) (xy 128.297998 89.086096) (xy 129.002274 89.086096) - (xy 129.357243 89.441065) (xy 129.712211 89.086096) (xy 130.416488 89.086096) (xy 130.566 89.235608) - (xy 130.566 88.936585) (xy 130.416488 89.086096) (xy 129.712211 89.086096) (xy 129.357243 88.731128) - (xy 129.002274 89.086096) (xy 128.297998 89.086096) (xy 127.94303 88.731128) (xy 127.588061 89.086096) - (xy 126.883784 89.086096) (xy 126.528816 88.731128) (xy 126.173847 89.086096) (xy 125.469571 89.086096) - (xy 125.114603 88.731128) (xy 124.759634 89.086096) (xy 124.055357 89.086096) (xy 123.700389 88.731128) - (xy 123.34542 89.086096) (xy 122.641144 89.086096) (xy 122.286175 88.731128) (xy 121.931207 89.086096) - (xy 121.22693 89.086096) (xy 120.871962 88.731128) (xy 120.516993 89.086096) (xy 119.812716 89.086096) - (xy 119.457748 88.731128) (xy 119.102779 89.086096) (xy 118.398503 89.086096) (xy 118.043535 88.731128) - (xy 117.688566 89.086096) (xy 116.984289 89.086096) (xy 116.629321 88.731128) (xy 116.274352 89.086096) - (xy 115.570076 89.086096) (xy 115.215108 88.731128) (xy 114.860139 89.086096) (xy 114.155862 89.086096) - (xy 113.800894 88.731128) (xy 113.445925 89.086096) (xy 112.616926 89.086096) (xy 112.523731 88.87363) - (xy 112.423434 88.720116) (xy 111.723787 89.419764) (xy 111.712518 89.377708) (xy 111.64011 89.252292) - (xy 111.537708 89.14989) (xy 111.412292 89.077482) (xy 111.370235 89.066212) (xy 112.070057 88.36639) - (xy 112.070056 88.366389) (xy 112.043754 88.345918) (xy 112.771889 88.345918) (xy 112.777159 88.351027) - (xy 112.902116 88.542287) (xy 113.093787 88.733958) (xy 113.448755 88.37899) (xy 114.153033 88.37899) - (xy 114.508001 88.733958) (xy 114.862969 88.37899) (xy 115.567246 88.37899) (xy 115.922214 88.733958) - (xy 116.277183 88.37899) (xy 116.98146 88.37899) (xy 117.336428 88.733958) (xy 117.691396 88.37899) - (xy 118.395674 88.37899) (xy 118.750642 88.733958) (xy 119.10561 88.37899) (xy 119.809887 88.37899) - (xy 120.164855 88.733958) (xy 120.519823 88.37899) (xy 121.224101 88.37899) (xy 121.579069 88.733958) - (xy 121.934037 88.37899) (xy 122.638314 88.37899) (xy 122.993282 88.733958) (xy 123.34825 88.37899) - (xy 124.052528 88.37899) (xy 124.407496 88.733958) (xy 124.762464 88.37899) (xy 125.466741 88.37899) - (xy 125.821709 88.733958) (xy 126.176677 88.37899) (xy 126.880955 88.37899) (xy 127.235923 88.733958) - (xy 127.590891 88.37899) (xy 128.295169 88.37899) (xy 128.650137 88.733958) (xy 129.005105 88.37899) - (xy 129.709382 88.37899) (xy 130.06435 88.733958) (xy 130.419318 88.37899) (xy 130.06435 88.024022) - (xy 129.709382 88.37899) (xy 129.005105 88.37899) (xy 128.650137 88.024022) (xy 128.295169 88.37899) - (xy 127.590891 88.37899) (xy 127.235923 88.024022) (xy 126.880955 88.37899) (xy 126.176677 88.37899) - (xy 125.821709 88.024021) (xy 125.466741 88.37899) (xy 124.762464 88.37899) (xy 124.407496 88.024022) - (xy 124.052528 88.37899) (xy 123.34825 88.37899) (xy 122.993282 88.024022) (xy 122.638314 88.37899) - (xy 121.934037 88.37899) (xy 121.579069 88.024022) (xy 121.224101 88.37899) (xy 120.519823 88.37899) - (xy 120.164855 88.024022) (xy 119.809887 88.37899) (xy 119.10561 88.37899) (xy 118.750642 88.024022) - (xy 118.395674 88.37899) (xy 117.691396 88.37899) (xy 117.336428 88.024022) (xy 116.98146 88.37899) - (xy 116.277183 88.37899) (xy 115.922214 88.024021) (xy 115.567246 88.37899) (xy 114.862969 88.37899) - (xy 114.508001 88.024022) (xy 114.153033 88.37899) (xy 113.448755 88.37899) (xy 113.093786 88.024021) - (xy 112.771889 88.345918) (xy 112.043754 88.345918) (xy 112.023229 88.329943) (xy 111.804614 88.211635) - (xy 111.804603 88.21163) (xy 111.569493 88.130916) (xy 111.324293 88.09) (xy 111.075707 88.09) (xy 110.830506 88.130916) + (xy 116.518228 90.121794) (xy 115.948591 90.121794) (xy 116.020228 90.050158) (xy 116.020228 90.020704) + (xy 116.029667 89.973252) (xy 116.067727 89.881366) (xy 116.094607 89.841137) (xy 116.209862 89.725882) + (xy 116.110124 89.626144) (xy 128.462227 89.626144) (xy 128.497864 89.633233) (xy 128.58975 89.671293) + (xy 128.629979 89.698173) (xy 128.772943 89.841137) (xy 128.799823 89.881366) (xy 128.834126 89.964181) + (xy 129.005105 89.793203) (xy 129.709382 89.793203) (xy 130.06435 90.148171) (xy 130.419318 89.793203) + (xy 130.06435 89.438235) (xy 129.709382 89.793203) (xy 129.005105 89.793203) (xy 128.650137 89.438235) + (xy 128.462227 89.626144) (xy 116.110124 89.626144) (xy 116.107774 89.623794) (xy 117.150869 89.623794) + (xy 117.521987 89.623794) (xy 118.565083 89.623794) (xy 118.936201 89.623794) (xy 119.979296 89.623794) + (xy 120.350414 89.623794) (xy 121.39351 89.623794) (xy 121.764628 89.623794) (xy 122.807723 89.623794) + (xy 123.178841 89.623794) (xy 124.221937 89.623794) (xy 124.593055 89.623794) (xy 125.63615 89.623794) + (xy 126.007269 89.623794) (xy 127.050364 89.623794) (xy 127.421482 89.623794) (xy 127.235923 89.438235) + (xy 127.050364 89.623794) (xy 126.007269 89.623794) (xy 125.821709 89.438234) (xy 125.63615 89.623794) + (xy 124.593055 89.623794) (xy 124.407496 89.438235) (xy 124.221937 89.623794) (xy 123.178841 89.623794) + (xy 122.993282 89.438235) (xy 122.807723 89.623794) (xy 121.764628 89.623794) (xy 121.579069 89.438235) + (xy 121.39351 89.623794) (xy 120.350414 89.623794) (xy 120.164855 89.438235) (xy 119.979296 89.623794) + (xy 118.936201 89.623794) (xy 118.750642 89.438235) (xy 118.565083 89.623794) (xy 117.521987 89.623794) + (xy 117.336428 89.438235) (xy 117.150869 89.623794) (xy 116.107774 89.623794) (xy 115.922214 89.438234) + (xy 115.567246 89.793203) (xy 114.862969 89.793203) (xy 114.508001 89.438235) (xy 114.153033 89.793203) + (xy 113.448755 89.793203) (xy 113.201169 89.545617) (xy 113.20229 89.559136) (xy 113.202608 89.564253) + (xy 113.203035 89.57458) (xy 113.203141 89.579703) (xy 113.203141 89.600297) (xy 113.203035 89.60542) + (xy 113.202608 89.615747) (xy 113.20229 89.620864) (xy 113.180062 89.889122) (xy 113.179533 89.894222) + (xy 113.178255 89.904473) (xy 113.177517 89.909539) (xy 113.174128 89.929852) (xy 113.17318 89.934891) + (xy 113.171058 89.945012) (xy 113.169903 89.950008) (xy 113.128514 90.113443) (xy 112.608355 90.113443) + (xy 112.623587 90.078717) (xy 112.684612 89.837738) (xy 112.684614 89.837729) (xy 112.705141 89.590005) + (xy 112.705141 89.589994) (xy 112.684614 89.34227) (xy 112.684612 89.342261) (xy 112.623587 89.101282) + (xy 112.616926 89.086096) (xy 113.445925 89.086096) (xy 113.800894 89.441065) (xy 114.155862 89.086096) + (xy 114.860139 89.086096) (xy 115.215108 89.441065) (xy 115.570076 89.086096) (xy 116.274352 89.086096) + (xy 116.629321 89.441065) (xy 116.984289 89.086096) (xy 117.688566 89.086096) (xy 118.043535 89.441065) + (xy 118.398503 89.086096) (xy 119.102779 89.086096) (xy 119.457748 89.441065) (xy 119.812716 89.086096) + (xy 120.516993 89.086096) (xy 120.871962 89.441065) (xy 121.22693 89.086096) (xy 121.931207 89.086096) + (xy 122.286175 89.441065) (xy 122.641144 89.086096) (xy 123.34542 89.086096) (xy 123.700389 89.441065) + (xy 124.055357 89.086096) (xy 124.759634 89.086096) (xy 125.114603 89.441065) (xy 125.469571 89.086096) + (xy 126.173847 89.086096) (xy 126.528816 89.441065) (xy 126.883784 89.086096) (xy 127.588061 89.086096) + (xy 127.94303 89.441065) (xy 128.297998 89.086096) (xy 129.002274 89.086096) (xy 129.357243 89.441065) + (xy 129.712211 89.086096) (xy 130.416488 89.086096) (xy 130.566 89.235608) (xy 130.566 88.936585) + (xy 130.416488 89.086096) (xy 129.712211 89.086096) (xy 129.357243 88.731128) (xy 129.002274 89.086096) + (xy 128.297998 89.086096) (xy 127.94303 88.731128) (xy 127.588061 89.086096) (xy 126.883784 89.086096) + (xy 126.528816 88.731128) (xy 126.173847 89.086096) (xy 125.469571 89.086096) (xy 125.114603 88.731128) + (xy 124.759634 89.086096) (xy 124.055357 89.086096) (xy 123.700389 88.731128) (xy 123.34542 89.086096) + (xy 122.641144 89.086096) (xy 122.286175 88.731128) (xy 121.931207 89.086096) (xy 121.22693 89.086096) + (xy 120.871962 88.731128) (xy 120.516993 89.086096) (xy 119.812716 89.086096) (xy 119.457748 88.731128) + (xy 119.102779 89.086096) (xy 118.398503 89.086096) (xy 118.043535 88.731128) (xy 117.688566 89.086096) + (xy 116.984289 89.086096) (xy 116.629321 88.731128) (xy 116.274352 89.086096) (xy 115.570076 89.086096) + (xy 115.215108 88.731128) (xy 114.860139 89.086096) (xy 114.155862 89.086096) (xy 113.800894 88.731128) + (xy 113.445925 89.086096) (xy 112.616926 89.086096) (xy 112.523731 88.87363) (xy 112.423434 88.720116) + (xy 111.723787 89.419764) (xy 111.712518 89.377708) (xy 111.64011 89.252292) (xy 111.537708 89.14989) + (xy 111.412292 89.077482) (xy 111.370235 89.066212) (xy 112.070057 88.36639) (xy 112.070056 88.366389) + (xy 112.043754 88.345918) (xy 112.771889 88.345918) (xy 112.777159 88.351027) (xy 112.902116 88.542287) + (xy 113.093787 88.733958) (xy 113.448755 88.37899) (xy 114.153033 88.37899) (xy 114.508001 88.733958) + (xy 114.862969 88.37899) (xy 115.567246 88.37899) (xy 115.922214 88.733958) (xy 116.277183 88.37899) + (xy 116.98146 88.37899) (xy 117.336428 88.733958) (xy 117.691396 88.37899) (xy 118.395674 88.37899) + (xy 118.750642 88.733958) (xy 119.10561 88.37899) (xy 119.809887 88.37899) (xy 120.164855 88.733958) + (xy 120.519823 88.37899) (xy 121.224101 88.37899) (xy 121.579069 88.733958) (xy 121.934037 88.37899) + (xy 122.638314 88.37899) (xy 122.993282 88.733958) (xy 123.34825 88.37899) (xy 124.052528 88.37899) + (xy 124.407496 88.733958) (xy 124.762464 88.37899) (xy 125.466741 88.37899) (xy 125.821709 88.733958) + (xy 126.176677 88.37899) (xy 126.880955 88.37899) (xy 127.235923 88.733958) (xy 127.590891 88.37899) + (xy 128.295169 88.37899) (xy 128.650137 88.733958) (xy 129.005105 88.37899) (xy 129.709382 88.37899) + (xy 130.06435 88.733958) (xy 130.419318 88.37899) (xy 130.06435 88.024022) (xy 129.709382 88.37899) + (xy 129.005105 88.37899) (xy 128.650137 88.024022) (xy 128.295169 88.37899) (xy 127.590891 88.37899) + (xy 127.235923 88.024022) (xy 126.880955 88.37899) (xy 126.176677 88.37899) (xy 125.821709 88.024021) + (xy 125.466741 88.37899) (xy 124.762464 88.37899) (xy 124.407496 88.024022) (xy 124.052528 88.37899) + (xy 123.34825 88.37899) (xy 122.993282 88.024022) (xy 122.638314 88.37899) (xy 121.934037 88.37899) + (xy 121.579069 88.024022) (xy 121.224101 88.37899) (xy 120.519823 88.37899) (xy 120.164855 88.024022) + (xy 119.809887 88.37899) (xy 119.10561 88.37899) (xy 118.750642 88.024022) (xy 118.395674 88.37899) + (xy 117.691396 88.37899) (xy 117.336428 88.024022) (xy 116.98146 88.37899) (xy 116.277183 88.37899) + (xy 115.922214 88.024021) (xy 115.567246 88.37899) (xy 114.862969 88.37899) (xy 114.508001 88.024022) + (xy 114.153033 88.37899) (xy 113.448755 88.37899) (xy 113.093786 88.024021) (xy 112.771889 88.345918) + (xy 112.043754 88.345918) (xy 112.023229 88.329943) (xy 111.804614 88.211635) (xy 111.804603 88.21163) + (xy 111.569493 88.130916) (xy 111.324293 88.09) (xy 111.075707 88.09) (xy 110.830506 88.130916) (xy 110.595396 88.21163) (xy 110.59539 88.211632) (xy 110.376761 88.329949) (xy 110.329942 88.366388) (xy 110.329942 88.36639) (xy 111.029765 89.066212) (xy 110.987708 89.077482) (xy 110.862292 89.14989) (xy 110.75989 89.252292) (xy 110.687482 89.377708) (xy 110.676212 89.419764) (xy 109.976564 88.720116) @@ -37519,103 +38026,105 @@ (xy 136.78045 58.680505) (xy 137.135418 59.035473) (xy 137.490386 58.680505) (xy 138.194663 58.680505) (xy 138.549631 59.035473) (xy 138.9046 58.680505) (xy 139.608877 58.680505) (xy 139.963845 59.035473) (xy 140.318813 58.680505) (xy 141.023091 58.680505) (xy 141.378059 59.035473) (xy 141.733027 58.680505) - (xy 142.437304 58.680505) (xy 142.792272 59.035473) (xy 143.14724 58.680505) (xy 143.851518 58.680505) - (xy 144.206486 59.035473) (xy 144.561454 58.680505) (xy 145.265731 58.680505) (xy 145.620699 59.035473) - (xy 145.975667 58.680505) (xy 146.679945 58.680505) (xy 147.034913 59.035473) (xy 147.389881 58.680505) - (xy 148.094158 58.680505) (xy 148.449126 59.035473) (xy 148.804094 58.680505) (xy 149.508372 58.680505) - (xy 149.86334 59.035473) (xy 150.218308 58.680505) (xy 150.922586 58.680505) (xy 151.277554 59.035473) - (xy 151.632522 58.680505) (xy 151.277554 58.325537) (xy 150.922586 58.680505) (xy 150.218308 58.680505) - (xy 149.86334 58.325537) (xy 149.508372 58.680505) (xy 148.804094 58.680505) (xy 148.449126 58.325536) - (xy 148.094158 58.680505) (xy 147.389881 58.680505) (xy 147.034913 58.325537) (xy 146.679945 58.680505) - (xy 145.975667 58.680505) (xy 145.620699 58.325537) (xy 145.265731 58.680505) (xy 144.561454 58.680505) - (xy 144.206486 58.325537) (xy 143.851518 58.680505) (xy 143.14724 58.680505) (xy 142.792272 58.325537) - (xy 142.437304 58.680505) (xy 141.733027 58.680505) (xy 141.378059 58.325537) (xy 141.023091 58.680505) - (xy 140.318813 58.680505) (xy 139.963845 58.325537) (xy 139.608877 58.680505) (xy 138.9046 58.680505) - (xy 138.549631 58.325536) (xy 138.194663 58.680505) (xy 137.490386 58.680505) (xy 137.135418 58.325537) - (xy 136.78045 58.680505) (xy 136.076172 58.680505) (xy 135.721204 58.325536) (xy 135.366236 58.680505) - (xy 134.661959 58.680505) (xy 134.306991 58.325537) (xy 133.952023 58.680505) (xy 133.247745 58.680505) - (xy 132.892777 58.325537) (xy 132.537809 58.680505) (xy 131.833532 58.680505) (xy 131.478564 58.325537) - (xy 131.123596 58.680505) (xy 130.419318 58.680505) (xy 130.06435 58.325537) (xy 129.709382 58.680505) - (xy 129.005105 58.680505) (xy 128.650137 58.325537) (xy 128.295169 58.680505) (xy 127.590891 58.680505) - (xy 127.235923 58.325537) (xy 126.880955 58.680505) (xy 126.176677 58.680505) (xy 125.821709 58.325536) - (xy 125.466741 58.680505) (xy 124.762464 58.680505) (xy 124.407496 58.325537) (xy 124.052528 58.680505) - (xy 123.34825 58.680505) (xy 122.993282 58.325537) (xy 122.638314 58.680505) (xy 121.934037 58.680505) - (xy 121.579069 58.325537) (xy 121.224101 58.680505) (xy 120.519823 58.680505) (xy 120.164854 58.325536) - (xy 119.923351 58.56704) (xy 119.380244 58.56704) (xy 119.31719 58.482812) (xy 119.317187 58.482809) - (xy 119.202093 58.396649) (xy 119.202086 58.396645) (xy 119.067379 58.346403) (xy 119.067372 58.346401) - (xy 119.007844 58.34) (xy 118.36 58.34) (xy 118.36 59.256988) (xy 118.302993 59.224075) (xy 118.175826 59.19) - (xy 118.044174 59.19) (xy 117.917007 59.224075) (xy 117.86 59.256988) (xy 117.86 58.34) (xy 117.212155 58.34) - (xy 117.152627 58.346401) (xy 117.15262 58.346403) (xy 117.017913 58.396645) (xy 117.017906 58.396649) - (xy 116.902812 58.482809) (xy 116.902809 58.482812) (xy 116.816649 58.597906) (xy 116.816645 58.597913) - (xy 116.766403 58.73262) (xy 116.766401 58.732627) (xy 116.76 58.792155) (xy 116.76 59.44) (xy 117.676988 59.44) - (xy 117.644075 59.497007) (xy 117.61 59.624174) (xy 117.61 59.755826) (xy 117.644075 59.882993) - (xy 117.676988 59.94) (xy 116.76 59.94) (xy 116.76 60.587844) (xy 116.766401 60.647372) (xy 116.766403 60.647379) - (xy 116.816645 60.782086) (xy 116.816649 60.782093) (xy 116.902809 60.897187) (xy 116.902812 60.89719) - (xy 117.017906 60.98335) (xy 117.017913 60.983354) (xy 117.15262 61.033596) (xy 117.152627 61.033598) - (xy 117.212155 61.039999) (xy 117.212172 61.04) (xy 117.505612 61.04) (xy 117.572651 61.059685) - (xy 117.618406 61.112489) (xy 117.62835 61.181647) (xy 117.599325 61.245203) (xy 117.570889 61.269427) - (xy 117.44396 61.348017) (xy 117.443958 61.348019) (xy 117.293237 61.485418) (xy 117.170327 61.648178) - (xy 117.079422 61.830739) (xy 117.079417 61.830752) (xy 117.023602 62.026917) (xy 117.004785 62.229999) - (xy 117.004785 62.23) (xy 117.023602 62.433082) (xy 117.079417 62.629247) (xy 117.079422 62.62926) - (xy 117.161531 62.794157) (xy 117.170327 62.811821) (xy 117.293236 62.974579) (xy 117.323495 63.002163) - (xy 117.359775 63.061873) (xy 117.358015 63.131721) (xy 117.318772 63.189529) (xy 117.254505 63.216943) - (xy 117.239956 63.2178) (xy 105.272497 63.2178) (xy 105.254963 63.216554) (xy 105.241165 63.214583) - (xy 105.241164 63.214583) (xy 105.221849 63.21691) (xy 105.207018 63.2178) (xy 105.187565 63.2178) - (xy 105.187562 63.2178) (xy 105.184234 63.218239) (xy 105.168046 63.2193) (xy 101.804564 63.2193) - (xy 101.709063 63.244889) (xy 101.70906 63.24489) (xy 101.62344 63.294322) (xy 101.623435 63.294326) - (xy 95.479582 69.438181) (xy 95.418259 69.471666) (xy 95.391901 69.4745) (xy 94.019108 69.4745) - (xy 93.952069 69.454815) (xy 93.917057 69.420938) (xy 93.913283 69.41547) (xy 93.79504 69.310717) - (xy 93.795038 69.310716) (xy 93.795037 69.310715) (xy 93.655165 69.237303) (xy 93.501786 69.1995) - (xy 93.501785 69.1995) (xy 93.343815 69.1995) (xy 93.234554 69.22643) (xy 93.226975 69.228298) (xy 93.157172 69.225229) - (xy 93.10011 69.184909) (xy 93.073905 69.120139) (xy 93.0733 69.107901) (xy 93.0733 68.58) (xy 94.354043 68.58) - (xy 94.709011 68.934968) (xy 95.063979 68.58) (xy 94.709011 68.225032) (xy 94.354043 68.58) (xy 93.0733 68.58) - (xy 93.0733 67.872893) (xy 93.646936 67.872893) (xy 94.001904 68.227861) (xy 94.356872 67.872893) - (xy 95.06115 67.872893) (xy 95.416118 68.227861) (xy 95.771086 67.872893) (xy 95.416118 67.517925) - (xy 95.06115 67.872893) (xy 94.356872 67.872893) (xy 94.001904 67.517925) (xy 93.646936 67.872893) - (xy 93.0733 67.872893) (xy 93.0733 67.428802) (xy 93.092985 67.361763) (xy 93.115074 67.335986) - (xy 93.129197 67.323475) (xy 93.188283 67.27113) (xy 93.260996 67.165786) (xy 94.354043 67.165786) - (xy 94.709011 67.520754) (xy 95.063979 67.165786) (xy 95.768257 67.165786) (xy 96.123225 67.520754) - (xy 96.478193 67.165786) (xy 96.123225 66.810818) (xy 95.768257 67.165786) (xy 95.063979 67.165786) - (xy 94.709011 66.810818) (xy 94.354043 67.165786) (xy 93.260996 67.165786) (xy 93.27802 67.141123) - (xy 93.334037 66.993418) (xy 93.353078 66.8366) (xy 93.35066 66.816681) (xy 93.334037 66.679781) - (xy 93.309594 66.61533) (xy 93.827868 66.61533) (xy 93.831224 66.642968) (xy 94.001904 66.813648) - (xy 94.356872 66.458679) (xy 95.061149 66.458679) (xy 95.416118 66.813648) (xy 95.771086 66.458679) - (xy 96.475362 66.458679) (xy 96.830331 66.813648) (xy 97.185299 66.458679) (xy 96.830331 66.103711) - (xy 96.475362 66.458679) (xy 95.771086 66.458679) (xy 95.416118 66.103711) (xy 95.061149 66.458679) - (xy 94.356872 66.458679) (xy 94.133027 66.234834) (xy 94.128955 66.243884) (xy 94.125677 66.250617) - (xy 94.111685 66.277278) (xy 94.108005 66.283803) (xy 94.100187 66.296736) (xy 94.096119 66.303028) - (xy 93.989277 66.457816) (xy 93.984836 66.463851) (xy 93.975518 66.475744) (xy 93.970724 66.481496) - (xy 93.950757 66.504034) (xy 93.945623 66.509488) (xy 93.934939 66.520172) (xy 93.929485 66.525307) - (xy 93.827868 66.61533) (xy 93.309594 66.61533) (xy 93.27802 66.532077) (xy 93.27399 66.526239) - (xy 93.252109 66.459885) (xy 93.269575 66.392234) (xy 93.320844 66.344764) (xy 93.328421 66.341453) - (xy 93.329861 66.340696) (xy 93.329865 66.340696) (xy 93.46974 66.267283) (xy 93.587983 66.16253) - (xy 93.67772 66.032523) (xy 93.733737 65.884818) (xy 93.749916 65.751573) (xy 94.354043 65.751573) - (xy 94.709011 66.106541) (xy 95.063979 65.751573) (xy 95.768257 65.751573) (xy 96.123225 66.106541) - (xy 96.478193 65.751573) (xy 97.18247 65.751573) (xy 97.537438 66.106541) (xy 97.892406 65.751573) - (xy 97.537438 65.396605) (xy 97.18247 65.751573) (xy 96.478193 65.751573) (xy 96.123225 65.396605) - (xy 95.768257 65.751573) (xy 95.063979 65.751573) (xy 94.709011 65.396605) (xy 94.354043 65.751573) - (xy 93.749916 65.751573) (xy 93.752778 65.728) (xy 93.746601 65.677128) (xy 93.758061 65.608205) - (xy 93.782011 65.574506) (xy 94.312027 65.044466) (xy 95.06115 65.044466) (xy 95.416118 65.399434) - (xy 95.771086 65.044466) (xy 96.475363 65.044466) (xy 96.830331 65.399434) (xy 97.185299 65.044466) - (xy 97.889577 65.044466) (xy 98.244545 65.399434) (xy 98.599513 65.044466) (xy 98.244545 64.689498) - (xy 97.889577 65.044466) (xy 97.185299 65.044466) (xy 96.830331 64.689497) (xy 96.475363 65.044466) - (xy 95.771086 65.044466) (xy 95.416118 64.689498) (xy 95.06115 65.044466) (xy 94.312027 65.044466) - (xy 95.019102 64.337359) (xy 95.768257 64.337359) (xy 96.123225 64.692327) (xy 96.478193 64.337359) - (xy 97.18247 64.337359) (xy 97.537438 64.692327) (xy 97.892406 64.337359) (xy 98.596684 64.337359) - (xy 98.951652 64.692327) (xy 99.30662 64.337359) (xy 98.951652 63.982391) (xy 98.596684 64.337359) - (xy 97.892406 64.337359) (xy 97.537438 63.982391) (xy 97.18247 64.337359) (xy 96.478193 64.337359) - (xy 96.123225 63.982391) (xy 95.768257 64.337359) (xy 95.019102 64.337359) (xy 95.726177 63.630252) - (xy 96.475362 63.630252) (xy 96.830331 63.98522) (xy 97.185299 63.630252) (xy 97.889576 63.630252) - (xy 98.244545 63.98522) (xy 98.599513 63.630252) (xy 99.30379 63.630252) (xy 99.658758 63.98522) - (xy 100.013727 63.630252) (xy 99.658758 63.275283) (xy 99.30379 63.630252) (xy 98.599513 63.630252) - (xy 98.244545 63.275284) (xy 97.889576 63.630252) (xy 97.185299 63.630252) (xy 96.830331 63.275283) - (xy 96.475362 63.630252) (xy 95.726177 63.630252) (xy 96.433251 62.923146) (xy 97.18247 62.923146) - (xy 97.537438 63.278114) (xy 97.892406 62.923146) (xy 98.596684 62.923146) (xy 98.951652 63.278114) - (xy 99.30662 62.923146) (xy 100.010897 62.923146) (xy 100.365865 63.278114) (xy 100.720833 62.923146) - (xy 100.559997 62.76231) (xy 101.585946 62.76231) (xy 101.691428 62.734047) (xy 101.699335 62.732204) - (xy 101.715386 62.729012) (xy 101.723384 62.727691) (xy 101.755728 62.723432) (xy 101.763804 62.722637) - (xy 101.78014 62.721566) (xy 101.788252 62.7213) (xy 101.933201 62.7213) (xy 103.04117 62.7213) - (xy 103.347415 62.7213) (xy 104.455384 62.7213) (xy 104.761628 62.7213) (xy 104.760128 62.7198) + (xy 141.733026 58.680504) (xy 142.437303 58.680504) (xy 142.792272 59.035473) (xy 143.14724 58.680505) + (xy 143.851518 58.680505) (xy 144.206486 59.035473) (xy 144.561454 58.680505) (xy 145.265731 58.680505) + (xy 145.620699 59.035473) (xy 145.975667 58.680505) (xy 146.679945 58.680505) (xy 147.034913 59.035473) + (xy 147.389881 58.680505) (xy 148.094158 58.680505) (xy 148.449126 59.035473) (xy 148.804094 58.680505) + (xy 149.508372 58.680505) (xy 149.86334 59.035473) (xy 150.218308 58.680505) (xy 150.922586 58.680505) + (xy 151.277554 59.035473) (xy 151.632522 58.680505) (xy 151.277554 58.325537) (xy 150.922586 58.680505) + (xy 150.218308 58.680505) (xy 149.86334 58.325537) (xy 149.508372 58.680505) (xy 148.804094 58.680505) + (xy 148.449126 58.325536) (xy 148.094158 58.680505) (xy 147.389881 58.680505) (xy 147.034913 58.325537) + (xy 146.679945 58.680505) (xy 145.975667 58.680505) (xy 145.620699 58.325537) (xy 145.265731 58.680505) + (xy 144.561454 58.680505) (xy 144.206486 58.325537) (xy 143.851518 58.680505) (xy 143.14724 58.680505) + (xy 142.969144 58.502409) (xy 142.964954 58.501492) (xy 142.941244 58.495067) (xy 142.929674 58.491313) + (xy 142.883873 58.473929) (xy 142.87272 58.469057) (xy 142.850722 58.458132) (xy 142.840103 58.452192) + (xy 142.732773 58.385034) (xy 142.437303 58.680504) (xy 141.733026 58.680504) (xy 141.378059 58.325537) + (xy 141.023091 58.680505) (xy 140.318813 58.680505) (xy 139.963845 58.325537) (xy 139.608877 58.680505) + (xy 138.9046 58.680505) (xy 138.549631 58.325536) (xy 138.194663 58.680505) (xy 137.490386 58.680505) + (xy 137.135418 58.325537) (xy 136.78045 58.680505) (xy 136.076172 58.680505) (xy 135.721204 58.325536) + (xy 135.366236 58.680505) (xy 134.661959 58.680505) (xy 134.306991 58.325537) (xy 133.952023 58.680505) + (xy 133.247745 58.680505) (xy 132.892777 58.325537) (xy 132.537809 58.680505) (xy 131.833532 58.680505) + (xy 131.478564 58.325537) (xy 131.123596 58.680505) (xy 130.419318 58.680505) (xy 130.06435 58.325537) + (xy 129.709382 58.680505) (xy 129.005105 58.680505) (xy 128.650137 58.325537) (xy 128.295169 58.680505) + (xy 127.590891 58.680505) (xy 127.235923 58.325537) (xy 126.880955 58.680505) (xy 126.176677 58.680505) + (xy 125.821709 58.325536) (xy 125.466741 58.680505) (xy 124.762464 58.680505) (xy 124.407496 58.325537) + (xy 124.052528 58.680505) (xy 123.34825 58.680505) (xy 122.993282 58.325537) (xy 122.638314 58.680505) + (xy 121.934037 58.680505) (xy 121.579069 58.325537) (xy 121.224101 58.680505) (xy 120.519823 58.680505) + (xy 120.164854 58.325536) (xy 119.923351 58.56704) (xy 119.380244 58.56704) (xy 119.31719 58.482812) + (xy 119.317187 58.482809) (xy 119.202093 58.396649) (xy 119.202086 58.396645) (xy 119.067379 58.346403) + (xy 119.067372 58.346401) (xy 119.007844 58.34) (xy 118.36 58.34) (xy 118.36 59.256988) (xy 118.302993 59.224075) + (xy 118.175826 59.19) (xy 118.044174 59.19) (xy 117.917007 59.224075) (xy 117.86 59.256988) (xy 117.86 58.34) + (xy 117.212155 58.34) (xy 117.152627 58.346401) (xy 117.15262 58.346403) (xy 117.017913 58.396645) + (xy 117.017906 58.396649) (xy 116.902812 58.482809) (xy 116.902809 58.482812) (xy 116.816649 58.597906) + (xy 116.816645 58.597913) (xy 116.766403 58.73262) (xy 116.766401 58.732627) (xy 116.76 58.792155) + (xy 116.76 59.44) (xy 117.676988 59.44) (xy 117.644075 59.497007) (xy 117.61 59.624174) (xy 117.61 59.755826) + (xy 117.644075 59.882993) (xy 117.676988 59.94) (xy 116.76 59.94) (xy 116.76 60.587844) (xy 116.766401 60.647372) + (xy 116.766403 60.647379) (xy 116.816645 60.782086) (xy 116.816649 60.782093) (xy 116.902809 60.897187) + (xy 116.902812 60.89719) (xy 117.017906 60.98335) (xy 117.017913 60.983354) (xy 117.15262 61.033596) + (xy 117.152627 61.033598) (xy 117.212155 61.039999) (xy 117.212172 61.04) (xy 117.505612 61.04) + (xy 117.572651 61.059685) (xy 117.618406 61.112489) (xy 117.62835 61.181647) (xy 117.599325 61.245203) + (xy 117.570889 61.269427) (xy 117.44396 61.348017) (xy 117.443958 61.348019) (xy 117.293237 61.485418) + (xy 117.170327 61.648178) (xy 117.079422 61.830739) (xy 117.079417 61.830752) (xy 117.023602 62.026917) + (xy 117.004785 62.229999) (xy 117.004785 62.23) (xy 117.023602 62.433082) (xy 117.079417 62.629247) + (xy 117.079422 62.62926) (xy 117.161531 62.794157) (xy 117.170327 62.811821) (xy 117.293236 62.974579) + (xy 117.323495 63.002163) (xy 117.359775 63.061873) (xy 117.358015 63.131721) (xy 117.318772 63.189529) + (xy 117.254505 63.216943) (xy 117.239956 63.2178) (xy 105.272497 63.2178) (xy 105.254963 63.216554) + (xy 105.241165 63.214583) (xy 105.241164 63.214583) (xy 105.221849 63.21691) (xy 105.207018 63.2178) + (xy 105.187565 63.2178) (xy 105.187562 63.2178) (xy 105.184234 63.218239) (xy 105.168046 63.2193) + (xy 101.804564 63.2193) (xy 101.709063 63.244889) (xy 101.70906 63.24489) (xy 101.62344 63.294322) + (xy 101.623435 63.294326) (xy 95.479582 69.438181) (xy 95.418259 69.471666) (xy 95.391901 69.4745) + (xy 94.019108 69.4745) (xy 93.952069 69.454815) (xy 93.917057 69.420938) (xy 93.913283 69.41547) + (xy 93.79504 69.310717) (xy 93.795038 69.310716) (xy 93.795037 69.310715) (xy 93.655165 69.237303) + (xy 93.501786 69.1995) (xy 93.501785 69.1995) (xy 93.343815 69.1995) (xy 93.234554 69.22643) (xy 93.226975 69.228298) + (xy 93.157172 69.225229) (xy 93.10011 69.184909) (xy 93.073905 69.120139) (xy 93.0733 69.107901) + (xy 93.0733 68.58) (xy 94.354043 68.58) (xy 94.709011 68.934968) (xy 95.063979 68.58) (xy 94.709011 68.225032) + (xy 94.354043 68.58) (xy 93.0733 68.58) (xy 93.0733 67.872893) (xy 93.646936 67.872893) (xy 94.001904 68.227861) + (xy 94.356872 67.872893) (xy 95.06115 67.872893) (xy 95.416118 68.227861) (xy 95.771086 67.872893) + (xy 95.416118 67.517925) (xy 95.06115 67.872893) (xy 94.356872 67.872893) (xy 94.001904 67.517925) + (xy 93.646936 67.872893) (xy 93.0733 67.872893) (xy 93.0733 67.428802) (xy 93.092985 67.361763) + (xy 93.115074 67.335986) (xy 93.129197 67.323475) (xy 93.188283 67.27113) (xy 93.260996 67.165786) + (xy 94.354043 67.165786) (xy 94.709011 67.520754) (xy 95.063979 67.165786) (xy 95.768257 67.165786) + (xy 96.123225 67.520754) (xy 96.478193 67.165786) (xy 96.123225 66.810818) (xy 95.768257 67.165786) + (xy 95.063979 67.165786) (xy 94.709011 66.810818) (xy 94.354043 67.165786) (xy 93.260996 67.165786) + (xy 93.27802 67.141123) (xy 93.334037 66.993418) (xy 93.353078 66.8366) (xy 93.35066 66.816681) + (xy 93.334037 66.679781) (xy 93.309594 66.61533) (xy 93.827868 66.61533) (xy 93.831224 66.642968) + (xy 94.001904 66.813648) (xy 94.356872 66.458679) (xy 95.061149 66.458679) (xy 95.416118 66.813648) + (xy 95.771086 66.458679) (xy 96.475362 66.458679) (xy 96.830331 66.813648) (xy 97.185299 66.458679) + (xy 96.830331 66.103711) (xy 96.475362 66.458679) (xy 95.771086 66.458679) (xy 95.416118 66.103711) + (xy 95.061149 66.458679) (xy 94.356872 66.458679) (xy 94.133027 66.234834) (xy 94.128955 66.243884) + (xy 94.125677 66.250617) (xy 94.111685 66.277278) (xy 94.108005 66.283803) (xy 94.100187 66.296736) + (xy 94.096119 66.303028) (xy 93.989277 66.457816) (xy 93.984836 66.463851) (xy 93.975518 66.475744) + (xy 93.970724 66.481496) (xy 93.950757 66.504034) (xy 93.945623 66.509488) (xy 93.934939 66.520172) + (xy 93.929485 66.525307) (xy 93.827868 66.61533) (xy 93.309594 66.61533) (xy 93.27802 66.532077) + (xy 93.27399 66.526239) (xy 93.252109 66.459885) (xy 93.269575 66.392234) (xy 93.320844 66.344764) + (xy 93.328421 66.341453) (xy 93.329861 66.340696) (xy 93.329865 66.340696) (xy 93.46974 66.267283) + (xy 93.587983 66.16253) (xy 93.67772 66.032523) (xy 93.733737 65.884818) (xy 93.749916 65.751573) + (xy 94.354043 65.751573) (xy 94.709011 66.106541) (xy 95.063979 65.751573) (xy 95.768257 65.751573) + (xy 96.123225 66.106541) (xy 96.478193 65.751573) (xy 97.18247 65.751573) (xy 97.537438 66.106541) + (xy 97.892406 65.751573) (xy 97.537438 65.396605) (xy 97.18247 65.751573) (xy 96.478193 65.751573) + (xy 96.123225 65.396605) (xy 95.768257 65.751573) (xy 95.063979 65.751573) (xy 94.709011 65.396605) + (xy 94.354043 65.751573) (xy 93.749916 65.751573) (xy 93.752778 65.728) (xy 93.746601 65.677128) + (xy 93.758061 65.608205) (xy 93.782011 65.574506) (xy 94.312027 65.044466) (xy 95.06115 65.044466) + (xy 95.416118 65.399434) (xy 95.771086 65.044466) (xy 96.475363 65.044466) (xy 96.830331 65.399434) + (xy 97.185299 65.044466) (xy 97.889577 65.044466) (xy 98.244545 65.399434) (xy 98.599513 65.044466) + (xy 98.244545 64.689498) (xy 97.889577 65.044466) (xy 97.185299 65.044466) (xy 96.830331 64.689497) + (xy 96.475363 65.044466) (xy 95.771086 65.044466) (xy 95.416118 64.689498) (xy 95.06115 65.044466) + (xy 94.312027 65.044466) (xy 95.019102 64.337359) (xy 95.768257 64.337359) (xy 96.123225 64.692327) + (xy 96.478193 64.337359) (xy 97.18247 64.337359) (xy 97.537438 64.692327) (xy 97.892406 64.337359) + (xy 98.596684 64.337359) (xy 98.951652 64.692327) (xy 99.30662 64.337359) (xy 98.951652 63.982391) + (xy 98.596684 64.337359) (xy 97.892406 64.337359) (xy 97.537438 63.982391) (xy 97.18247 64.337359) + (xy 96.478193 64.337359) (xy 96.123225 63.982391) (xy 95.768257 64.337359) (xy 95.019102 64.337359) + (xy 95.726177 63.630252) (xy 96.475362 63.630252) (xy 96.830331 63.98522) (xy 97.185299 63.630252) + (xy 97.889576 63.630252) (xy 98.244545 63.98522) (xy 98.599513 63.630252) (xy 99.30379 63.630252) + (xy 99.658758 63.98522) (xy 100.013727 63.630252) (xy 99.658758 63.275283) (xy 99.30379 63.630252) + (xy 98.599513 63.630252) (xy 98.244545 63.275284) (xy 97.889576 63.630252) (xy 97.185299 63.630252) + (xy 96.830331 63.275283) (xy 96.475362 63.630252) (xy 95.726177 63.630252) (xy 96.433251 62.923146) + (xy 97.18247 62.923146) (xy 97.537438 63.278114) (xy 97.892406 62.923146) (xy 98.596684 62.923146) + (xy 98.951652 63.278114) (xy 99.30662 62.923146) (xy 100.010897 62.923146) (xy 100.365865 63.278114) + (xy 100.720833 62.923146) (xy 100.559997 62.76231) (xy 101.585946 62.76231) (xy 101.691428 62.734047) + (xy 101.699335 62.732204) (xy 101.715386 62.729012) (xy 101.723384 62.727691) (xy 101.755728 62.723432) + (xy 101.763804 62.722637) (xy 101.78014 62.721566) (xy 101.788252 62.7213) (xy 101.933201 62.7213) + (xy 103.04117 62.7213) (xy 103.347415 62.7213) (xy 104.455384 62.7213) (xy 104.761628 62.7213) (xy 104.760128 62.7198) (xy 105.871098 62.7198) (xy 106.174342 62.7198) (xy 107.285311 62.7198) (xy 107.588555 62.7198) (xy 108.699525 62.7198) (xy 109.002769 62.7198) (xy 110.113738 62.7198) (xy 110.416982 62.7198) (xy 111.527952 62.7198) (xy 111.831196 62.7198) (xy 112.942165 62.7198) (xy 113.24541 62.7198) (xy 114.356379 62.7198) @@ -37774,7 +38283,7 @@ (xy 135.369066 57.973398) (xy 136.073343 57.973398) (xy 136.428311 58.328366) (xy 136.783279 57.973398) (xy 137.487557 57.973398) (xy 137.842525 58.328366) (xy 138.197493 57.973398) (xy 138.90177 57.973398) (xy 139.256738 58.328366) (xy 139.611706 57.973398) (xy 140.315984 57.973398) (xy 140.670952 58.328366) - (xy 141.02592 57.973398) (xy 141.730197 57.973398) (xy 142.085165 58.328366) (xy 142.440133 57.973398) + (xy 141.02592 57.973398) (xy 141.730197 57.973398) (xy 142.085165 58.328366) (xy 142.440133 57.973397) (xy 142.085165 57.618429) (xy 141.730197 57.973398) (xy 141.02592 57.973398) (xy 140.670952 57.61843) (xy 140.315984 57.973398) (xy 139.611706 57.973398) (xy 139.256738 57.61843) (xy 138.90177 57.973398) (xy 138.197493 57.973398) (xy 137.842525 57.61843) (xy 137.487557 57.973398) (xy 136.783279 57.973398) @@ -37785,19 +38294,19 @@ (xy 129.002275 57.973398) (xy 128.297998 57.973398) (xy 127.94303 57.61843) (xy 127.588062 57.973398) (xy 126.883784 57.973398) (xy 126.528816 57.61843) (xy 126.173848 57.973398) (xy 125.469571 57.973398) (xy 125.114603 57.61843) (xy 124.759635 57.973398) (xy 124.055357 57.973398) (xy 123.808127 57.726168) - (xy 123.783501 57.732768) (xy 123.7835 57.732767) (xy 123.783421 57.732793) (xy 123.782052 57.733159) - (xy 123.780936 57.733523) (xy 123.77259 57.735922) (xy 123.759847 57.739107) (xy 123.747375 57.742449) - (xy 123.747374 57.742448) (xy 123.672204 57.762593) (xy 123.65956 57.766207) (xy 123.651137 57.768298) - (xy 123.646999 57.769173) (xy 123.646995 57.769155) (xy 123.644932 57.769639) (xy 123.642601 57.770103) - (xy 123.63405 57.771913) (xy 123.629787 57.772659) (xy 123.628785 57.77286) (xy 123.626271 57.773275) - (xy 123.625453 57.773419) (xy 123.625147 57.773461) (xy 123.620651 57.774205) (xy 123.606604 57.776051) - (xy 123.591371 57.778187) (xy 123.582786 57.779087) (xy 123.565413 57.780299) (xy 123.556783 57.7806) - (xy 123.538219 57.7806) (xy 123.345421 57.973398) (xy 122.641144 57.973398) (xy 122.448346 57.7806) - (xy 122.124006 57.7806) (xy 121.931207 57.973398) (xy 121.22693 57.973398) (xy 121.034132 57.7806) - (xy 120.709792 57.7806) (xy 120.516994 57.973398) (xy 119.812715 57.973398) (xy 119.812716 57.973397) - (xy 119.619918 57.7806) (xy 119.295578 57.7806) (xy 119.20783 57.868347) (xy 118.170638 57.868347) - (xy 118.211458 57.851439) (xy 118.25891 57.842) (xy 118.267105 57.842) (xy 118.205705 57.7806) (xy 117.881365 57.7806) - (xy 117.819965 57.842) (xy 116.852891 57.842) (xy 116.791491 57.7806) (xy 116.467151 57.7806) (xy 116.274353 57.973398) + (xy 123.783492 57.732769) (xy 123.783423 57.732792) (xy 123.782054 57.733158) (xy 123.780929 57.733525) + (xy 123.77259 57.735922) (xy 123.759847 57.739107) (xy 123.747375 57.742449) (xy 123.747374 57.742448) + (xy 123.672204 57.762593) (xy 123.65956 57.766207) (xy 123.651137 57.768298) (xy 123.646999 57.769173) + (xy 123.646995 57.769155) (xy 123.644932 57.769639) (xy 123.642601 57.770103) (xy 123.63405 57.771913) + (xy 123.629787 57.772659) (xy 123.628785 57.77286) (xy 123.626271 57.773275) (xy 123.625453 57.773419) + (xy 123.625147 57.773461) (xy 123.620651 57.774205) (xy 123.606604 57.776051) (xy 123.591371 57.778187) + (xy 123.582786 57.779087) (xy 123.565413 57.780299) (xy 123.556783 57.7806) (xy 123.538219 57.7806) + (xy 123.345421 57.973398) (xy 122.641144 57.973398) (xy 122.448346 57.7806) (xy 122.124006 57.7806) + (xy 121.931207 57.973398) (xy 121.22693 57.973398) (xy 121.034132 57.7806) (xy 120.709792 57.7806) + (xy 120.516994 57.973398) (xy 119.812715 57.973398) (xy 119.812716 57.973397) (xy 119.619918 57.7806) + (xy 119.295578 57.7806) (xy 119.20783 57.868347) (xy 118.170638 57.868347) (xy 118.211458 57.851439) + (xy 118.25891 57.842) (xy 118.267105 57.842) (xy 118.205705 57.7806) (xy 117.881365 57.7806) (xy 117.819965 57.842) + (xy 116.852891 57.842) (xy 116.791491 57.7806) (xy 116.467151 57.7806) (xy 116.274353 57.973398) (xy 115.570076 57.973398) (xy 115.377278 57.7806) (xy 115.052938 57.7806) (xy 114.86014 57.973398) (xy 114.155862 57.973398) (xy 113.963064 57.7806) (xy 113.638724 57.7806) (xy 113.445926 57.973398) (xy 112.741649 57.973398) (xy 112.548851 57.7806) (xy 112.224511 57.7806) (xy 112.031713 57.973398) @@ -37819,31 +38328,32 @@ (xy 137.135418 57.621259) (xy 137.490386 57.266291) (xy 138.194663 57.266291) (xy 138.549631 57.621259) (xy 138.9046 57.266291) (xy 139.608876 57.266291) (xy 139.963845 57.621259) (xy 140.318813 57.266291) (xy 141.02309 57.266291) (xy 141.378059 57.621259) (xy 141.733027 57.266291) (xy 142.437303 57.266291) - (xy 142.645619 57.474606) (xy 142.704523 57.350424) (xy 142.705071 57.349282) (xy 142.709032 57.341147) - (xy 142.709593 57.34001) (xy 142.766946 57.225218) (xy 142.767509 57.224106) (xy 142.771608 57.216104) - (xy 142.772194 57.214973) (xy 142.828729 57.107345) (xy 142.829322 57.106231) (xy 142.833514 57.098444) - (xy 142.834095 57.097377) (xy 142.885336 57.004387) (xy 142.792272 56.911323) (xy 142.437303 57.266291) - (xy 141.733027 57.266291) (xy 141.378059 56.911323) (xy 141.02309 57.266291) (xy 140.318813 57.266291) - (xy 139.963845 56.911323) (xy 139.608876 57.266291) (xy 138.9046 57.266291) (xy 138.549631 56.911322) - (xy 138.194663 57.266291) (xy 137.490386 57.266291) (xy 137.135418 56.911323) (xy 136.780449 57.266291) - (xy 136.076172 57.266291) (xy 135.814237 57.004356) (xy 135.673055 57.091772) (xy 135.668118 57.094674) - (xy 135.658032 57.100292) (xy 135.65297 57.10296) (xy 135.632366 57.113221) (xy 135.627179 57.115656) - (xy 135.616606 57.120325) (xy 135.611308 57.12252) (xy 135.445946 57.18658) (xy 135.366235 57.26629) - (xy 134.661958 57.26629) (xy 134.659829 57.264161) (xy 134.468576 57.22841) (xy 134.462966 57.227226) - (xy 134.451718 57.22458) (xy 134.446174 57.22314) (xy 134.424035 57.21684) (xy 134.418569 57.215147) - (xy 134.407619 57.211477) (xy 134.402231 57.209532) (xy 134.177624 57.12252) (xy 134.172326 57.120325) - (xy 134.161753 57.115656) (xy 134.156566 57.113221) (xy 134.135962 57.10296) (xy 134.1309 57.100292) - (xy 134.122628 57.095684) (xy 133.952022 57.26629) (xy 133.247744 57.26629) (xy 132.892777 56.911323) - (xy 132.537808 57.266291) (xy 131.833532 57.266291) (xy 131.478564 56.911323) (xy 131.123595 57.266291) - (xy 130.419318 57.266291) (xy 130.06435 56.911323) (xy 129.709381 57.266291) (xy 129.005105 57.266291) - (xy 128.650137 56.911323) (xy 128.295168 57.266291) (xy 127.590891 57.266291) (xy 127.235923 56.911323) - (xy 126.880954 57.266291) (xy 126.176677 57.266291) (xy 125.821709 56.911322) (xy 125.46674 57.266291) - (xy 124.762464 57.266291) (xy 124.564277 57.068104) (xy 124.20932 57.423084) (xy 101.933066 57.423084) - (xy 102.037224 57.318921) (xy 102.098546 57.285434) (xy 102.124907 57.2826) (xy 123.440572 57.2826) - (xy 123.440576 57.282601) (xy 123.473533 57.2826) (xy 123.539435 57.2826) (xy 123.539446 57.2826) - (xy 123.539491 57.282593) (xy 123.540293 57.282371) (xy 123.59531 57.267628) (xy 123.634102 57.257233) - (xy 123.635214 57.256946) (xy 123.63544 57.256849) (xy 123.638344 57.255045) (xy 123.689648 57.225423) - (xy 123.717396 57.209402) (xy 123.720635 57.207659) (xy 123.723377 57.205078) (xy 123.724146 57.204395) + (xy 142.536118 57.365106) (xy 142.550632 57.334508) (xy 142.551194 57.33334) (xy 142.555154 57.325212) + (xy 142.555702 57.324102) (xy 142.613031 57.209356) (xy 142.613594 57.208243) (xy 142.617695 57.200237) + (xy 142.618281 57.199107) (xy 142.674819 57.091472) (xy 142.675412 57.090357) (xy 142.679604 57.08257) + (xy 142.680185 57.081503) (xy 142.736123 56.97999) (xy 142.736983 56.978456) (xy 142.743188 56.967564) + (xy 142.744067 56.966045) (xy 142.75339 56.950204) (xy 142.437303 57.266291) (xy 141.733027 57.266291) + (xy 141.378059 56.911323) (xy 141.02309 57.266291) (xy 140.318813 57.266291) (xy 139.963845 56.911323) + (xy 139.608876 57.266291) (xy 138.9046 57.266291) (xy 138.549631 56.911322) (xy 138.194663 57.266291) + (xy 137.490386 57.266291) (xy 137.135418 56.911323) (xy 136.780449 57.266291) (xy 136.076172 57.266291) + (xy 135.814237 57.004356) (xy 135.673055 57.091772) (xy 135.668118 57.094674) (xy 135.658032 57.100292) + (xy 135.65297 57.10296) (xy 135.632366 57.113221) (xy 135.627179 57.115656) (xy 135.616606 57.120325) + (xy 135.611308 57.12252) (xy 135.445946 57.18658) (xy 135.366235 57.26629) (xy 134.661958 57.26629) + (xy 134.659829 57.264161) (xy 134.468576 57.22841) (xy 134.462966 57.227226) (xy 134.451718 57.22458) + (xy 134.446174 57.22314) (xy 134.424035 57.21684) (xy 134.418569 57.215147) (xy 134.407619 57.211477) + (xy 134.402231 57.209532) (xy 134.177624 57.12252) (xy 134.172326 57.120325) (xy 134.161753 57.115656) + (xy 134.156566 57.113221) (xy 134.135962 57.10296) (xy 134.1309 57.100292) (xy 134.122628 57.095684) + (xy 133.952022 57.26629) (xy 133.247744 57.26629) (xy 132.892777 56.911323) (xy 132.537808 57.266291) + (xy 131.833532 57.266291) (xy 131.478564 56.911323) (xy 131.123595 57.266291) (xy 130.419318 57.266291) + (xy 130.06435 56.911323) (xy 129.709381 57.266291) (xy 129.005105 57.266291) (xy 128.650137 56.911323) + (xy 128.295168 57.266291) (xy 127.590891 57.266291) (xy 127.235923 56.911323) (xy 126.880954 57.266291) + (xy 126.176677 57.266291) (xy 125.821709 56.911322) (xy 125.46674 57.266291) (xy 124.762464 57.266291) + (xy 124.564277 57.068104) (xy 124.20932 57.423084) (xy 101.933066 57.423084) (xy 102.037224 57.318921) + (xy 102.098546 57.285434) (xy 102.124907 57.2826) (xy 123.440572 57.2826) (xy 123.440576 57.282601) + (xy 123.473533 57.2826) (xy 123.539435 57.2826) (xy 123.539446 57.2826) (xy 123.539491 57.282593) + (xy 123.540293 57.282371) (xy 123.59531 57.267628) (xy 123.634109 57.257231) (xy 123.635223 57.256943) + (xy 123.635435 57.256852) (xy 123.638359 57.255037) (xy 123.639504 57.254376) (xy 123.694444 57.222654) + (xy 123.717388 57.209407) (xy 123.720636 57.207659) (xy 123.723375 57.20508) (xy 123.724145 57.204396) (xy 123.726774 57.201364) (xy 123.765905 57.162231) (xy 123.790475 57.137662) (xy 123.790475 57.137661) (xy 123.797528 57.130609) (xy 123.797539 57.130594) (xy 124.212152 56.715954) (xy 124.916404 56.715954) (xy 125.114603 56.914153) (xy 125.469571 56.559185) (xy 126.173848 56.559185) (xy 126.528816 56.914153) @@ -37859,7 +38369,7 @@ (xy 132.18567 56.204216) (xy 131.830702 56.559185) (xy 131.126425 56.559185) (xy 130.771457 56.204217) (xy 130.416489 56.559185) (xy 129.712211 56.559185) (xy 129.357243 56.204217) (xy 129.002275 56.559185) (xy 128.297998 56.559185) (xy 127.94303 56.204217) (xy 127.588062 56.559185) (xy 126.883784 56.559185) - (xy 126.528816 56.204217) (xy 126.173848 56.559185) (xy 125.469571 56.559185) (xy 125.271359 56.360973) + (xy 126.528816 56.204217) (xy 126.173848 56.559185) (xy 125.469571 56.559185) (xy 125.27136 56.360974) (xy 124.916404 56.715954) (xy 124.212152 56.715954) (xy 124.919235 56.008824) (xy 125.623487 56.008824) (xy 125.821709 56.207046) (xy 126.176677 55.852078) (xy 126.880955 55.852078) (xy 127.235923 56.207046) (xy 127.590891 55.852078) (xy 128.295169 55.852078) (xy 128.650137 56.207046) (xy 129.005105 55.852078) @@ -37867,97 +38377,96 @@ (xy 131.478564 56.207046) (xy 131.833532 55.852078) (xy 132.537809 55.852078) (xy 132.892776 56.207045) (xy 133.237583 55.862238) (xy 133.235508 55.839841) (xy 133.001201 55.605534) (xy 133.71393 55.605534) (xy 133.73403 55.822452) (xy 133.73403 55.822454) (xy 133.734031 55.822457) (xy 133.793649 56.031993) - (xy 133.79365 56.031996) (xy 133.860921 56.167094) (xy 133.890754 56.227006) (xy 134.022013 56.400822) - (xy 134.02204 56.400857) (xy 134.049275 56.425685) (xy 134.183034 56.547622) (xy 134.183041 56.547626) - (xy 134.183042 56.547627) (xy 134.368252 56.662304) (xy 134.368258 56.662307) (xy 134.39113 56.671167) - (xy 134.571397 56.741004) (xy 134.78554 56.781034) (xy 134.785542 56.781034) (xy 135.00339 56.781034) - (xy 135.003392 56.781034) (xy 135.217535 56.741004) (xy 135.39562 56.672013) (xy 136.186171 56.672013) - (xy 136.428311 56.914153) (xy 136.783279 56.559185) (xy 137.487557 56.559185) (xy 137.842525 56.914153) - (xy 138.197493 56.559185) (xy 138.90177 56.559185) (xy 139.256738 56.914153) (xy 139.611706 56.559185) - (xy 140.315984 56.559185) (xy 140.670952 56.914153) (xy 141.02592 56.559185) (xy 141.730197 56.559185) - (xy 142.085165 56.914153) (xy 142.440133 56.559185) (xy 142.085165 56.204216) (xy 141.730197 56.559185) - (xy 141.02592 56.559185) (xy 140.670952 56.204217) (xy 140.315984 56.559185) (xy 139.611706 56.559185) - (xy 139.256738 56.204217) (xy 138.90177 56.559185) (xy 138.197493 56.559185) (xy 137.842525 56.204217) - (xy 137.487557 56.559185) (xy 136.783279 56.559185) (xy 136.452907 56.228813) (xy 136.448637 56.238486) - (xy 136.446204 56.243669) (xy 136.33884 56.459285) (xy 136.336167 56.464356) (xy 136.330547 56.474445) - (xy 136.327649 56.479376) (xy 136.315532 56.498947) (xy 136.312404 56.503748) (xy 136.305874 56.513281) - (xy 136.302527 56.517933) (xy 136.186171 56.672013) (xy 135.39562 56.672013) (xy 135.420676 56.662306) - (xy 135.605898 56.547622) (xy 135.766893 56.400856) (xy 135.898178 56.227006) (xy 135.995283 56.031993) - (xy 136.046473 55.852078) (xy 136.78045 55.852078) (xy 137.135418 56.207046) (xy 137.490386 55.852078) - (xy 138.194663 55.852078) (xy 138.549631 56.207046) (xy 138.9046 55.852078) (xy 139.608877 55.852078) - (xy 139.963845 56.207046) (xy 140.318813 55.852078) (xy 141.023091 55.852078) (xy 141.378059 56.207046) - (xy 141.733027 55.852078) (xy 142.437304 55.852078) (xy 142.792272 56.207046) (xy 143.14724 55.852078) - (xy 142.792272 55.49711) (xy 142.437304 55.852078) (xy 141.733027 55.852078) (xy 141.378059 55.49711) - (xy 141.023091 55.852078) (xy 140.318813 55.852078) (xy 139.963845 55.49711) (xy 139.608877 55.852078) - (xy 138.9046 55.852078) (xy 138.549631 55.497109) (xy 138.194663 55.852078) (xy 137.490386 55.852078) - (xy 137.135418 55.49711) (xy 136.78045 55.852078) (xy 136.046473 55.852078) (xy 136.054901 55.822457) - (xy 136.075002 55.605534) (xy 136.072929 55.583168) (xy 136.068668 55.537181) (xy 136.054901 55.388611) - (xy 135.995283 55.179075) (xy 135.898178 54.984062) (xy 135.787142 54.837026) (xy 136.381286 54.837026) - (xy 136.446204 54.967399) (xy 136.448637 54.972582) (xy 136.453304 54.983151) (xy 136.455498 54.988447) - (xy 136.463813 55.009911) (xy 136.465758 55.015299) (xy 136.469429 55.026252) (xy 136.471123 55.031723) - (xy 136.537039 55.263396) (xy 136.53848 55.268941) (xy 136.541124 55.280183) (xy 136.542305 55.285784) - (xy 136.546535 55.308409) (xy 136.547458 55.31407) (xy 136.549054 55.325514) (xy 136.549714 55.3312) - (xy 136.553728 55.374521) (xy 136.783277 55.144971) (xy 137.487557 55.144971) (xy 137.842525 55.499939) - (xy 138.197493 55.144971) (xy 138.90177 55.144971) (xy 139.256738 55.499939) (xy 139.611706 55.144971) - (xy 140.315984 55.144971) (xy 140.670952 55.499939) (xy 141.02592 55.144971) (xy 141.730197 55.144971) - (xy 142.085165 55.499939) (xy 142.440133 55.144971) (xy 142.440132 55.14497) (xy 143.14441 55.14497) - (xy 143.341638 55.342198) (xy 143.305215 55.261525) (xy 143.251042 55.150227) (xy 143.213045 55.076336) - (xy 143.14441 55.14497) (xy 142.440132 55.14497) (xy 142.085165 54.790002) (xy 141.730197 55.144971) - (xy 141.02592 55.144971) (xy 140.670952 54.790003) (xy 140.315984 55.144971) (xy 139.611706 55.144971) - (xy 139.256738 54.790003) (xy 138.90177 55.144971) (xy 138.197493 55.144971) (xy 137.842525 54.790003) - (xy 137.487557 55.144971) (xy 136.783277 55.144971) (xy 136.783278 55.14497) (xy 136.42831 54.790002) - (xy 136.381286 54.837026) (xy 135.787142 54.837026) (xy 135.766893 54.810212) (xy 135.766852 54.810175) - (xy 135.605899 54.663447) (xy 135.605889 54.66344) (xy 135.420679 54.548763) (xy 135.420673 54.54876) - (xy 135.325133 54.511748) (xy 135.217535 54.470064) (xy 135.045279 54.437864) (xy 136.78045 54.437864) - (xy 137.135418 54.792832) (xy 137.490386 54.437864) (xy 138.194663 54.437864) (xy 138.549631 54.792832) - (xy 138.9046 54.437864) (xy 139.608877 54.437864) (xy 139.963845 54.792832) (xy 140.318813 54.437864) - (xy 141.023091 54.437864) (xy 141.378059 54.792832) (xy 141.733027 54.437864) (xy 141.733026 54.437863) - (xy 142.437303 54.437863) (xy 142.792271 54.792831) (xy 142.966376 54.618726) (xy 142.811441 54.333982) - (xy 142.81054 54.332295) (xy 142.804195 54.320193) (xy 142.803318 54.318489) (xy 142.720585 54.154581) - (xy 142.437303 54.437863) (xy 141.733026 54.437863) (xy 141.378059 54.082896) (xy 141.023091 54.437864) - (xy 140.318813 54.437864) (xy 139.963845 54.082896) (xy 139.608877 54.437864) (xy 138.9046 54.437864) - (xy 138.549631 54.082895) (xy 138.194663 54.437864) (xy 137.490386 54.437864) (xy 137.135418 54.082896) - (xy 136.78045 54.437864) (xy 135.045279 54.437864) (xy 135.003392 54.430034) (xy 134.78554 54.430034) - (xy 134.571397 54.470064) (xy 134.522596 54.488969) (xy 134.368258 54.54876) (xy 134.368252 54.548763) - (xy 134.183042 54.66344) (xy 134.183032 54.663447) (xy 134.02204 54.81021) (xy 133.890754 54.984061) - (xy 133.79365 55.179071) (xy 133.77019 55.261525) (xy 133.750817 55.329616) (xy 133.73403 55.388615) - (xy 133.71393 55.605533) (xy 133.71393 55.605534) (xy 133.001201 55.605534) (xy 132.892777 55.49711) - (xy 132.537809 55.852078) (xy 131.833532 55.852078) (xy 131.478564 55.49711) (xy 131.123596 55.852078) - (xy 130.419318 55.852078) (xy 130.06435 55.49711) (xy 129.709382 55.852078) (xy 129.005105 55.852078) - (xy 128.650137 55.49711) (xy 128.295169 55.852078) (xy 127.590891 55.852078) (xy 127.235923 55.49711) - (xy 126.880955 55.852078) (xy 126.176677 55.852078) (xy 125.978443 55.653844) (xy 125.623487 56.008824) - (xy 124.919235 56.008824) (xy 125.626318 55.301694) (xy 126.330571 55.301694) (xy 126.528816 55.499939) - (xy 126.883784 55.144971) (xy 127.588062 55.144971) (xy 127.94303 55.499939) (xy 128.297998 55.144971) - (xy 129.002275 55.144971) (xy 129.357243 55.499939) (xy 129.712211 55.144971) (xy 130.416489 55.144971) - (xy 130.771457 55.499939) (xy 131.126425 55.144971) (xy 131.830702 55.144971) (xy 132.18567 55.499939) - (xy 132.540639 55.144971) (xy 132.18567 54.790002) (xy 131.830702 55.144971) (xy 131.126425 55.144971) - (xy 130.771457 54.790003) (xy 130.416489 55.144971) (xy 129.712211 55.144971) (xy 129.357243 54.790003) - (xy 129.002275 55.144971) (xy 128.297998 55.144971) (xy 127.94303 54.790003) (xy 127.588062 55.144971) - (xy 126.883784 55.144971) (xy 126.685526 54.946713) (xy 126.330571 55.301694) (xy 125.626318 55.301694) - (xy 126.333401 54.594564) (xy 127.037655 54.594564) (xy 127.235923 54.792832) (xy 127.590891 54.437864) - (xy 128.295169 54.437864) (xy 128.650137 54.792832) (xy 129.005105 54.437864) (xy 129.709382 54.437864) - (xy 130.06435 54.792832) (xy 130.419318 54.437864) (xy 131.123596 54.437864) (xy 131.478564 54.792832) - (xy 131.833532 54.437864) (xy 132.537809 54.437864) (xy 132.892777 54.792832) (xy 133.247745 54.437864) - (xy 132.933669 54.123788) (xy 135.68031 54.123788) (xy 135.877849 54.246098) (xy 135.882651 54.249227) - (xy 135.892189 54.255761) (xy 135.896843 54.25911) (xy 135.899194 54.260886) (xy 135.721203 54.082895) - (xy 135.68031 54.123788) (xy 132.933669 54.123788) (xy 132.892777 54.082896) (xy 132.537809 54.437864) - (xy 131.833532 54.437864) (xy 131.478564 54.082896) (xy 131.123596 54.437864) (xy 130.419318 54.437864) - (xy 130.06435 54.082896) (xy 129.709382 54.437864) (xy 129.005105 54.437864) (xy 128.650137 54.082896) - (xy 128.295169 54.437864) (xy 127.590891 54.437864) (xy 127.39261 54.239583) (xy 127.037655 54.594564) - (xy 126.333401 54.594564) (xy 127.040484 53.887434) (xy 127.744738 53.887434) (xy 127.94303 54.085726) - (xy 128.297998 53.730757) (xy 129.002274 53.730757) (xy 129.357243 54.085726) (xy 129.712211 53.730757) - (xy 130.416488 53.730757) (xy 130.771457 54.085726) (xy 131.126425 53.730757) (xy 131.830702 53.730757) - (xy 132.18567 54.085726) (xy 132.540639 53.730757) (xy 133.244915 53.730757) (xy 133.599884 54.085726) - (xy 133.954852 53.730757) (xy 134.659129 53.730757) (xy 134.860406 53.932034) (xy 135.014901 53.932034) - (xy 135.020632 53.932167) (xy 135.032173 53.932701) (xy 135.037885 53.933097) (xy 135.060804 53.935221) - (xy 135.066482 53.93588) (xy 135.077923 53.937475) (xy 135.083587 53.938398) (xy 135.149166 53.950656) - (xy 135.369065 53.730757) (xy 136.073342 53.730757) (xy 136.428311 54.085726) (xy 136.748945 53.765091) - (xy 137.52189 53.765091) (xy 137.842524 54.085725) (xy 137.98328 53.944969) (xy 137.981821 53.944695) - (xy 137.971707 53.942574) (xy 137.966719 53.94142) (xy 137.946756 53.936365) (xy 137.94182 53.935006) - (xy 137.931912 53.932057) (xy 137.927023 53.930491) (xy 137.801564 53.887421) (xy 139.058433 53.887421) - (xy 139.256738 54.085726) (xy 139.611706 53.730758) (xy 139.611705 53.730757) (xy 140.315983 53.730757) - (xy 140.670952 54.085726) (xy 141.02592 53.730757) (xy 141.730196 53.730757) (xy 142.085165 54.085726) - (xy 142.440133 53.730757) (xy 142.085165 53.375789) (xy 141.730196 53.730757) (xy 141.02592 53.730757) + (xy 133.79365 56.031996) (xy 133.866311 56.177918) (xy 133.890754 56.227006) (xy 134.022039 56.400856) + (xy 134.183034 56.547622) (xy 134.183041 56.547626) (xy 134.183042 56.547627) (xy 134.368252 56.662304) + (xy 134.368258 56.662307) (xy 134.39113 56.671167) (xy 134.571397 56.741004) (xy 134.78554 56.781034) + (xy 134.785542 56.781034) (xy 135.00339 56.781034) (xy 135.003392 56.781034) (xy 135.217535 56.741004) + (xy 135.39562 56.672013) (xy 136.186171 56.672013) (xy 136.428311 56.914153) (xy 136.783279 56.559185) + (xy 137.487557 56.559185) (xy 137.842525 56.914153) (xy 138.197493 56.559185) (xy 138.90177 56.559185) + (xy 139.256738 56.914153) (xy 139.611706 56.559185) (xy 140.315984 56.559185) (xy 140.670952 56.914153) + (xy 141.02592 56.559185) (xy 141.730197 56.559185) (xy 142.085165 56.914153) (xy 142.440133 56.559185) + (xy 142.085165 56.204216) (xy 141.730197 56.559185) (xy 141.02592 56.559185) (xy 140.670952 56.204217) + (xy 140.315984 56.559185) (xy 139.611706 56.559185) (xy 139.256738 56.204217) (xy 138.90177 56.559185) + (xy 138.197493 56.559185) (xy 137.842525 56.204217) (xy 137.487557 56.559185) (xy 136.783279 56.559185) + (xy 136.452907 56.228813) (xy 136.448637 56.238486) (xy 136.446204 56.243669) (xy 136.33884 56.459285) + (xy 136.336167 56.464356) (xy 136.330547 56.474445) (xy 136.327649 56.479376) (xy 136.315532 56.498947) + (xy 136.312404 56.503748) (xy 136.305874 56.513281) (xy 136.302527 56.517933) (xy 136.186171 56.672013) + (xy 135.39562 56.672013) (xy 135.420676 56.662306) (xy 135.605898 56.547622) (xy 135.766893 56.400856) + (xy 135.898178 56.227006) (xy 135.995283 56.031993) (xy 136.046473 55.852078) (xy 136.78045 55.852078) + (xy 137.135418 56.207046) (xy 137.490386 55.852078) (xy 138.194663 55.852078) (xy 138.549631 56.207046) + (xy 138.9046 55.852078) (xy 139.608877 55.852078) (xy 139.963845 56.207046) (xy 140.318813 55.852078) + (xy 141.023091 55.852078) (xy 141.378059 56.207046) (xy 141.733027 55.852078) (xy 142.437304 55.852078) + (xy 142.792272 56.207046) (xy 143.14724 55.852078) (xy 142.792272 55.49711) (xy 142.437304 55.852078) + (xy 141.733027 55.852078) (xy 141.378059 55.49711) (xy 141.023091 55.852078) (xy 140.318813 55.852078) + (xy 139.963845 55.49711) (xy 139.608877 55.852078) (xy 138.9046 55.852078) (xy 138.549631 55.497109) + (xy 138.194663 55.852078) (xy 137.490386 55.852078) (xy 137.135418 55.49711) (xy 136.78045 55.852078) + (xy 136.046473 55.852078) (xy 136.054901 55.822457) (xy 136.075002 55.605534) (xy 136.072929 55.583168) + (xy 136.068668 55.537181) (xy 136.054901 55.388611) (xy 135.995283 55.179075) (xy 135.898178 54.984062) + (xy 135.787142 54.837026) (xy 136.381286 54.837026) (xy 136.446204 54.967399) (xy 136.448637 54.972582) + (xy 136.453304 54.983151) (xy 136.455498 54.988447) (xy 136.463813 55.009911) (xy 136.465758 55.015299) + (xy 136.469429 55.026252) (xy 136.471123 55.031723) (xy 136.537039 55.263396) (xy 136.53848 55.268941) + (xy 136.541124 55.280183) (xy 136.542305 55.285784) (xy 136.546535 55.308409) (xy 136.547458 55.31407) + (xy 136.549054 55.325514) (xy 136.549714 55.3312) (xy 136.553728 55.374521) (xy 136.783277 55.144971) + (xy 137.487557 55.144971) (xy 137.842525 55.499939) (xy 138.197493 55.144971) (xy 138.90177 55.144971) + (xy 139.256738 55.499939) (xy 139.611706 55.144971) (xy 140.315984 55.144971) (xy 140.670952 55.499939) + (xy 141.02592 55.144971) (xy 141.730197 55.144971) (xy 142.085165 55.499939) (xy 142.440133 55.144971) + (xy 142.085165 54.790002) (xy 141.730197 55.144971) (xy 141.02592 55.144971) (xy 140.670952 54.790003) + (xy 140.315984 55.144971) (xy 139.611706 55.144971) (xy 139.256738 54.790003) (xy 138.90177 55.144971) + (xy 138.197493 55.144971) (xy 137.842525 54.790003) (xy 137.487557 55.144971) (xy 136.783277 55.144971) + (xy 136.783278 55.14497) (xy 136.42831 54.790002) (xy 136.381286 54.837026) (xy 135.787142 54.837026) + (xy 135.766893 54.810212) (xy 135.766852 54.810175) (xy 135.605899 54.663447) (xy 135.605889 54.66344) + (xy 135.420679 54.548763) (xy 135.420673 54.54876) (xy 135.335014 54.515576) (xy 135.217535 54.470064) + (xy 135.045279 54.437864) (xy 136.78045 54.437864) (xy 137.135418 54.792832) (xy 137.490386 54.437864) + (xy 138.194663 54.437864) (xy 138.549631 54.792832) (xy 138.9046 54.437864) (xy 139.608877 54.437864) + (xy 139.963845 54.792832) (xy 140.318813 54.437864) (xy 141.023091 54.437864) (xy 141.378059 54.792832) + (xy 141.733027 54.437864) (xy 141.733026 54.437863) (xy 142.437303 54.437863) (xy 142.792271 54.792831) + (xy 142.872293 54.712809) (xy 142.657536 54.318128) (xy 142.656638 54.316447) (xy 142.650291 54.304343) + (xy 142.649411 54.302632) (xy 142.623624 54.251543) (xy 142.437303 54.437863) (xy 141.733026 54.437863) + (xy 141.378059 54.082896) (xy 141.023091 54.437864) (xy 140.318813 54.437864) (xy 139.963845 54.082896) + (xy 139.608877 54.437864) (xy 138.9046 54.437864) (xy 138.549631 54.082895) (xy 138.194663 54.437864) + (xy 137.490386 54.437864) (xy 137.135418 54.082896) (xy 136.78045 54.437864) (xy 135.045279 54.437864) + (xy 135.003392 54.430034) (xy 134.78554 54.430034) (xy 134.571397 54.470064) (xy 134.522596 54.488969) + (xy 134.368258 54.54876) (xy 134.368252 54.548763) (xy 134.183042 54.66344) (xy 134.183032 54.663447) + (xy 134.02204 54.81021) (xy 133.890754 54.984061) (xy 133.79365 55.179071) (xy 133.770092 55.26187) + (xy 133.734109 55.388339) (xy 133.73403 55.388615) (xy 133.71393 55.605533) (xy 133.71393 55.605534) + (xy 133.001201 55.605534) (xy 132.892777 55.49711) (xy 132.537809 55.852078) (xy 131.833532 55.852078) + (xy 131.478564 55.49711) (xy 131.123596 55.852078) (xy 130.419318 55.852078) (xy 130.06435 55.49711) + (xy 129.709382 55.852078) (xy 129.005105 55.852078) (xy 128.650137 55.49711) (xy 128.295169 55.852078) + (xy 127.590891 55.852078) (xy 127.235923 55.49711) (xy 126.880955 55.852078) (xy 126.176677 55.852078) + (xy 125.978443 55.653844) (xy 125.623487 56.008824) (xy 124.919235 56.008824) (xy 125.626319 55.301694) + (xy 126.330571 55.301694) (xy 126.528816 55.499939) (xy 126.883784 55.144971) (xy 127.588062 55.144971) + (xy 127.94303 55.499939) (xy 128.297998 55.144971) (xy 129.002275 55.144971) (xy 129.357243 55.499939) + (xy 129.712211 55.144971) (xy 130.416489 55.144971) (xy 130.771457 55.499939) (xy 131.126425 55.144971) + (xy 131.830702 55.144971) (xy 132.18567 55.499939) (xy 132.540639 55.144971) (xy 132.18567 54.790002) + (xy 131.830702 55.144971) (xy 131.126425 55.144971) (xy 130.771457 54.790003) (xy 130.416489 55.144971) + (xy 129.712211 55.144971) (xy 129.357243 54.790003) (xy 129.002275 55.144971) (xy 128.297998 55.144971) + (xy 127.94303 54.790003) (xy 127.588062 55.144971) (xy 126.883784 55.144971) (xy 126.685527 54.946714) + (xy 126.330571 55.301694) (xy 125.626319 55.301694) (xy 126.333402 54.594564) (xy 127.037655 54.594564) + (xy 127.235923 54.792832) (xy 127.590891 54.437864) (xy 128.295169 54.437864) (xy 128.650137 54.792832) + (xy 129.005105 54.437864) (xy 129.709382 54.437864) (xy 130.06435 54.792832) (xy 130.419318 54.437864) + (xy 131.123596 54.437864) (xy 131.478564 54.792832) (xy 131.833532 54.437864) (xy 132.537809 54.437864) + (xy 132.892777 54.792832) (xy 133.247745 54.437864) (xy 132.933669 54.123788) (xy 135.68031 54.123788) + (xy 135.877849 54.246098) (xy 135.882651 54.249227) (xy 135.892189 54.255761) (xy 135.896843 54.25911) + (xy 135.899194 54.260886) (xy 135.721203 54.082895) (xy 135.68031 54.123788) (xy 132.933669 54.123788) + (xy 132.892777 54.082896) (xy 132.537809 54.437864) (xy 131.833532 54.437864) (xy 131.478564 54.082896) + (xy 131.123596 54.437864) (xy 130.419318 54.437864) (xy 130.06435 54.082896) (xy 129.709382 54.437864) + (xy 129.005105 54.437864) (xy 128.650137 54.082896) (xy 128.295169 54.437864) (xy 127.590891 54.437864) + (xy 127.392611 54.239584) (xy 127.037655 54.594564) (xy 126.333402 54.594564) (xy 127.040486 53.887434) + (xy 127.744738 53.887434) (xy 127.94303 54.085726) (xy 128.297998 53.730758) (xy 128.297997 53.730757) + (xy 129.002274 53.730757) (xy 129.357243 54.085726) (xy 129.712211 53.730757) (xy 130.416488 53.730757) + (xy 130.771457 54.085726) (xy 131.126425 53.730757) (xy 131.830702 53.730757) (xy 132.18567 54.085726) + (xy 132.540639 53.730757) (xy 133.244915 53.730757) (xy 133.599884 54.085726) (xy 133.954852 53.730757) + (xy 134.659129 53.730757) (xy 134.860406 53.932034) (xy 135.014901 53.932034) (xy 135.020632 53.932167) + (xy 135.032173 53.932701) (xy 135.037885 53.933097) (xy 135.060804 53.935221) (xy 135.066482 53.93588) + (xy 135.077923 53.937475) (xy 135.083587 53.938398) (xy 135.149166 53.950656) (xy 135.369065 53.730757) + (xy 136.073342 53.730757) (xy 136.428311 54.085726) (xy 136.748945 53.765091) (xy 137.52189 53.765091) + (xy 137.842524 54.085725) (xy 137.98328 53.944969) (xy 137.981821 53.944695) (xy 137.971707 53.942574) + (xy 137.966719 53.94142) (xy 137.946756 53.936365) (xy 137.94182 53.935006) (xy 137.931912 53.932057) + (xy 137.927023 53.930491) (xy 137.801564 53.887421) (xy 139.058433 53.887421) (xy 139.256738 54.085726) + (xy 139.611706 53.730758) (xy 139.611705 53.730757) (xy 140.315983 53.730757) (xy 140.670952 54.085726) + (xy 141.02592 53.730757) (xy 141.730196 53.730757) (xy 142.085165 54.085726) (xy 142.397504 53.773386) + (xy 142.397187 53.772653) (xy 142.396409 53.770816) (xy 142.390974 53.757681) (xy 142.390228 53.755837) + (xy 142.341248 53.631872) (xy 142.085165 53.375789) (xy 141.730196 53.730757) (xy 141.02592 53.730757) (xy 140.670952 53.375789) (xy 140.315983 53.730757) (xy 139.611705 53.730757) (xy 139.530906 53.649958) (xy 139.509826 53.666366) (xy 139.505718 53.669429) (xy 139.497305 53.675436) (xy 139.49307 53.67833) (xy 139.47583 53.689593) (xy 139.471488 53.692303) (xy 139.462611 53.697593) (xy 139.458151 53.700128) @@ -37970,8 +38479,8 @@ (xy 135.014098 53.375789) (xy 134.659129 53.730757) (xy 133.954852 53.730757) (xy 133.599884 53.375789) (xy 133.244915 53.730757) (xy 132.540639 53.730757) (xy 132.18567 53.375789) (xy 131.830702 53.730757) (xy 131.126425 53.730757) (xy 130.771457 53.375789) (xy 130.416488 53.730757) (xy 129.712211 53.730757) - (xy 129.357243 53.375789) (xy 129.002274 53.730757) (xy 128.297998 53.730757) (xy 128.099694 53.532454) - (xy 127.744738 53.887434) (xy 127.040484 53.887434) (xy 127.747569 53.180303) (xy 128.451821 53.180303) + (xy 129.357243 53.375789) (xy 129.002274 53.730757) (xy 128.297997 53.730757) (xy 128.099694 53.532454) + (xy 127.744738 53.887434) (xy 127.040486 53.887434) (xy 127.747569 53.180304) (xy 128.451822 53.180304) (xy 128.650137 53.378619) (xy 129.005105 53.023651) (xy 129.709382 53.023651) (xy 130.06435 53.378619) (xy 130.419318 53.023651) (xy 131.123596 53.023651) (xy 131.478564 53.378619) (xy 131.833532 53.023651) (xy 132.537809 53.023651) (xy 132.892777 53.378619) (xy 133.247745 53.023651) (xy 133.952023 53.023651) @@ -37980,7 +38489,7 @@ (xy 134.306991 52.668683) (xy 133.952023 53.023651) (xy 133.247745 53.023651) (xy 132.892777 52.668683) (xy 132.537809 53.023651) (xy 131.833532 53.023651) (xy 131.478564 52.668683) (xy 131.123596 53.023651) (xy 130.419318 53.023651) (xy 130.06435 52.668683) (xy 129.709382 53.023651) (xy 129.005105 53.023651) - (xy 128.806777 52.825323) (xy 128.451821 53.180303) (xy 127.747569 53.180303) (xy 128.454651 52.473174) + (xy 128.806778 52.825324) (xy 128.451822 53.180304) (xy 127.747569 53.180304) (xy 128.454653 52.473174) (xy 129.158905 52.473174) (xy 129.357243 52.671512) (xy 129.712211 52.316544) (xy 130.416489 52.316544) (xy 130.771457 52.671512) (xy 131.126425 52.316544) (xy 131.830702 52.316544) (xy 132.18567 52.671512) (xy 132.540639 52.316544) (xy 133.244916 52.316544) (xy 133.599884 52.671512) (xy 133.954852 52.316544) @@ -38004,80 +38513,75 @@ (xy 139.246613 53.240165) (xy 138.677488 52.671041) (xy 138.73789 52.646022) (xy 138.844351 52.574888) (xy 138.934888 52.484351) (xy 139.006022 52.37789) (xy 139.031041 52.317488) (xy 139.599248 52.885696) (xy 139.687544 52.750551) (xy 139.782408 52.534283) (xy 139.832127 52.337946) (xy 140.337386 52.337946) - (xy 140.670952 52.671512) (xy 141.02592 52.316544) (xy 141.025919 52.316543) (xy 141.730196 52.316543) - (xy 141.90885 52.495197) (xy 141.880263 52.461952) (xy 141.796581 52.371729) (xy 141.737385 52.309355) - (xy 141.730196 52.316543) (xy 141.025919 52.316543) (xy 140.670951 51.961575) (xy 140.341254 52.291272) + (xy 140.670952 52.671512) (xy 141.02592 52.316544) (xy 140.670951 51.961575) (xy 140.341254 52.291272) (xy 140.337386 52.337946) (xy 139.832127 52.337946) (xy 139.840382 52.305347) (xy 139.859884 52.070005) (xy 139.859884 52.069994) (xy 139.840382 51.834652) (xy 139.78335 51.609436) (xy 141.02309 51.609436) - (xy 141.378058 51.964404) (xy 141.427807 51.914655) (xy 141.397494 51.862223) (xy 141.395117 51.857916) - (xy 141.378758 51.826837) (xy 141.376553 51.822439) (xy 141.340147 51.74607) (xy 141.337983 51.741271) - (xy 141.323282 51.70673) (xy 141.321327 51.701852) (xy 141.290296 51.61941) (xy 141.288508 51.61433) - (xy 141.276552 51.577832) (xy 141.274989 51.572685) (xy 141.250159 51.484065) (xy 141.24884 51.478938) - (xy 141.240208 51.442153) (xy 141.239109 51.436974) (xy 141.232153 51.400373) (xy 141.02309 51.609436) - (xy 139.78335 51.609436) (xy 139.782408 51.605716) (xy 139.687546 51.389453) (xy 139.599248 51.254302) - (xy 139.031041 51.82251) (xy 139.006022 51.76211) (xy 138.934888 51.655649) (xy 138.844351 51.565112) - (xy 138.73789 51.493978) (xy 138.677488 51.468958) (xy 139.244115 50.90233) (xy 140.315984 50.90233) - (xy 140.670952 51.257298) (xy 141.02592 50.90233) (xy 140.670952 50.547362) (xy 140.315984 50.90233) - (xy 139.244115 50.90233) (xy 139.246612 50.899833) (xy 139.246612 50.899831) (xy 139.21208 50.872954) - (xy 139.212074 50.87295) (xy 139.004378 50.76055) (xy 139.00437 50.760547) (xy 138.781018 50.68387) - (xy 138.548079 50.645) (xy 138.311921 50.645) (xy 138.078981 50.68387) (xy 137.855629 50.760547) - (xy 137.855621 50.76055) (xy 137.647922 50.872952) (xy 137.613386 50.899831) (xy 137.613385 50.899833) - (xy 138.182511 51.468958) (xy 138.12211 51.493978) (xy 138.015649 51.565112) (xy 137.925112 51.655649) - (xy 137.853978 51.76211) (xy 137.828958 51.82251) (xy 137.26075 51.254302) (xy 137.172454 51.38945) - (xy 137.077591 51.605716) (xy 137.019617 51.834652) (xy 137.000116 52.069994) (xy 137.000116 52.070005) - (xy 136.502116 52.070005) (xy 136.502116 52.059703) (xy 136.502222 52.05458) (xy 136.502649 52.044253) - (xy 136.502966 52.039137) (xy 136.503188 52.036453) (xy 136.428311 51.961576) (xy 136.073343 52.316544) - (xy 135.369066 52.316544) (xy 135.014098 51.961576) (xy 134.65913 52.316544) (xy 133.954852 52.316544) - (xy 133.599884 51.961576) (xy 133.244916 52.316544) (xy 132.540639 52.316544) (xy 132.18567 51.961575) - (xy 131.830702 52.316544) (xy 131.126425 52.316544) (xy 130.771457 51.961576) (xy 130.416489 52.316544) - (xy 129.712211 52.316544) (xy 129.51386 52.118193) (xy 129.158905 52.473174) (xy 128.454651 52.473174) - (xy 129.161736 51.766043) (xy 129.865988 51.766043) (xy 130.06435 51.964405) (xy 130.419318 51.609437) - (xy 131.123596 51.609437) (xy 131.478564 51.964405) (xy 131.833532 51.609437) (xy 131.833531 51.609436) - (xy 132.537808 51.609436) (xy 132.892777 51.964405) (xy 133.247745 51.609437) (xy 133.952023 51.609437) - (xy 134.306991 51.964405) (xy 134.661959 51.609437) (xy 135.366236 51.609437) (xy 135.721204 51.964405) - (xy 136.076172 51.609436) (xy 135.964997 51.498261) (xy 135.8063 51.523398) (xy 135.801472 51.524066) - (xy 135.791727 51.525219) (xy 135.786893 51.525695) (xy 135.767391 51.527231) (xy 135.762527 51.527518) - (xy 135.75271 51.527904) (xy 135.747838 51.528) (xy 135.447673 51.528) (xy 135.366236 51.609437) - (xy 134.661959 51.609437) (xy 134.555694 51.503172) (xy 134.518542 51.518561) (xy 134.47109 51.528) - (xy 134.03346 51.528) (xy 133.952023 51.609437) (xy 133.247745 51.609437) (xy 133.100253 51.461945) - (xy 132.88101 51.390708) (xy 132.876416 51.389115) (xy 132.867212 51.38572) (xy 132.862684 51.383948) - (xy 132.844611 51.376464) (xy 132.840133 51.374505) (xy 132.831208 51.37039) (xy 132.826833 51.368268) - (xy 132.79513 51.352114) (xy 132.537808 51.609436) (xy 131.833531 51.609436) (xy 131.502595 51.2785) - (xy 131.454533 51.2785) (xy 131.123596 51.609437) (xy 130.419318 51.609437) (xy 130.220335 51.410454) - (xy 130.21888 51.412239) (xy 130.21045 51.421567) (xy 130.205936 51.426078) (xy 130.203092 51.429391) - (xy 130.195142 51.437817) (xy 130.178348 51.454029) (xy 130.17534 51.456672) (xy 130.135904 51.49611) - (xy 130.135905 51.496111) (xy 129.865988 51.766043) (xy 129.161736 51.766043) (xy 129.81026 51.117476) - (xy 129.826072 51.101664) (xy 132.030036 51.101664) (xy 132.18567 51.257298) (xy 132.359275 51.083692) - (xy 132.342185 51.071276) (xy 132.338301 51.068336) (xy 132.33059 51.062257) (xy 132.326825 51.059168) - (xy 132.31195 51.046463) (xy 132.308319 51.043235) (xy 132.301109 51.036571) (xy 132.297593 51.033191) - (xy 132.181538 50.917136) (xy 132.121066 51.00764) (xy 132.113814 51.017418) (xy 132.09823 51.036406) - (xy 132.09006 51.045419) (xy 132.055419 51.08006) (xy 132.046406 51.08823) (xy 132.030036 51.101664) - (xy 129.826072 51.101664) (xy 129.83565 51.092086) (xy 129.839127 51.088975) (xy 129.840381 51.087623) - (xy 129.842522 51.084157) (xy 129.843155 51.083196) (xy 129.844909 51.079583) (xy 129.861173 51.05141) - (xy 129.886209 51.008046) (xy 129.888624 51.00439) (xy 129.889869 51.002044) (xy 129.890593 50.999093) - (xy 129.904119 50.948611) (xy 129.914152 50.911166) (xy 129.915265 50.90701) (xy 129.915494 50.906181) + (xy 141.225118 51.811464) (xy 141.224846 51.810947) (xy 141.22264 51.806547) (xy 141.186242 51.730188) + (xy 141.184082 51.725399) (xy 141.169379 51.690858) (xy 141.16742 51.685969) (xy 141.136391 51.603523) + (xy 141.134607 51.598452) (xy 141.12265 51.561956) (xy 141.121085 51.556803) (xy 141.111157 51.521369) + (xy 141.02309 51.609436) (xy 139.78335 51.609436) (xy 139.782408 51.605716) (xy 139.687546 51.389453) + (xy 139.599248 51.254302) (xy 139.031041 51.82251) (xy 139.006022 51.76211) (xy 138.934888 51.655649) + (xy 138.844351 51.565112) (xy 138.73789 51.493978) (xy 138.677488 51.468958) (xy 139.244115 50.90233) + (xy 140.315984 50.90233) (xy 140.670951 51.257297) (xy 141.025919 50.902329) (xy 140.670952 50.547362) + (xy 140.315984 50.90233) (xy 139.244115 50.90233) (xy 139.246612 50.899833) (xy 139.246612 50.899831) + (xy 139.21208 50.872954) (xy 139.212074 50.87295) (xy 139.004378 50.76055) (xy 139.00437 50.760547) + (xy 138.781018 50.68387) (xy 138.548079 50.645) (xy 138.311921 50.645) (xy 138.078981 50.68387) + (xy 137.855629 50.760547) (xy 137.855621 50.76055) (xy 137.647922 50.872952) (xy 137.613386 50.899831) + (xy 137.613385 50.899833) (xy 138.182511 51.468958) (xy 138.12211 51.493978) (xy 138.015649 51.565112) + (xy 137.925112 51.655649) (xy 137.853978 51.76211) (xy 137.828958 51.82251) (xy 137.26075 51.254302) + (xy 137.172454 51.38945) (xy 137.077591 51.605716) (xy 137.019617 51.834652) (xy 137.000116 52.069994) + (xy 137.000116 52.070005) (xy 136.502116 52.070005) (xy 136.502116 52.059703) (xy 136.502222 52.05458) + (xy 136.502649 52.044253) (xy 136.502966 52.039137) (xy 136.503188 52.036453) (xy 136.428311 51.961576) + (xy 136.073343 52.316544) (xy 135.369066 52.316544) (xy 135.014098 51.961576) (xy 134.65913 52.316544) + (xy 133.954852 52.316544) (xy 133.599884 51.961576) (xy 133.244916 52.316544) (xy 132.540639 52.316544) + (xy 132.18567 51.961575) (xy 131.830702 52.316544) (xy 131.126425 52.316544) (xy 130.771457 51.961576) + (xy 130.416489 52.316544) (xy 129.712211 52.316544) (xy 129.513861 52.118194) (xy 129.158905 52.473174) + (xy 128.454653 52.473174) (xy 129.161736 51.766044) (xy 129.865989 51.766044) (xy 130.06435 51.964405) + (xy 130.419318 51.609437) (xy 131.123596 51.609437) (xy 131.478564 51.964405) (xy 131.833532 51.609437) + (xy 131.833531 51.609436) (xy 132.537808 51.609436) (xy 132.892777 51.964405) (xy 133.247745 51.609437) + (xy 133.952023 51.609437) (xy 134.306991 51.964405) (xy 134.661959 51.609437) (xy 135.366236 51.609437) + (xy 135.721204 51.964405) (xy 136.076172 51.609436) (xy 135.964997 51.498261) (xy 135.8063 51.523398) + (xy 135.801472 51.524066) (xy 135.791727 51.525219) (xy 135.786893 51.525695) (xy 135.767391 51.527231) + (xy 135.762527 51.527518) (xy 135.75271 51.527904) (xy 135.747838 51.528) (xy 135.447673 51.528) + (xy 135.366236 51.609437) (xy 134.661959 51.609437) (xy 134.555694 51.503172) (xy 134.518542 51.518561) + (xy 134.47109 51.528) (xy 134.03346 51.528) (xy 133.952023 51.609437) (xy 133.247745 51.609437) + (xy 133.100253 51.461945) (xy 132.88101 51.390708) (xy 132.876416 51.389115) (xy 132.867212 51.38572) + (xy 132.862684 51.383948) (xy 132.844611 51.376464) (xy 132.840133 51.374505) (xy 132.831208 51.37039) + (xy 132.826833 51.368268) (xy 132.79513 51.352114) (xy 132.537808 51.609436) (xy 131.833531 51.609436) + (xy 131.502595 51.2785) (xy 131.454533 51.2785) (xy 131.123596 51.609437) (xy 130.419318 51.609437) + (xy 130.220335 51.410454) (xy 130.218886 51.412231) (xy 130.210455 51.421562) (xy 130.205927 51.426087) + (xy 130.203094 51.429387) (xy 130.195156 51.4378) (xy 130.178379 51.453999) (xy 130.175357 51.456655) + (xy 130.168265 51.463747) (xy 130.16826 51.463756) (xy 129.865989 51.766044) (xy 129.161736 51.766044) + (xy 129.816112 51.111625) (xy 129.826072 51.101664) (xy 132.030036 51.101664) (xy 132.18567 51.257298) + (xy 132.359275 51.083692) (xy 132.342185 51.071276) (xy 132.338301 51.068336) (xy 132.33059 51.062257) + (xy 132.326825 51.059168) (xy 132.31195 51.046463) (xy 132.308319 51.043235) (xy 132.301109 51.036571) + (xy 132.297593 51.033191) (xy 132.181538 50.917136) (xy 132.121066 51.00764) (xy 132.113814 51.017418) + (xy 132.09823 51.036406) (xy 132.09006 51.045419) (xy 132.055419 51.08006) (xy 132.046406 51.08823) + (xy 132.030036 51.101664) (xy 129.826072 51.101664) (xy 129.835641 51.092095) (xy 129.839121 51.08898) + (xy 129.840383 51.08762) (xy 129.842518 51.084164) (xy 129.843154 51.083198) (xy 129.844911 51.079581) + (xy 129.864151 51.046254) (xy 129.865043 51.04471) (xy 129.870841 51.034667) (xy 129.886208 51.008049) + (xy 129.888624 51.00439) (xy 129.88987 51.002045) (xy 129.890586 50.999118) (xy 129.904705 50.946423) + (xy 129.905651 50.942892) (xy 129.905651 50.94289) (xy 129.915275 50.906973) (xy 129.915496 50.906175) (xy 129.915502 50.906129) (xy 129.915502 50.9045) (xy 129.915934 50.903025) (xy 129.916702 50.897552) (xy 129.917508 50.897665) (xy 129.935187 50.837461) (xy 129.987991 50.791706) (xy 130.039502 50.7805) (xy 131.564676 50.7805) (xy 131.564677 50.780499) (xy 131.63774 50.765966) (xy 131.720601 50.710601) - (xy 131.775966 50.62774) (xy 131.7905 50.554674) (xy 131.7905 49.78) (xy 132.140898 49.78) (xy 132.156934 49.881247) - (xy 132.229897 50.105802) (xy 132.337085 50.316171) (xy 132.475866 50.507186) (xy 132.642813 50.674133) - (xy 132.833828 50.812914) (xy 133.044197 50.920102) (xy 133.268752 50.993065) (xy 133.268751 50.993065) - (xy 133.501948 51.03) (xy 134.37 51.03) (xy 134.37 49.98) (xy 134.87 49.98) (xy 134.87 51.03) (xy 135.738052 51.03) - (xy 135.971247 50.993065) (xy 136.195802 50.920102) (xy 136.406171 50.812914) (xy 136.597186 50.674133) - (xy 136.764133 50.507186) (xy 136.902914 50.316171) (xy 136.986277 50.152561) (xy 138.237325 50.152561) - (xy 138.24011 50.152097) (xy 138.245186 50.151358) (xy 138.255442 50.15008) (xy 138.260533 50.149552) - (xy 138.281056 50.147851) (xy 138.286175 50.147533) (xy 138.296501 50.147106) (xy 138.301624 50.147) - (xy 138.558376 50.147) (xy 138.563499 50.147106) (xy 138.573825 50.147533) (xy 138.578944 50.147851) - (xy 138.599467 50.149552) (xy 138.604558 50.15008) (xy 138.614814 50.151358) (xy 138.61989 50.152097) - (xy 138.873138 50.194356) (xy 138.878179 50.195305) (xy 138.888293 50.197426) (xy 138.893281 50.19858) - (xy 138.899633 50.200188) (xy 138.904598 50.195224) (xy 139.608877 50.195224) (xy 139.963845 50.550192) - (xy 140.318813 50.195224) (xy 141.023091 50.195224) (xy 141.265646 50.437779) (xy 141.273138 50.40044) - (xy 141.273665 50.397943) (xy 141.277596 50.380246) (xy 141.27817 50.377785) (xy 141.315541 50.224384) - (xy 141.316084 50.222237) (xy 141.320095 50.206964) (xy 141.320676 50.20483) (xy 141.367194 50.039741) - (xy 141.367732 50.037887) (xy 141.371671 50.024698) (xy 141.372235 50.022861) (xy 141.373789 50.017935) - (xy 141.366313 49.955453) (xy 141.366073 49.953285) (xy 141.364497 49.937811) (xy 141.364296 49.935646) - (xy 141.358782 49.870126) (xy 141.358602 49.867712) (xy 141.358117 49.860197) (xy 141.023091 50.195224) - (xy 140.318813 50.195224) (xy 139.963845 49.840256) (xy 139.608877 50.195224) (xy 138.904598 50.195224) + (xy 131.775966 50.62774) (xy 131.789838 50.558004) (xy 131.7905 50.554675) (xy 131.7905 49.78) (xy 132.140898 49.78) + (xy 132.156934 49.881247) (xy 132.229897 50.105802) (xy 132.337085 50.316171) (xy 132.475866 50.507186) + (xy 132.642813 50.674133) (xy 132.833828 50.812914) (xy 133.044197 50.920102) (xy 133.268752 50.993065) + (xy 133.268751 50.993065) (xy 133.501948 51.03) (xy 134.37 51.03) (xy 134.37 49.98) (xy 134.87 49.98) + (xy 134.87 51.03) (xy 135.738052 51.03) (xy 135.971247 50.993065) (xy 136.195802 50.920102) (xy 136.406171 50.812914) + (xy 136.597186 50.674133) (xy 136.764133 50.507186) (xy 136.902914 50.316171) (xy 136.986277 50.152561) + (xy 138.237325 50.152561) (xy 138.24011 50.152097) (xy 138.245186 50.151358) (xy 138.255442 50.15008) + (xy 138.260533 50.149552) (xy 138.281056 50.147851) (xy 138.286175 50.147533) (xy 138.296501 50.147106) + (xy 138.301624 50.147) (xy 138.558376 50.147) (xy 138.563499 50.147106) (xy 138.573825 50.147533) + (xy 138.578944 50.147851) (xy 138.599467 50.149552) (xy 138.604558 50.15008) (xy 138.614814 50.151358) + (xy 138.61989 50.152097) (xy 138.873138 50.194356) (xy 138.878179 50.195305) (xy 138.888293 50.197426) + (xy 138.893281 50.19858) (xy 138.899633 50.200188) (xy 138.904598 50.195224) (xy 139.608877 50.195224) + (xy 139.963845 50.550192) (xy 140.318813 50.195224) (xy 140.318812 50.195223) (xy 141.02309 50.195223) + (xy 141.137105 50.309238) (xy 141.161643 50.208519) (xy 141.162184 50.206381) (xy 141.166195 50.191104) + (xy 141.166778 50.188961) (xy 141.213301 50.023861) (xy 141.213838 50.022012) (xy 141.217776 50.008825) + (xy 141.218341 50.006984) (xy 141.219891 50.00207) (xy 141.219502 49.998812) (xy 141.02309 50.195223) + (xy 140.318812 50.195223) (xy 139.963845 49.840256) (xy 139.608877 50.195224) (xy 138.904598 50.195224) (xy 138.904599 50.195223) (xy 138.549631 49.840255) (xy 138.237325 50.152561) (xy 136.986277 50.152561) (xy 137.010102 50.105802) (xy 137.083065 49.881247) (xy 137.099102 49.78) (xy 135.995278 49.78) (xy 136.039333 49.703694) (xy 136.07 49.589244) (xy 136.07 49.53) (xy 137.540494 49.53) (xy 137.550533 49.541753) @@ -38089,72 +38593,72 @@ (xy 136.07 49.53) (xy 136.07 49.470756) (xy 136.039333 49.356306) (xy 135.995278 49.28) (xy 137.099102 49.28) (xy 137.083065 49.178752) (xy 137.010102 48.954197) (xy 136.921859 48.78101) (xy 138.194663 48.78101) (xy 138.549631 49.135978) (xy 138.9046 48.78101) (xy 139.608877 48.78101) (xy 139.963845 49.135978) - (xy 140.318813 48.78101) (xy 140.204668 48.666865) (xy 141.521287 48.666865) (xy 141.539213 48.764921) - (xy 141.539216 48.764932) (xy 141.551682 48.796402) (xy 141.551696 48.796435) (xy 141.555043 48.80448) - (xy 141.557905 48.811041) (xy 141.568175 48.834588) (xy 141.571988 48.842921) (xy 141.585725 48.871561) - (xy 141.590072 48.880199) (xy 141.590086 48.880226) (xy 141.60238 48.903547) (xy 141.604461 48.907493) - (xy 141.609378 48.916387) (xy 141.624372 48.942271) (xy 141.6268 48.946266) (xy 141.629937 48.951429) - (xy 141.644699 48.974613) (xy 141.645538 48.975931) (xy 141.651751 48.985233) (xy 141.667972 49.008398) - (xy 141.674899 49.017824) (xy 141.691684 49.039599) (xy 141.699375 49.049097) (xy 141.703102 49.053482) - (xy 141.716767 49.069559) (xy 141.719903 49.073069) (xy 141.7252 49.078999) (xy 141.743128 49.098093) - (xy 141.743139 49.098104) (xy 141.743153 49.098119) (xy 141.750494 49.105549) (xy 141.752331 49.107408) - (xy 141.770874 49.12524) (xy 141.77954 49.133148) (xy 141.780766 49.134266) (xy 141.78261 49.135862) - (xy 141.799889 49.150818) (xy 141.803326 49.153635) (xy 141.810463 49.159485) (xy 141.81608 49.163844) - (xy 141.830161 49.174771) (xy 141.839745 49.181799) (xy 141.841362 49.182985) (xy 141.861615 49.197006) - (xy 141.873345 49.204659) (xy 141.873363 49.20467) (xy 141.873635 49.204837) (xy 141.873657 49.204862) - (xy 141.87477 49.205588) (xy 141.874578 49.205881) (xy 141.920465 49.25669) (xy 141.931826 49.32563) - (xy 141.921971 49.361078) (xy 141.915108 49.376441) (xy 141.908497 49.392729) (xy 141.897448 49.422889) - (xy 141.892048 49.439337) (xy 141.882501 49.472129) (xy 141.878366 49.488279) (xy 141.87045 49.524013) - (xy 141.868851 49.532456) (xy 141.867523 49.539468) (xy 141.864884 49.556204) (xy 141.861389 49.57837) - (xy 141.859528 49.592859) (xy 141.85532 49.635181) (xy 141.854341 49.648616) (xy 141.852317 49.692168) - (xy 141.852204 49.694599) (xy 141.852015 49.70302) (xy 141.851928 49.706859) (xy 141.852002 49.756793) - (xy 141.852259 49.7679) (xy 141.854691 49.822049) (xy 141.855333 49.831995) (xy 141.860223 49.890108) - (xy 141.860266 49.890616) (xy 141.861176 49.899551) (xy 141.867319 49.950892) (xy 141.868761 49.962937) - (xy 141.869836 49.970865) (xy 141.878838 50.030176) (xy 141.874491 50.086107) (xy 141.848017 50.169978) - (xy 141.845737 50.177614) (xy 141.800913 50.336688) (xy 141.7986 50.345497) (xy 141.768758 50.467991) - (xy 141.762922 50.491947) (xy 141.762874 50.492162) (xy 141.760648 50.502186) (xy 141.733652 50.636742) - (xy 141.731573 50.648536) (xy 141.712776 50.772024) (xy 141.711076 50.785626) (xy 141.70001 50.898773) - (xy 141.698971 50.914246) (xy 141.695162 51.017832) (xy 141.695115 51.035266) (xy 141.69809 51.130089) - (xy 141.699411 51.14922) (xy 141.708699 51.236064) (xy 141.71174 51.256578) (xy 141.726859 51.336144) - (xy 141.731848 51.357402) (xy 141.75233 51.430504) (xy 141.758222 51.448492) (xy 141.759234 51.451579) - (xy 141.784611 51.519001) (xy 141.786767 51.524066) (xy 141.793098 51.538942) (xy 141.822894 51.601446) - (xy 141.831671 51.61812) (xy 141.832337 51.619385) (xy 141.866075 51.677738) (xy 141.875674 51.693062) - (xy 141.912883 51.748038) (xy 141.921813 51.760418) (xy 141.962019 51.812788) (xy 141.972397 51.825445) - (xy 141.972404 51.825453) (xy 142.059927 51.925481) (xy 142.066861 51.93309) (xy 142.159281 52.030471) - (xy 142.160177 52.031425) (xy 142.24797 52.126079) (xy 142.250177 52.128458) (xy 142.253281 52.131934) - (xy 142.28607 52.170067) (xy 142.291775 52.176701) (xy 142.294818 52.180381) (xy 142.331883 52.227015) - (xy 142.335395 52.231653) (xy 142.370083 52.27978) (xy 142.373828 52.285282) (xy 142.401608 52.328557) - (xy 142.406429 52.336067) (xy 142.410188 52.342321) (xy 142.440888 52.396971) (xy 142.444446 52.403791) - (xy 142.473363 52.463688) (xy 142.476555 52.470874) (xy 142.503598 52.537352) (xy 142.506317 52.544691) - (xy 142.531282 52.619219) (xy 142.53348 52.62652) (xy 142.555947 52.710393) (xy 142.557626 52.717489) - (xy 142.578491 52.818905) (xy 142.579175 52.822226) (xy 142.583761 52.840922) (xy 142.62932 52.929589) - (xy 142.629323 52.929592) (xy 142.657981 52.9539) (xy 142.705348 52.994077) (xy 142.761118 53.011988) - (xy 142.818927 53.051228) (xy 142.843292 53.099161) (xy 142.863236 53.176706) (xy 142.863902 53.179069) - (xy 142.866437 53.188063) (xy 142.905781 53.316222) (xy 142.909082 53.326229) (xy 142.953697 53.452586) - (xy 142.956979 53.46136) (xy 143.00618 53.585882) (xy 143.009343 53.593526) (xy 143.021836 53.622394) - (xy 143.062561 53.716501) (xy 143.062575 53.716533) (xy 143.062581 53.716546) (xy 143.065407 53.72284) - (xy 143.120707 53.841601) (xy 143.122055 53.844494) (xy 143.125584 53.85177) (xy 143.246591 54.091507) - (xy 143.250255 54.098495) (xy 143.370887 54.320193) (xy 143.505716 54.567985) (xy 143.50595 54.568417) - (xy 143.633653 54.805343) (xy 143.634773 54.807471) (xy 143.695798 54.926145) (xy 143.69701 54.928566) - (xy 143.704472 54.943897) (xy 143.755346 55.048416) (xy 143.756867 55.05166) (xy 143.810909 55.171357) - (xy 143.812686 55.175492) (xy 143.861215 55.294296) (xy 143.863177 55.29942) (xy 143.905089 55.416582) - (xy 143.90714 55.422832) (xy 143.941419 55.537499) (xy 143.943411 55.545013) (xy 143.969201 55.656268) - (xy 143.970926 55.665183) (xy 143.988268 55.776505) (xy 143.989215 55.784128) (xy 143.993678 55.832195) - (xy 143.994069 55.837769) (xy 143.996475 55.888362) (xy 143.996615 55.894302) (xy 143.996595 55.943645) - (xy 143.996433 55.949931) (xy 143.993972 55.99803) (xy 143.993458 56.004628) (xy 143.988526 56.051654) - (xy 143.987613 56.058509) (xy 143.980184 56.104464) (xy 143.978831 56.111525) (xy 143.96882 56.156662) - (xy 143.967003 56.163835) (xy 143.954328 56.208258) (xy 143.952029 56.215474) (xy 143.936504 56.259498) - (xy 143.933734 56.26664) (xy 143.917276 56.30547) (xy 143.915171 56.310436) (xy 143.911939 56.317444) - (xy 143.890062 56.361252) (xy 143.886417 56.368018) (xy 143.860075 56.413481) (xy 143.856672 56.419015) - (xy 143.795962 56.512177) (xy 143.7942 56.514807) (xy 143.719645 56.623068) (xy 143.719422 56.62339) - (xy 143.634312 56.746145) (xy 143.632211 56.749219) (xy 143.539649 56.886797) (xy 143.535981 56.892406) - (xy 143.437146 57.047941) (xy 143.43263 57.055323) (xy 143.36064 57.177635) (xy 143.331452 57.227226) - (xy 143.328511 57.232222) (xy 143.324901 57.238558) (xy 143.271131 57.336137) (xy 143.268754 57.340553) - (xy 143.213955 57.444875) (xy 143.211591 57.449491) (xy 143.155909 57.560938) (xy 143.153657 57.565562) - (xy 143.097227 57.684529) (xy 143.0892 57.703363) (xy 143.078644 57.766207) (xy 143.072686 57.80168) - (xy 143.095053 57.89883) (xy 143.098507 57.903678) (xy 143.152892 57.980024) (xy 143.152894 57.980026) - (xy 143.237404 58.032906) (xy 143.335718 58.04942) (xy 143.432868 58.027053) (xy 143.470631 58.01007) - (xy 144.595297 58.01007) (xy 144.913592 58.328366) (xy 145.268561 57.973398) (xy 145.972838 57.973398) + (xy 140.318813 48.78101) (xy 140.188808 48.651005) (xy 141.367368 48.651005) (xy 141.385294 48.749061) + (xy 141.385297 48.749072) (xy 141.397763 48.780542) (xy 141.397958 48.78101) (xy 141.401124 48.78862) + (xy 141.414242 48.818697) (xy 141.414256 48.818728) (xy 141.418069 48.827061) (xy 141.431805 48.855698) + (xy 141.433824 48.859709) (xy 141.436162 48.864356) (xy 141.450531 48.891615) (xy 141.455471 48.900549) + (xy 141.455489 48.90058) (xy 141.470449 48.926405) (xy 141.476004 48.935548) (xy 141.480429 48.942498) + (xy 141.491612 48.960062) (xy 141.497844 48.969391) (xy 141.514045 48.992528) (xy 141.520983 49.001968) + (xy 141.537782 49.02376) (xy 141.545457 49.033238) (xy 141.562848 49.053699) (xy 141.565253 49.056391) + (xy 141.571281 49.063139) (xy 141.589228 49.082253) (xy 141.598395 49.091532) (xy 141.599172 49.092279) + (xy 141.616958 49.109382) (xy 141.626847 49.118404) (xy 141.632789 49.123547) (xy 141.645347 49.134417) + (xy 141.645974 49.134959) (xy 141.656551 49.14363) (xy 141.676243 49.15891) (xy 141.687439 49.16712) + (xy 141.707691 49.181141) (xy 141.71943 49.188801) (xy 141.719704 49.188969) (xy 141.719726 49.188993) + (xy 141.720856 49.189731) (xy 141.720661 49.190028) (xy 141.766544 49.240811) (xy 141.777921 49.309748) + (xy 141.768066 49.345215) (xy 141.761205 49.360577) (xy 141.754587 49.376879) (xy 141.754583 49.376891) + (xy 141.744269 49.405053) (xy 141.743539 49.407045) (xy 141.738147 49.423467) (xy 141.728595 49.456279) + (xy 141.724466 49.472405) (xy 141.716552 49.508133) (xy 141.713618 49.523622) (xy 141.707495 49.562453) + (xy 141.705626 49.577011) (xy 141.702989 49.603547) (xy 141.701421 49.61932) (xy 141.700443 49.63273) + (xy 141.698305 49.678735) (xy 141.698052 49.690006) (xy 141.69803 49.690988) (xy 141.698105 49.740958) + (xy 141.698361 49.751995) (xy 141.700792 49.80615) (xy 141.701435 49.816135) (xy 141.706369 49.874748) + (xy 141.707279 49.88368) (xy 141.714855 49.947006) (xy 141.715939 49.954993) (xy 141.724942 50.014306) + (xy 141.720595 50.070238) (xy 141.694125 50.154095) (xy 141.691843 50.161737) (xy 141.647023 50.320793) + (xy 141.644695 50.32966) (xy 141.609023 50.476085) (xy 141.606764 50.486258) (xy 141.606757 50.486291) + (xy 141.600459 50.517683) (xy 141.579759 50.620848) (xy 141.577672 50.632689) (xy 141.565346 50.713658) + (xy 141.560888 50.74295) (xy 141.558876 50.756164) (xy 141.557179 50.769741) (xy 141.546111 50.882901) + (xy 141.545073 50.89837) (xy 141.541263 51.001956) (xy 141.541216 51.019391) (xy 141.54419 51.114213) + (xy 141.545511 51.133345) (xy 141.55149 51.18925) (xy 141.554797 51.220176) (xy 141.556521 51.231804) + (xy 141.557842 51.24072) (xy 141.572702 51.318918) (xy 141.572962 51.320285) (xy 141.577944 51.341518) + (xy 141.579562 51.347294) (xy 141.598425 51.41462) (xy 141.598429 51.414632) (xy 141.605331 51.435701) + (xy 141.627265 51.493978) (xy 141.630712 51.503136) (xy 141.639186 51.523046) (xy 141.639193 51.52306) + (xy 141.639194 51.523063) (xy 141.668987 51.585564) (xy 141.678432 51.603509) (xy 141.712169 51.661861) + (xy 141.712176 51.661873) (xy 141.71218 51.661879) (xy 141.721765 51.67718) (xy 141.75897 51.732154) + (xy 141.767904 51.744539) (xy 141.807127 51.795631) (xy 141.808109 51.796909) (xy 141.818488 51.809568) + (xy 141.905998 51.909581) (xy 141.909705 51.913649) (xy 141.912963 51.917224) (xy 142.005281 52.014499) + (xy 142.006252 52.015534) (xy 142.096256 52.112572) (xy 142.099365 52.116053) (xy 142.137872 52.160838) + (xy 142.140923 52.164528) (xy 142.177961 52.211129) (xy 142.181465 52.215757) (xy 142.216177 52.263916) + (xy 142.21992 52.269416) (xy 142.252523 52.320205) (xy 142.25627 52.326438) (xy 142.28698 52.381109) + (xy 142.290537 52.387929) (xy 142.319439 52.447797) (xy 142.322626 52.454969) (xy 142.342283 52.503288) + (xy 142.349678 52.521466) (xy 142.352397 52.528807) (xy 142.377361 52.603333) (xy 142.379554 52.610617) + (xy 142.402027 52.694512) (xy 142.403705 52.701606) (xy 142.42525 52.806324) (xy 142.425253 52.806337) + (xy 142.429838 52.825029) (xy 142.475396 52.913702) (xy 142.551419 52.97819) (xy 142.607211 52.996111) + (xy 142.665018 53.035354) (xy 142.689381 53.083285) (xy 142.709325 53.160836) (xy 142.71252 53.172166) + (xy 142.712525 53.172183) (xy 142.715651 53.182365) (xy 142.75187 53.300346) (xy 142.755195 53.310424) + (xy 142.799758 53.436635) (xy 142.803091 53.445547) (xy 142.852263 53.569995) (xy 142.852286 53.570052) + (xy 142.855424 53.577636) (xy 142.908652 53.700636) (xy 142.908666 53.700668) (xy 142.908672 53.700681) + (xy 142.911498 53.706975) (xy 142.941225 53.770816) (xy 142.968146 53.82863) (xy 142.970307 53.833086) + (xy 142.971689 53.835935) (xy 143.09266 54.075604) (xy 143.096359 54.082658) (xy 143.351745 54.552007) + (xy 143.351979 54.55244) (xy 143.411792 54.663412) (xy 143.458286 54.749674) (xy 143.479753 54.789501) + (xy 143.480874 54.791629) (xy 143.541897 54.910302) (xy 143.543116 54.912738) (xy 143.601432 55.032546) + (xy 143.602954 55.035791) (xy 143.622483 55.079046) (xy 143.654425 55.149799) (xy 143.656995 55.15549) + (xy 143.658771 55.159623) (xy 143.705798 55.274749) (xy 143.707307 55.278441) (xy 143.70927 55.283569) + (xy 143.751177 55.400726) (xy 143.753227 55.406973) (xy 143.787503 55.521629) (xy 143.789495 55.529145) + (xy 143.815285 55.640409) (xy 143.81701 55.649322) (xy 143.826475 55.710079) (xy 143.832807 55.750728) + (xy 143.83435 55.760629) (xy 143.835297 55.768255) (xy 143.839761 55.816346) (xy 143.840152 55.821918) + (xy 143.842557 55.872503) (xy 143.842697 55.878442) (xy 143.842677 55.927775) (xy 143.842515 55.934064) + (xy 143.840051 55.982202) (xy 143.839536 55.988799) (xy 143.834609 56.035768) (xy 143.833697 56.042619) + (xy 143.826264 56.088602) (xy 143.824911 56.095665) (xy 143.8149 56.140802) (xy 143.813083 56.147975) + (xy 143.800408 56.192398) (xy 143.798109 56.199614) (xy 143.78259 56.243621) (xy 143.779814 56.250777) + (xy 143.761249 56.294573) (xy 143.75802 56.301576) (xy 143.736136 56.3454) (xy 143.732489 56.35217) + (xy 143.706145 56.397635) (xy 143.702743 56.403167) (xy 143.642053 56.496298) (xy 143.640291 56.498927) + (xy 143.565909 56.606938) (xy 143.565687 56.607261) (xy 143.480333 56.730369) (xy 143.478295 56.733354) + (xy 143.385739 56.870922) (xy 143.382054 56.876558) (xy 143.28324 57.032063) (xy 143.278712 57.039463) + (xy 143.197387 57.177635) (xy 143.174591 57.216365) (xy 143.17326 57.2187) (xy 143.17099 57.222686) + (xy 143.117221 57.320263) (xy 143.114822 57.324719) (xy 143.060044 57.429004) (xy 143.057677 57.433624) + (xy 143.00204 57.544984) (xy 142.999761 57.549661) (xy 142.943314 57.668665) (xy 142.935291 57.687492) + (xy 142.927559 57.733525) (xy 142.918777 57.785807) (xy 142.941144 57.882957) (xy 142.998985 57.964152) + (xy 143.083496 58.017032) (xy 143.18181 58.033546) (xy 143.27896 58.011179) (xy 143.36297 57.973397) + (xy 144.558623 57.973397) (xy 144.913592 58.328366) (xy 145.268561 57.973398) (xy 145.972838 57.973398) (xy 146.327806 58.328366) (xy 146.682774 57.973398) (xy 147.387052 57.973398) (xy 147.74202 58.328366) (xy 148.096988 57.973398) (xy 148.801265 57.973398) (xy 149.156233 58.328366) (xy 149.511201 57.973398) (xy 150.215479 57.973398) (xy 150.570447 58.328366) (xy 150.925415 57.973398) (xy 150.925414 57.973397) @@ -38166,328 +38670,347 @@ (xy 150.570447 57.61843) (xy 150.215479 57.973398) (xy 149.511201 57.973398) (xy 149.156233 57.61843) (xy 148.801265 57.973398) (xy 148.096988 57.973398) (xy 147.74202 57.61843) (xy 147.387052 57.973398) (xy 146.682774 57.973398) (xy 146.327806 57.61843) (xy 145.972838 57.973398) (xy 145.268561 57.973398) - (xy 145.050795 57.755632) (xy 144.847149 57.875124) (xy 144.844977 57.876369) (xy 144.8294 57.885091) - (xy 144.827207 57.88629) (xy 144.595297 58.01007) (xy 143.470631 58.01007) (xy 143.724876 57.895728) - (xy 143.731738 57.892519) (xy 143.744559 57.88629) (xy 143.774221 57.871878) (xy 144.019279 57.752812) - (xy 144.027929 57.748405) (xy 144.506421 57.493012) (xy 145.492451 57.493012) (xy 145.620698 57.621259) - (xy 145.975667 57.266291) (xy 146.679944 57.266291) (xy 147.034913 57.621259) (xy 147.389881 57.266291) - (xy 148.094157 57.266291) (xy 148.449126 57.621259) (xy 148.804094 57.266291) (xy 149.508371 57.266291) - (xy 149.86334 57.621259) (xy 150.218308 57.266291) (xy 150.922585 57.266291) (xy 151.277554 57.621259) - (xy 151.632522 57.266291) (xy 151.516231 57.15) (xy 152.334747 57.15) (xy 152.353741 57.464023) - (xy 152.353741 57.464028) (xy 152.353742 57.464029) (xy 152.410451 57.773478) (xy 152.410452 57.773482) - (xy 152.410453 57.773486) (xy 152.504039 58.073816) (xy 152.504043 58.073827) (xy 152.504044 58.07383) - (xy 152.504046 58.073835) (xy 152.633163 58.360721) (xy 152.793861 58.626547) (xy 152.795924 58.62996) - (xy 152.989942 58.877605) (xy 153.212394 59.100057) (xy 153.460039 59.294075) (xy 153.460044 59.294078) - (xy 153.460048 59.294081) (xy 153.729279 59.456837) (xy 154.016165 59.585954) (xy 154.016175 59.585957) - (xy 154.016183 59.58596) (xy 154.138817 59.624174) (xy 154.316522 59.679549) (xy 154.625971 59.736258) - (xy 154.94 59.755253) (xy 155.254029 59.736258) (xy 155.563478 59.679549) (xy 155.863835 59.585954) - (xy 156.150721 59.456837) (xy 156.265233 59.387612) (xy 157.286547 59.387612) (xy 157.641515 59.74258) - (xy 157.996483 59.387612) (xy 157.641515 59.032644) (xy 157.286547 59.387612) (xy 156.265233 59.387612) - (xy 156.419952 59.294081) (xy 156.423593 59.291229) (xy 156.59442 59.157394) (xy 156.667602 59.10006) - (xy 156.89006 58.877602) (xy 157.027474 58.702205) (xy 157.044475 58.680505) (xy 157.993653 58.680505) - (xy 158.348621 59.035473) (xy 158.703589 58.680505) (xy 158.348621 58.325536) (xy 157.993653 58.680505) - (xy 157.044475 58.680505) (xy 157.084075 58.62996) (xy 157.084075 58.629958) (xy 157.084081 58.629952) - (xy 157.246837 58.360721) (xy 157.375954 58.073835) (xy 157.378454 58.065814) (xy 157.39836 58.00193) - (xy 157.469549 57.773478) (xy 157.526258 57.464029) (xy 157.535739 57.307287) (xy 158.034649 57.307287) - (xy 158.348621 57.621259) (xy 158.703589 57.266291) (xy 158.34862 56.911322) (xy 158.039927 57.220015) - (xy 158.034649 57.307287) (xy 157.535739 57.307287) (xy 157.545253 57.15) (xy 157.526258 56.835971) - (xy 157.469549 56.526522) (xy 157.429011 56.396431) (xy 157.37596 56.226183) (xy 157.375956 56.226172) - (xy 157.375954 56.226165) (xy 157.246837 55.939279) (xy 157.084081 55.670048) (xy 157.084078 55.670044) - (xy 157.084075 55.670039) (xy 156.890057 55.422394) (xy 156.667605 55.199942) (xy 156.41996 55.005924) - (xy 156.398305 54.992833) (xy 156.150721 54.843163) (xy 155.863835 54.714046) (xy 155.86383 54.714044) - (xy 155.863827 54.714043) (xy 155.863816 54.714039) (xy 155.563486 54.620453) (xy 155.563482 54.620452) - (xy 155.563478 54.620451) (xy 155.254029 54.563742) (xy 155.254028 54.563741) (xy 155.254023 54.563741) - (xy 154.94 54.544747) (xy 154.625976 54.563741) (xy 154.570246 54.573954) (xy 154.316522 54.620451) - (xy 154.316519 54.620451) (xy 154.316513 54.620453) (xy 154.016183 54.714039) (xy 154.016172 54.714043) - (xy 154.016166 54.714045) (xy 154.016165 54.714046) (xy 153.932779 54.751575) (xy 153.73325 54.841376) - (xy 153.729279 54.843163) (xy 153.709806 54.854935) (xy 153.460039 55.005924) (xy 153.212394 55.199942) - (xy 152.989942 55.422394) (xy 152.795924 55.670039) (xy 152.700035 55.828659) (xy 152.633429 55.93884) - (xy 152.633162 55.939281) (xy 152.633161 55.939283) (xy 152.584382 56.047665) (xy 152.512344 56.207729) - (xy 152.504043 56.226172) (xy 152.504039 56.226183) (xy 152.410453 56.526513) (xy 152.410451 56.526519) - (xy 152.410451 56.526522) (xy 152.370439 56.744861) (xy 152.353741 56.835976) (xy 152.334747 57.15) - (xy 151.516231 57.15) (xy 151.277554 56.911323) (xy 150.922585 57.266291) (xy 150.218308 57.266291) - (xy 149.86334 56.911323) (xy 149.508371 57.266291) (xy 148.804094 57.266291) (xy 148.449126 56.911322) - (xy 148.094157 57.266291) (xy 147.389881 57.266291) (xy 147.034913 56.911323) (xy 146.679944 57.266291) - (xy 145.975667 57.266291) (xy 145.92922 57.219844) (xy 145.492451 57.493012) (xy 144.506421 57.493012) - (xy 144.589384 57.448731) (xy 144.598377 57.443695) (xy 145.141293 57.125138) (xy 145.147474 57.121393) - (xy 145.557958 56.864664) (xy 145.671341 56.793751) (xy 145.671358 56.793739) (xy 145.671403 56.793712) - (xy 145.675283 56.791236) (xy 146.031855 56.559185) (xy 147.387052 56.559185) (xy 147.74202 56.914153) - (xy 148.096988 56.559185) (xy 148.801265 56.559185) (xy 149.156233 56.914153) (xy 149.511201 56.559185) - (xy 150.215479 56.559185) (xy 150.570447 56.914153) (xy 150.925415 56.559185) (xy 151.629692 56.559185) - (xy 151.858034 56.787527) (xy 151.858072 56.787112) (xy 151.85847 56.783374) (xy 151.860286 56.768438) - (xy 151.860789 56.764757) (xy 151.861923 56.757302) (xy 151.862544 56.753597) (xy 151.921964 56.429358) - (xy 151.922695 56.425685) (xy 151.924279 56.418306) (xy 151.925119 56.414662) (xy 151.928719 56.400053) - (xy 151.92967 56.396431) (xy 151.931699 56.389151) (xy 151.932761 56.385552) (xy 151.988172 56.207729) - (xy 151.98466 56.204217) (xy 151.629692 56.559185) (xy 150.925415 56.559185) (xy 150.570447 56.204217) - (xy 150.215479 56.559185) (xy 149.511201 56.559185) (xy 149.156233 56.204217) (xy 148.801265 56.559185) - (xy 148.096988 56.559185) (xy 147.74202 56.204217) (xy 147.387052 56.559185) (xy 146.031855 56.559185) - (xy 146.663118 56.148369) (xy 146.663824 56.147914) (xy 147.108467 55.863963) (xy 148.106043 55.863963) - (xy 148.449126 56.207046) (xy 148.531006 56.125166) (xy 149.78146 56.125166) (xy 149.863339 56.207045) - (xy 149.889486 56.180898) (xy 149.868724 56.172299) (xy 149.857721 56.167094) (xy 149.836059 56.155515) - (xy 149.825623 56.14926) (xy 149.817428 56.143784) (xy 149.81043 56.140686) (xy 149.800392 56.135688) - (xy 149.78146 56.125166) (xy 148.531006 56.125166) (xy 148.804094 55.852077) (xy 149.508371 55.852077) - (xy 149.531778 55.875484) (xy 149.514824 55.852078) (xy 150.922586 55.852078) (xy 151.277554 56.207046) - (xy 151.632522 55.852078) (xy 151.277554 55.49711) (xy 150.922586 55.852078) (xy 149.514824 55.852078) - (xy 149.512113 55.848335) (xy 149.508371 55.852077) (xy 148.804094 55.852077) (xy 148.596886 55.644869) - (xy 148.524724 55.670102) (xy 148.363122 55.737131) (xy 148.194084 55.816657) (xy 148.106043 55.863963) - (xy 147.108467 55.863963) (xy 147.122529 55.854983) (xy 147.125373 55.853221) (xy 147.127275 55.852078) - (xy 147.556674 55.59398) (xy 147.561819 55.591054) (xy 147.967174 55.373245) (xy 147.973044 55.37029) - (xy 148.159043 55.282783) (xy 148.164246 55.280482) (xy 148.343756 55.206025) (xy 148.350298 55.203528) - (xy 148.519876 55.144231) (xy 148.527987 55.141704) (xy 148.686828 55.098142) (xy 148.696757 55.095854) - (xy 148.844082 55.068234) (xy 148.856015 55.066593) (xy 148.991393 55.054653) (xy 149.005375 55.054214) - (xy 149.129109 55.057304) (xy 149.144827 55.058702) (xy 149.256946 55.075925) (xy 149.258443 55.076155) - (xy 149.275196 55.079931) (xy 149.311309 55.090748) (xy 149.381437 55.111754) (xy 149.398123 55.118094) - (xy 149.500459 55.165676) (xy 149.515932 55.174262) (xy 149.617539 55.240549) (xy 149.630903 55.250616) - (xy 149.636667 55.255601) (xy 149.717459 55.325479) (xy 149.733666 55.339496) (xy 149.744532 55.350126) - (xy 149.759965 55.367197) (xy 149.848838 55.465505) (xy 149.857277 55.475921) (xy 149.972774 55.635374) - (xy 149.972782 55.635383) (xy 149.980416 55.642913) (xy 149.996442 55.662306) (xy 149.999041 55.666195) - (xy 150.004673 55.669958) (xy 150.022853 55.684775) (xy 150.032663 55.694451) (xy 150.032667 55.694454) - (xy 150.048567 55.701494) (xy 150.067255 55.711774) (xy 150.070883 55.714198) (xy 150.081931 55.72158) - (xy 150.09025 55.723234) (xy 150.116259 55.731467) (xy 150.123822 55.734816) (xy 150.14118 55.735234) - (xy 150.162378 55.737581) (xy 150.164863 55.738076) (xy 150.179705 55.741029) (xy 150.179707 55.741029) - (xy 150.179718 55.741029) (xy 150.179722 55.741029) (xy 150.203721 55.738075) (xy 150.221866 55.737184) - (xy 150.223482 55.737223) (xy 150.223482 55.737222) (xy 150.223484 55.737223) (xy 150.223485 55.737222) - (xy 150.23552 55.73513) (xy 150.235529 55.735182) (xy 150.241652 55.733409) (xy 150.241652 55.733408) - (xy 150.241658 55.733408) (xy 150.274849 55.717732) (xy 150.283073 55.714208) (xy 150.316481 55.701307) - (xy 150.316482 55.701305) (xy 150.324716 55.696087) (xy 150.3318 55.690839) (xy 150.331803 55.690838) - (xy 150.356474 55.663647) (xy 150.362725 55.657242) (xy 150.388654 55.632537) (xy 150.388656 55.63253) - (xy 150.394245 55.624588) (xy 150.398792 55.617012) (xy 150.398794 55.617011) (xy 150.411162 55.582506) - (xy 150.414502 55.574159) (xy 150.416041 55.570685) (xy 150.429016 55.541382) (xy 150.431118 55.532001) - (xy 150.432433 55.523171) (xy 150.432435 55.523167) (xy 150.430662 55.48667) (xy 150.430553 55.477706) - (xy 150.431423 55.44172) (xy 150.423989 55.398979) (xy 150.423985 55.398959) (xy 150.421184 55.385129) - (xy 150.411356 55.342691) (xy 150.405919 55.322881) (xy 150.403104 55.314035) (xy 150.379254 55.239074) - (xy 150.370146 55.21479) (xy 150.339834 55.144971) (xy 151.629692 55.144971) (xy 151.98466 55.499939) - (xy 152.339628 55.144971) (xy 151.98466 54.790003) (xy 151.629692 55.144971) (xy 150.339834 55.144971) - (xy 150.334346 55.132331) (xy 150.323814 55.110878) (xy 150.317647 55.099674) (xy 150.279153 55.029738) - (xy 150.279144 55.029723) (xy 150.267879 55.011169) (xy 150.267165 55.010099) (xy 150.214606 54.931285) - (xy 150.203179 54.915491) (xy 150.203174 54.915484) (xy 150.141557 54.836822) (xy 150.134134 54.827983) - (xy 150.130374 54.823505) (xy 150.077214 54.764409) (xy 150.060682 54.746031) (xy 150.052994 54.737987) - (xy 150.050026 54.734881) (xy 150.050006 54.734861) (xy 149.972504 54.658535) (xy 149.962491 54.649189) - (xy 149.877445 54.573973) (xy 149.870608 54.56821) (xy 149.868172 54.566156) (xy 149.775845 54.492009) - (xy 149.767319 54.485453) (xy 149.767301 54.485439) (xy 149.70266 54.437864) (xy 150.922586 54.437864) - (xy 151.277554 54.792832) (xy 151.632522 54.437864) (xy 152.336799 54.437864) (xy 152.691767 54.792832) - (xy 153.046735 54.437864) (xy 152.810223 54.201352) (xy 153.987524 54.201352) (xy 154.168151 54.145066) - (xy 154.105981 54.082896) (xy 153.987524 54.201352) (xy 152.810223 54.201352) (xy 152.691767 54.082896) - (xy 152.336799 54.437864) (xy 151.632522 54.437864) (xy 151.277554 54.082896) (xy 150.922586 54.437864) - (xy 149.70266 54.437864) (xy 149.669006 54.413095) (xy 149.667945 54.412314) (xy 149.660133 54.406787) - (xy 149.554096 54.334701) (xy 149.552999 54.333982) (xy 149.546954 54.330018) (xy 149.546942 54.33001) - (xy 149.434361 54.258837) (xy 149.427929 54.254903) (xy 149.345091 54.205913) (xy 149.297407 54.154844) - (xy 149.284904 54.086102) (xy 149.290058 54.061554) (xy 149.293041 54.05219) (xy 149.29406 54.048675) - (xy 149.296731 54.039467) (xy 149.297637 54.036011) (xy 149.311946 53.981412) (xy 149.315067 53.96805) - (xy 149.32696 53.910152) (xy 149.329413 53.896283) (xy 149.337995 53.838509) (xy 149.339708 53.824223) - (xy 149.344977 53.766573) (xy 149.345889 53.752009) (xy 149.346612 53.730757) (xy 150.215478 53.730757) + (xy 144.983879 57.688716) (xy 144.69323 57.859256) (xy 144.691058 57.860501) (xy 144.675481 57.869223) + (xy 144.673286 57.870423) (xy 144.648219 57.883801) (xy 144.558623 57.973397) (xy 143.36297 57.973397) + (xy 143.570966 57.879854) (xy 143.577826 57.876646) (xy 143.865364 57.736942) (xy 143.874014 57.732534) + (xy 144.435465 57.432863) (xy 144.444458 57.427827) (xy 144.450938 57.424025) (xy 145.423465 57.424025) + (xy 145.620699 57.621259) (xy 145.975667 57.266291) (xy 146.679944 57.266291) (xy 147.034913 57.621259) + (xy 147.389881 57.266291) (xy 148.094157 57.266291) (xy 148.449126 57.621259) (xy 148.804094 57.266291) + (xy 149.508371 57.266291) (xy 149.86334 57.621259) (xy 150.218308 57.266291) (xy 150.922585 57.266291) + (xy 151.277554 57.621259) (xy 151.632522 57.266291) (xy 151.516231 57.15) (xy 152.334747 57.15) + (xy 152.353741 57.464023) (xy 152.353741 57.464028) (xy 152.353742 57.464029) (xy 152.410451 57.773478) + (xy 152.410452 57.773482) (xy 152.410453 57.773486) (xy 152.504039 58.073816) (xy 152.504043 58.073827) + (xy 152.504044 58.07383) (xy 152.504046 58.073835) (xy 152.633163 58.360721) (xy 152.793861 58.626547) + (xy 152.795924 58.62996) (xy 152.989942 58.877605) (xy 153.212394 59.100057) (xy 153.460039 59.294075) + (xy 153.460044 59.294078) (xy 153.460048 59.294081) (xy 153.729279 59.456837) (xy 154.016165 59.585954) + (xy 154.016175 59.585957) (xy 154.016183 59.58596) (xy 154.138817 59.624174) (xy 154.316522 59.679549) + (xy 154.625971 59.736258) (xy 154.94 59.755253) (xy 155.254029 59.736258) (xy 155.563478 59.679549) + (xy 155.863835 59.585954) (xy 156.150721 59.456837) (xy 156.265233 59.387612) (xy 157.286547 59.387612) + (xy 157.641515 59.74258) (xy 157.996483 59.387612) (xy 157.641515 59.032644) (xy 157.286547 59.387612) + (xy 156.265233 59.387612) (xy 156.419952 59.294081) (xy 156.423593 59.291229) (xy 156.59442 59.157394) + (xy 156.667602 59.10006) (xy 156.89006 58.877602) (xy 157.027474 58.702205) (xy 157.044475 58.680505) + (xy 157.993653 58.680505) (xy 158.348621 59.035473) (xy 158.703589 58.680505) (xy 158.348621 58.325536) + (xy 157.993653 58.680505) (xy 157.044475 58.680505) (xy 157.084075 58.62996) (xy 157.084075 58.629958) + (xy 157.084081 58.629952) (xy 157.246837 58.360721) (xy 157.375954 58.073835) (xy 157.378454 58.065814) + (xy 157.39117 58.025005) (xy 157.469549 57.773478) (xy 157.526258 57.464029) (xy 157.535739 57.307287) + (xy 158.034649 57.307287) (xy 158.348621 57.621259) (xy 158.703589 57.266291) (xy 158.34862 56.911322) + (xy 158.039927 57.220015) (xy 158.034649 57.307287) (xy 157.535739 57.307287) (xy 157.545253 57.15) + (xy 157.526258 56.835971) (xy 157.469549 56.526522) (xy 157.429011 56.396431) (xy 157.37596 56.226183) + (xy 157.375956 56.226172) (xy 157.375954 56.226165) (xy 157.246837 55.939279) (xy 157.084081 55.670048) + (xy 157.084078 55.670044) (xy 157.084075 55.670039) (xy 156.890057 55.422394) (xy 156.667605 55.199942) + (xy 156.41996 55.005924) (xy 156.419952 55.005919) (xy 156.150721 54.843163) (xy 155.863835 54.714046) + (xy 155.86383 54.714044) (xy 155.863827 54.714043) (xy 155.863816 54.714039) (xy 155.563486 54.620453) + (xy 155.563482 54.620452) (xy 155.563478 54.620451) (xy 155.254029 54.563742) (xy 155.254028 54.563741) + (xy 155.254023 54.563741) (xy 154.94 54.544747) (xy 154.625976 54.563741) (xy 154.625971 54.563742) + (xy 154.316522 54.620451) (xy 154.316519 54.620451) (xy 154.316513 54.620453) (xy 154.016183 54.714039) + (xy 154.016172 54.714043) (xy 154.016166 54.714045) (xy 154.016165 54.714046) (xy 153.936994 54.749678) + (xy 153.73325 54.841376) (xy 153.729279 54.843163) (xy 153.683868 54.870615) (xy 153.460039 55.005924) + (xy 153.212394 55.199942) (xy 152.989942 55.422394) (xy 152.795924 55.670039) (xy 152.700035 55.828659) + (xy 152.633429 55.93884) (xy 152.633162 55.939281) (xy 152.633161 55.939283) (xy 152.589737 56.035768) + (xy 152.512344 56.207729) (xy 152.504043 56.226172) (xy 152.504039 56.226183) (xy 152.410453 56.526513) + (xy 152.410451 56.526519) (xy 152.410451 56.526522) (xy 152.370439 56.744861) (xy 152.353741 56.835976) + (xy 152.334747 57.15) (xy 151.516231 57.15) (xy 151.277554 56.911323) (xy 150.922585 57.266291) + (xy 150.218308 57.266291) (xy 149.86334 56.911323) (xy 149.508371 57.266291) (xy 148.804094 57.266291) + (xy 148.449126 56.911322) (xy 148.094157 57.266291) (xy 147.389881 57.266291) (xy 147.034913 56.911323) + (xy 146.679944 57.266291) (xy 145.975667 57.266291) (xy 145.859115 57.149739) (xy 145.791574 57.193695) + (xy 145.790625 57.194306) (xy 145.783903 57.198594) (xy 145.782968 57.199185) (xy 145.423465 57.424025) + (xy 144.450938 57.424025) (xy 144.987369 57.109274) (xy 144.99355 57.105529) (xy 145.366792 56.872094) + (xy 146.285747 56.872094) (xy 146.327806 56.914153) (xy 146.526617 56.715341) (xy 146.285747 56.872094) + (xy 145.366792 56.872094) (xy 145.517476 56.777852) (xy 145.517494 56.77784) (xy 145.517522 56.777823) + (xy 145.521307 56.775408) (xy 145.521314 56.775402) (xy 145.521357 56.775376) (xy 145.853559 56.559185) + (xy 147.387052 56.559185) (xy 147.74202 56.914153) (xy 148.096988 56.559185) (xy 148.801265 56.559185) + (xy 149.156233 56.914153) (xy 149.511201 56.559185) (xy 150.215479 56.559185) (xy 150.570447 56.914153) + (xy 150.925415 56.559185) (xy 151.629692 56.559185) (xy 151.858034 56.787527) (xy 151.858072 56.787112) + (xy 151.85847 56.783374) (xy 151.860286 56.768438) (xy 151.860789 56.764757) (xy 151.861923 56.757302) + (xy 151.862544 56.753597) (xy 151.921964 56.429358) (xy 151.922695 56.425685) (xy 151.924279 56.418306) + (xy 151.925119 56.414662) (xy 151.928719 56.400053) (xy 151.92967 56.396431) (xy 151.931699 56.389151) + (xy 151.932761 56.385552) (xy 151.988172 56.207729) (xy 151.98466 56.204217) (xy 151.629692 56.559185) + (xy 150.925415 56.559185) (xy 150.570447 56.204217) (xy 150.215479 56.559185) (xy 149.511201 56.559185) + (xy 149.156233 56.204217) (xy 148.801265 56.559185) (xy 148.096988 56.559185) (xy 147.74202 56.204217) + (xy 147.387052 56.559185) (xy 145.853559 56.559185) (xy 146.509187 56.132515) (xy 146.509893 56.13206) + (xy 146.948325 55.852077) (xy 148.094157 55.852077) (xy 148.449126 56.207046) (xy 148.804094 55.852078) + (xy 150.922586 55.852078) (xy 151.277554 56.207046) (xy 151.632522 55.852078) (xy 151.277554 55.49711) + (xy 150.922586 55.852078) (xy 148.804094 55.852078) (xy 148.546859 55.594843) (xy 148.51821 55.6027) + (xy 148.370763 55.65426) (xy 148.236131 55.710103) (xy 148.094157 55.852077) (xy 146.948325 55.852077) + (xy 146.968644 55.839101) (xy 146.971408 55.837388) (xy 147.402721 55.578141) (xy 147.407848 55.575224) + (xy 147.813277 55.357376) (xy 147.819103 55.354443) (xy 148.005079 55.266946) (xy 148.010331 55.264623) + (xy 148.189795 55.190184) (xy 148.196349 55.187681) (xy 148.365986 55.128363) (xy 148.374061 55.125847) + (xy 148.532893 55.082287) (xy 148.542825 55.079998) (xy 148.690136 55.052378) (xy 148.702085 55.050735) + (xy 148.837471 55.038793) (xy 148.851428 55.038353) (xy 148.975173 55.041441) (xy 148.990889 55.042838) + (xy 149.104514 55.060289) (xy 149.121263 55.064064) (xy 149.224411 55.094958) (xy 149.227507 55.095885) + (xy 149.244205 55.10223) (xy 149.346524 55.149799) (xy 149.361999 55.158386) (xy 149.463609 55.224671) + (xy 149.476973 55.234736) (xy 149.57973 55.323605) (xy 149.590597 55.334235) (xy 149.639762 55.388615) + (xy 149.673396 55.425817) (xy 149.694906 55.449608) (xy 149.703347 55.460025) (xy 149.818867 55.619502) + (xy 149.818871 55.619506) (xy 149.826435 55.626967) (xy 149.842457 55.646352) (xy 149.845118 55.650335) + (xy 149.845121 55.650338) (xy 149.850858 55.654171) (xy 149.86904 55.668988) (xy 149.870115 55.670048) + (xy 149.878767 55.678582) (xy 149.878771 55.678585) (xy 149.894535 55.685563) (xy 149.913232 55.695847) + (xy 149.92801 55.705722) (xy 149.936458 55.707402) (xy 149.962457 55.715631) (xy 149.969927 55.718938) + (xy 149.98712 55.719351) (xy 150.008322 55.721697) (xy 150.025786 55.725171) (xy 150.025787 55.725171) + (xy 150.025812 55.725171) (xy 150.043924 55.724528) (xy 150.04393 55.724526) (xy 150.051031 55.723443) + (xy 150.051172 55.724369) (xy 150.057581 55.723584) (xy 150.057555 55.72343) (xy 150.069583 55.721335) + (xy 150.069589 55.721336) (xy 150.097842 55.710421) (xy 150.109769 55.706495) (xy 150.140075 55.698197) + (xy 150.14008 55.698192) (xy 150.150997 55.692735) (xy 150.15104 55.692822) (xy 150.152349 55.692083) + (xy 150.152267 55.691953) (xy 150.16258 55.685415) (xy 150.162581 55.685413) (xy 150.162583 55.685413) + (xy 150.184518 55.664507) (xy 150.194027 55.656323) (xy 150.21883 55.637075) (xy 150.218832 55.637071) + (xy 150.226832 55.627848) (xy 150.226906 55.627912) (xy 150.227845 55.626712) (xy 150.227723 55.626626) + (xy 150.234748 55.61664) (xy 150.234748 55.616638) (xy 150.23475 55.616637) (xy 150.247047 55.588856) + (xy 150.252696 55.577665) (xy 150.268201 55.550467) (xy 150.268202 55.550463) (xy 150.272064 55.538878) + (xy 150.272162 55.53891) (xy 150.272574 55.537429) (xy 150.272435 55.537398) (xy 150.275105 55.525481) + (xy 150.275719 55.499939) (xy 150.275839 55.49495) (xy 150.276773 55.482454) (xy 150.280669 55.451559) + (xy 150.280667 55.451554) (xy 150.279803 55.439378) (xy 150.279917 55.439369) (xy 150.278995 55.431813) + (xy 150.277954 55.431891) (xy 150.277503 55.425817) (xy 150.276908 55.422398) (xy 150.270061 55.38305) + (xy 150.267254 55.369197) (xy 150.257429 55.326781) (xy 150.257081 55.325514) (xy 150.251991 55.306966) + (xy 150.247678 55.293414) (xy 150.22532 55.223157) (xy 150.216212 55.198878) (xy 150.18041 55.116423) + (xy 150.169876 55.094968) (xy 150.169875 55.094966) (xy 150.169871 55.094958) (xy 150.125202 55.013815) + (xy 150.11394 54.995269) (xy 150.06066 54.915379) (xy 150.049242 54.899597) (xy 150.027276 54.871556) + (xy 149.987616 54.820928) (xy 149.976433 54.807612) (xy 149.960631 54.790046) (xy 150.57049 54.790046) + (xy 150.608251 54.85864) (xy 150.609625 54.861207) (xy 150.613666 54.868974) (xy 150.614971 54.871556) + (xy 150.629375 54.900893) (xy 150.630637 54.90354) (xy 150.634305 54.91148) (xy 150.635477 54.914096) + (xy 150.674893 55.004873) (xy 150.676102 55.007757) (xy 150.67966 55.016552) (xy 150.680809 55.019499) + (xy 150.693267 55.052706) (xy 150.694347 55.055701) (xy 150.697454 55.064677) (xy 150.698436 55.067634) + (xy 150.72882 55.163108) (xy 150.730237 55.167891) (xy 150.739663 55.202233) (xy 150.740887 55.207074) + (xy 150.753579 55.26187) (xy 150.754308 55.265227) (xy 150.759169 55.289219) (xy 150.759802 55.292582) + (xy 150.76247 55.307915) (xy 150.925413 55.144971) (xy 151.629692 55.144971) (xy 151.98466 55.499939) + (xy 152.339628 55.144971) (xy 151.98466 54.790003) (xy 151.629692 55.144971) (xy 150.925413 55.144971) + (xy 150.925414 55.14497) (xy 150.57049 54.790046) (xy 149.960631 54.790046) (xy 149.906742 54.730141) + (xy 149.906727 54.730125) (xy 149.896073 54.718978) (xy 149.818568 54.642653) (xy 149.814954 54.63928) + (xy 149.808554 54.633307) (xy 149.764299 54.594167) (xy 149.764267 54.594138) (xy 149.723509 54.558093) + (xy 149.714235 54.550276) (xy 149.714227 54.550269) (xy 149.621903 54.476126) (xy 149.619342 54.474157) + (xy 149.613397 54.469584) (xy 149.61338 54.469572) (xy 149.613369 54.469563) (xy 149.570299 54.437864) + (xy 150.922586 54.437864) (xy 151.277554 54.792832) (xy 151.632522 54.437864) (xy 152.336799 54.437864) + (xy 152.691767 54.792832) (xy 153.046735 54.437864) (xy 152.810223 54.201352) (xy 153.987524 54.201352) + (xy 154.168151 54.145066) (xy 154.105981 54.082896) (xy 153.987524 54.201352) (xy 152.810223 54.201352) + (xy 152.691767 54.082896) (xy 152.336799 54.437864) (xy 151.632522 54.437864) (xy 151.277554 54.082896) + (xy 150.922586 54.437864) (xy 149.570299 54.437864) (xy 149.514032 54.396452) (xy 149.508944 54.392852) + (xy 149.506243 54.390941) (xy 149.499003 54.386019) (xy 149.400141 54.318811) (xy 149.393027 54.314146) + (xy 149.280458 54.242981) (xy 149.280456 54.24298) (xy 149.28042 54.242957) (xy 149.274005 54.239034) + (xy 149.191181 54.190052) (xy 149.143497 54.138983) (xy 149.130994 54.070241) (xy 149.136149 54.045695) + (xy 149.139131 54.036333) (xy 149.142833 54.023572) (xy 149.158039 53.965549) (xy 149.161159 53.952191) + (xy 149.173053 53.894292) (xy 149.175505 53.880424) (xy 149.184088 53.822649) (xy 149.185801 53.808363) + (xy 149.191071 53.750713) (xy 149.191984 53.73615) (xy 149.192168 53.730757) (xy 150.215478 53.730757) (xy 150.570447 54.085726) (xy 150.925415 53.730757) (xy 151.629691 53.730757) (xy 151.98466 54.085726) (xy 152.339628 53.730757) (xy 153.043905 53.730757) (xy 153.398874 54.085726) (xy 153.753842 53.730757) (xy 154.458119 53.730757) (xy 154.782711 54.055349) (xy 154.847374 54.051438) (xy 155.168055 53.730757) (xy 154.813087 53.375789) (xy 154.458119 53.730757) (xy 153.753842 53.730757) (xy 153.398874 53.375789) (xy 153.043905 53.730757) (xy 152.339628 53.730757) (xy 151.98466 53.375789) (xy 151.629691 53.730757) - (xy 150.925415 53.730757) (xy 150.570447 53.375789) (xy 150.215478 53.730757) (xy 149.346612 53.730757) - (xy 149.347847 53.694483) (xy 149.347847 53.694478) (xy 149.347848 53.69445) (xy 149.347924 53.679759) - (xy 149.347284 53.652627) (xy 149.34657 53.622365) (xy 149.345797 53.607645) (xy 149.345796 53.607635) - (xy 149.345795 53.607612) (xy 149.341133 53.550389) (xy 149.340756 53.546977) (xy 149.339522 53.53579) - (xy 149.339521 53.535789) (xy 149.33952 53.535772) (xy 149.3346 53.500527) (xy 149.331544 53.478636) - (xy 149.329297 53.465311) (xy 149.329134 53.464344) (xy 149.322102 53.428823) (xy 149.32731 53.371212) - (xy 149.870746 53.371212) (xy 150.218308 53.023651) (xy 150.922586 53.023651) (xy 151.277554 53.378619) + (xy 150.925415 53.730757) (xy 150.570447 53.375789) (xy 150.215478 53.730757) (xy 149.192168 53.730757) + (xy 149.193943 53.678623) (xy 149.19402 53.663906) (xy 149.192667 53.606504) (xy 149.191895 53.591785) + (xy 149.18723 53.534506) (xy 149.18562 53.519924) (xy 149.185619 53.519923) (xy 149.185618 53.519906) + (xy 149.178513 53.469012) (xy 149.177642 53.46277) (xy 149.175232 53.44848) (xy 149.168199 53.41295) + (xy 149.174492 53.343365) (xy 149.181856 53.327917) (xy 149.18381 53.324455) (xy 149.187859 53.316995) + (xy 149.20398 53.286074) (xy 149.208037 53.277942) (xy 149.21493 53.263488) (xy 149.748209 53.263488) + (xy 149.86334 53.378619) (xy 150.218308 53.023651) (xy 150.922586 53.023651) (xy 151.277554 53.378619) (xy 151.632522 53.023651) (xy 152.336799 53.023651) (xy 152.691767 53.378619) (xy 153.046735 53.023651) (xy 153.751013 53.023651) (xy 154.105981 53.378619) (xy 154.460949 53.023651) (xy 154.105981 52.668683) (xy 153.751013 53.023651) (xy 153.046735 53.023651) (xy 152.691767 52.668683) (xy 152.336799 53.023651) (xy 151.632522 53.023651) (xy 151.277554 52.668683) (xy 150.922586 53.023651) (xy 150.218308 53.023651) - (xy 149.946894 52.752237) (xy 149.951429 52.788911) (xy 149.951854 52.792867) (xy 149.954437 52.821198) - (xy 149.954735 52.82518) (xy 149.956938 52.862652) (xy 149.957105 52.866518) (xy 149.957864 52.894102) - (xy 149.95791 52.897965) (xy 149.957773 52.935513) (xy 149.957704 52.939233) (xy 149.956809 52.965822) - (xy 149.956627 52.969553) (xy 149.954227 53.007133) (xy 149.953949 53.010682) (xy 149.951598 53.036029) - (xy 149.951217 53.039582) (xy 149.946645 53.077088) (xy 149.946187 53.080456) (xy 149.942595 53.104431) - (xy 149.942047 53.107779) (xy 149.935397 53.145156) (xy 149.934792 53.148315) (xy 149.930182 53.170824) - (xy 149.929495 53.173971) (xy 149.920856 53.211203) (xy 149.920132 53.214158) (xy 149.914715 53.235151) - (xy 149.913921 53.238079) (xy 149.903379 53.275159) (xy 149.902562 53.277912) (xy 149.896527 53.297411) - (xy 149.895654 53.300121) (xy 149.88329 53.337045) (xy 149.88241 53.339581) (xy 149.875931 53.357623) - (xy 149.874994 53.360145) (xy 149.870746 53.371212) (xy 149.32731 53.371212) (xy 149.328392 53.359237) - (xy 149.335758 53.343786) (xy 149.3377 53.340345) (xy 149.337708 53.340331) (xy 149.341762 53.332859) - (xy 149.357883 53.301937) (xy 149.361936 53.293814) (xy 149.376455 53.263373) (xy 149.38047 53.254527) - (xy 149.393386 53.224566) (xy 149.397294 53.214969) (xy 149.408608 53.18549) (xy 149.412349 53.175073) - (xy 149.42206 53.146074) (xy 149.425484 53.135008) (xy 149.425538 53.134834) (xy 149.426925 53.129958) - (xy 149.433652 53.106296) (xy 149.436779 53.094176) (xy 149.443285 53.066138) (xy 149.445947 53.053142) - (xy 149.45085 53.025585) (xy 149.452924 53.011742) (xy 149.456224 52.984667) (xy 149.457582 52.970033) - (xy 149.45928 52.943437) (xy 149.459797 52.928087) (xy 149.459892 52.901973) (xy 149.459454 52.886049) - (xy 149.459427 52.885598) (xy 149.459074 52.879585) (xy 149.457947 52.860415) (xy 149.456456 52.844058) - (xy 149.453346 52.818905) (xy 149.453344 52.818891) (xy 149.450745 52.802348) (xy 149.450131 52.799134) - (xy 149.446029 52.777654) (xy 149.445796 52.776624) (xy 149.442284 52.761067) (xy 149.442281 52.761053) - (xy 149.435966 52.736861) (xy 149.435599 52.735627) (xy 149.433284 52.727833) (xy 149.431094 52.720462) - (xy 149.423176 52.696752) (xy 149.420858 52.690511) (xy 149.417251 52.680797) (xy 149.407727 52.657559) - (xy 149.400851 52.642239) (xy 149.400844 52.642223) (xy 149.389721 52.619474) (xy 149.382892 52.606578) - (xy 149.368915 52.538124) (xy 149.388846 52.480456) (xy 149.395142 52.470874) (xy 149.398267 52.466118) - (xy 149.404445 52.456232) (xy 149.430461 52.412404) (xy 149.436334 52.401959) (xy 149.459689 52.358045) - (xy 149.465188 52.34708) (xy 149.479593 52.316544) (xy 150.215479 52.316544) (xy 150.570447 52.671512) - (xy 150.925415 52.316544) (xy 151.629692 52.316544) (xy 151.98466 52.671512) (xy 152.339628 52.316544) - (xy 153.043906 52.316544) (xy 153.398874 52.671512) (xy 153.753842 52.316544) (xy 153.398874 51.961576) - (xy 153.043906 52.316544) (xy 152.339628 52.316544) (xy 151.98466 51.961576) (xy 151.629692 52.316544) - (xy 150.925415 52.316544) (xy 150.570447 51.961576) (xy 150.215479 52.316544) (xy 149.479593 52.316544) - (xy 149.485945 52.303078) (xy 149.490993 52.291661) (xy 149.509215 52.247571) (xy 149.513748 52.235787) - (xy 149.529499 52.19161) (xy 149.533467 52.179538) (xy 149.546809 52.135273) (xy 149.550171 52.123028) - (xy 149.561168 52.078676) (xy 149.563903 52.066349) (xy 149.572617 52.021908) (xy 149.574715 52.009629) - (xy 149.581211 51.965101) (xy 149.582687 51.952949) (xy 149.587026 51.908333) (xy 149.587904 51.896422) - (xy 149.59015 51.851717) (xy 149.590469 51.840129) (xy 149.590685 51.795337) (xy 149.590494 51.784144) - (xy 149.588743 51.739263) (xy 149.588199 51.729813) (xy 149.585332 51.692184) (xy 149.584554 51.683803) - (xy 149.582038 51.66081) (xy 149.580635 51.647986) (xy 149.579517 51.639189) (xy 149.579514 51.639167) - (xy 149.574571 51.60502) (xy 149.573072 51.595841) (xy 149.567135 51.563245) (xy 149.565231 51.553807) - (xy 149.558331 51.522636) (xy 149.556015 51.513051) (xy 149.548182 51.483179) (xy 149.545465 51.473586) - (xy 149.543834 51.468229) (xy 149.541453 51.460405) (xy 149.536729 51.444885) (xy 149.535649 51.441569) - (xy 150.05044 51.441569) (xy 150.052219 51.449602) (xy 150.052701 51.451881) (xy 150.055999 51.468229) - (xy 150.056441 51.47053) (xy 150.063624 51.509966) (xy 150.06401 51.5122) (xy 150.066606 51.528096) - (xy 150.066948 51.530318) (xy 150.072841 51.571029) (xy 150.073129 51.573151) (xy 150.07507 51.588415) - (xy 150.075325 51.59057) (xy 150.079933 51.632686) (xy 150.080138 51.634707) (xy 150.081486 51.649223) - (xy 150.081659 51.651269) (xy 150.085024 51.695438) (xy 150.085177 51.697732) (xy 150.086119 51.714097) - (xy 150.08623 51.716389) (xy 150.087173 51.740571) (xy 150.218306 51.609437) (xy 150.922586 51.609437) - (xy 151.277554 51.964405) (xy 151.632522 51.609437) (xy 152.336799 51.609437) (xy 152.691767 51.964405) - (xy 153.046735 51.609437) (xy 152.691767 51.254469) (xy 152.336799 51.609437) (xy 151.632522 51.609437) - (xy 151.277554 51.254469) (xy 150.922586 51.609437) (xy 150.218306 51.609437) (xy 150.218307 51.609436) - (xy 150.05044 51.441569) (xy 149.535649 51.441569) (xy 149.533646 51.435423) (xy 149.524037 51.407769) - (xy 149.520654 51.398602) (xy 149.510202 51.371866) (xy 149.508604 51.367991) (xy 149.506603 51.363138) - (xy 149.500462 51.348996) (xy 149.495337 51.337192) (xy 149.489791 51.325268) (xy 149.464944 51.275258) - (xy 149.457758 51.261817) (xy 149.430022 51.213462) (xy 149.423899 51.203338) (xy 149.393514 51.155628) - (xy 149.387329 51.146367) (xy 149.379861 51.135698) (xy 149.357549 51.069489) (xy 149.374573 51.001725) - (xy 149.403773 50.967943) (xy 149.406248 50.965954) (xy 149.415208 50.958753) (xy 149.446113 50.90233) - (xy 150.215479 50.90233) (xy 150.570447 51.257298) (xy 150.925415 50.90233) (xy 151.629692 50.90233) - (xy 151.98466 51.257298) (xy 152.339628 50.90233) (xy 151.98466 50.547362) (xy 151.629692 50.90233) - (xy 150.925415 50.90233) (xy 150.570447 50.547362) (xy 150.215479 50.90233) (xy 149.446113 50.90233) - (xy 149.463099 50.871318) (xy 149.473885 50.772212) (xy 149.473884 50.772208) (xy 149.445924 50.676525) - (xy 149.445921 50.67652) (xy 149.383469 50.598815) (xy 149.383467 50.598813) (xy 149.309841 50.53712) - (xy 149.304565 50.532438) (xy 149.244408 50.475907) (xy 149.238923 50.470419) (xy 149.236643 50.467991) - (xy 149.184825 50.412798) (xy 149.179252 50.406442) (xy 149.177718 50.404567) (xy 149.131121 50.34761) - (xy 149.125627 50.340366) (xy 149.083299 50.28009) (xy 149.078056 50.271967) (xy 149.073042 50.263492) - (xy 149.041327 50.209883) (xy 149.036539 50.20098) (xy 149.021467 50.169983) (xy 149.005166 50.13646) - (xy 149.001013 50.126917) (xy 148.996465 50.115141) (xy 149.588453 50.115141) (xy 149.593968 50.121015) - (xy 149.637847 50.162248) (xy 149.712693 50.224963) (xy 149.717265 50.22899) (xy 149.726279 50.23733) - (xy 149.730644 50.241571) (xy 149.74776 50.259042) (xy 149.75191 50.263492) (xy 149.760055 50.272666) - (xy 149.763981 50.277312) (xy 149.849438 50.38364) (xy 149.856587 50.393489) (xy 149.870025 50.414053) - (xy 149.876173 50.424553) (xy 149.898823 50.467991) (xy 149.903914 50.479045) (xy 149.912684 50.500847) - (xy 150.218308 50.195224) (xy 150.922586 50.195224) (xy 151.277554 50.550192) (xy 151.632522 50.195224) - (xy 151.277554 49.840256) (xy 150.922586 50.195224) (xy 150.218308 50.195224) (xy 149.863339 49.840255) - (xy 149.588453 50.115141) (xy 148.996465 50.115141) (xy 148.993879 50.108445) (xy 148.981524 50.076452) - (xy 148.97485 50.059169) (xy 148.97148 50.049205) (xy 148.950526 49.977306) (xy 148.948031 49.967169) - (xy 148.932478 49.89009) (xy 148.930874 49.880012) (xy 148.929716 49.870126) (xy 148.921126 49.796822) - (xy 148.920372 49.78705) (xy 148.917006 49.696805) (xy 148.917008 49.687529) (xy 148.920726 49.589546) - (xy 148.921365 49.580844) (xy 148.931457 49.488117) (xy 150.215479 49.488117) (xy 150.570447 49.843085) - (xy 150.925415 49.488117) (xy 150.570447 49.133149) (xy 150.215479 49.488117) (xy 148.931457 49.488117) - (xy 148.932928 49.474601) (xy 148.934064 49.466603) (xy 148.954251 49.351641) (xy 148.955759 49.34435) - (xy 148.987734 49.210262) (xy 148.994439 49.13942) (xy 148.97058 49.042626) (xy 148.960129 49.028423) - (xy 148.911499 48.962335) (xy 148.911497 48.962334) (xy 148.911495 48.962331) (xy 148.896871 48.948977) - (xy 148.891111 48.943361) (xy 148.884116 48.936085) (xy 148.87953 48.931045) (xy 148.870039 48.920019) - (xy 148.866445 48.915645) (xy 148.856963 48.90355) (xy 148.856573 48.903053) (xy 148.852748 48.897904) - (xy 148.822155 48.854417) (xy 148.819111 48.84988) (xy 148.785214 48.796864) (xy 148.784182 48.795223) - (xy 148.775404 48.78101) (xy 149.508372 48.78101) (xy 149.86334 49.135978) (xy 150.218308 48.78101) - (xy 149.86334 48.426042) (xy 149.508372 48.78101) (xy 148.775404 48.78101) (xy 148.765475 48.764932) - (xy 148.704638 48.66642) (xy 148.70055 48.660016) (xy 148.657297 48.594424) (xy 148.650076 48.584042) - (xy 148.650065 48.584026) (xy 148.603582 48.520605) (xy 148.595515 48.510173) (xy 148.579675 48.490746) - (xy 148.570718 48.47976) (xy 148.563716 48.471532) (xy 148.547248 48.452993) (xy 148.537684 48.442225) - (xy 148.529302 48.433237) (xy 148.529297 48.433232) (xy 148.529271 48.433204) (xy 148.501897 48.405235) - (xy 148.491908 48.39557) (xy 148.471559 48.376924) (xy 148.463042 48.36912) (xy 148.458732 48.365404) - (xy 148.451385 48.359068) (xy 148.43723 48.347587) (xy 148.420901 48.334342) (xy 148.407516 48.324198) - (xy 148.407511 48.324194) (xy 148.37527 48.301386) (xy 148.360163 48.291481) (xy 148.326028 48.270788) - (xy 148.326026 48.270787) (xy 148.326018 48.270782) (xy 148.309364 48.261518) (xy 148.273178 48.243125) - (xy 148.262014 48.237986) (xy 148.255167 48.234835) (xy 148.21684 48.218964) (xy 148.197857 48.21197) - (xy 148.197853 48.211968) (xy 148.197843 48.211965) (xy 148.157236 48.198805) (xy 148.137676 48.193315) - (xy 148.094646 48.183061) (xy 148.075023 48.179189) (xy 148.069301 48.178291) (xy 148.029387 48.172027) - (xy 148.029369 48.172024) (xy 148.027063 48.171663) (xy 148.027186 48.170873) (xy 147.966035 48.1437) - (xy 147.935393 48.10467) (xy 147.925179 48.084268) (xy 147.913272 48.063069) (xy 147.897158 48.037329) - (xy 148.837838 48.037329) (xy 148.851842 48.050878) (xy 148.85424 48.053263) (xy 148.888335 48.0881) - (xy 148.8904 48.090261) (xy 148.904992 48.105908) (xy 148.907015 48.108131) (xy 148.93868 48.14378) - (xy 148.940409 48.145769) (xy 148.952533 48.160017) (xy 148.9542 48.162017) (xy 148.984532 48.199218) - (xy 148.986519 48.201721) (xy 149.000469 48.21976) (xy 149.002392 48.222314) (xy 149.054485 48.29339) - (xy 149.056271 48.295891) (xy 149.068778 48.313874) (xy 149.070497 48.316412) (xy 149.117822 48.388179) - (xy 149.118823 48.389721) (xy 149.121894 48.394532) (xy 149.156233 48.428871) (xy 149.511201 48.073903) - (xy 149.156232 47.718934) (xy 148.837838 48.037329) (xy 147.897158 48.037329) (xy 147.830659 47.931108) - (xy 147.815768 47.909813) (xy 147.801549 47.891533) (xy 147.708896 47.77242) (xy 147.694752 47.755758) - (xy 147.566184 47.616802) (xy 147.552161 47.602779) (xy 147.54464 47.595821) (xy 147.404458 47.466127) - (xy 147.40335 47.465177) (xy 147.389859 47.453607) (xy 147.353149 47.424451) (xy 147.280556 47.366796) - (xy 148.094157 47.366796) (xy 148.449126 47.721764) (xy 148.804094 47.366796) (xy 148.449126 47.011827) - (xy 148.094157 47.366796) (xy 147.280556 47.366796) (xy 147.225591 47.323141) (xy 147.224115 47.322059) - (xy 147.209684 47.311478) (xy 147.031455 47.191098) (xy 147.013481 47.18001) (xy 146.823826 47.073567) - (xy 146.808577 47.065671) (xy 146.71024 47.018874) (xy 146.69894 47.013829) (xy 146.698921 47.013821) - (xy 146.598718 46.971976) (xy 146.586349 46.967184) (xy 146.539306 46.950349) (xy 146.484583 46.930765) - (xy 146.471034 46.926338) (xy 146.368025 46.89583) (xy 146.353212 46.891922) (xy 146.249255 46.867801) - (xy 146.233117 46.864602) (xy 146.2331 46.864599) (xy 146.233089 46.864597) (xy 146.128532 46.847355) - (xy 146.128514 46.847352) (xy 146.110936 46.845077) (xy 146.006094 46.835197) (xy 145.987076 46.834118) - (xy 145.882255 46.832085) (xy 145.861933 46.8325) (xy 145.7575 46.838797) (xy 145.736026 46.841005) - (xy 145.632261 46.856119) (xy 145.610058 46.860365) (xy 145.61005 46.860366) (xy 145.610039 46.860369) - (xy 145.507267 46.884784) (xy 145.507258 46.884786) (xy 145.507252 46.884788) (xy 145.484701 46.891253) - (xy 145.383265 46.925447) (xy 145.36089 46.934181) (xy 145.360837 46.934203) (xy 145.309115 46.957247) - (xy 145.239867 46.966549) (xy 145.211488 46.95866) (xy 145.179953 46.945691) (xy 145.145083 46.93135) - (xy 145.135844 46.927758) (xy 145.068885 46.903205) (xy 145.062283 46.90094) (xy 145.05875 46.899728) - (xy 145.058738 46.899724) (xy 145.058723 46.899719) (xy 144.994658 46.879226) (xy 144.983562 46.87595) - (xy 144.948931 46.866574) (xy 144.922219 46.859342) (xy 144.9194 46.858651) (xy 144.910181 46.856394) - (xy 144.851493 46.843524) (xy 144.838457 46.841018) (xy 144.782342 46.831735) (xy 144.768375 46.829819) - (xy 144.714662 46.823956) (xy 144.699855 46.822775) (xy 144.648505 46.820182) (xy 144.632938 46.819871) - (xy 144.590066 46.820325) (xy 144.583826 46.820391) (xy 144.573639 46.820821) (xy 144.567691 46.821072) - (xy 144.520705 46.824544) (xy 144.504305 46.826291) (xy 144.45933 46.83256) (xy 144.442854 46.835409) - (xy 144.408027 46.842613) (xy 144.399814 46.844312) (xy 144.399809 46.844312) (xy 144.399805 46.844314) - (xy 144.383576 46.848227) (xy 144.347001 46.858325) (xy 144.343321 46.859341) (xy 144.342339 46.859612) - (xy 144.326648 46.864491) (xy 144.287119 46.878194) (xy 144.272223 46.883884) (xy 144.234304 46.899741) - (xy 144.220394 46.906053) (xy 144.199291 46.916401) (xy 144.183933 46.923931) (xy 144.183922 46.923937) - (xy 144.171193 46.930628) (xy 144.136117 46.950349) (xy 144.12465 46.957199) (xy 144.124627 46.957213) - (xy 144.101319 46.971976) (xy 144.09081 46.978632) (xy 144.080594 46.985452) (xy 144.047959 47.008394) - (xy 144.039015 47.014977) (xy 144.007449 47.039282) (xy 143.996407 47.048284) (xy 143.935975 47.100425) - (xy 143.925044 47.110427) (xy 143.925028 47.110442) (xy 143.913329 47.121787) (xy 143.86755 47.166181) - (xy 143.860542 47.173248) (xy 143.833794 47.201297) (xy 143.773282 47.236227) (xy 143.724606 47.238185) - (xy 143.700952 47.234428) (xy 143.696163 47.233713) (xy 143.628385 47.224246) (xy 143.623162 47.223571) - (xy 143.5582 47.215848) (xy 143.552569 47.215242) (xy 143.490443 47.209262) (xy 143.484251 47.208741) - (xy 143.424841 47.204484) (xy 143.41804 47.204088) (xy 143.361314 47.201546) (xy 143.353877 47.201323) - (xy 143.299838 47.200486) (xy 143.299829 47.200486) (xy 143.293688 47.200489) (xy 143.291639 47.20049) - (xy 143.240173 47.201342) (xy 143.231246 47.201646) (xy 143.231227 47.201646) (xy 143.231226 47.201647) - (xy 143.227834 47.201822) (xy 143.182255 47.204177) (xy 143.172513 47.204868) (xy 143.125995 47.209067) - (xy 143.115444 47.210242) (xy 143.093173 47.213196) (xy 143.071314 47.216095) (xy 143.071287 47.216099) - (xy 143.071281 47.2161) (xy 143.059791 47.21789) (xy 143.018078 47.225372) (xy 143.018057 47.225376) - (xy 143.018053 47.225377) (xy 143.011169 47.226788) (xy 143.005642 47.227922) (xy 142.9662 47.237032) - (xy 142.952948 47.240469) (xy 142.915738 47.25119) (xy 142.901713 47.255672) (xy 142.866632 47.268006) - (xy 142.852003 47.27366) (xy 142.819031 47.287584) (xy 142.803916 47.294554) (xy 142.773018 47.310041) - (xy 142.757712 47.318378) (xy 142.728784 47.335438) (xy 142.713561 47.345156) (xy 142.686549 47.363773) - (xy 142.671718 47.374808) (xy 142.646587 47.394958) (xy 142.632461 47.407157) (xy 142.609145 47.428825) - (xy 142.596009 47.441955) (xy 142.574405 47.465177) (xy 142.562492 47.478937) (xy 142.542583 47.50366) - (xy 142.532005 47.517768) (xy 142.513751 47.543952) (xy 142.504537 47.558144) (xy 142.487866 47.585786) - (xy 142.487857 47.585801) (xy 142.487854 47.585807) (xy 142.48467 47.591481) (xy 142.480023 47.59976) - (xy 142.464868 47.628857) (xy 142.458338 47.642341) (xy 142.444626 47.672908) (xy 142.439283 47.685741) - (xy 142.426974 47.717725) (xy 142.426963 47.717754) (xy 142.426409 47.719309) (xy 142.422661 47.729824) - (xy 142.411684 47.763235) (xy 142.4089 47.772413) (xy 142.408291 47.774421) (xy 142.399142 47.807261) - (xy 142.39857 47.809314) (xy 142.39341 47.83168) (xy 142.39341 47.831682) (xy 142.394863 47.931364) - (xy 142.412295 47.97177) (xy 142.434353 48.022901) (xy 142.434354 48.022902) (xy 142.450009 48.038107) - (xy 142.484385 48.098936) (xy 142.480417 48.168693) (xy 142.472397 48.186579) (xy 142.415452 48.290651) - (xy 142.412967 48.295308) (xy 142.360919 48.395367) (xy 142.359012 48.398893) (xy 142.3157 48.475964) - (xy 142.311308 48.483191) (xy 142.306356 48.490746) (xy 142.253142 48.536024) (xy 142.183896 48.545344) - (xy 142.183244 48.545242) (xy 142.171302 48.54335) (xy 142.160618 48.541172) (xy 142.118194 48.530561) - (xy 142.109751 48.528128) (xy 142.052985 48.50957) (xy 142.04635 48.507191) (xy 141.975901 48.479638) - (xy 141.970667 48.477451) (xy 141.880569 48.43737) (xy 141.878193 48.436328) (xy 141.878187 48.436327) - (xy 141.878185 48.436326) (xy 141.780724 48.415361) (xy 141.780722 48.415361) (xy 141.78072 48.415361) - (xy 141.682661 48.433288) (xy 141.682658 48.433289) (xy 141.598917 48.48738) (xy 141.542251 48.569401) - (xy 141.527578 48.637616) (xy 141.522925 48.65925) (xy 141.521287 48.666863) (xy 141.521287 48.666865) - (xy 140.204668 48.666865) (xy 139.963845 48.426042) (xy 139.608877 48.78101) (xy 138.9046 48.78101) - (xy 138.549631 48.426041) (xy 138.194663 48.78101) (xy 136.921859 48.78101) (xy 136.902914 48.743828) - (xy 136.764133 48.552813) (xy 136.597186 48.385866) (xy 136.406171 48.247085) (xy 136.195802 48.139897) - (xy 135.992695 48.073903) (xy 137.487557 48.073903) (xy 137.842525 48.428871) (xy 138.197493 48.073903) - (xy 138.90177 48.073903) (xy 139.256738 48.428871) (xy 139.611706 48.073903) (xy 140.315984 48.073903) - (xy 140.670952 48.428871) (xy 141.02592 48.073903) (xy 140.670952 47.718935) (xy 140.315984 48.073903) - (xy 139.611706 48.073903) (xy 139.256738 47.718935) (xy 138.90177 48.073903) (xy 138.197493 48.073903) - (xy 137.842525 47.718935) (xy 137.487557 48.073903) (xy 135.992695 48.073903) (xy 135.971247 48.066934) - (xy 135.971248 48.066934) (xy 135.738052 48.03) (xy 134.87 48.03) (xy 134.87 49.08) (xy 134.37 49.08) - (xy 134.37 48.03) (xy 133.501948 48.03) (xy 133.268752 48.066934) (xy 133.044197 48.139897) (xy 132.833828 48.247085) - (xy 132.642813 48.385866) (xy 132.475866 48.552813) (xy 132.337085 48.743828) (xy 132.229897 48.954197) - (xy 132.156934 49.178752) (xy 132.140898 49.28) (xy 133.244722 49.28) (xy 133.200667 49.356306) - (xy 133.17 49.470756) (xy 133.17 49.589244) (xy 133.200667 49.703694) (xy 133.244722 49.78) (xy 132.140898 49.78) - (xy 131.7905 49.78) (xy 131.7905 48.505326) (xy 131.7905 48.505323) (xy 131.790499 48.505321) (xy 131.775967 48.432264) - (xy 131.775966 48.43226) (xy 131.771811 48.426041) (xy 131.720601 48.349399) (xy 131.649056 48.301595) - (xy 131.637739 48.294033) (xy 131.637735 48.294032) (xy 131.564677 48.2795) (xy 131.564674 48.2795) - (xy 127.515326 48.2795) (xy 127.515323 48.2795) (xy 127.442264 48.294032) (xy 127.44226 48.294033) - (xy 127.359399 48.349399) (xy 127.304033 48.43226) (xy 127.304032 48.432264) (xy 127.2895 48.505321) - (xy 127.2895 50.554678) (xy 127.304032 50.627735) (xy 127.304033 50.627739) (xy 127.317929 50.648536) - (xy 127.359399 50.710601) (xy 127.416578 50.748806) (xy 127.44226 50.765966) (xy 127.442264 50.765967) - (xy 127.515321 50.780499) (xy 127.515324 50.7805) (xy 127.515326 50.7805) (xy 128.785827 50.7805) - (xy 128.852866 50.800185) (xy 128.898621 50.852989) (xy 128.908565 50.922147) (xy 128.87954 50.985703) - (xy 128.873511 50.992177) (xy 123.372464 56.493589) (xy 123.370775 56.495278) (xy 123.309453 56.528765) - (xy 123.283091 56.5316) (xy 101.975038 56.5316) (xy 101.975021 56.531599) (xy 101.967428 56.531599) - (xy 101.917998 56.531599) (xy 101.917991 56.5316) (xy 101.868565 56.5316) (xy 101.868561 56.5316) - (xy 101.868556 56.531601) (xy 101.815397 56.545846) (xy 101.815397 56.545845) (xy 101.773063 56.557188) - (xy 101.769605 56.559185) (xy 101.752854 56.568857) (xy 101.752851 56.568858) (xy 101.75285 56.568859) - (xy 101.687439 56.606623) (xy 101.687436 56.606625) (xy 101.687431 56.606629) (xy 101.687432 56.60663) - (xy 101.670941 56.623122) (xy 101.670938 56.623124) (xy 101.612163 56.681898) (xy 101.612138 56.681926) + (xy 149.863339 52.668682) (xy 149.793275 52.738746) (xy 149.797515 52.773022) (xy 149.797941 52.776989) + (xy 149.800523 52.80532) (xy 149.800821 52.809288) (xy 149.803026 52.846751) (xy 149.803193 52.850627) + (xy 149.803952 52.878213) (xy 149.803998 52.882069) (xy 149.803863 52.919627) (xy 149.803794 52.923353) + (xy 149.802899 52.949938) (xy 149.802717 52.953663) (xy 149.800319 52.991242) (xy 149.800041 52.994799) + (xy 149.79769 53.020142) (xy 149.79731 53.023684) (xy 149.792742 53.061179) (xy 149.792285 53.064544) + (xy 149.788695 53.088522) (xy 149.788146 53.091875) (xy 149.781497 53.129258) (xy 149.780892 53.132422) + (xy 149.77628 53.154942) (xy 149.775591 53.158094) (xy 149.766949 53.195335) (xy 149.766228 53.198281) + (xy 149.760811 53.219278) (xy 149.760015 53.222212) (xy 149.749477 53.259278) (xy 149.748664 53.262018) + (xy 149.748209 53.263488) (xy 149.21493 53.263488) (xy 149.222555 53.247501) (xy 149.224136 53.244016) + (xy 149.226568 53.23866) (xy 149.239483 53.2087) (xy 149.242892 53.200326) (xy 149.243396 53.199089) + (xy 149.254708 53.16961) (xy 149.258447 53.159199) (xy 149.268157 53.1302) (xy 149.268449 53.129258) + (xy 149.271628 53.118979) (xy 149.271638 53.118948) (xy 149.279746 53.09043) (xy 149.282875 53.078304) + (xy 149.28938 53.050267) (xy 149.292042 53.037268) (xy 149.296944 53.009711) (xy 149.299017 52.995866) + (xy 149.302316 52.96879) (xy 149.303673 52.954158) (xy 149.30369 52.9539) (xy 149.305369 52.927584) + (xy 149.30537 52.927563) (xy 149.305887 52.912213) (xy 149.305981 52.886099) (xy 149.305542 52.870174) + (xy 149.304034 52.844541) (xy 149.302543 52.828184) (xy 149.302017 52.823935) (xy 149.299432 52.803031) + (xy 149.296827 52.786459) (xy 149.296225 52.783309) (xy 149.292113 52.761781) (xy 149.288365 52.745179) + (xy 149.282049 52.720987) (xy 149.277176 52.704589) (xy 149.269257 52.680879) (xy 149.26333 52.664923) + (xy 149.253809 52.641693) (xy 149.253021 52.639938) (xy 149.246926 52.626359) (xy 149.244497 52.621392) + (xy 149.235799 52.603603) (xy 149.228985 52.590736) (xy 149.215003 52.522284) (xy 149.234933 52.46461) + (xy 149.244365 52.450256) (xy 149.25054 52.440374) (xy 149.276556 52.396547) (xy 149.282432 52.386098) + (xy 149.305787 52.342183) (xy 149.311285 52.331218) (xy 149.318207 52.316544) (xy 150.215479 52.316544) + (xy 150.570447 52.671512) (xy 150.925415 52.316544) (xy 151.629692 52.316544) (xy 151.98466 52.671512) + (xy 152.339628 52.316544) (xy 153.043906 52.316544) (xy 153.398874 52.671512) (xy 153.753842 52.316544) + (xy 153.398874 51.961576) (xy 153.043906 52.316544) (xy 152.339628 52.316544) (xy 151.98466 51.961576) + (xy 151.629692 52.316544) (xy 150.925415 52.316544) (xy 150.570447 51.961576) (xy 150.215479 52.316544) + (xy 149.318207 52.316544) (xy 149.332042 52.287215) (xy 149.337087 52.275804) (xy 149.35531 52.231714) + (xy 149.359846 52.219921) (xy 149.371114 52.188316) (xy 149.375587 52.17577) (xy 149.375596 52.175744) + (xy 149.379562 52.163682) (xy 149.392905 52.119417) (xy 149.396269 52.10716) (xy 149.405307 52.070705) + (xy 149.407259 52.062833) (xy 149.407265 52.062807) (xy 149.409998 52.050493) (xy 149.418713 52.006052) + (xy 149.420813 51.993762) (xy 149.427308 51.949234) (xy 149.428783 51.937087) (xy 149.433122 51.89247) + (xy 149.43358 51.886267) (xy 149.433998 51.880589) (xy 149.433998 51.880583) (xy 149.434 51.88056) + (xy 149.436246 51.835856) (xy 149.436565 51.824267) (xy 149.436781 51.779474) (xy 149.43659 51.768281) + (xy 149.434839 51.7234) (xy 149.434295 51.71395) (xy 149.431428 51.676322) (xy 149.43065 51.667942) + (xy 149.428503 51.648325) (xy 149.427191 51.63633) (xy 149.42673 51.632117) (xy 149.42561 51.623304) + (xy 149.420667 51.589157) (xy 149.420618 51.588859) (xy 149.419955 51.584798) (xy 149.419168 51.579978) + (xy 149.413231 51.547382) (xy 149.411327 51.537944) (xy 149.404995 51.509338) (xy 149.404426 51.506768) + (xy 149.40212 51.497225) (xy 149.402111 51.49719) (xy 149.394278 51.467317) (xy 149.391561 51.457722) + (xy 149.382825 51.429021) (xy 149.379743 51.419562) (xy 149.370134 51.391907) (xy 149.36675 51.382737) + (xy 149.356298 51.356001) (xy 149.354695 51.352114) (xy 149.352708 51.347294) (xy 149.341435 51.321329) + (xy 149.335892 51.309413) (xy 149.330443 51.298446) (xy 149.313699 51.264742) (xy 149.853066 51.264742) + (xy 149.857454 51.278208) (xy 149.85818 51.280512) (xy 149.869044 51.316201) (xy 149.869729 51.318535) + (xy 149.874433 51.335151) (xy 149.875066 51.337474) (xy 149.884741 51.374368) (xy 149.885327 51.376692) + (xy 149.889339 51.393292) (xy 149.889878 51.395622) (xy 149.898316 51.433741) (xy 149.898799 51.436024) + (xy 149.902096 51.45237) (xy 149.902537 51.454667) (xy 149.90972 51.494103) (xy 149.910106 51.496338) + (xy 149.912702 51.512235) (xy 149.913044 51.514454) (xy 149.918938 51.555167) (xy 149.919227 51.557299) + (xy 149.921167 51.572563) (xy 149.921421 51.57471) (xy 149.926029 51.616824) (xy 149.926234 51.618852) + (xy 149.927581 51.633366) (xy 149.927754 51.635403) (xy 149.93112 51.679573) (xy 149.931273 51.681869) + (xy 149.932215 51.698234) (xy 149.932326 51.700526) (xy 149.934372 51.752968) (xy 149.934448 51.755691) + (xy 149.934778 51.775076) (xy 149.934795 51.777784) (xy 149.934539 51.830916) (xy 149.934493 51.833734) + (xy 149.93394 51.853806) (xy 149.933831 51.856613) (xy 149.931857 51.895887) (xy 150.218308 51.609437) + (xy 150.922586 51.609437) (xy 151.277554 51.964405) (xy 151.632522 51.609437) (xy 152.336799 51.609437) + (xy 152.691767 51.964405) (xy 153.046735 51.609437) (xy 152.691767 51.254469) (xy 152.336799 51.609437) + (xy 151.632522 51.609437) (xy 151.277554 51.254469) (xy 150.922586 51.609437) (xy 150.218308 51.609437) + (xy 149.86334 51.254469) (xy 149.853066 51.264742) (xy 149.313699 51.264742) (xy 149.311043 51.259396) + (xy 149.303855 51.245949) (xy 149.276118 51.197593) (xy 149.271736 51.190348) (xy 149.27 51.187476) + (xy 149.245748 51.149394) (xy 149.239616 51.139765) (xy 149.234874 51.132666) (xy 149.233432 51.130507) + (xy 149.229643 51.125094) (xy 149.225959 51.11983) (xy 149.203645 51.053621) (xy 149.220668 50.985857) + (xy 149.249868 50.952074) (xy 149.261292 50.942894) (xy 149.28351 50.90233) (xy 150.215479 50.90233) + (xy 150.570447 51.257298) (xy 150.925415 50.90233) (xy 151.629692 50.90233) (xy 151.98466 51.257298) + (xy 152.339628 50.90233) (xy 151.98466 50.547362) (xy 151.629692 50.90233) (xy 150.925415 50.90233) + (xy 150.570447 50.547362) (xy 150.215479 50.90233) (xy 149.28351 50.90233) (xy 149.309183 50.85546) + (xy 149.31997 50.756354) (xy 149.292009 50.660664) (xy 149.292008 50.660663) (xy 149.292008 50.660662) + (xy 149.292007 50.66066) (xy 149.229556 50.582957) (xy 149.229552 50.582954) (xy 149.155931 50.521263) + (xy 149.150656 50.516582) (xy 149.129916 50.497092) (xy 149.090491 50.460043) (xy 149.08501 50.454559) + (xy 149.080328 50.449572) (xy 149.030899 50.396924) (xy 149.025331 50.390573) (xy 149.014744 50.377632) + (xy 148.977208 50.331749) (xy 148.971706 50.324496) (xy 148.929385 50.26423) (xy 148.92415 50.256122) + (xy 148.8874 50.194002) (xy 148.88263 50.185131) (xy 148.880035 50.179794) (xy 149.5238 50.179794) + (xy 149.558783 50.209109) (xy 149.563348 50.213129) (xy 149.572362 50.221468) (xy 149.576732 50.225714) + (xy 149.593847 50.243184) (xy 149.597997 50.247634) (xy 149.606142 50.256808) (xy 149.610068 50.261454) + (xy 149.695525 50.367782) (xy 149.702675 50.377632) (xy 149.716114 50.398198) (xy 149.722263 50.4087) + (xy 149.722715 50.409567) (xy 149.86334 50.550192) (xy 150.218308 50.195224) (xy 150.922586 50.195224) + (xy 151.277554 50.550192) (xy 151.632522 50.195224) (xy 151.277554 49.840256) (xy 150.922586 50.195224) + (xy 150.218308 50.195224) (xy 149.863339 49.840255) (xy 149.5238 50.179794) (xy 148.880035 50.179794) + (xy 148.851246 50.120586) (xy 148.847103 50.111069) (xy 148.820933 50.043307) (xy 148.817565 50.033343) + (xy 148.796611 49.961443) (xy 148.79411 49.951291) (xy 148.778557 49.87422) (xy 148.776955 49.864152) + (xy 148.767206 49.780948) (xy 148.766451 49.771149) (xy 148.766442 49.770897) (xy 148.763085 49.680925) + (xy 148.763086 49.676439) (xy 149.261262 49.676439) (xy 149.263479 49.735837) (xy 149.511199 49.488117) + (xy 150.215479 49.488117) (xy 150.570447 49.843085) (xy 150.925415 49.488117) (xy 150.570447 49.133149) + (xy 150.215479 49.488117) (xy 149.511199 49.488117) (xy 149.5112 49.488116) (xy 149.321017 49.297933) + (xy 149.320247 49.301439) (xy 149.288871 49.433007) (xy 149.272756 49.524782) (xy 149.263945 49.60574) + (xy 149.261262 49.676439) (xy 148.763086 49.676439) (xy 148.763087 49.671649) (xy 148.766804 49.573677) + (xy 148.767443 49.564974) (xy 148.767496 49.56449) (xy 148.779009 49.4587) (xy 148.780141 49.450735) + (xy 148.800331 49.335756) (xy 148.801833 49.32849) (xy 148.833812 49.194385) (xy 148.840517 49.123543) + (xy 148.816658 49.026749) (xy 148.808007 49.014992) (xy 148.757577 48.946459) (xy 148.757576 48.946458) + (xy 148.757573 48.946454) (xy 148.742947 48.933097) (xy 148.737192 48.927488) (xy 148.730198 48.920214) + (xy 148.725598 48.915157) (xy 148.716125 48.90415) (xy 148.712533 48.899779) (xy 148.702669 48.8872) + (xy 148.698827 48.882029) (xy 148.69447 48.875836) (xy 148.668227 48.83853) (xy 148.665204 48.834026) + (xy 148.631306 48.78101) (xy 149.508372 48.78101) (xy 149.86334 49.135978) (xy 150.218308 48.78101) + (xy 149.86334 48.426042) (xy 149.508372 48.78101) (xy 148.631306 48.78101) (xy 148.631252 48.780926) + (xy 148.630281 48.77938) (xy 148.629304 48.777798) (xy 148.550719 48.650548) (xy 148.550712 48.650537) + (xy 148.550691 48.650503) (xy 148.546664 48.644195) (xy 148.546652 48.644177) (xy 148.546633 48.644147) + (xy 148.503381 48.578555) (xy 148.496157 48.568169) (xy 148.449659 48.504727) (xy 148.441607 48.494314) + (xy 148.416803 48.463891) (xy 148.4098 48.455663) (xy 148.387645 48.430721) (xy 148.383765 48.426353) + (xy 148.375386 48.417368) (xy 148.375381 48.417363) (xy 148.375355 48.417335) (xy 148.347982 48.389367) + (xy 148.337989 48.379698) (xy 148.309128 48.353254) (xy 148.297473 48.343204) (xy 148.283585 48.331939) + (xy 148.266976 48.318467) (xy 148.253609 48.308335) (xy 148.244081 48.301595) (xy 148.221352 48.285517) + (xy 148.214825 48.281238) (xy 148.206249 48.275616) (xy 148.172108 48.25492) (xy 148.15542 48.245638) + (xy 148.119265 48.227262) (xy 148.101272 48.218979) (xy 148.06806 48.205225) (xy 148.062934 48.203102) + (xy 148.050943 48.198684) (xy 148.043933 48.196101) (xy 148.003304 48.182936) (xy 147.983766 48.177452) + (xy 147.940727 48.167194) (xy 147.921126 48.163328) (xy 147.921117 48.163326) (xy 147.921104 48.163324) + (xy 147.875475 48.156163) (xy 147.875452 48.15616) (xy 147.87315 48.155799) (xy 147.873225 48.155321) + (xy 147.811243 48.127082) (xy 147.78148 48.088806) (xy 147.778605 48.083063) (xy 147.774019 48.073903) + (xy 148.801265 48.073903) (xy 149.156233 48.428871) (xy 149.511201 48.073903) (xy 149.156233 47.718935) + (xy 148.801265 48.073903) (xy 147.774019 48.073903) (xy 147.771267 48.068405) (xy 147.75936 48.047206) + (xy 147.701883 47.955396) (xy 147.67675 47.915249) (xy 147.66187 47.893968) (xy 147.661852 47.893945) + (xy 147.658527 47.889671) (xy 147.612121 47.830011) (xy 147.554985 47.756557) (xy 147.547189 47.747373) + (xy 147.540847 47.739902) (xy 147.537613 47.736407) (xy 147.417428 47.606511) (xy 147.412273 47.600939) + (xy 147.398246 47.586912) (xy 147.266787 47.465289) (xy 147.250544 47.450261) (xy 147.235946 47.437742) + (xy 147.221265 47.426082) (xy 147.146619 47.366796) (xy 148.094157 47.366796) (xy 148.449126 47.721764) + (xy 148.804094 47.366796) (xy 148.449126 47.011827) (xy 148.094157 47.366796) (xy 147.146619 47.366796) + (xy 147.071677 47.307275) (xy 147.055781 47.295621) (xy 146.877535 47.175228) (xy 146.877533 47.175227) + (xy 146.877526 47.175222) (xy 146.859581 47.164152) (xy 146.669912 47.0577) (xy 146.654637 47.049791) + (xy 146.556341 47.003014) (xy 146.545025 46.997961) (xy 146.528914 46.991233) (xy 146.444803 46.956108) + (xy 146.432436 46.951317) (xy 146.432423 46.951312) (xy 146.432417 46.95131) (xy 146.330677 46.9149) + (xy 146.330676 46.914899) (xy 146.330663 46.914895) (xy 146.324193 46.91278) (xy 146.317111 46.910466) + (xy 146.214097 46.879956) (xy 146.199317 46.876056) (xy 146.095352 46.851933) (xy 146.079184 46.848728) + (xy 146.079178 46.848727) (xy 146.079173 46.848726) (xy 145.974616 46.831484) (xy 145.974607 46.831482) + (xy 145.97459 46.83148) (xy 145.957021 46.829206) (xy 145.852179 46.819327) (xy 145.833159 46.818248) + (xy 145.728339 46.816214) (xy 145.708016 46.816629) (xy 145.603564 46.822927) (xy 145.582124 46.825132) + (xy 145.478363 46.840244) (xy 145.456111 46.844499) (xy 145.35337 46.868906) (xy 145.353341 46.868914) + (xy 145.330784 46.875381) (xy 145.229348 46.909575) (xy 145.206973 46.918309) (xy 145.206937 46.918324) + (xy 145.155176 46.941386) (xy 145.085929 46.950688) (xy 145.056237 46.942251) (xy 145.028501 46.930471) + (xy 145.028488 46.930465) (xy 145.02847 46.930458) (xy 145.022975 46.928199) (xy 145.022955 46.928191) + (xy 145.022933 46.928182) (xy 144.979858 46.911058) (xy 144.974023 46.908821) (xy 144.973024 46.908452) + (xy 144.932021 46.893301) (xy 144.927972 46.891863) (xy 144.925805 46.891094) (xy 144.884987 46.877193) + (xy 144.878443 46.875063) (xy 144.838676 46.862703) (xy 144.831818 46.860677) (xy 144.793142 46.849844) + (xy 144.785782 46.8479) (xy 144.748236 46.838571) (xy 144.74056 46.83679) (xy 144.740563 46.83679) + (xy 144.740543 46.836786) (xy 144.70397 46.828888) (xy 144.703971 46.828888) (xy 144.703947 46.828883) + (xy 144.695902 46.827281) (xy 144.660355 46.820795) (xy 144.660331 46.820791) (xy 144.651885 46.819396) + (xy 144.633201 46.81663) (xy 144.617315 46.814278) (xy 144.6173 46.814276) (xy 144.617293 46.814275) + (xy 144.608482 46.813126) (xy 144.574842 46.809336) (xy 144.574834 46.809335) (xy 144.574823 46.809334) + (xy 144.565695 46.808471) (xy 144.544703 46.806868) (xy 144.532982 46.805973) (xy 144.523512 46.805426) + (xy 144.52351 46.805425) (xy 144.523477 46.805424) (xy 144.491725 46.804181) (xy 144.48564 46.804065) + (xy 144.481465 46.803986) (xy 144.481445 46.803986) (xy 144.447486 46.804017) (xy 144.436469 46.804265) + (xy 144.403524 46.805715) (xy 144.392291 46.806457) (xy 144.360365 46.80927) (xy 144.349 46.810527) + (xy 144.317987 46.814661) (xy 144.306651 46.816431) (xy 144.27653 46.821833) (xy 144.265253 46.824118) + (xy 144.236024 46.830731) (xy 144.224859 46.833522) (xy 144.196516 46.841287) (xy 144.185612 46.844537) + (xy 144.158046 46.853423) (xy 144.147535 46.857066) (xy 144.120731 46.867018) (xy 144.115962 46.868906) + (xy 144.110593 46.871031) (xy 144.11058 46.871036) (xy 144.110566 46.871042) (xy 144.084558 46.88198) + (xy 144.074894 46.886283) (xy 144.049552 46.898197) (xy 144.040474 46.902689) (xy 144.015772 46.915527) + (xy 144.007201 46.920191) (xy 143.983218 46.93384) (xy 143.975238 46.938575) (xy 143.951821 46.953049) + (xy 143.941076 46.960071) (xy 143.895895 46.991238) (xy 143.883595 47.000278) (xy 143.840437 47.034027) + (xy 143.830407 47.04229) (xy 143.788958 47.078238) (xy 143.781087 47.085357) (xy 143.741078 47.123086) + (xy 143.73508 47.12893) (xy 143.696279 47.167984) (xy 143.690762 47.17371) (xy 143.680713 47.184473) + (xy 143.620572 47.220037) (xy 143.570636 47.22231) (xy 143.546955 47.218549) (xy 143.542333 47.217859) + (xy 143.48254 47.209507) (xy 143.474472 47.20838) (xy 143.469289 47.20771) (xy 143.448549 47.205244) + (xy 143.40429 47.199982) (xy 143.398678 47.199378) (xy 143.33654 47.193396) (xy 143.330359 47.192877) + (xy 143.270925 47.188618) (xy 143.264168 47.188224) (xy 143.264126 47.188222) (xy 143.264124 47.188222) + (xy 143.258479 47.187969) (xy 143.207409 47.18568) (xy 143.199976 47.185457) (xy 143.145937 47.18462) + (xy 143.145928 47.18462) (xy 143.141326 47.184622) (xy 143.13774 47.184624) (xy 143.08629 47.185474) + (xy 143.077338 47.18578) (xy 143.077319 47.185781) (xy 143.028377 47.188311) (xy 143.028349 47.188312) + (xy 143.028329 47.188314) (xy 143.018655 47.188999) (xy 142.972124 47.193196) (xy 142.965479 47.193936) + (xy 142.961489 47.194381) (xy 142.934159 47.198005) (xy 142.917374 47.200232) (xy 142.905927 47.202017) + (xy 142.905906 47.20202) (xy 142.905898 47.202022) (xy 142.883025 47.206124) (xy 142.864161 47.209507) + (xy 142.85173 47.212056) (xy 142.812319 47.221159) (xy 142.812305 47.221162) (xy 142.812299 47.221164) + (xy 142.809515 47.221886) (xy 142.799057 47.224597) (xy 142.761824 47.235324) (xy 142.747816 47.239801) + (xy 142.712733 47.252136) (xy 142.698105 47.25779) (xy 142.665143 47.271708) (xy 142.66513 47.271714) + (xy 142.650035 47.278674) (xy 142.650026 47.278678) (xy 142.650001 47.27869) (xy 142.619135 47.294159) + (xy 142.603797 47.302514) (xy 142.5844 47.313953) (xy 142.57487 47.319573) (xy 142.570976 47.322059) + (xy 142.559659 47.329282) (xy 142.532647 47.3479) (xy 142.517809 47.35894) (xy 142.492676 47.37909) + (xy 142.478588 47.391255) (xy 142.47857 47.391271) (xy 142.478565 47.391276) (xy 142.470006 47.39923) + (xy 142.455226 47.412966) (xy 142.442104 47.426082) (xy 142.420508 47.449294) (xy 142.408587 47.463063) + (xy 142.394203 47.480926) (xy 142.388688 47.487775) (xy 142.386549 47.490628) (xy 142.378092 47.501904) + (xy 142.359836 47.52809) (xy 142.350631 47.54227) (xy 142.333946 47.569936) (xy 142.326128 47.583864) + (xy 142.310961 47.612982) (xy 142.304445 47.626436) (xy 142.290713 47.65705) (xy 142.285381 47.669855) + (xy 142.273055 47.701883) (xy 142.268764 47.713918) (xy 142.257785 47.747336) (xy 142.257774 47.747373) + (xy 142.254384 47.758546) (xy 142.252284 47.766086) (xy 142.244664 47.793436) (xy 142.239504 47.815806) + (xy 142.239504 47.815809) (xy 142.240956 47.915488) (xy 142.280442 48.00702) (xy 142.280444 48.007023) + (xy 142.280445 48.007024) (xy 142.288225 48.014581) (xy 142.296105 48.022234) (xy 142.33048 48.083063) + (xy 142.32651 48.15282) (xy 142.31849 48.170705) (xy 142.261572 48.274726) (xy 142.259025 48.2795) + (xy 142.207007 48.379501) (xy 142.205099 48.383029) (xy 142.161786 48.4601) (xy 142.157394 48.467327) + (xy 142.152438 48.474888) (xy 142.099224 48.520165) (xy 142.029979 48.529485) (xy 142.029491 48.529409) + (xy 142.017376 48.527489) (xy 142.006706 48.525314) (xy 141.964244 48.514693) (xy 141.955813 48.512264) + (xy 141.899047 48.493708) (xy 141.892428 48.491333) (xy 141.822013 48.463792) (xy 141.816779 48.461606) + (xy 141.726714 48.421539) (xy 141.724266 48.420466) (xy 141.626805 48.399501) (xy 141.626803 48.399501) + (xy 141.626801 48.399501) (xy 141.528742 48.417428) (xy 141.528739 48.417429) (xy 141.444998 48.47152) + (xy 141.388332 48.553541) (xy 141.371841 48.630208) (xy 141.367476 48.650503) (xy 141.367368 48.651003) + (xy 141.367368 48.651005) (xy 140.188808 48.651005) (xy 139.963845 48.426042) (xy 139.608877 48.78101) + (xy 138.9046 48.78101) (xy 138.549631 48.426041) (xy 138.194663 48.78101) (xy 136.921859 48.78101) + (xy 136.902914 48.743828) (xy 136.764133 48.552813) (xy 136.597186 48.385866) (xy 136.406171 48.247085) + (xy 136.195802 48.139897) (xy 135.992695 48.073903) (xy 137.487557 48.073903) (xy 137.842525 48.428871) + (xy 138.197493 48.073903) (xy 138.90177 48.073903) (xy 139.256738 48.428871) (xy 139.611706 48.073903) + (xy 140.315984 48.073903) (xy 140.670952 48.428871) (xy 141.02592 48.073903) (xy 140.670952 47.718935) + (xy 140.315984 48.073903) (xy 139.611706 48.073903) (xy 139.256738 47.718935) (xy 138.90177 48.073903) + (xy 138.197493 48.073903) (xy 137.842525 47.718935) (xy 137.487557 48.073903) (xy 135.992695 48.073903) + (xy 135.971247 48.066934) (xy 135.971248 48.066934) (xy 135.738052 48.03) (xy 134.87 48.03) (xy 134.87 49.08) + (xy 134.37 49.08) (xy 134.37 48.03) (xy 133.501948 48.03) (xy 133.268752 48.066934) (xy 133.044197 48.139897) + (xy 132.833828 48.247085) (xy 132.642813 48.385866) (xy 132.475866 48.552813) (xy 132.337085 48.743828) + (xy 132.229897 48.954197) (xy 132.156934 49.178752) (xy 132.140898 49.28) (xy 133.244722 49.28) + (xy 133.200667 49.356306) (xy 133.17 49.470756) (xy 133.17 49.589244) (xy 133.200667 49.703694) + (xy 133.244722 49.78) (xy 132.140898 49.78) (xy 131.7905 49.78) (xy 131.7905 48.505323) (xy 131.790499 48.505321) + (xy 131.775967 48.432264) (xy 131.775966 48.43226) (xy 131.771811 48.426041) (xy 131.720601 48.349399) + (xy 131.63774 48.294034) (xy 131.637739 48.294033) (xy 131.637735 48.294032) (xy 131.564677 48.2795) + (xy 131.564674 48.2795) (xy 127.515326 48.2795) (xy 127.515323 48.2795) (xy 127.442264 48.294032) + (xy 127.44226 48.294033) (xy 127.359399 48.349399) (xy 127.304033 48.43226) (xy 127.304032 48.432264) + (xy 127.2895 48.505321) (xy 127.2895 50.554675) (xy 127.304032 50.627735) (xy 127.304033 50.627739) + (xy 127.317057 50.647231) (xy 127.359399 50.710601) (xy 127.433937 50.760405) (xy 127.44226 50.765966) + (xy 127.442264 50.765967) (xy 127.515321 50.780499) (xy 127.515324 50.7805) (xy 127.515326 50.7805) + (xy 128.785827 50.7805) (xy 128.852866 50.800185) (xy 128.898621 50.852989) (xy 128.908565 50.922147) + (xy 128.87954 50.985703) (xy 128.873511 50.992177) (xy 123.372464 56.493589) (xy 123.370775 56.495278) + (xy 123.309453 56.528765) (xy 123.283091 56.5316) (xy 101.975038 56.5316) (xy 101.975021 56.531599) + (xy 101.967428 56.531599) (xy 101.917998 56.531599) (xy 101.917991 56.5316) (xy 101.868565 56.5316) + (xy 101.868561 56.5316) (xy 101.868556 56.531601) (xy 101.815397 56.545846) (xy 101.815397 56.545845) + (xy 101.773063 56.557188) (xy 101.769605 56.559185) (xy 101.752854 56.568857) (xy 101.752851 56.568858) + (xy 101.75285 56.568859) (xy 101.687439 56.606623) (xy 101.687436 56.606625) (xy 101.687433 56.606629) + (xy 101.687429 56.606633) (xy 101.665312 56.628749) (xy 101.612162 56.681899) (xy 101.612137 56.681927) (xy 93.67991 64.614512) (xy 93.618588 64.647999) (xy 93.548896 64.643016) (xy 93.492962 64.601146) (xy 93.468543 64.535682) (xy 93.469131 64.511886) (xy 93.469196 64.511352) (xy 93.472578 64.4835) (xy 93.466402 64.432644) (xy 93.477861 64.363724) (xy 93.501814 64.330021) (xy 101.979759 55.852078) @@ -38516,43 +39039,43 @@ (xy 116.994999 55.507844) (xy 116.995 55.507827) (xy 116.995 55.329616) (xy 117.014685 55.262577) (xy 117.067489 55.216822) (xy 117.136647 55.206878) (xy 117.200203 55.235903) (xy 117.217952 55.254887) (xy 117.244255 55.289718) (xy 117.293237 55.354581) (xy 117.443958 55.49198) (xy 117.44396 55.491982) - (xy 117.529609 55.545013) (xy 117.617363 55.599348) (xy 117.807544 55.673024) (xy 118.008024 55.7105) + (xy 117.517205 55.537333) (xy 117.617363 55.599348) (xy 117.807544 55.673024) (xy 118.008024 55.7105) (xy 118.008026 55.7105) (xy 118.211974 55.7105) (xy 118.211976 55.7105) (xy 118.412456 55.673024) (xy 118.602637 55.599348) (xy 118.776041 55.491981) (xy 118.926764 55.354579) (xy 119.049673 55.191821) (xy 119.140582 55.00925) (xy 119.196397 54.813083) (xy 119.215215 54.61) (xy 119.544785 54.61) (xy 119.563602 54.813082) (xy 119.619417 55.009247) (xy 119.619422 55.00926) (xy 119.710327 55.191821) (xy 119.833237 55.354581) - (xy 119.983958 55.49198) (xy 119.98396 55.491982) (xy 120.069609 55.545013) (xy 120.157363 55.599348) + (xy 119.983958 55.49198) (xy 119.98396 55.491982) (xy 120.057205 55.537333) (xy 120.157363 55.599348) (xy 120.347544 55.673024) (xy 120.548024 55.7105) (xy 120.548026 55.7105) (xy 120.751974 55.7105) (xy 120.751976 55.7105) (xy 120.952456 55.673024) (xy 121.142637 55.599348) (xy 121.316041 55.491981) (xy 121.466764 55.354579) (xy 121.589673 55.191821) (xy 121.680582 55.00925) (xy 121.736397 54.813083) (xy 121.755215 54.61) (xy 122.084785 54.61) (xy 122.103602 54.813082) (xy 122.159417 55.009247) (xy 122.159422 55.00926) (xy 122.250327 55.191821) (xy 122.373237 55.354581) (xy 122.523958 55.49198) - (xy 122.52396 55.491982) (xy 122.609609 55.545013) (xy 122.697363 55.599348) (xy 122.887544 55.673024) + (xy 122.52396 55.491982) (xy 122.597205 55.537333) (xy 122.697363 55.599348) (xy 122.887544 55.673024) (xy 123.088024 55.7105) (xy 123.088026 55.7105) (xy 123.291974 55.7105) (xy 123.291976 55.7105) (xy 123.492456 55.673024) (xy 123.682637 55.599348) (xy 123.856041 55.491981) (xy 124.006764 55.354579) (xy 124.129673 55.191821) (xy 124.220582 55.00925) (xy 124.276397 54.813083) (xy 124.295215 54.61) - (xy 124.289537 54.548728) (xy 124.276397 54.406917) (xy 124.270451 54.386019) (xy 124.220582 54.21075) - (xy 124.220414 54.210413) (xy 124.164686 54.098495) (xy 124.129673 54.028179) (xy 124.059946 53.935845) + (xy 124.289852 54.552128) (xy 124.276397 54.406917) (xy 124.270451 54.386019) (xy 124.220582 54.21075) + (xy 124.220414 54.210413) (xy 124.157301 54.083664) (xy 124.129673 54.028179) (xy 124.059946 53.935845) (xy 124.006762 53.865418) (xy 123.859044 53.730757) (xy 124.759634 53.730757) (xy 125.095256 54.066379) (xy 125.450212 53.711399) (xy 125.114602 53.375789) (xy 124.759634 53.730757) (xy 123.859044 53.730757) (xy 123.856041 53.728019) (xy 123.856039 53.728017) (xy 123.682642 53.620655) (xy 123.682635 53.620651) - (xy 123.567988 53.576237) (xy 123.492456 53.546976) (xy 123.291976 53.5095) (xy 123.088024 53.5095) + (xy 123.563654 53.574558) (xy 123.492456 53.546976) (xy 123.291976 53.5095) (xy 123.088024 53.5095) (xy 122.887544 53.546976) (xy 122.887541 53.546976) (xy 122.887541 53.546977) (xy 122.697364 53.620651) (xy 122.697357 53.620655) (xy 122.52396 53.728017) (xy 122.523958 53.728019) (xy 122.373237 53.865418) (xy 122.250327 54.028178) (xy 122.159422 54.210739) (xy 122.159417 54.210752) (xy 122.103602 54.406917) - (xy 122.084785 54.609999) (xy 122.084785 54.61) (xy 121.755215 54.61) (xy 121.749537 54.548728) + (xy 122.084785 54.609999) (xy 122.084785 54.61) (xy 121.755215 54.61) (xy 121.749852 54.552128) (xy 121.736397 54.406917) (xy 121.730451 54.386019) (xy 121.680582 54.21075) (xy 121.680414 54.210413) - (xy 121.624686 54.098495) (xy 121.589673 54.028179) (xy 121.519946 53.935845) (xy 121.466762 53.865418) + (xy 121.617301 54.083664) (xy 121.589673 54.028179) (xy 121.519946 53.935845) (xy 121.466762 53.865418) (xy 121.316041 53.728019) (xy 121.316039 53.728017) (xy 121.142642 53.620655) (xy 121.142635 53.620651) - (xy 121.027988 53.576237) (xy 120.952456 53.546976) (xy 120.751976 53.5095) (xy 120.548024 53.5095) + (xy 121.023654 53.574558) (xy 120.952456 53.546976) (xy 120.751976 53.5095) (xy 120.548024 53.5095) (xy 120.347544 53.546976) (xy 120.347541 53.546976) (xy 120.347541 53.546977) (xy 120.157364 53.620651) (xy 120.157357 53.620655) (xy 119.98396 53.728017) (xy 119.983958 53.728019) (xy 119.833237 53.865418) (xy 119.710327 54.028178) (xy 119.619422 54.210739) (xy 119.619417 54.210752) (xy 119.563602 54.406917) - (xy 119.544785 54.609999) (xy 119.544785 54.61) (xy 119.215215 54.61) (xy 119.209537 54.548728) + (xy 119.544785 54.609999) (xy 119.544785 54.61) (xy 119.215215 54.61) (xy 119.209852 54.552128) (xy 119.196397 54.406917) (xy 119.190451 54.386019) (xy 119.140582 54.21075) (xy 119.140414 54.210413) - (xy 119.084686 54.098495) (xy 119.049673 54.028179) (xy 118.979946 53.935845) (xy 118.926762 53.865418) + (xy 119.077301 54.083664) (xy 119.049673 54.028179) (xy 118.979946 53.935845) (xy 118.926762 53.865418) (xy 118.776041 53.728019) (xy 118.776039 53.728017) (xy 118.602642 53.620655) (xy 118.602635 53.620651) - (xy 118.487988 53.576237) (xy 118.412456 53.546976) (xy 118.345913 53.534537) (xy 119.298999 53.534537) + (xy 118.483654 53.574558) (xy 118.412456 53.546976) (xy 118.345913 53.534537) (xy 119.298999 53.534537) (xy 119.302544 53.538426) (xy 119.306305 53.542747) (xy 119.313684 53.551633) (xy 119.317241 53.556124) (xy 119.38 53.63923) (xy 119.442759 53.556124) (xy 119.446316 53.551633) (xy 119.453695 53.542747) (xy 119.457456 53.538426) (xy 119.472963 53.521416) (xy 119.476912 53.517279) (xy 119.485081 53.509109) @@ -38615,324 +39138,325 @@ (xy 108.14404 53.375789) (xy 107.789071 53.730757) (xy 107.084794 53.730757) (xy 106.922537 53.5685) (xy 106.537115 53.5685) (xy 106.374857 53.730757) (xy 105.670581 53.730757) (xy 105.315613 53.375789) (xy 104.960644 53.730757) (xy 104.10108 53.730757) (xy 104.440474 53.391363) (xy 104.442899 53.387163) - (xy 104.48991 53.305738) (xy 104.5155 53.210235) (xy 104.5155 52.844678) (xy 105.6545 52.844678) - (xy 105.669032 52.917735) (xy 105.669033 52.917739) (xy 105.686204 52.943437) (xy 105.724399 53.000601) - (xy 105.793111 53.046512) (xy 105.80726 53.055966) (xy 105.807264 53.055967) (xy 105.880321 53.070499) - (xy 105.880324 53.0705) (xy 105.880326 53.0705) (xy 107.629676 53.0705) (xy 107.629677 53.070499) - (xy 107.70274 53.055966) (xy 107.751104 53.023651) (xy 108.496179 53.023651) (xy 108.851147 53.378619) - (xy 109.206115 53.023651) (xy 109.910392 53.023651) (xy 110.26536 53.378619) (xy 110.620328 53.023651) - (xy 111.324606 53.023651) (xy 111.679574 53.378619) (xy 112.034542 53.023651) (xy 112.738819 53.023651) - (xy 113.093787 53.378619) (xy 113.448755 53.023651) (xy 113.365173 52.940069) (xy 117.06504 52.940069) - (xy 117.16488 53.01481) (xy 117.171769 53.020361) (xy 117.185264 53.032054) (xy 117.191744 53.038088) - (xy 117.216912 53.063256) (xy 117.222946 53.069736) (xy 117.234639 53.083231) (xy 117.24019 53.09012) - (xy 117.33141 53.211973) (xy 117.364986 53.191185) (xy 117.369925 53.188282) (xy 117.380015 53.182662) - (xy 117.385077 53.179994) (xy 117.405682 53.169733) (xy 117.410878 53.167294) (xy 117.421447 53.162628) - (xy 117.426733 53.160438) (xy 117.635473 53.079571) (xy 117.691394 53.023651) (xy 118.395674 53.023651) - (xy 118.412352 53.040329) (xy 118.515272 53.059569) (xy 118.520875 53.060751) (xy 118.532113 53.063394) - (xy 118.537654 53.064833) (xy 118.559793 53.071131) (xy 118.565263 53.072825) (xy 118.576224 53.076498) - (xy 118.581619 53.078445) (xy 118.793267 53.160438) (xy 118.798553 53.162628) (xy 118.809122 53.167294) - (xy 118.814318 53.169733) (xy 118.834923 53.179994) (xy 118.839985 53.182662) (xy 118.850075 53.188282) - (xy 118.855015 53.191185) (xy 118.906312 53.222947) (xy 119.105608 53.023651) (xy 119.809887 53.023651) - (xy 119.952717 53.166481) (xy 119.961447 53.162628) (xy 119.966733 53.160438) (xy 120.178381 53.078445) - (xy 120.183776 53.076498) (xy 120.194737 53.072825) (xy 120.200207 53.071131) (xy 120.222346 53.064833) - (xy 120.227887 53.063394) (xy 120.239125 53.060751) (xy 120.244728 53.059569) (xy 120.436871 53.023651) - (xy 121.224101 53.023651) (xy 121.387043 53.186593) (xy 121.390075 53.188282) (xy 121.395015 53.191185) - (xy 121.58799 53.31067) (xy 121.592787 53.313796) (xy 121.60232 53.320326) (xy 121.606972 53.323673) - (xy 121.622379 53.335308) (xy 121.934035 53.023651) (xy 122.638314 53.023651) (xy 122.700165 53.085502) - (xy 122.718382 53.078445) (xy 122.723776 53.076498) (xy 122.734737 53.072825) (xy 122.740207 53.071131) - (xy 122.762346 53.064833) (xy 122.767887 53.063394) (xy 122.779125 53.060751) (xy 122.784728 53.059569) - (xy 122.976871 53.023651) (xy 124.052528 53.023651) (xy 124.407496 53.378619) (xy 124.762464 53.023651) - (xy 125.466741 53.023651) (xy 125.802339 53.359249) (xy 126.157295 53.004269) (xy 125.821709 52.668683) - (xy 125.466741 53.023651) (xy 124.762464 53.023651) (xy 124.407496 52.668683) (xy 124.052528 53.023651) - (xy 122.976871 53.023651) (xy 123.007829 53.017864) (xy 123.013493 53.016941) (xy 123.024934 53.015346) - (xy 123.030612 53.014687) (xy 123.053531 53.012563) (xy 123.059243 53.012167) (xy 123.070784 53.011633) - (xy 123.076515 53.0115) (xy 123.303485 53.0115) (xy 123.309216 53.011633) (xy 123.320757 53.012167) - (xy 123.326469 53.012563) (xy 123.338254 53.013655) (xy 122.993282 52.668683) (xy 122.638314 53.023651) - (xy 121.934035 53.023651) (xy 121.934036 53.02365) (xy 121.579069 52.668683) (xy 121.224101 53.023651) - (xy 120.436871 53.023651) (xy 120.467829 53.017864) (xy 120.473493 53.016941) (xy 120.484934 53.015346) - (xy 120.490612 53.014687) (xy 120.509141 53.012969) (xy 120.164855 52.668683) (xy 119.809887 53.023651) - (xy 119.105608 53.023651) (xy 119.105609 53.02365) (xy 118.750642 52.668683) (xy 118.395674 53.023651) - (xy 117.691394 53.023651) (xy 117.691395 53.02365) (xy 117.336427 52.668682) (xy 117.06504 52.940069) - (xy 113.365173 52.940069) (xy 113.21735 52.792245) (xy 114.384438 52.792245) (xy 114.385527 52.791878) - (xy 114.400483 52.787342) (xy 114.407961 52.785326) (xy 114.438263 52.778167) (xy 114.445844 52.776624) - (xy 114.461237 52.773988) (xy 114.468911 52.77292) (xy 114.55057 52.76414) (xy 114.553894 52.763827) - (xy 114.560577 52.76329) (xy 114.563879 52.763069) (xy 114.577196 52.762356) (xy 114.580505 52.762223) - (xy 114.587187 52.762044) (xy 114.590508 52.762) (xy 114.601318 52.762) (xy 114.508001 52.668683) - (xy 114.384438 52.792245) (xy 113.21735 52.792245) (xy 113.093787 52.668682) (xy 112.738819 53.023651) - (xy 112.034542 53.023651) (xy 111.679574 52.668683) (xy 111.324606 53.023651) (xy 110.620328 53.023651) - (xy 110.26536 52.668683) (xy 109.910392 53.023651) (xy 109.206115 53.023651) (xy 108.851147 52.668683) - (xy 108.496179 53.023651) (xy 107.751104 53.023651) (xy 107.785601 53.000601) (xy 107.840966 52.91774) - (xy 107.8555 52.844674) (xy 107.8555 52.171036) (xy 108.3535 52.171036) (xy 108.3535 52.462052) - (xy 108.499008 52.316544) (xy 109.203285 52.316544) (xy 109.558253 52.671512) (xy 109.913222 52.316544) - (xy 110.617499 52.316544) (xy 110.972467 52.671512) (xy 111.327435 52.316544) (xy 112.031713 52.316544) - (xy 112.386681 52.671512) (xy 112.741649 52.316544) (xy 113.445926 52.316544) (xy 113.800894 52.671512) - (xy 114.155862 52.316544) (xy 114.86014 52.316544) (xy 115.215108 52.671512) (xy 115.570076 52.316544) - (xy 116.274353 52.316544) (xy 116.629321 52.671512) (xy 116.984289 52.316544) (xy 117.688567 52.316544) - (xy 118.043535 52.671512) (xy 118.398503 52.316544) (xy 119.10278 52.316544) (xy 119.457748 52.671512) - (xy 119.812716 52.316544) (xy 120.516994 52.316544) (xy 120.871962 52.671512) (xy 121.22693 52.316544) - (xy 121.931207 52.316544) (xy 122.286175 52.671512) (xy 122.641144 52.316544) (xy 123.345421 52.316544) - (xy 123.700389 52.671512) (xy 124.055357 52.316544) (xy 124.759635 52.316544) (xy 125.114603 52.671512) - (xy 125.469571 52.316544) (xy 126.173848 52.316544) (xy 126.509423 52.652119) (xy 126.864379 52.297139) - (xy 126.528816 51.961576) (xy 126.173848 52.316544) (xy 125.469571 52.316544) (xy 125.114603 51.961576) - (xy 124.759635 52.316544) (xy 124.055357 52.316544) (xy 123.700389 51.961576) (xy 123.345421 52.316544) - (xy 122.641144 52.316544) (xy 122.286175 51.961575) (xy 121.931207 52.316544) (xy 121.22693 52.316544) - (xy 120.871962 51.961576) (xy 120.516994 52.316544) (xy 119.812716 52.316544) (xy 119.457748 51.961575) - (xy 119.10278 52.316544) (xy 118.398503 52.316544) (xy 118.043535 51.961576) (xy 117.688567 52.316544) - (xy 116.984289 52.316544) (xy 116.629321 51.961576) (xy 116.274353 52.316544) (xy 115.570076 52.316544) - (xy 115.215108 51.961576) (xy 114.86014 52.316544) (xy 114.155862 52.316544) (xy 113.800894 51.961576) - (xy 113.445926 52.316544) (xy 112.741649 52.316544) (xy 112.386681 51.961576) (xy 112.031713 52.316544) - (xy 111.327435 52.316544) (xy 110.972467 51.961576) (xy 110.617499 52.316544) (xy 109.913222 52.316544) - (xy 109.558253 51.961575) (xy 109.203285 52.316544) (xy 108.499008 52.316544) (xy 108.3535 52.171036) - (xy 107.8555 52.171036) (xy 107.8555 51.609437) (xy 108.496179 51.609437) (xy 108.851147 51.964405) - (xy 109.206115 51.609437) (xy 109.910392 51.609437) (xy 110.26536 51.964405) (xy 110.620328 51.609437) - (xy 111.324606 51.609437) (xy 111.679574 51.964405) (xy 112.034542 51.609437) (xy 112.738819 51.609437) - (xy 113.093787 51.964405) (xy 113.448755 51.609437) (xy 114.153033 51.609437) (xy 114.508001 51.964405) - (xy 114.862969 51.609437) (xy 115.567246 51.609437) (xy 115.922214 51.964405) (xy 116.277183 51.609437) - (xy 116.98146 51.609437) (xy 117.336428 51.964405) (xy 117.691396 51.609437) (xy 118.395674 51.609437) - (xy 118.750642 51.964405) (xy 119.10561 51.609437) (xy 119.809887 51.609437) (xy 120.164855 51.964405) - (xy 120.519823 51.609437) (xy 121.224101 51.609437) (xy 121.579069 51.964405) (xy 121.934037 51.609437) - (xy 122.638314 51.609437) (xy 122.993282 51.964405) (xy 123.34825 51.609437) (xy 124.052528 51.609437) - (xy 124.407496 51.964405) (xy 124.762464 51.609437) (xy 125.466741 51.609437) (xy 125.821709 51.964405) - (xy 126.176677 51.609437) (xy 126.880955 51.609437) (xy 127.216507 51.944989) (xy 127.571462 51.590008) - (xy 127.235923 51.254469) (xy 126.880955 51.609437) (xy 126.176677 51.609437) (xy 125.821709 51.254468) - (xy 125.466741 51.609437) (xy 124.762464 51.609437) (xy 124.407496 51.254469) (xy 124.052528 51.609437) - (xy 123.34825 51.609437) (xy 122.993282 51.254469) (xy 122.638314 51.609437) (xy 121.934037 51.609437) - (xy 121.579069 51.254469) (xy 121.224101 51.609437) (xy 120.519823 51.609437) (xy 120.164855 51.254469) - (xy 119.809887 51.609437) (xy 119.10561 51.609437) (xy 118.750642 51.254469) (xy 118.395674 51.609437) - (xy 117.691396 51.609437) (xy 117.336428 51.254469) (xy 116.98146 51.609437) (xy 116.277183 51.609437) - (xy 115.922214 51.254468) (xy 115.567246 51.609437) (xy 114.862969 51.609437) (xy 114.508001 51.254469) - (xy 114.153033 51.609437) (xy 113.448755 51.609437) (xy 113.093787 51.254468) (xy 112.738819 51.609437) - (xy 112.034542 51.609437) (xy 111.679574 51.254469) (xy 111.324606 51.609437) (xy 110.620328 51.609437) - (xy 110.26536 51.254469) (xy 109.910392 51.609437) (xy 109.206115 51.609437) (xy 108.851147 51.254469) - (xy 108.496179 51.609437) (xy 107.8555 51.609437) (xy 107.8555 51.295326) (xy 107.8555 51.295323) - (xy 107.855499 51.295321) (xy 107.840967 51.222264) (xy 107.840966 51.22226) (xy 107.828323 51.203338) - (xy 107.785601 51.139399) (xy 107.70902 51.08823) (xy 107.702739 51.084033) (xy 107.702735 51.084032) - (xy 107.629677 51.0695) (xy 107.629674 51.0695) (xy 105.880326 51.0695) (xy 105.880323 51.0695) - (xy 105.807264 51.084032) (xy 105.80726 51.084033) (xy 105.724399 51.139399) (xy 105.669033 51.22226) - (xy 105.669032 51.222264) (xy 105.6545 51.295321) (xy 105.6545 52.844678) (xy 104.5155 52.844678) - (xy 104.5155 52.369399) (xy 105.0135 52.369399) (xy 105.1565 52.512399) (xy 105.1565 52.120689) - (xy 105.0135 52.263689) (xy 105.0135 52.369399) (xy 104.5155 52.369399) (xy 104.5155 50.955185) - (xy 105.0135 50.955185) (xy 105.18107 51.122755) (xy 105.185382 51.101079) (xy 105.188339 51.089275) - (xy 105.19547 51.065768) (xy 105.199569 51.05431) (xy 105.218316 51.009052) (xy 105.223518 50.998055) - (xy 105.235096 50.976393) (xy 105.241352 50.965954) (xy 105.323934 50.84236) (xy 105.331186 50.832582) - (xy 105.34677 50.813594) (xy 105.35494 50.804581) (xy 105.389581 50.76994) (xy 105.398594 50.76177) - (xy 105.417582 50.746186) (xy 105.42736 50.738934) (xy 105.475211 50.70696) (xy 105.455045 50.686794) - (xy 108.004606 50.686794) (xy 108.08264 50.738934) (xy 108.092418 50.746186) (xy 108.111406 50.76177) - (xy 108.120419 50.76994) (xy 108.15506 50.804581) (xy 108.16323 50.813594) (xy 108.178814 50.832582) - (xy 108.186066 50.84236) (xy 108.268648 50.965954) (xy 108.274904 50.976393) (xy 108.286482 50.998055) - (xy 108.291684 51.009052) (xy 108.310431 51.05431) (xy 108.31453 51.065768) (xy 108.319427 51.08191) - (xy 108.499008 50.90233) (xy 109.203285 50.90233) (xy 109.558253 51.257298) (xy 109.913222 50.90233) - (xy 110.617499 50.90233) (xy 110.972467 51.257298) (xy 111.327435 50.90233) (xy 112.031713 50.90233) - (xy 112.386681 51.257298) (xy 112.741649 50.90233) (xy 113.445926 50.90233) (xy 113.800894 51.257298) - (xy 114.155862 50.90233) (xy 114.86014 50.90233) (xy 115.215108 51.257298) (xy 115.570076 50.90233) - (xy 116.274353 50.90233) (xy 116.629321 51.257298) (xy 116.984289 50.90233) (xy 117.688567 50.90233) - (xy 118.043535 51.257298) (xy 118.398503 50.90233) (xy 119.10278 50.90233) (xy 119.457748 51.257298) - (xy 119.812716 50.90233) (xy 120.516994 50.90233) (xy 120.871962 51.257298) (xy 121.22693 50.90233) - (xy 121.931207 50.90233) (xy 122.286175 51.257298) (xy 122.641144 50.90233) (xy 123.345421 50.90233) - (xy 123.700389 51.257298) (xy 124.055357 50.90233) (xy 124.759635 50.90233) (xy 125.114603 51.257298) - (xy 125.469571 50.90233) (xy 126.173848 50.90233) (xy 126.528815 51.257297) (xy 126.883783 50.902329) - (xy 126.528816 50.547362) (xy 126.173848 50.90233) (xy 125.469571 50.90233) (xy 125.114603 50.547362) - (xy 124.759635 50.90233) (xy 124.055357 50.90233) (xy 123.700389 50.547362) (xy 123.345421 50.90233) - (xy 122.641144 50.90233) (xy 122.286175 50.547361) (xy 121.931207 50.90233) (xy 121.22693 50.90233) - (xy 120.871962 50.547362) (xy 120.516994 50.90233) (xy 119.812716 50.90233) (xy 119.457748 50.547361) - (xy 119.10278 50.90233) (xy 118.398503 50.90233) (xy 118.043535 50.547362) (xy 117.688567 50.90233) - (xy 116.984289 50.90233) (xy 116.629321 50.547362) (xy 116.274353 50.90233) (xy 115.570076 50.90233) - (xy 115.215108 50.547362) (xy 114.86014 50.90233) (xy 114.155862 50.90233) (xy 113.800894 50.547362) - (xy 113.445926 50.90233) (xy 112.741649 50.90233) (xy 112.386681 50.547362) (xy 112.031713 50.90233) - (xy 111.327435 50.90233) (xy 110.972467 50.547362) (xy 110.617499 50.90233) (xy 109.913222 50.90233) - (xy 109.558253 50.547361) (xy 109.203285 50.90233) (xy 108.499008 50.90233) (xy 108.144039 50.547361) - (xy 108.004606 50.686794) (xy 105.455045 50.686794) (xy 105.315613 50.547362) (xy 105.0135 50.849475) - (xy 105.0135 50.955185) (xy 104.5155 50.955185) (xy 104.5155 50.195224) (xy 105.667752 50.195224) - (xy 106.02272 50.550192) (xy 106.377688 50.195224) (xy 107.081965 50.195224) (xy 107.436933 50.550192) - (xy 107.791901 50.195224) (xy 107.7919 50.195223) (xy 108.496178 50.195223) (xy 108.851147 50.550192) - (xy 109.206115 50.195224) (xy 109.910392 50.195224) (xy 110.26536 50.550192) (xy 110.620328 50.195224) - (xy 111.324606 50.195224) (xy 111.679574 50.550192) (xy 112.034542 50.195224) (xy 112.738819 50.195224) - (xy 113.093787 50.550192) (xy 113.448755 50.195224) (xy 114.153033 50.195224) (xy 114.508001 50.550192) - (xy 114.862969 50.195224) (xy 115.567246 50.195224) (xy 115.922214 50.550192) (xy 116.277183 50.195224) - (xy 116.98146 50.195224) (xy 117.336428 50.550192) (xy 117.691396 50.195224) (xy 118.395674 50.195224) - (xy 118.750642 50.550192) (xy 119.10561 50.195224) (xy 119.809887 50.195224) (xy 120.164855 50.550192) - (xy 120.519823 50.195224) (xy 121.224101 50.195224) (xy 121.579069 50.550192) (xy 121.934037 50.195224) - (xy 122.638314 50.195224) (xy 122.993282 50.550192) (xy 123.34825 50.195224) (xy 124.052528 50.195224) - (xy 124.407496 50.550192) (xy 124.762464 50.195224) (xy 125.466741 50.195224) (xy 125.821709 50.550192) - (xy 126.176677 50.195224) (xy 125.821709 49.840255) (xy 125.466741 50.195224) (xy 124.762464 50.195224) - (xy 124.407496 49.840256) (xy 124.052528 50.195224) (xy 123.34825 50.195224) (xy 122.993282 49.840256) - (xy 122.638314 50.195224) (xy 121.934037 50.195224) (xy 121.579069 49.840256) (xy 121.224101 50.195224) - (xy 120.519823 50.195224) (xy 120.164855 49.840256) (xy 119.809887 50.195224) (xy 119.10561 50.195224) - (xy 118.750642 49.840256) (xy 118.395674 50.195224) (xy 117.691396 50.195224) (xy 117.336428 49.840256) - (xy 116.98146 50.195224) (xy 116.277183 50.195224) (xy 115.922214 49.840255) (xy 115.567246 50.195224) - (xy 114.862969 50.195224) (xy 114.508001 49.840256) (xy 114.153033 50.195224) (xy 113.448755 50.195224) - (xy 113.093787 49.840255) (xy 112.738819 50.195224) (xy 112.034542 50.195224) (xy 111.679574 49.840256) - (xy 111.324606 50.195224) (xy 110.620328 50.195224) (xy 110.26536 49.840256) (xy 109.910392 50.195224) - (xy 109.206115 50.195224) (xy 109.098298 50.087407) (xy 109.012766 50.104421) (xy 108.956482 50.102579) - (xy 108.666516 50.024885) (xy 108.496178 50.195223) (xy 107.7919 50.195223) (xy 107.436933 49.840256) - (xy 107.081965 50.195224) (xy 106.377688 50.195224) (xy 106.02272 49.840256) (xy 105.667752 50.195224) - (xy 104.5155 50.195224) (xy 104.5155 49.57697) (xy 105.049498 49.57697) (xy 105.315613 49.843085) - (xy 105.662886 49.495811) (xy 105.654445 49.488116) (xy 107.789071 49.488116) (xy 108.144039 49.843084) - (xy 108.19138 49.795743) (xy 108.054378 49.699812) (xy 108.05002 49.696618) (xy 108.041367 49.689979) - (xy 108.037146 49.68659) (xy 108.020494 49.672618) (xy 108.016423 49.669048) (xy 108.008377 49.661675) - (xy 108.00447 49.657935) (xy 107.822065 49.47553) (xy 107.818325 49.471623) (xy 107.812223 49.464964) - (xy 107.789071 49.488116) (xy 105.654445 49.488116) (xy 105.51923 49.364852) (xy 105.515081 49.360891) - (xy 105.506912 49.352721) (xy 105.502963 49.348584) (xy 105.487456 49.331574) (xy 105.483695 49.327253) - (xy 105.476316 49.318367) (xy 105.472759 49.313876) (xy 105.409999 49.230769) (xy 105.347241 49.313876) - (xy 105.343684 49.318367) (xy 105.336305 49.327253) (xy 105.332544 49.331574) (xy 105.317037 49.348584) - (xy 105.313088 49.352721) (xy 105.304919 49.360891) (xy 105.30077 49.364852) (xy 105.133037 49.51776) - (xy 105.128717 49.52152) (xy 105.119831 49.528899) (xy 105.11534 49.532456) (xy 105.096972 49.546327) - (xy 105.09232 49.549674) (xy 105.082787 49.556204) (xy 105.077989 49.55933) (xy 105.049498 49.57697) - (xy 104.5155 49.57697) (xy 104.5155 49.379668) (xy 104.535185 49.312629) (xy 104.587989 49.266874) - (xy 104.594679 49.264052) (xy 104.632637 49.249348) (xy 104.806041 49.141981) (xy 104.956764 49.004579) + (xy 104.48991 53.305738) (xy 104.513643 53.217166) (xy 104.5155 53.210236) (xy 104.5155 53.111364) + (xy 104.5155 52.844678) (xy 105.6545 52.844678) (xy 105.669032 52.917735) (xy 105.669033 52.917739) + (xy 105.68621 52.943446) (xy 105.724399 53.000601) (xy 105.791227 53.045253) (xy 105.80726 53.055966) + (xy 105.807264 53.055967) (xy 105.880321 53.070499) (xy 105.880324 53.0705) (xy 105.880326 53.0705) + (xy 107.629676 53.0705) (xy 107.629677 53.070499) (xy 107.70274 53.055966) (xy 107.751104 53.023651) + (xy 108.496179 53.023651) (xy 108.851147 53.378619) (xy 109.206115 53.023651) (xy 109.910392 53.023651) + (xy 110.26536 53.378619) (xy 110.620328 53.023651) (xy 111.324606 53.023651) (xy 111.679574 53.378619) + (xy 112.034542 53.023651) (xy 112.738819 53.023651) (xy 113.093787 53.378619) (xy 113.448755 53.023651) + (xy 113.365173 52.940069) (xy 117.06504 52.940069) (xy 117.16488 53.01481) (xy 117.171769 53.020361) + (xy 117.185264 53.032054) (xy 117.191744 53.038088) (xy 117.216912 53.063256) (xy 117.222946 53.069736) + (xy 117.234639 53.083231) (xy 117.24019 53.09012) (xy 117.33141 53.211973) (xy 117.364986 53.191185) + (xy 117.369925 53.188282) (xy 117.380015 53.182662) (xy 117.385077 53.179994) (xy 117.405682 53.169733) + (xy 117.410878 53.167294) (xy 117.421447 53.162628) (xy 117.426733 53.160438) (xy 117.635473 53.079571) + (xy 117.691394 53.023651) (xy 118.395674 53.023651) (xy 118.412352 53.040329) (xy 118.515272 53.059569) + (xy 118.520875 53.060751) (xy 118.532113 53.063394) (xy 118.537654 53.064833) (xy 118.559793 53.071131) + (xy 118.565263 53.072825) (xy 118.576224 53.076498) (xy 118.581619 53.078445) (xy 118.793267 53.160438) + (xy 118.798553 53.162628) (xy 118.809122 53.167294) (xy 118.814318 53.169733) (xy 118.834923 53.179994) + (xy 118.839985 53.182662) (xy 118.850075 53.188282) (xy 118.855015 53.191185) (xy 118.906312 53.222947) + (xy 119.105608 53.023651) (xy 119.809887 53.023651) (xy 119.952717 53.166481) (xy 119.961447 53.162628) + (xy 119.966733 53.160438) (xy 120.178381 53.078445) (xy 120.183776 53.076498) (xy 120.194737 53.072825) + (xy 120.200207 53.071131) (xy 120.222346 53.064833) (xy 120.227887 53.063394) (xy 120.239125 53.060751) + (xy 120.244728 53.059569) (xy 120.436871 53.023651) (xy 121.224101 53.023651) (xy 121.387043 53.186593) + (xy 121.390075 53.188282) (xy 121.395015 53.191185) (xy 121.58799 53.31067) (xy 121.592787 53.313796) + (xy 121.60232 53.320326) (xy 121.606972 53.323673) (xy 121.622379 53.335308) (xy 121.934035 53.023651) + (xy 122.638314 53.023651) (xy 122.700165 53.085502) (xy 122.718382 53.078445) (xy 122.723776 53.076498) + (xy 122.734737 53.072825) (xy 122.740207 53.071131) (xy 122.762346 53.064833) (xy 122.767887 53.063394) + (xy 122.779125 53.060751) (xy 122.784728 53.059569) (xy 122.976871 53.023651) (xy 124.052528 53.023651) + (xy 124.407496 53.378619) (xy 124.762464 53.023651) (xy 125.466741 53.023651) (xy 125.802339 53.359249) + (xy 126.157295 53.004269) (xy 125.821709 52.668683) (xy 125.466741 53.023651) (xy 124.762464 53.023651) + (xy 124.407496 52.668683) (xy 124.052528 53.023651) (xy 122.976871 53.023651) (xy 123.007829 53.017864) + (xy 123.013493 53.016941) (xy 123.024934 53.015346) (xy 123.030612 53.014687) (xy 123.053531 53.012563) + (xy 123.059243 53.012167) (xy 123.070784 53.011633) (xy 123.076515 53.0115) (xy 123.303485 53.0115) + (xy 123.309216 53.011633) (xy 123.320757 53.012167) (xy 123.326469 53.012563) (xy 123.338254 53.013655) + (xy 122.993282 52.668683) (xy 122.638314 53.023651) (xy 121.934035 53.023651) (xy 121.934036 53.02365) + (xy 121.579069 52.668683) (xy 121.224101 53.023651) (xy 120.436871 53.023651) (xy 120.467829 53.017864) + (xy 120.473493 53.016941) (xy 120.484934 53.015346) (xy 120.490612 53.014687) (xy 120.509141 53.012969) + (xy 120.164855 52.668683) (xy 119.809887 53.023651) (xy 119.105608 53.023651) (xy 119.105609 53.02365) + (xy 118.750642 52.668683) (xy 118.395674 53.023651) (xy 117.691394 53.023651) (xy 117.691395 53.02365) + (xy 117.336427 52.668682) (xy 117.06504 52.940069) (xy 113.365173 52.940069) (xy 113.21735 52.792245) + (xy 114.384438 52.792245) (xy 114.385527 52.791878) (xy 114.400483 52.787342) (xy 114.407961 52.785326) + (xy 114.438263 52.778167) (xy 114.445844 52.776624) (xy 114.461237 52.773988) (xy 114.468911 52.77292) + (xy 114.55057 52.76414) (xy 114.553894 52.763827) (xy 114.560577 52.76329) (xy 114.563879 52.763069) + (xy 114.577196 52.762356) (xy 114.580505 52.762223) (xy 114.587187 52.762044) (xy 114.590508 52.762) + (xy 114.601318 52.762) (xy 114.508001 52.668683) (xy 114.384438 52.792245) (xy 113.21735 52.792245) + (xy 113.093787 52.668682) (xy 112.738819 53.023651) (xy 112.034542 53.023651) (xy 111.679574 52.668683) + (xy 111.324606 53.023651) (xy 110.620328 53.023651) (xy 110.26536 52.668683) (xy 109.910392 53.023651) + (xy 109.206115 53.023651) (xy 108.851147 52.668683) (xy 108.496179 53.023651) (xy 107.751104 53.023651) + (xy 107.785601 53.000601) (xy 107.840966 52.91774) (xy 107.8555 52.844674) (xy 107.8555 52.171036) + (xy 108.3535 52.171036) (xy 108.3535 52.462052) (xy 108.499008 52.316544) (xy 109.203285 52.316544) + (xy 109.558253 52.671512) (xy 109.913222 52.316544) (xy 110.617499 52.316544) (xy 110.972467 52.671512) + (xy 111.327435 52.316544) (xy 112.031713 52.316544) (xy 112.386681 52.671512) (xy 112.741649 52.316544) + (xy 113.445926 52.316544) (xy 113.800894 52.671512) (xy 114.155862 52.316544) (xy 114.86014 52.316544) + (xy 115.215108 52.671512) (xy 115.570076 52.316544) (xy 116.274353 52.316544) (xy 116.629321 52.671512) + (xy 116.984289 52.316544) (xy 117.688567 52.316544) (xy 118.043535 52.671512) (xy 118.398503 52.316544) + (xy 119.10278 52.316544) (xy 119.457748 52.671512) (xy 119.812716 52.316544) (xy 120.516994 52.316544) + (xy 120.871962 52.671512) (xy 121.22693 52.316544) (xy 121.931207 52.316544) (xy 122.286175 52.671512) + (xy 122.641144 52.316544) (xy 123.345421 52.316544) (xy 123.700389 52.671512) (xy 124.055357 52.316544) + (xy 124.759635 52.316544) (xy 125.114603 52.671512) (xy 125.469571 52.316544) (xy 126.173848 52.316544) + (xy 126.509423 52.652119) (xy 126.864379 52.297139) (xy 126.528816 51.961576) (xy 126.173848 52.316544) + (xy 125.469571 52.316544) (xy 125.114603 51.961576) (xy 124.759635 52.316544) (xy 124.055357 52.316544) + (xy 123.700389 51.961576) (xy 123.345421 52.316544) (xy 122.641144 52.316544) (xy 122.286175 51.961575) + (xy 121.931207 52.316544) (xy 121.22693 52.316544) (xy 120.871962 51.961576) (xy 120.516994 52.316544) + (xy 119.812716 52.316544) (xy 119.457748 51.961575) (xy 119.10278 52.316544) (xy 118.398503 52.316544) + (xy 118.043535 51.961576) (xy 117.688567 52.316544) (xy 116.984289 52.316544) (xy 116.629321 51.961576) + (xy 116.274353 52.316544) (xy 115.570076 52.316544) (xy 115.215108 51.961576) (xy 114.86014 52.316544) + (xy 114.155862 52.316544) (xy 113.800894 51.961576) (xy 113.445926 52.316544) (xy 112.741649 52.316544) + (xy 112.386681 51.961576) (xy 112.031713 52.316544) (xy 111.327435 52.316544) (xy 110.972467 51.961576) + (xy 110.617499 52.316544) (xy 109.913222 52.316544) (xy 109.558253 51.961575) (xy 109.203285 52.316544) + (xy 108.499008 52.316544) (xy 108.3535 52.171036) (xy 107.8555 52.171036) (xy 107.8555 51.609437) + (xy 108.496179 51.609437) (xy 108.851147 51.964405) (xy 109.206115 51.609437) (xy 109.910392 51.609437) + (xy 110.26536 51.964405) (xy 110.620328 51.609437) (xy 111.324606 51.609437) (xy 111.679574 51.964405) + (xy 112.034542 51.609437) (xy 112.738819 51.609437) (xy 113.093787 51.964405) (xy 113.448755 51.609437) + (xy 114.153033 51.609437) (xy 114.508001 51.964405) (xy 114.862969 51.609437) (xy 115.567246 51.609437) + (xy 115.922214 51.964405) (xy 116.277183 51.609437) (xy 116.98146 51.609437) (xy 117.336428 51.964405) + (xy 117.691396 51.609437) (xy 118.395674 51.609437) (xy 118.750642 51.964405) (xy 119.10561 51.609437) + (xy 119.809887 51.609437) (xy 120.164855 51.964405) (xy 120.519823 51.609437) (xy 121.224101 51.609437) + (xy 121.579069 51.964405) (xy 121.934037 51.609437) (xy 122.638314 51.609437) (xy 122.993282 51.964405) + (xy 123.34825 51.609437) (xy 124.052528 51.609437) (xy 124.407496 51.964405) (xy 124.762464 51.609437) + (xy 125.466741 51.609437) (xy 125.821709 51.964405) (xy 126.176677 51.609437) (xy 126.880955 51.609437) + (xy 127.216507 51.944989) (xy 127.571462 51.590008) (xy 127.235923 51.254469) (xy 126.880955 51.609437) + (xy 126.176677 51.609437) (xy 125.821709 51.254468) (xy 125.466741 51.609437) (xy 124.762464 51.609437) + (xy 124.407496 51.254469) (xy 124.052528 51.609437) (xy 123.34825 51.609437) (xy 122.993282 51.254469) + (xy 122.638314 51.609437) (xy 121.934037 51.609437) (xy 121.579069 51.254469) (xy 121.224101 51.609437) + (xy 120.519823 51.609437) (xy 120.164855 51.254469) (xy 119.809887 51.609437) (xy 119.10561 51.609437) + (xy 118.750642 51.254469) (xy 118.395674 51.609437) (xy 117.691396 51.609437) (xy 117.336428 51.254469) + (xy 116.98146 51.609437) (xy 116.277183 51.609437) (xy 115.922214 51.254468) (xy 115.567246 51.609437) + (xy 114.862969 51.609437) (xy 114.508001 51.254469) (xy 114.153033 51.609437) (xy 113.448755 51.609437) + (xy 113.093787 51.254468) (xy 112.738819 51.609437) (xy 112.034542 51.609437) (xy 111.679574 51.254469) + (xy 111.324606 51.609437) (xy 110.620328 51.609437) (xy 110.26536 51.254469) (xy 109.910392 51.609437) + (xy 109.206115 51.609437) (xy 108.851147 51.254469) (xy 108.496179 51.609437) (xy 107.8555 51.609437) + (xy 107.8555 51.295326) (xy 107.8555 51.295323) (xy 107.855499 51.295321) (xy 107.840967 51.222264) + (xy 107.840966 51.22226) (xy 107.838168 51.218072) (xy 107.785601 51.139399) (xy 107.72825 51.101079) + (xy 107.702739 51.084033) (xy 107.702735 51.084032) (xy 107.629677 51.0695) (xy 107.629674 51.0695) + (xy 105.880326 51.0695) (xy 105.880323 51.0695) (xy 105.807264 51.084032) (xy 105.80726 51.084033) + (xy 105.724399 51.139399) (xy 105.669033 51.22226) (xy 105.669032 51.222264) (xy 105.6545 51.295321) + (xy 105.6545 52.844678) (xy 104.5155 52.844678) (xy 104.5155 52.369399) (xy 105.0135 52.369399) + (xy 105.1565 52.512399) (xy 105.1565 52.120689) (xy 105.0135 52.263689) (xy 105.0135 52.369399) + (xy 104.5155 52.369399) (xy 104.5155 50.955185) (xy 105.0135 50.955185) (xy 105.18107 51.122755) + (xy 105.185382 51.101079) (xy 105.188339 51.089275) (xy 105.19547 51.065768) (xy 105.199569 51.05431) + (xy 105.218316 51.009052) (xy 105.223518 50.998055) (xy 105.235096 50.976393) (xy 105.241352 50.965954) + (xy 105.323934 50.84236) (xy 105.331186 50.832582) (xy 105.34677 50.813594) (xy 105.35494 50.804581) + (xy 105.389581 50.76994) (xy 105.398594 50.76177) (xy 105.417582 50.746186) (xy 105.42736 50.738934) + (xy 105.475211 50.70696) (xy 105.455045 50.686794) (xy 108.004606 50.686794) (xy 108.08264 50.738934) + (xy 108.092418 50.746186) (xy 108.111406 50.76177) (xy 108.120419 50.76994) (xy 108.15506 50.804581) + (xy 108.16323 50.813594) (xy 108.178814 50.832582) (xy 108.186066 50.84236) (xy 108.268648 50.965954) + (xy 108.274904 50.976393) (xy 108.286482 50.998055) (xy 108.291684 51.009052) (xy 108.310431 51.05431) + (xy 108.31453 51.065768) (xy 108.319427 51.08191) (xy 108.499008 50.90233) (xy 109.203285 50.90233) + (xy 109.558253 51.257298) (xy 109.913222 50.90233) (xy 110.617499 50.90233) (xy 110.972467 51.257298) + (xy 111.327435 50.90233) (xy 112.031713 50.90233) (xy 112.386681 51.257298) (xy 112.741649 50.90233) + (xy 113.445926 50.90233) (xy 113.800894 51.257298) (xy 114.155862 50.90233) (xy 114.86014 50.90233) + (xy 115.215108 51.257298) (xy 115.570076 50.90233) (xy 116.274353 50.90233) (xy 116.629321 51.257298) + (xy 116.984289 50.90233) (xy 117.688567 50.90233) (xy 118.043535 51.257298) (xy 118.398503 50.90233) + (xy 119.10278 50.90233) (xy 119.457748 51.257298) (xy 119.812716 50.90233) (xy 120.516994 50.90233) + (xy 120.871962 51.257298) (xy 121.22693 50.90233) (xy 121.931207 50.90233) (xy 122.286175 51.257298) + (xy 122.641144 50.90233) (xy 123.345421 50.90233) (xy 123.700389 51.257298) (xy 124.055357 50.90233) + (xy 124.759635 50.90233) (xy 125.114603 51.257298) (xy 125.469571 50.90233) (xy 126.173848 50.90233) + (xy 126.528815 51.257297) (xy 126.883783 50.902329) (xy 126.528816 50.547362) (xy 126.173848 50.90233) + (xy 125.469571 50.90233) (xy 125.114603 50.547362) (xy 124.759635 50.90233) (xy 124.055357 50.90233) + (xy 123.700389 50.547362) (xy 123.345421 50.90233) (xy 122.641144 50.90233) (xy 122.286175 50.547361) + (xy 121.931207 50.90233) (xy 121.22693 50.90233) (xy 120.871962 50.547362) (xy 120.516994 50.90233) + (xy 119.812716 50.90233) (xy 119.457748 50.547361) (xy 119.10278 50.90233) (xy 118.398503 50.90233) + (xy 118.043535 50.547362) (xy 117.688567 50.90233) (xy 116.984289 50.90233) (xy 116.629321 50.547362) + (xy 116.274353 50.90233) (xy 115.570076 50.90233) (xy 115.215108 50.547362) (xy 114.86014 50.90233) + (xy 114.155862 50.90233) (xy 113.800894 50.547362) (xy 113.445926 50.90233) (xy 112.741649 50.90233) + (xy 112.386681 50.547362) (xy 112.031713 50.90233) (xy 111.327435 50.90233) (xy 110.972467 50.547362) + (xy 110.617499 50.90233) (xy 109.913222 50.90233) (xy 109.558253 50.547361) (xy 109.203285 50.90233) + (xy 108.499008 50.90233) (xy 108.144039 50.547361) (xy 108.004606 50.686794) (xy 105.455045 50.686794) + (xy 105.315613 50.547362) (xy 105.0135 50.849475) (xy 105.0135 50.955185) (xy 104.5155 50.955185) + (xy 104.5155 50.195224) (xy 105.667752 50.195224) (xy 106.02272 50.550192) (xy 106.377688 50.195224) + (xy 107.081965 50.195224) (xy 107.436933 50.550192) (xy 107.791901 50.195224) (xy 107.7919 50.195223) + (xy 108.496178 50.195223) (xy 108.851147 50.550192) (xy 109.206115 50.195224) (xy 109.910392 50.195224) + (xy 110.26536 50.550192) (xy 110.620328 50.195224) (xy 111.324606 50.195224) (xy 111.679574 50.550192) + (xy 112.034542 50.195224) (xy 112.738819 50.195224) (xy 113.093787 50.550192) (xy 113.448755 50.195224) + (xy 114.153033 50.195224) (xy 114.508001 50.550192) (xy 114.862969 50.195224) (xy 115.567246 50.195224) + (xy 115.922214 50.550192) (xy 116.277183 50.195224) (xy 116.98146 50.195224) (xy 117.336428 50.550192) + (xy 117.691396 50.195224) (xy 118.395674 50.195224) (xy 118.750642 50.550192) (xy 119.10561 50.195224) + (xy 119.809887 50.195224) (xy 120.164855 50.550192) (xy 120.519823 50.195224) (xy 121.224101 50.195224) + (xy 121.579069 50.550192) (xy 121.934037 50.195224) (xy 122.638314 50.195224) (xy 122.993282 50.550192) + (xy 123.34825 50.195224) (xy 124.052528 50.195224) (xy 124.407496 50.550192) (xy 124.762464 50.195224) + (xy 125.466741 50.195224) (xy 125.821709 50.550192) (xy 126.176677 50.195224) (xy 125.821709 49.840255) + (xy 125.466741 50.195224) (xy 124.762464 50.195224) (xy 124.407496 49.840256) (xy 124.052528 50.195224) + (xy 123.34825 50.195224) (xy 122.993282 49.840256) (xy 122.638314 50.195224) (xy 121.934037 50.195224) + (xy 121.579069 49.840256) (xy 121.224101 50.195224) (xy 120.519823 50.195224) (xy 120.164855 49.840256) + (xy 119.809887 50.195224) (xy 119.10561 50.195224) (xy 118.750642 49.840256) (xy 118.395674 50.195224) + (xy 117.691396 50.195224) (xy 117.336428 49.840256) (xy 116.98146 50.195224) (xy 116.277183 50.195224) + (xy 115.922214 49.840255) (xy 115.567246 50.195224) (xy 114.862969 50.195224) (xy 114.508001 49.840256) + (xy 114.153033 50.195224) (xy 113.448755 50.195224) (xy 113.093787 49.840255) (xy 112.738819 50.195224) + (xy 112.034542 50.195224) (xy 111.679574 49.840256) (xy 111.324606 50.195224) (xy 110.620328 50.195224) + (xy 110.26536 49.840256) (xy 109.910392 50.195224) (xy 109.206115 50.195224) (xy 109.098298 50.087407) + (xy 109.012766 50.104421) (xy 108.956482 50.102579) (xy 108.666516 50.024885) (xy 108.496178 50.195223) + (xy 107.7919 50.195223) (xy 107.436933 49.840256) (xy 107.081965 50.195224) (xy 106.377688 50.195224) + (xy 106.02272 49.840256) (xy 105.667752 50.195224) (xy 104.5155 50.195224) (xy 104.5155 49.57697) + (xy 105.049498 49.57697) (xy 105.315613 49.843085) (xy 105.662886 49.495811) (xy 105.654445 49.488116) + (xy 107.789071 49.488116) (xy 108.144039 49.843084) (xy 108.19138 49.795743) (xy 108.054378 49.699812) + (xy 108.05002 49.696618) (xy 108.041367 49.689979) (xy 108.037146 49.68659) (xy 108.020494 49.672618) + (xy 108.016423 49.669048) (xy 108.008377 49.661675) (xy 108.00447 49.657935) (xy 107.822065 49.47553) + (xy 107.818325 49.471623) (xy 107.812223 49.464964) (xy 107.789071 49.488116) (xy 105.654445 49.488116) + (xy 105.51923 49.364852) (xy 105.515081 49.360891) (xy 105.506912 49.352721) (xy 105.502963 49.348584) + (xy 105.487456 49.331574) (xy 105.483695 49.327253) (xy 105.476316 49.318367) (xy 105.472759 49.313876) + (xy 105.409999 49.230769) (xy 105.347241 49.313876) (xy 105.343684 49.318367) (xy 105.336305 49.327253) + (xy 105.332544 49.331574) (xy 105.317037 49.348584) (xy 105.313088 49.352721) (xy 105.304919 49.360891) + (xy 105.30077 49.364852) (xy 105.133037 49.51776) (xy 105.128717 49.52152) (xy 105.119831 49.528899) + (xy 105.11534 49.532456) (xy 105.096972 49.546327) (xy 105.09232 49.549674) (xy 105.082787 49.556204) + (xy 105.077989 49.55933) (xy 105.049498 49.57697) (xy 104.5155 49.57697) (xy 104.5155 49.379668) + (xy 104.535185 49.312629) (xy 104.587989 49.266874) (xy 104.594679 49.264052) (xy 104.632637 49.249348) + (xy 104.806041 49.141981) (xy 104.942862 49.017252) (xy 104.956762 49.004581) (xy 104.957094 49.004142) (xy 105.079673 48.841821) (xy 105.170582 48.65925) (xy 105.226397 48.463083) (xy 105.245215 48.26) (xy 105.574785 48.26) (xy 105.593602 48.463082) (xy 105.649417 48.659247) (xy 105.649422 48.65926) (xy 105.740327 48.841821) (xy 105.863237 49.004581) (xy 106.013958 49.14198) (xy 106.01396 49.141982) - (xy 106.102813 49.196997) (xy 106.187363 49.249348) (xy 106.377544 49.323024) (xy 106.578024 49.3605) + (xy 106.11021 49.201577) (xy 106.187363 49.249348) (xy 106.377544 49.323024) (xy 106.578024 49.3605) (xy 106.578026 49.3605) (xy 106.781974 49.3605) (xy 106.781976 49.3605) (xy 106.982456 49.323024) - (xy 107.172637 49.249348) (xy 107.346041 49.141981) (xy 107.496764 49.004579) (xy 107.619673 48.841821) - (xy 107.692639 48.695284) (xy 107.706817 48.666812) (xy 107.754319 48.615575) (xy 107.821982 48.598153) - (xy 107.888323 48.620078) (xy 107.932278 48.674389) (xy 107.937592 48.689989) (xy 107.946567 48.723485) - (xy 107.94657 48.723492) (xy 108.046399 48.937578) (xy 108.181894 49.131082) (xy 108.348917 49.298105) - (xy 108.542421 49.4336) (xy 108.756507 49.533429) (xy 108.756516 49.533433) (xy 108.97 49.590634) - (xy 108.97 48.693012) (xy 109.027007 48.725925) (xy 109.154174 48.76) (xy 109.285826 48.76) (xy 109.412993 48.725925) - (xy 109.47 48.693012) (xy 109.47 49.590633) (xy 109.683483 49.533433) (xy 109.683492 49.533429) - (xy 109.780665 49.488117) (xy 110.617499 49.488117) (xy 110.972467 49.843085) (xy 111.327435 49.488117) - (xy 112.031713 49.488117) (xy 112.386681 49.843085) (xy 112.741649 49.488117) (xy 113.445926 49.488117) - (xy 113.800894 49.843085) (xy 114.155862 49.488117) (xy 114.86014 49.488117) (xy 115.215108 49.843085) - (xy 115.570076 49.488117) (xy 116.274353 49.488117) (xy 116.629321 49.843085) (xy 116.984289 49.488117) - (xy 117.688567 49.488117) (xy 118.043535 49.843085) (xy 118.398503 49.488117) (xy 119.10278 49.488117) - (xy 119.457748 49.843085) (xy 119.812716 49.488117) (xy 120.516994 49.488117) (xy 120.871962 49.843085) - (xy 121.22693 49.488117) (xy 121.931207 49.488117) (xy 122.286175 49.843085) (xy 122.641144 49.488117) - (xy 123.345421 49.488117) (xy 123.700389 49.843085) (xy 124.055357 49.488117) (xy 124.759635 49.488117) - (xy 125.114603 49.843085) (xy 125.469571 49.488117) (xy 126.173848 49.488117) (xy 126.528816 49.843085) - (xy 126.7915 49.580401) (xy 126.7915 49.395833) (xy 126.528816 49.133149) (xy 126.173848 49.488117) - (xy 125.469571 49.488117) (xy 125.114603 49.133149) (xy 124.759635 49.488117) (xy 124.055357 49.488117) - (xy 123.700389 49.133149) (xy 123.345421 49.488117) (xy 122.641144 49.488117) (xy 122.286175 49.133148) - (xy 121.931207 49.488117) (xy 121.22693 49.488117) (xy 120.871962 49.133149) (xy 120.516994 49.488117) - (xy 119.812716 49.488117) (xy 119.457748 49.133148) (xy 119.10278 49.488117) (xy 118.398503 49.488117) - (xy 118.043535 49.133149) (xy 117.688567 49.488117) (xy 116.984289 49.488117) (xy 116.629321 49.133149) - (xy 116.274353 49.488117) (xy 115.570076 49.488117) (xy 115.215108 49.133149) (xy 114.86014 49.488117) - (xy 114.155862 49.488117) (xy 113.800894 49.133149) (xy 113.445926 49.488117) (xy 112.741649 49.488117) - (xy 112.386681 49.133149) (xy 112.031713 49.488117) (xy 111.327435 49.488117) (xy 110.972467 49.133149) - (xy 110.617499 49.488117) (xy 109.780665 49.488117) (xy 109.897578 49.4336) (xy 110.091082 49.298105) - (xy 110.258105 49.131082) (xy 110.3936 48.937578) (xy 110.466608 48.78101) (xy 111.324606 48.78101) - (xy 111.679574 49.135978) (xy 112.034542 48.78101) (xy 112.738819 48.78101) (xy 113.093787 49.135978) - (xy 113.448755 48.78101) (xy 114.153033 48.78101) (xy 114.508001 49.135978) (xy 114.862969 48.78101) - (xy 115.567246 48.78101) (xy 115.922214 49.135978) (xy 116.277183 48.78101) (xy 116.98146 48.78101) - (xy 117.336428 49.135978) (xy 117.691396 48.78101) (xy 118.395674 48.78101) (xy 118.750642 49.135978) - (xy 119.10561 48.78101) (xy 119.809887 48.78101) (xy 120.164855 49.135978) (xy 120.519823 48.78101) - (xy 121.224101 48.78101) (xy 121.579069 49.135978) (xy 121.934037 48.78101) (xy 122.638314 48.78101) - (xy 122.993282 49.135978) (xy 123.34825 48.78101) (xy 124.052528 48.78101) (xy 124.407496 49.135978) - (xy 124.762464 48.78101) (xy 125.466741 48.78101) (xy 125.821709 49.135978) (xy 126.176677 48.78101) - (xy 125.821709 48.426041) (xy 125.466741 48.78101) (xy 124.762464 48.78101) (xy 124.407496 48.426042) - (xy 124.052528 48.78101) (xy 123.34825 48.78101) (xy 122.993282 48.426042) (xy 122.638314 48.78101) - (xy 121.934037 48.78101) (xy 121.579069 48.426042) (xy 121.224101 48.78101) (xy 120.519823 48.78101) - (xy 120.164855 48.426042) (xy 119.809887 48.78101) (xy 119.10561 48.78101) (xy 118.750642 48.426042) - (xy 118.395674 48.78101) (xy 117.691396 48.78101) (xy 117.336428 48.426042) (xy 116.98146 48.78101) - (xy 116.277183 48.78101) (xy 115.922214 48.426041) (xy 115.567246 48.78101) (xy 114.862969 48.78101) - (xy 114.508001 48.426042) (xy 114.153033 48.78101) (xy 113.448755 48.78101) (xy 113.093787 48.426041) - (xy 112.738819 48.78101) (xy 112.034542 48.78101) (xy 111.679574 48.426042) (xy 111.324606 48.78101) - (xy 110.466608 48.78101) (xy 110.493429 48.723492) (xy 110.493432 48.723486) (xy 110.550636 48.51) - (xy 109.653012 48.51) (xy 109.685925 48.452993) (xy 109.72 48.325826) (xy 109.72 48.26) (xy 110.986519 48.26) - (xy 111.018437 48.301595) (xy 111.041679 48.35289) (xy 111.042802 48.358535) (xy 111.327435 48.073903) - (xy 112.031713 48.073903) (xy 112.386681 48.428871) (xy 112.741649 48.073903) (xy 113.445926 48.073903) - (xy 113.800894 48.428871) (xy 114.155862 48.073903) (xy 114.86014 48.073903) (xy 115.215108 48.428871) - (xy 115.570076 48.073903) (xy 116.274353 48.073903) (xy 116.629321 48.428871) (xy 116.984289 48.073903) - (xy 117.688567 48.073903) (xy 118.043535 48.428871) (xy 118.398503 48.073903) (xy 119.10278 48.073903) - (xy 119.457748 48.428871) (xy 119.812716 48.073903) (xy 120.516994 48.073903) (xy 120.871962 48.428871) - (xy 121.22693 48.073903) (xy 121.931207 48.073903) (xy 122.286175 48.428871) (xy 122.641144 48.073903) - (xy 123.345421 48.073903) (xy 123.700389 48.428871) (xy 124.055357 48.073903) (xy 124.759635 48.073903) - (xy 125.114603 48.428871) (xy 125.469571 48.073903) (xy 126.173848 48.073903) (xy 126.528816 48.428871) - (xy 126.883784 48.073903) (xy 126.733993 47.924112) (xy 131.980491 47.924112) (xy 132.01764 47.948934) - (xy 132.027418 47.956186) (xy 132.046406 47.97177) (xy 132.055419 47.97994) (xy 132.09006 48.014581) - (xy 132.09823 48.023594) (xy 132.113814 48.042582) (xy 132.121066 48.05236) (xy 132.181538 48.142863) - (xy 132.297593 48.026809) (xy 132.301109 48.023429) (xy 132.308319 48.016765) (xy 132.31195 48.013537) - (xy 132.326825 48.000832) (xy 132.33059 47.997743) (xy 132.338301 47.991664) (xy 132.342184 47.988724) - (xy 132.407792 47.941056) (xy 132.18567 47.718934) (xy 131.980491 47.924112) (xy 126.733993 47.924112) - (xy 126.528816 47.718935) (xy 126.173848 48.073903) (xy 125.469571 48.073903) (xy 125.114603 47.718935) - (xy 124.759635 48.073903) (xy 124.055357 48.073903) (xy 123.700389 47.718935) (xy 123.345421 48.073903) - (xy 122.641144 48.073903) (xy 122.286175 47.718934) (xy 121.931207 48.073903) (xy 121.22693 48.073903) - (xy 120.871962 47.718935) (xy 120.516994 48.073903) (xy 119.812716 48.073903) (xy 119.457748 47.718934) - (xy 119.10278 48.073903) (xy 118.398503 48.073903) (xy 118.043535 47.718935) (xy 117.688567 48.073903) - (xy 116.984289 48.073903) (xy 116.629321 47.718935) (xy 116.274353 48.073903) (xy 115.570076 48.073903) - (xy 115.215108 47.718935) (xy 114.86014 48.073903) (xy 114.155862 48.073903) (xy 113.800894 47.718935) - (xy 113.445926 48.073903) (xy 112.741649 48.073903) (xy 112.386681 47.718935) (xy 112.031713 48.073903) - (xy 111.327435 48.073903) (xy 110.993977 47.740445) (xy 111.062582 47.99648) (xy 111.064424 48.052766) - (xy 111.041679 48.16711) (xy 111.018437 48.218405) (xy 110.986519 48.26) (xy 109.72 48.26) (xy 109.72 48.194174) - (xy 109.685925 48.067007) (xy 109.653012 48.01) (xy 110.550636 48.01) (xy 110.550635 48.009999) - (xy 110.493432 47.796513) (xy 110.493429 47.796507) (xy 110.3936 47.582422) (xy 110.393599 47.58242) - (xy 110.258113 47.388926) (xy 110.258108 47.38892) (xy 110.235984 47.366796) (xy 111.324605 47.366796) - (xy 111.679574 47.721764) (xy 112.034542 47.366796) (xy 112.738818 47.366796) (xy 113.093787 47.721764) - (xy 113.448755 47.366796) (xy 114.153032 47.366796) (xy 114.508001 47.721764) (xy 114.862969 47.366796) - (xy 115.567246 47.366796) (xy 115.922214 47.721764) (xy 116.277183 47.366796) (xy 116.981459 47.366796) - (xy 117.336428 47.721764) (xy 117.691396 47.366796) (xy 118.395673 47.366796) (xy 118.750642 47.721764) - (xy 119.10561 47.366796) (xy 119.809886 47.366796) (xy 120.164855 47.721764) (xy 120.519823 47.366796) - (xy 121.2241 47.366796) (xy 121.579069 47.721764) (xy 121.934037 47.366796) (xy 122.638313 47.366796) - (xy 122.993282 47.721764) (xy 123.34825 47.366796) (xy 124.052527 47.366796) (xy 124.407496 47.721764) - (xy 124.762464 47.366796) (xy 125.46674 47.366796) (xy 125.821709 47.721764) (xy 126.176677 47.366796) - (xy 126.880954 47.366796) (xy 127.235923 47.721764) (xy 127.590891 47.366796) (xy 128.295168 47.366796) - (xy 128.650137 47.721764) (xy 129.005105 47.366796) (xy 129.709381 47.366796) (xy 130.06435 47.721764) - (xy 130.419318 47.366796) (xy 131.123595 47.366796) (xy 131.478564 47.721764) (xy 131.833532 47.366796) - (xy 132.537808 47.366796) (xy 132.851638 47.680626) (xy 132.862684 47.676052) (xy 132.867212 47.67428) - (xy 132.876416 47.670885) (xy 132.88101 47.669292) (xy 132.976168 47.638372) (xy 133.247745 47.366796) - (xy 133.952022 47.366796) (xy 134.117226 47.532) (xy 134.47109 47.532) (xy 134.492496 47.536258) - (xy 134.661957 47.366796) (xy 135.366235 47.366796) (xy 135.531439 47.532) (xy 135.747838 47.532) - (xy 135.75271 47.532096) (xy 135.762527 47.532482) (xy 135.767391 47.532769) (xy 135.786893 47.534305) - (xy 135.791727 47.534781) (xy 135.801472 47.535934) (xy 135.806299 47.536602) (xy 135.892684 47.550283) - (xy 136.076171 47.366796) (xy 136.780449 47.366796) (xy 137.135418 47.721764) (xy 137.490386 47.366796) - (xy 138.194663 47.366796) (xy 138.549631 47.721764) (xy 138.9046 47.366796) (xy 139.608876 47.366796) - (xy 139.963845 47.721764) (xy 140.318813 47.366796) (xy 141.02309 47.366796) (xy 141.378059 47.721764) - (xy 141.733027 47.366796) (xy 141.378059 47.011828) (xy 141.02309 47.366796) (xy 140.318813 47.366796) - (xy 139.963845 47.011828) (xy 139.608876 47.366796) (xy 138.9046 47.366796) (xy 138.549631 47.011827) - (xy 138.194663 47.366796) (xy 137.490386 47.366796) (xy 137.135418 47.011828) (xy 136.780449 47.366796) - (xy 136.076171 47.366796) (xy 136.076172 47.366795) (xy 135.721204 47.011827) (xy 135.366235 47.366796) - (xy 134.661957 47.366796) (xy 134.661958 47.366795) (xy 134.306991 47.011828) (xy 133.952022 47.366796) - (xy 133.247745 47.366796) (xy 132.892777 47.011828) (xy 132.537808 47.366796) (xy 131.833532 47.366796) - (xy 131.478564 47.011828) (xy 131.123595 47.366796) (xy 130.419318 47.366796) (xy 130.06435 47.011828) - (xy 129.709381 47.366796) (xy 129.005105 47.366796) (xy 128.650137 47.011828) (xy 128.295168 47.366796) - (xy 127.590891 47.366796) (xy 127.235923 47.011828) (xy 126.880954 47.366796) (xy 126.176677 47.366796) - (xy 125.821709 47.011827) (xy 125.46674 47.366796) (xy 124.762464 47.366796) (xy 124.407496 47.011828) - (xy 124.052527 47.366796) (xy 123.34825 47.366796) (xy 122.993282 47.011828) (xy 122.638313 47.366796) - (xy 121.934037 47.366796) (xy 121.579069 47.011828) (xy 121.2241 47.366796) (xy 120.519823 47.366796) - (xy 120.164855 47.011828) (xy 119.809886 47.366796) (xy 119.10561 47.366796) (xy 118.750642 47.011828) - (xy 118.395673 47.366796) (xy 117.691396 47.366796) (xy 117.336428 47.011828) (xy 116.981459 47.366796) - (xy 116.277183 47.366796) (xy 115.922214 47.011827) (xy 115.567246 47.366796) (xy 114.862969 47.366796) - (xy 114.508001 47.011828) (xy 114.153032 47.366796) (xy 113.448755 47.366796) (xy 113.093787 47.011827) - (xy 112.738818 47.366796) (xy 112.034542 47.366796) (xy 111.679574 47.011828) (xy 111.324605 47.366796) - (xy 110.235984 47.366796) (xy 110.091082 47.221894) (xy 109.897578 47.086399) (xy 109.683492 46.98657) - (xy 109.683486 46.986567) (xy 109.47 46.929364) (xy 109.47 47.826988) (xy 109.412993 47.794075) - (xy 109.285826 47.76) (xy 109.154174 47.76) (xy 109.027007 47.794075) (xy 108.97 47.826988) (xy 108.97 46.929364) - (xy 108.969999 46.929364) (xy 108.756513 46.986567) (xy 108.756507 46.98657) (xy 108.542422 47.086399) - (xy 108.54242 47.0864) (xy 108.348926 47.221886) (xy 108.34892 47.221891) (xy 108.181891 47.38892) - (xy 108.181886 47.388926) (xy 108.0464 47.58242) (xy 108.046399 47.582422) (xy 107.94657 47.796507) - (xy 107.946568 47.796511) (xy 107.937592 47.830011) (xy 107.901226 47.889671) (xy 107.838379 47.920199) - (xy 107.769003 47.911904) (xy 107.715126 47.867418) (xy 107.706817 47.853188) (xy 107.658306 47.755766) - (xy 107.619673 47.678179) (xy 107.536129 47.567549) (xy 107.496762 47.515418) (xy 107.346041 47.378019) - (xy 107.346039 47.378017) (xy 107.172642 47.270655) (xy 107.172635 47.270651) (xy 107.046769 47.221891) - (xy 106.982456 47.196976) (xy 106.781976 47.1595) (xy 106.578024 47.1595) (xy 106.377544 47.196976) - (xy 106.377541 47.196976) (xy 106.377541 47.196977) (xy 106.187364 47.270651) (xy 106.187357 47.270655) - (xy 106.01396 47.378017) (xy 106.013958 47.378019) (xy 105.863237 47.515418) (xy 105.740327 47.678178) - (xy 105.649422 47.860739) (xy 105.649417 47.860752) (xy 105.593602 48.056917) (xy 105.574785 48.259999) - (xy 105.574785 48.26) (xy 105.245215 48.26) (xy 105.241412 48.218963) (xy 105.226397 48.056917) - (xy 105.21783 48.026809) (xy 105.170582 47.86075) (xy 105.170159 47.859901) (xy 105.118306 47.755766) - (xy 105.079673 47.678179) (xy 104.996129 47.567549) (xy 104.956762 47.515418) (xy 104.806041 47.378019) - (xy 104.806039 47.378017) (xy 104.632642 47.270655) (xy 104.632635 47.270651) (xy 104.506769 47.221891) - (xy 104.442456 47.196976) (xy 104.241976 47.1595) (xy 104.038024 47.1595) (xy 103.837544 47.196976) - (xy 103.837541 47.196976) (xy 103.837541 47.196977) (xy 103.647364 47.270651) (xy 103.647357 47.270655) - (xy 103.47396 47.378017) (xy 103.473958 47.378019) (xy 103.323237 47.515418) (xy 103.200327 47.678178) - (xy 103.109422 47.860739) (xy 103.109417 47.860752) (xy 103.053602 48.056917) (xy 103.034785 48.259999) - (xy 103.034785 48.26) (xy 103.053602 48.463082) (xy 103.109417 48.659247) (xy 103.109422 48.65926) - (xy 103.200327 48.841821) (xy 103.323237 49.004581) (xy 103.473958 49.14198) (xy 103.47396 49.141982) - (xy 103.562813 49.196997) (xy 103.647363 49.249348) (xy 103.685293 49.264042) (xy 103.740694 49.306612) - (xy 103.764286 49.372378) (xy 103.7645 49.379668) (xy 103.7645 52.9539) (xy 103.744815 53.020939) - (xy 103.728181 53.041581) (xy 92.973081 63.796681) (xy 92.911758 63.830166) (xy 92.8854 63.833) - (xy 92.85968 63.833) (xy 92.792641 63.813315) (xy 92.746886 63.760511) (xy 92.736584 63.694054) - (xy 92.747178 63.6068) (xy 92.747178 63.606799) (xy 92.728137 63.449981) (xy 92.70657 63.393115) - (xy 92.67212 63.302277) (xy 92.582383 63.17227) (xy 92.567438 63.15903) (xy 92.509173 63.107411) - (xy 92.472046 63.048222) (xy 92.4674 63.014596) (xy 92.4674 62.878353) (xy 92.984622 62.878353) - (xy 93.067319 62.998162) (xy 93.396051 62.669431) (xy 93.294797 62.568177) (xy 92.984622 62.878353) - (xy 92.4674 62.878353) (xy 92.4674 62.216039) (xy 93.646936 62.216039) (xy 93.74819 62.317293) (xy 94.103158 61.962325) - (xy 94.001904 61.861071) (xy 93.646936 62.216039) (xy 92.4674 62.216039) (xy 92.4674 61.534502) - (xy 92.9654 61.534502) (xy 93.294798 61.8639) (xy 93.649766 61.508932) (xy 94.354043 61.508932) - (xy 94.455297 61.610186) (xy 94.810265 61.255218) (xy 94.709011 61.153964) (xy 94.354043 61.508932) - (xy 93.649766 61.508932) (xy 93.294797 61.153963) (xy 92.9654 61.483361) (xy 92.9654 61.534502) - (xy 92.4674 61.534502) (xy 92.4674 60.801825) (xy 93.646936 60.801825) (xy 94.001904 61.156793) + (xy 107.172637 49.249348) (xy 107.346041 49.141981) (xy 107.482862 49.017252) (xy 107.496762 49.004581) + (xy 107.497094 49.004142) (xy 107.619673 48.841821) (xy 107.685299 48.710026) (xy 107.706817 48.666812) + (xy 107.754319 48.615575) (xy 107.821982 48.598153) (xy 107.888323 48.620078) (xy 107.932278 48.674389) + (xy 107.937592 48.689989) (xy 107.946567 48.723485) (xy 107.94657 48.723492) (xy 108.046399 48.937578) + (xy 108.181894 49.131082) (xy 108.348917 49.298105) (xy 108.542421 49.4336) (xy 108.756507 49.533429) + (xy 108.756516 49.533433) (xy 108.97 49.590634) (xy 108.97 48.693012) (xy 109.027007 48.725925) + (xy 109.154174 48.76) (xy 109.285826 48.76) (xy 109.412993 48.725925) (xy 109.47 48.693012) (xy 109.47 49.590633) + (xy 109.683483 49.533433) (xy 109.683492 49.533429) (xy 109.780665 49.488117) (xy 110.617499 49.488117) + (xy 110.972467 49.843085) (xy 111.327435 49.488117) (xy 112.031713 49.488117) (xy 112.386681 49.843085) + (xy 112.741649 49.488117) (xy 113.445926 49.488117) (xy 113.800894 49.843085) (xy 114.155862 49.488117) + (xy 114.86014 49.488117) (xy 115.215108 49.843085) (xy 115.570076 49.488117) (xy 116.274353 49.488117) + (xy 116.629321 49.843085) (xy 116.984289 49.488117) (xy 117.688567 49.488117) (xy 118.043535 49.843085) + (xy 118.398503 49.488117) (xy 119.10278 49.488117) (xy 119.457748 49.843085) (xy 119.812716 49.488117) + (xy 120.516994 49.488117) (xy 120.871962 49.843085) (xy 121.22693 49.488117) (xy 121.931207 49.488117) + (xy 122.286175 49.843085) (xy 122.641144 49.488117) (xy 123.345421 49.488117) (xy 123.700389 49.843085) + (xy 124.055357 49.488117) (xy 124.759635 49.488117) (xy 125.114603 49.843085) (xy 125.469571 49.488117) + (xy 126.173848 49.488117) (xy 126.528816 49.843085) (xy 126.7915 49.580401) (xy 126.7915 49.395833) + (xy 126.528816 49.133149) (xy 126.173848 49.488117) (xy 125.469571 49.488117) (xy 125.114603 49.133149) + (xy 124.759635 49.488117) (xy 124.055357 49.488117) (xy 123.700389 49.133149) (xy 123.345421 49.488117) + (xy 122.641144 49.488117) (xy 122.286175 49.133148) (xy 121.931207 49.488117) (xy 121.22693 49.488117) + (xy 120.871962 49.133149) (xy 120.516994 49.488117) (xy 119.812716 49.488117) (xy 119.457748 49.133148) + (xy 119.10278 49.488117) (xy 118.398503 49.488117) (xy 118.043535 49.133149) (xy 117.688567 49.488117) + (xy 116.984289 49.488117) (xy 116.629321 49.133149) (xy 116.274353 49.488117) (xy 115.570076 49.488117) + (xy 115.215108 49.133149) (xy 114.86014 49.488117) (xy 114.155862 49.488117) (xy 113.800894 49.133149) + (xy 113.445926 49.488117) (xy 112.741649 49.488117) (xy 112.386681 49.133149) (xy 112.031713 49.488117) + (xy 111.327435 49.488117) (xy 110.972467 49.133149) (xy 110.617499 49.488117) (xy 109.780665 49.488117) + (xy 109.897578 49.4336) (xy 110.091082 49.298105) (xy 110.258105 49.131082) (xy 110.3936 48.937578) + (xy 110.466608 48.78101) (xy 111.324606 48.78101) (xy 111.679574 49.135978) (xy 112.034542 48.78101) + (xy 112.738819 48.78101) (xy 113.093787 49.135978) (xy 113.448755 48.78101) (xy 114.153033 48.78101) + (xy 114.508001 49.135978) (xy 114.862969 48.78101) (xy 115.567246 48.78101) (xy 115.922214 49.135978) + (xy 116.277183 48.78101) (xy 116.98146 48.78101) (xy 117.336428 49.135978) (xy 117.691396 48.78101) + (xy 118.395674 48.78101) (xy 118.750642 49.135978) (xy 119.10561 48.78101) (xy 119.809887 48.78101) + (xy 120.164855 49.135978) (xy 120.519823 48.78101) (xy 121.224101 48.78101) (xy 121.579069 49.135978) + (xy 121.934037 48.78101) (xy 122.638314 48.78101) (xy 122.993282 49.135978) (xy 123.34825 48.78101) + (xy 124.052528 48.78101) (xy 124.407496 49.135978) (xy 124.762464 48.78101) (xy 125.466741 48.78101) + (xy 125.821709 49.135978) (xy 126.176677 48.78101) (xy 125.821709 48.426041) (xy 125.466741 48.78101) + (xy 124.762464 48.78101) (xy 124.407496 48.426042) (xy 124.052528 48.78101) (xy 123.34825 48.78101) + (xy 122.993282 48.426042) (xy 122.638314 48.78101) (xy 121.934037 48.78101) (xy 121.579069 48.426042) + (xy 121.224101 48.78101) (xy 120.519823 48.78101) (xy 120.164855 48.426042) (xy 119.809887 48.78101) + (xy 119.10561 48.78101) (xy 118.750642 48.426042) (xy 118.395674 48.78101) (xy 117.691396 48.78101) + (xy 117.336428 48.426042) (xy 116.98146 48.78101) (xy 116.277183 48.78101) (xy 115.922214 48.426041) + (xy 115.567246 48.78101) (xy 114.862969 48.78101) (xy 114.508001 48.426042) (xy 114.153033 48.78101) + (xy 113.448755 48.78101) (xy 113.093787 48.426041) (xy 112.738819 48.78101) (xy 112.034542 48.78101) + (xy 111.679574 48.426042) (xy 111.324606 48.78101) (xy 110.466608 48.78101) (xy 110.493429 48.723492) + (xy 110.493432 48.723486) (xy 110.550636 48.51) (xy 109.653012 48.51) (xy 109.685925 48.452993) + (xy 109.72 48.325826) (xy 109.72 48.26) (xy 110.986519 48.26) (xy 111.018437 48.301595) (xy 111.041679 48.35289) + (xy 111.042802 48.358535) (xy 111.327435 48.073903) (xy 112.031713 48.073903) (xy 112.386681 48.428871) + (xy 112.741649 48.073903) (xy 113.445926 48.073903) (xy 113.800894 48.428871) (xy 114.155862 48.073903) + (xy 114.86014 48.073903) (xy 115.215108 48.428871) (xy 115.570076 48.073903) (xy 116.274353 48.073903) + (xy 116.629321 48.428871) (xy 116.984289 48.073903) (xy 117.688567 48.073903) (xy 118.043535 48.428871) + (xy 118.398503 48.073903) (xy 119.10278 48.073903) (xy 119.457748 48.428871) (xy 119.812716 48.073903) + (xy 120.516994 48.073903) (xy 120.871962 48.428871) (xy 121.22693 48.073903) (xy 121.931207 48.073903) + (xy 122.286175 48.428871) (xy 122.641144 48.073903) (xy 123.345421 48.073903) (xy 123.700389 48.428871) + (xy 124.055357 48.073903) (xy 124.759635 48.073903) (xy 125.114603 48.428871) (xy 125.469571 48.073903) + (xy 126.173848 48.073903) (xy 126.528816 48.428871) (xy 126.883784 48.073903) (xy 126.733993 47.924112) + (xy 131.980491 47.924112) (xy 132.01764 47.948934) (xy 132.027418 47.956186) (xy 132.046406 47.97177) + (xy 132.055419 47.97994) (xy 132.09006 48.014581) (xy 132.09823 48.023594) (xy 132.113814 48.042582) + (xy 132.121066 48.05236) (xy 132.181538 48.142863) (xy 132.297593 48.026809) (xy 132.301109 48.023429) + (xy 132.308319 48.016765) (xy 132.31195 48.013537) (xy 132.326825 48.000832) (xy 132.33059 47.997743) + (xy 132.338301 47.991664) (xy 132.342184 47.988724) (xy 132.407792 47.941056) (xy 132.18567 47.718934) + (xy 131.980491 47.924112) (xy 126.733993 47.924112) (xy 126.528816 47.718935) (xy 126.173848 48.073903) + (xy 125.469571 48.073903) (xy 125.114603 47.718935) (xy 124.759635 48.073903) (xy 124.055357 48.073903) + (xy 123.700389 47.718935) (xy 123.345421 48.073903) (xy 122.641144 48.073903) (xy 122.286175 47.718934) + (xy 121.931207 48.073903) (xy 121.22693 48.073903) (xy 120.871962 47.718935) (xy 120.516994 48.073903) + (xy 119.812716 48.073903) (xy 119.457748 47.718934) (xy 119.10278 48.073903) (xy 118.398503 48.073903) + (xy 118.043535 47.718935) (xy 117.688567 48.073903) (xy 116.984289 48.073903) (xy 116.629321 47.718935) + (xy 116.274353 48.073903) (xy 115.570076 48.073903) (xy 115.215108 47.718935) (xy 114.86014 48.073903) + (xy 114.155862 48.073903) (xy 113.800894 47.718935) (xy 113.445926 48.073903) (xy 112.741649 48.073903) + (xy 112.386681 47.718935) (xy 112.031713 48.073903) (xy 111.327435 48.073903) (xy 110.993977 47.740445) + (xy 111.062582 47.99648) (xy 111.064424 48.052766) (xy 111.041679 48.16711) (xy 111.018437 48.218405) + (xy 110.986519 48.26) (xy 109.72 48.26) (xy 109.72 48.194174) (xy 109.685925 48.067007) (xy 109.653012 48.01) + (xy 110.550636 48.01) (xy 110.550635 48.009999) (xy 110.493432 47.796513) (xy 110.493429 47.796507) + (xy 110.3936 47.582422) (xy 110.393599 47.58242) (xy 110.258113 47.388926) (xy 110.258108 47.38892) + (xy 110.235984 47.366796) (xy 111.324605 47.366796) (xy 111.679574 47.721764) (xy 112.034542 47.366796) + (xy 112.738818 47.366796) (xy 113.093787 47.721764) (xy 113.448755 47.366796) (xy 114.153032 47.366796) + (xy 114.508001 47.721764) (xy 114.862969 47.366796) (xy 115.567246 47.366796) (xy 115.922214 47.721764) + (xy 116.277183 47.366796) (xy 116.981459 47.366796) (xy 117.336428 47.721764) (xy 117.691396 47.366796) + (xy 118.395673 47.366796) (xy 118.750642 47.721764) (xy 119.10561 47.366796) (xy 119.809886 47.366796) + (xy 120.164855 47.721764) (xy 120.519823 47.366796) (xy 121.2241 47.366796) (xy 121.579069 47.721764) + (xy 121.934037 47.366796) (xy 122.638313 47.366796) (xy 122.993282 47.721764) (xy 123.34825 47.366796) + (xy 124.052527 47.366796) (xy 124.407496 47.721764) (xy 124.762464 47.366796) (xy 125.46674 47.366796) + (xy 125.821709 47.721764) (xy 126.176677 47.366796) (xy 126.880954 47.366796) (xy 127.235923 47.721764) + (xy 127.590891 47.366796) (xy 128.295168 47.366796) (xy 128.650137 47.721764) (xy 129.005105 47.366796) + (xy 129.709381 47.366796) (xy 130.06435 47.721764) (xy 130.419318 47.366796) (xy 131.123595 47.366796) + (xy 131.478564 47.721764) (xy 131.833532 47.366796) (xy 132.537808 47.366796) (xy 132.851638 47.680626) + (xy 132.862684 47.676052) (xy 132.867212 47.67428) (xy 132.876416 47.670885) (xy 132.88101 47.669292) + (xy 132.976168 47.638372) (xy 133.247745 47.366796) (xy 133.952022 47.366796) (xy 134.117226 47.532) + (xy 134.47109 47.532) (xy 134.492496 47.536258) (xy 134.661957 47.366796) (xy 135.366235 47.366796) + (xy 135.531439 47.532) (xy 135.747838 47.532) (xy 135.75271 47.532096) (xy 135.762527 47.532482) + (xy 135.767391 47.532769) (xy 135.786893 47.534305) (xy 135.791727 47.534781) (xy 135.801472 47.535934) + (xy 135.806299 47.536602) (xy 135.892684 47.550283) (xy 136.076171 47.366796) (xy 136.780449 47.366796) + (xy 137.135418 47.721764) (xy 137.490386 47.366796) (xy 138.194663 47.366796) (xy 138.549631 47.721764) + (xy 138.9046 47.366796) (xy 139.608876 47.366796) (xy 139.963845 47.721764) (xy 140.318813 47.366796) + (xy 141.02309 47.366796) (xy 141.378059 47.721764) (xy 141.733027 47.366796) (xy 141.378059 47.011828) + (xy 141.02309 47.366796) (xy 140.318813 47.366796) (xy 139.963845 47.011828) (xy 139.608876 47.366796) + (xy 138.9046 47.366796) (xy 138.549631 47.011827) (xy 138.194663 47.366796) (xy 137.490386 47.366796) + (xy 137.135418 47.011828) (xy 136.780449 47.366796) (xy 136.076171 47.366796) (xy 136.076172 47.366795) + (xy 135.721204 47.011827) (xy 135.366235 47.366796) (xy 134.661957 47.366796) (xy 134.661958 47.366795) + (xy 134.306991 47.011828) (xy 133.952022 47.366796) (xy 133.247745 47.366796) (xy 132.892777 47.011828) + (xy 132.537808 47.366796) (xy 131.833532 47.366796) (xy 131.478564 47.011828) (xy 131.123595 47.366796) + (xy 130.419318 47.366796) (xy 130.06435 47.011828) (xy 129.709381 47.366796) (xy 129.005105 47.366796) + (xy 128.650137 47.011828) (xy 128.295168 47.366796) (xy 127.590891 47.366796) (xy 127.235923 47.011828) + (xy 126.880954 47.366796) (xy 126.176677 47.366796) (xy 125.821709 47.011827) (xy 125.46674 47.366796) + (xy 124.762464 47.366796) (xy 124.407496 47.011828) (xy 124.052527 47.366796) (xy 123.34825 47.366796) + (xy 122.993282 47.011828) (xy 122.638313 47.366796) (xy 121.934037 47.366796) (xy 121.579069 47.011828) + (xy 121.2241 47.366796) (xy 120.519823 47.366796) (xy 120.164855 47.011828) (xy 119.809886 47.366796) + (xy 119.10561 47.366796) (xy 118.750642 47.011828) (xy 118.395673 47.366796) (xy 117.691396 47.366796) + (xy 117.336428 47.011828) (xy 116.981459 47.366796) (xy 116.277183 47.366796) (xy 115.922214 47.011827) + (xy 115.567246 47.366796) (xy 114.862969 47.366796) (xy 114.508001 47.011828) (xy 114.153032 47.366796) + (xy 113.448755 47.366796) (xy 113.093787 47.011827) (xy 112.738818 47.366796) (xy 112.034542 47.366796) + (xy 111.679574 47.011828) (xy 111.324605 47.366796) (xy 110.235984 47.366796) (xy 110.091082 47.221894) + (xy 109.897578 47.086399) (xy 109.683492 46.98657) (xy 109.683486 46.986567) (xy 109.47 46.929364) + (xy 109.47 47.826988) (xy 109.412993 47.794075) (xy 109.285826 47.76) (xy 109.154174 47.76) (xy 109.027007 47.794075) + (xy 108.97 47.826988) (xy 108.97 46.929364) (xy 108.969999 46.929364) (xy 108.756513 46.986567) + (xy 108.756507 46.98657) (xy 108.542422 47.086399) (xy 108.54242 47.0864) (xy 108.348926 47.221886) + (xy 108.34892 47.221891) (xy 108.181891 47.38892) (xy 108.181886 47.388926) (xy 108.0464 47.58242) + (xy 108.046399 47.582422) (xy 107.94657 47.796507) (xy 107.946568 47.796511) (xy 107.937592 47.830011) + (xy 107.901226 47.889671) (xy 107.838379 47.920199) (xy 107.769003 47.911904) (xy 107.715126 47.867418) + (xy 107.706817 47.853188) (xy 107.654109 47.747336) (xy 107.619673 47.678179) (xy 107.536129 47.567549) + (xy 107.496762 47.515418) (xy 107.346041 47.378019) (xy 107.346039 47.378017) (xy 107.172642 47.270655) + (xy 107.172635 47.270651) (xy 107.067175 47.229796) (xy 106.982456 47.196976) (xy 106.781976 47.1595) + (xy 106.578024 47.1595) (xy 106.377544 47.196976) (xy 106.377541 47.196976) (xy 106.377541 47.196977) + (xy 106.187364 47.270651) (xy 106.187357 47.270655) (xy 106.01396 47.378017) (xy 106.013958 47.378019) + (xy 105.863237 47.515418) (xy 105.740327 47.678178) (xy 105.649422 47.860739) (xy 105.649417 47.860752) + (xy 105.593602 48.056917) (xy 105.574785 48.259999) (xy 105.574785 48.26) (xy 105.245215 48.26) + (xy 105.242181 48.227262) (xy 105.226397 48.056917) (xy 105.21783 48.026809) (xy 105.170582 47.86075) + (xy 105.170568 47.860722) (xy 105.114109 47.747336) (xy 105.079673 47.678179) (xy 104.996129 47.567549) + (xy 104.956762 47.515418) (xy 104.806041 47.378019) (xy 104.806039 47.378017) (xy 104.632642 47.270655) + (xy 104.632635 47.270651) (xy 104.527175 47.229796) (xy 104.442456 47.196976) (xy 104.241976 47.1595) + (xy 104.038024 47.1595) (xy 103.837544 47.196976) (xy 103.837541 47.196976) (xy 103.837541 47.196977) + (xy 103.647364 47.270651) (xy 103.647357 47.270655) (xy 103.47396 47.378017) (xy 103.473958 47.378019) + (xy 103.323237 47.515418) (xy 103.200327 47.678178) (xy 103.109422 47.860739) (xy 103.109417 47.860752) + (xy 103.053602 48.056917) (xy 103.034785 48.259999) (xy 103.034785 48.26) (xy 103.053602 48.463082) + (xy 103.109417 48.659247) (xy 103.109422 48.65926) (xy 103.200327 48.841821) (xy 103.323237 49.004581) + (xy 103.473958 49.14198) (xy 103.47396 49.141982) (xy 103.57021 49.201577) (xy 103.647363 49.249348) + (xy 103.685293 49.264042) (xy 103.740694 49.306612) (xy 103.764286 49.372378) (xy 103.7645 49.379668) + (xy 103.7645 52.9539) (xy 103.744815 53.020939) (xy 103.728181 53.041581) (xy 92.973081 63.796681) + (xy 92.911758 63.830166) (xy 92.8854 63.833) (xy 92.85968 63.833) (xy 92.792641 63.813315) (xy 92.746886 63.760511) + (xy 92.736584 63.694054) (xy 92.747178 63.6068) (xy 92.747178 63.606799) (xy 92.728137 63.449981) + (xy 92.70657 63.393115) (xy 92.67212 63.302277) (xy 92.582383 63.17227) (xy 92.567438 63.15903) + (xy 92.509173 63.107411) (xy 92.472046 63.048222) (xy 92.4674 63.014596) (xy 92.4674 62.878353) + (xy 92.984622 62.878353) (xy 93.067319 62.998162) (xy 93.396051 62.669431) (xy 93.294797 62.568177) + (xy 92.984622 62.878353) (xy 92.4674 62.878353) (xy 92.4674 62.216039) (xy 93.646936 62.216039) + (xy 93.74819 62.317293) (xy 94.103158 61.962325) (xy 94.001904 61.861071) (xy 93.646936 62.216039) + (xy 92.4674 62.216039) (xy 92.4674 61.534502) (xy 92.9654 61.534502) (xy 93.294798 61.8639) (xy 93.649766 61.508932) + (xy 94.354043 61.508932) (xy 94.455297 61.610186) (xy 94.810265 61.255218) (xy 94.709011 61.153964) + (xy 94.354043 61.508932) (xy 93.649766 61.508932) (xy 93.294797 61.153963) (xy 92.9654 61.483361) + (xy 92.9654 61.534502) (xy 92.4674 61.534502) (xy 92.4674 60.801825) (xy 93.646936 60.801825) (xy 94.001904 61.156793) (xy 94.356872 60.801825) (xy 95.06115 60.801825) (xy 95.162404 60.903079) (xy 95.517372 60.548111) (xy 95.416118 60.446857) (xy 95.06115 60.801825) (xy 94.356872 60.801825) (xy 94.001904 60.446857) (xy 93.646936 60.801825) (xy 92.4674 60.801825) (xy 92.4674 60.120289) (xy 92.9654 60.120289) (xy 93.294798 60.449687) @@ -39022,61 +39546,61 @@ (xy 102.411851 49.76775) (xy 102.487186 49.843085) (xy 102.842154 49.488117) (xy 102.738861 49.384824) (xy 102.593037 49.51776) (xy 102.588717 49.52152) (xy 102.579831 49.528899) (xy 102.57534 49.532456) (xy 102.556972 49.546327) (xy 102.55232 49.549674) (xy 102.542787 49.556204) (xy 102.537989 49.55933) - (xy 102.458221 49.608719) (xy 102.455434 49.619117) (xy 102.455435 49.619118) (xy 102.426719 49.726286) - (xy 102.424365 49.734047) (xy 102.419105 49.749544) (xy 102.416246 49.75714) (xy 102.411851 49.76775) + (xy 102.458221 49.608719) (xy 102.449696 49.64054) (xy 102.449694 49.640546) (xy 102.426718 49.726288) + (xy 102.424364 49.734047) (xy 102.419105 49.749541) (xy 102.416248 49.757134) (xy 102.411851 49.76775) (xy 101.799987 49.76775) (xy 101.900474 49.667263) (xy 101.900475 49.667262) (xy 101.94991 49.581638) - (xy 101.96699 49.517894) (xy 101.9755 49.486136) (xy 101.9755 49.387264) (xy 101.9755 49.379668) - (xy 101.995185 49.312629) (xy 102.047989 49.266874) (xy 102.054679 49.264052) (xy 102.092637 49.249348) - (xy 102.266041 49.141981) (xy 102.416764 49.004579) (xy 102.539673 48.841821) (xy 102.630582 48.65925) - (xy 102.686397 48.463083) (xy 102.705215 48.26) (xy 102.701412 48.218963) (xy 102.686397 48.056917) - (xy 102.67783 48.026809) (xy 102.630582 47.86075) (xy 102.630159 47.859901) (xy 102.578306 47.755766) - (xy 102.539673 47.678179) (xy 102.456129 47.567549) (xy 102.416762 47.515418) (xy 102.266041 47.378019) - (xy 102.266039 47.378017) (xy 102.092642 47.270655) (xy 102.092635 47.270651) (xy 101.966769 47.221891) - (xy 101.902456 47.196976) (xy 101.701976 47.1595) (xy 101.498024 47.1595) (xy 101.297544 47.196976) - (xy 101.297541 47.196976) (xy 101.297541 47.196977) (xy 101.107364 47.270651) (xy 101.107357 47.270655) - (xy 100.93396 47.378017) (xy 100.933958 47.378019) (xy 100.783237 47.515418) (xy 100.660327 47.678178) - (xy 100.569422 47.860739) (xy 100.569417 47.860752) (xy 100.513602 48.056917) (xy 100.494785 48.259999) - (xy 100.494785 48.26) (xy 100.513602 48.463082) (xy 100.569417 48.659247) (xy 100.569422 48.65926) - (xy 100.660327 48.841821) (xy 100.783237 49.004581) (xy 100.912898 49.122782) (xy 100.933959 49.141981) - (xy 101.05572 49.217372) (xy 101.066255 49.223895) (xy 101.11289 49.275923) (xy 101.123994 49.344905) - (xy 101.096041 49.408939) (xy 101.088658 49.417003) (xy 91.861338 58.644325) (xy 91.791427 58.714235) - (xy 91.791425 58.714237) (xy 91.791425 58.714238) (xy 91.771416 58.748894) (xy 91.756053 58.775505) - (xy 91.74199 58.799862) (xy 91.74199 58.799863) (xy 91.72116 58.877602) (xy 91.7164 58.895365) (xy 91.7164 63.014596) - (xy 91.696715 63.081635) (xy 91.674627 63.107411) (xy 91.601418 63.172268) (xy 91.511681 63.302275) - (xy 91.51168 63.302276) (xy 91.455662 63.449981) (xy 91.436622 63.606799) (xy 91.436622 63.6068) - (xy 91.455662 63.763618) (xy 91.491952 63.859305) (xy 91.51168 63.911323) (xy 91.601417 64.04133) - (xy 91.71966 64.146083) (xy 91.719662 64.146084) (xy 91.859534 64.219496) (xy 92.012914 64.2573) - (xy 92.04952 64.2573) (xy 92.116559 64.276985) (xy 92.162314 64.329789) (xy 92.172616 64.396246) - (xy 92.162022 64.483499) (xy 92.162022 64.4835) (xy 92.181062 64.640318) (xy 92.230244 64.769999) - (xy 92.23708 64.788023) (xy 92.326817 64.91803) (xy 92.44506 65.022783) (xy 92.445062 65.022784) - (xy 92.579569 65.09338) (xy 92.629782 65.141965) (xy 92.645756 65.209984) (xy 92.622421 65.275841) - (xy 92.611741 65.287633) (xy 92.611991 65.287855) (xy 92.607018 65.293467) (xy 92.517281 65.423475) - (xy 92.51728 65.423476) (xy 92.461262 65.571181) (xy 92.442222 65.727999) (xy 92.442222 65.728) - (xy 92.461262 65.884818) (xy 92.51728 66.032523) (xy 92.517282 66.032526) (xy 92.521309 66.038361) - (xy 92.54319 66.104716) (xy 92.525723 66.172367) (xy 92.474454 66.219836) (xy 92.466879 66.223145) - (xy 92.325562 66.297315) (xy 92.207316 66.402071) (xy 92.117581 66.532075) (xy 92.11758 66.532076) - (xy 92.061562 66.679781) (xy 92.042522 66.836599) (xy 92.042522 66.8366) (xy 92.061562 66.993418) - (xy 92.101176 67.097869) (xy 92.11758 67.141123) (xy 92.122914 67.14885) (xy 92.207317 67.271131) - (xy 92.280526 67.335986) (xy 92.317653 67.395174) (xy 92.3223 67.428802) (xy 92.3223 71.157235) - (xy 92.34789 71.252738) (xy 92.390752 71.326977) (xy 92.394379 71.333259) (xy 92.397327 71.338365) - (xy 92.427193 71.368231) (xy 92.460678 71.429554) (xy 92.455694 71.499246) (xy 92.448924 71.514265) - (xy 89.641412 76.778352) (xy 89.592495 76.828241) (xy 89.524372 76.843764) (xy 89.45867 76.819993) - (xy 89.41625 76.764474) (xy 89.408 76.719999) (xy 89.408 74.106) (xy 90.242256 74.106) (xy 90.254995 74.106) - (xy 90.284671 74.109603) (xy 90.449722 74.150285) (xy 90.473779 74.159409) (xy 90.567732 73.983248) - (xy 90.46637 73.881886) (xy 90.242256 74.106) (xy 89.408 74.106) (xy 89.408 73.321515) (xy 89.906 73.321515) - (xy 89.906 73.737979) (xy 90.114232 73.529747) (xy 89.906 73.321515) (xy 89.408 73.321515) (xy 89.408 72.822641) - (xy 90.111402 72.822641) (xy 90.46637 73.177609) (xy 90.771675 72.872303) (xy 90.713579 72.788135) - (xy 90.699687 72.761666) (xy 90.662615 72.663917) (xy 90.46637 72.467672) (xy 90.111402 72.822641) - (xy 89.408 72.822641) (xy 89.408 71.907302) (xy 89.906 71.907302) (xy 89.906 72.323766) (xy 90.114232 72.115534) - (xy 89.906 71.907302) (xy 89.408 71.907302) (xy 89.408 71.408427) (xy 90.111402 71.408427) (xy 90.46637 71.763395) - (xy 90.821338 71.408427) (xy 91.525616 71.408427) (xy 91.73221 71.615021) (xy 91.747671 71.620885) - (xy 91.810165 71.653684) (xy 91.903632 71.478436) (xy 91.897386 71.465771) (xy 91.894035 71.458373) - (xy 91.881552 71.428232) (xy 91.878696 71.420645) (xy 91.873436 71.40515) (xy 91.87108 71.397383) - (xy 91.837048 71.270372) (xy 91.835206 71.262471) (xy 91.832013 71.246419) (xy 91.830691 71.238415) - (xy 91.826432 71.206071) (xy 91.825637 71.197995) (xy 91.824566 71.181659) (xy 91.8243 71.173547) - (xy 91.8243 71.109743) (xy 91.525616 71.408427) (xy 90.821338 71.408427) (xy 90.46637 71.053458) - (xy 90.111402 71.408427) (xy 89.408 71.408427) (xy 89.408 70.493088) (xy 89.906 70.493088) (xy 89.906 70.909552) - (xy 90.114232 70.70132) (xy 90.818509 70.70132) (xy 91.173477 71.056288) (xy 91.528445 70.70132) + (xy 101.960549 49.541935) (xy 101.968664 49.511651) (xy 101.975499 49.48614) (xy 101.9755 49.486134) + (xy 101.9755 49.379668) (xy 101.995185 49.312629) (xy 102.047989 49.266874) (xy 102.054679 49.264052) + (xy 102.092637 49.249348) (xy 102.266041 49.141981) (xy 102.402862 49.017252) (xy 102.416762 49.004581) + (xy 102.417094 49.004142) (xy 102.539673 48.841821) (xy 102.630582 48.65925) (xy 102.686397 48.463083) + (xy 102.705215 48.26) (xy 102.702181 48.227262) (xy 102.686397 48.056917) (xy 102.67783 48.026809) + (xy 102.630582 47.86075) (xy 102.630568 47.860722) (xy 102.574109 47.747336) (xy 102.539673 47.678179) + (xy 102.456129 47.567549) (xy 102.416762 47.515418) (xy 102.266041 47.378019) (xy 102.266039 47.378017) + (xy 102.092642 47.270655) (xy 102.092635 47.270651) (xy 101.987175 47.229796) (xy 101.902456 47.196976) + (xy 101.701976 47.1595) (xy 101.498024 47.1595) (xy 101.297544 47.196976) (xy 101.297541 47.196976) + (xy 101.297541 47.196977) (xy 101.107364 47.270651) (xy 101.107357 47.270655) (xy 100.93396 47.378017) + (xy 100.933958 47.378019) (xy 100.783237 47.515418) (xy 100.660327 47.678178) (xy 100.569422 47.860739) + (xy 100.569417 47.860752) (xy 100.513602 48.056917) (xy 100.494785 48.259999) (xy 100.494785 48.26) + (xy 100.513602 48.463082) (xy 100.569417 48.659247) (xy 100.569422 48.65926) (xy 100.660327 48.841821) + (xy 100.783237 49.004581) (xy 100.898205 49.109387) (xy 100.933959 49.141981) (xy 101.034175 49.204032) + (xy 101.066255 49.223895) (xy 101.11289 49.275923) (xy 101.123994 49.344905) (xy 101.096041 49.408939) + (xy 101.088658 49.417003) (xy 91.861338 58.644325) (xy 91.791427 58.714235) (xy 91.791425 58.714237) + (xy 91.791425 58.714238) (xy 91.771416 58.748894) (xy 91.756053 58.775505) (xy 91.74199 58.799862) + (xy 91.74199 58.799863) (xy 91.72116 58.877602) (xy 91.7164 58.895365) (xy 91.7164 63.014596) (xy 91.696715 63.081635) + (xy 91.674627 63.107411) (xy 91.601418 63.172268) (xy 91.511681 63.302275) (xy 91.51168 63.302276) + (xy 91.455662 63.449981) (xy 91.436622 63.606799) (xy 91.436622 63.6068) (xy 91.455662 63.763618) + (xy 91.491952 63.859305) (xy 91.51168 63.911323) (xy 91.601417 64.04133) (xy 91.71966 64.146083) + (xy 91.719662 64.146084) (xy 91.859534 64.219496) (xy 92.012914 64.2573) (xy 92.04952 64.2573) (xy 92.116559 64.276985) + (xy 92.162314 64.329789) (xy 92.172616 64.396246) (xy 92.162022 64.483499) (xy 92.162022 64.4835) + (xy 92.181062 64.640318) (xy 92.230244 64.769999) (xy 92.23708 64.788023) (xy 92.326817 64.91803) + (xy 92.44506 65.022783) (xy 92.445062 65.022784) (xy 92.579569 65.09338) (xy 92.629782 65.141965) + (xy 92.645756 65.209984) (xy 92.622421 65.275841) (xy 92.611741 65.287633) (xy 92.611991 65.287855) + (xy 92.607018 65.293467) (xy 92.517281 65.423475) (xy 92.51728 65.423476) (xy 92.461262 65.571181) + (xy 92.442222 65.727999) (xy 92.442222 65.728) (xy 92.461262 65.884818) (xy 92.51728 66.032523) + (xy 92.517282 66.032526) (xy 92.521309 66.038361) (xy 92.54319 66.104716) (xy 92.525723 66.172367) + (xy 92.474454 66.219836) (xy 92.466879 66.223145) (xy 92.325562 66.297315) (xy 92.207316 66.402071) + (xy 92.117581 66.532075) (xy 92.11758 66.532076) (xy 92.061562 66.679781) (xy 92.042522 66.836599) + (xy 92.042522 66.8366) (xy 92.061562 66.993418) (xy 92.101176 67.097869) (xy 92.11758 67.141123) + (xy 92.122914 67.14885) (xy 92.207317 67.271131) (xy 92.280526 67.335986) (xy 92.317653 67.395174) + (xy 92.3223 67.428802) (xy 92.3223 71.157235) (xy 92.34789 71.252738) (xy 92.390752 71.326977) (xy 92.394379 71.333259) + (xy 92.397327 71.338365) (xy 92.427193 71.368231) (xy 92.460678 71.429554) (xy 92.455694 71.499246) + (xy 92.448924 71.514265) (xy 89.641412 76.778352) (xy 89.592495 76.828241) (xy 89.524372 76.843764) + (xy 89.45867 76.819993) (xy 89.41625 76.764474) (xy 89.408 76.719999) (xy 89.408 74.106) (xy 90.242256 74.106) + (xy 90.254995 74.106) (xy 90.284671 74.109603) (xy 90.449722 74.150285) (xy 90.473779 74.159409) + (xy 90.567732 73.983248) (xy 90.46637 73.881886) (xy 90.242256 74.106) (xy 89.408 74.106) (xy 89.408 73.321515) + (xy 89.906 73.321515) (xy 89.906 73.737979) (xy 90.114232 73.529747) (xy 89.906 73.321515) (xy 89.408 73.321515) + (xy 89.408 72.822641) (xy 90.111402 72.822641) (xy 90.46637 73.177609) (xy 90.771675 72.872303) + (xy 90.713579 72.788135) (xy 90.699687 72.761666) (xy 90.662615 72.663917) (xy 90.46637 72.467672) + (xy 90.111402 72.822641) (xy 89.408 72.822641) (xy 89.408 71.907302) (xy 89.906 71.907302) (xy 89.906 72.323766) + (xy 90.114232 72.115534) (xy 89.906 71.907302) (xy 89.408 71.907302) (xy 89.408 71.408427) (xy 90.111402 71.408427) + (xy 90.46637 71.763395) (xy 90.821338 71.408427) (xy 91.525616 71.408427) (xy 91.73221 71.615021) + (xy 91.747671 71.620885) (xy 91.810165 71.653684) (xy 91.903632 71.478436) (xy 91.897386 71.465771) + (xy 91.894035 71.458373) (xy 91.881552 71.428232) (xy 91.878696 71.420645) (xy 91.873436 71.40515) + (xy 91.87108 71.397383) (xy 91.837048 71.270372) (xy 91.835206 71.262471) (xy 91.832013 71.246419) + (xy 91.830691 71.238415) (xy 91.826432 71.206071) (xy 91.825637 71.197995) (xy 91.824566 71.181659) + (xy 91.8243 71.173547) (xy 91.8243 71.109743) (xy 91.525616 71.408427) (xy 90.821338 71.408427) + (xy 90.46637 71.053458) (xy 90.111402 71.408427) (xy 89.408 71.408427) (xy 89.408 70.493088) (xy 89.906 70.493088) + (xy 89.906 70.909552) (xy 90.114232 70.70132) (xy 90.818509 70.70132) (xy 91.173477 71.056288) (xy 91.528445 70.70132) (xy 91.173477 70.346352) (xy 90.818509 70.70132) (xy 90.114232 70.70132) (xy 89.906 70.493088) (xy 89.408 70.493088) (xy 89.408 70.104) (xy 89.371404 69.994213) (xy 90.111401 69.994213) (xy 90.46637 70.349181) (xy 90.821338 69.994213) (xy 91.525615 69.994213) (xy 91.8243 70.292897) (xy 91.8243 69.695529) (xy 91.525615 69.994213) @@ -39242,301 +39766,305 @@ (xy 90.2168 60.200117) (xy 89.7188 60.200117) (xy 89.7188 59.387612) (xy 90.818509 59.387612) (xy 91.173477 59.74258) (xy 91.2184 59.697657) (xy 91.2184 59.077567) (xy 91.173477 59.032644) (xy 90.818509 59.387612) (xy 89.7188 59.387612) (xy 89.7188 59.360299) (xy 89.738485 59.29326) (xy 89.755119 59.272618) (xy 94.557708 54.470029) - (xy 99.360474 49.667263) (xy 99.360475 49.667262) (xy 99.40991 49.581638) (xy 99.42699 49.517894) - (xy 99.4355 49.486136) (xy 99.4355 49.387264) (xy 99.4355 49.379668) (xy 99.455185 49.312629) (xy 99.507989 49.266874) - (xy 99.514679 49.264052) (xy 99.552637 49.249348) (xy 99.726041 49.141981) (xy 99.876764 49.004579) - (xy 99.999673 48.841821) (xy 100.090582 48.65925) (xy 100.146397 48.463083) (xy 100.165215 48.26) - (xy 100.161412 48.218963) (xy 100.146397 48.056917) (xy 100.13783 48.026809) (xy 100.090582 47.86075) - (xy 100.090159 47.859901) (xy 100.038306 47.755766) (xy 99.999673 47.678179) (xy 99.916129 47.567549) - (xy 99.876762 47.515418) (xy 99.726041 47.378019) (xy 99.726039 47.378017) (xy 99.552642 47.270655) - (xy 99.552635 47.270651) (xy 99.426769 47.221891) (xy 99.362456 47.196976) (xy 99.161976 47.1595) - (xy 98.958024 47.1595) (xy 98.757544 47.196976) (xy 98.757541 47.196976) (xy 98.757541 47.196977) - (xy 98.567364 47.270651) (xy 98.567357 47.270655) (xy 98.39396 47.378017) (xy 98.393958 47.378019) - (xy 98.243237 47.515418) (xy 98.120327 47.678178) (xy 98.029422 47.860739) (xy 98.029417 47.860752) - (xy 97.973602 48.056917) (xy 97.954785 48.259999) (xy 97.954785 48.26) (xy 97.973602 48.463082) - (xy 98.029417 48.659247) (xy 98.029422 48.65926) (xy 98.120327 48.841821) (xy 98.243237 49.004581) - (xy 98.372898 49.122782) (xy 98.393959 49.141981) (xy 98.51572 49.217372) (xy 98.526255 49.223895) - (xy 98.57289 49.275923) (xy 98.583994 49.344905) (xy 98.556041 49.408939) (xy 98.548658 49.417003) - (xy 89.112738 58.852925) (xy 89.042826 58.922836) (xy 88.993391 59.008459) (xy 88.993391 59.00846) - (xy 88.99339 59.008462) (xy 88.9678 59.103965) (xy 88.9678 59.103967) (xy 88.9678 63.665096) (xy 88.948115 63.732135) - (xy 88.926027 63.757911) (xy 88.852818 63.822768) (xy 88.763081 63.952775) (xy 88.76308 63.952776) - (xy 88.707062 64.100481) (xy 88.688022 64.257299) (xy 88.688022 64.2573) (xy 87.912852 64.2573) - (xy 87.911527 64.255975) (xy 87.893757 64.276034) (xy 87.888623 64.281488) (xy 87.877939 64.292172) - (xy 87.872485 64.297307) (xy 87.731706 64.422025) (xy 87.725953 64.426819) (xy 87.714061 64.436136) - (xy 87.708028 64.440575) (xy 87.683249 64.457679) (xy 87.676961 64.461745) (xy 87.664031 64.469562) - (xy 87.657504 64.473243) (xy 87.500999 64.555383) (xy 85.616639 64.555383) (xy 85.59392 64.495477) - (xy 85.504183 64.36547) (xy 85.504181 64.365468) (xy 85.430973 64.300611) (xy 85.393846 64.241422) - (xy 85.3892 64.207796) (xy 85.3892 64.075548) (xy 85.408885 64.008509) (xy 85.461689 63.962754) - (xy 85.530847 63.95281) (xy 85.594403 63.981835) (xy 85.595374 63.982686) (xy 85.65926 64.039283) - (xy 85.659262 64.039284) (xy 85.799134 64.112696) (xy 85.952514 64.1505) (xy 85.952515 64.1505) - (xy 86.110485 64.1505) (xy 86.263865 64.112696) (xy 86.334644 64.075548) (xy 86.40374 64.039283) - (xy 86.453773 63.994957) (xy 86.517006 63.965236) (xy 86.586269 63.97442) (xy 86.618226 63.994957) - (xy 86.629716 64.005136) (xy 86.668259 64.039282) (xy 86.668261 64.039284) (xy 86.808134 64.112696) - (xy 86.961514 64.1505) (xy 86.961515 64.1505) (xy 87.119485 64.1505) (xy 87.272865 64.112696) (xy 87.288477 64.104502) - (xy 87.41274 64.039283) (xy 87.530983 63.93453) (xy 87.62072 63.804523) (xy 87.624151 63.795477) - (xy 88.155307 63.795477) (xy 88.253053 63.893224) (xy 88.30278 63.762109) (xy 88.305646 63.75519) - (xy 88.311845 63.741416) (xy 88.315123 63.734683) (xy 88.329115 63.708022) (xy 88.332795 63.701497) - (xy 88.340613 63.688564) (xy 88.344681 63.682272) (xy 88.451523 63.527484) (xy 88.455964 63.521449) - (xy 88.465282 63.509556) (xy 88.4698 63.504134) (xy 88.4698 63.400034) (xy 88.345049 63.275283) - (xy 88.189087 63.431245) (xy 88.191962 63.454917) (xy 88.19264 63.462379) (xy 88.193552 63.47746) - (xy 88.193778 63.484945) (xy 88.193778 63.515055) (xy 88.193552 63.52254) (xy 88.19264 63.537621) - (xy 88.191962 63.545082) (xy 88.169292 63.731788) (xy 88.168165 63.739192) (xy 88.165442 63.754052) - (xy 88.16387 63.761378) (xy 88.156664 63.790613) (xy 88.155307 63.795477) (xy 87.624151 63.795477) - (xy 87.676737 63.656818) (xy 87.695778 63.5) (xy 87.682126 63.38756) (xy 87.676737 63.343181) (xy 87.648554 63.268869) - (xy 87.62072 63.195477) (xy 87.530983 63.06547) (xy 87.526923 63.061873) (xy 87.457773 63.000611) - (xy 87.420646 62.941422) (xy 87.416 62.907796) (xy 87.416 62.216039) (xy 87.990082 62.216039) (xy 88.34505 62.571007) - (xy 88.4698 62.446257) (xy 88.4698 61.985821) (xy 88.34505 61.861071) (xy 87.990082 62.216039) (xy 87.416 62.216039) - (xy 87.416 60.801825) (xy 87.990082 60.801825) (xy 88.34505 61.156793) (xy 88.4698 61.032043) (xy 88.4698 60.571607) - (xy 88.34505 60.446857) (xy 87.990082 60.801825) (xy 87.416 60.801825) (xy 87.416 59.387612) (xy 87.990082 59.387612) - (xy 88.34505 59.74258) (xy 88.4698 59.61783) (xy 88.4698 59.157394) (xy 88.34505 59.032644) (xy 87.990082 59.387612) - (xy 87.416 59.387612) (xy 87.416 59.123099) (xy 87.435685 59.05606) (xy 87.452319 59.035418) (xy 92.127737 54.36) - (xy 96.820474 49.667263) (xy 96.820475 49.667262) (xy 96.86991 49.581638) (xy 96.88699 49.517894) - (xy 96.8955 49.486136) (xy 96.8955 49.387264) (xy 96.8955 49.379668) (xy 96.915185 49.312629) (xy 96.967989 49.266874) - (xy 96.974679 49.264052) (xy 97.012637 49.249348) (xy 97.186041 49.141981) (xy 97.336764 49.004579) - (xy 97.459673 48.841821) (xy 97.550582 48.65925) (xy 97.606397 48.463083) (xy 97.625215 48.26) (xy 97.621412 48.218963) - (xy 97.606397 48.056917) (xy 97.59783 48.026809) (xy 97.550582 47.86075) (xy 97.550159 47.859901) - (xy 97.498306 47.755766) (xy 97.459673 47.678179) (xy 97.376129 47.567549) (xy 97.336762 47.515418) - (xy 97.186041 47.378019) (xy 97.186039 47.378017) (xy 97.012642 47.270655) (xy 97.012635 47.270651) - (xy 96.886769 47.221891) (xy 96.822456 47.196976) (xy 96.621976 47.1595) (xy 96.418024 47.1595) - (xy 96.217544 47.196976) (xy 96.217541 47.196976) (xy 96.217541 47.196977) (xy 96.027364 47.270651) - (xy 96.027357 47.270655) (xy 95.85396 47.378017) (xy 95.853958 47.378019) (xy 95.703237 47.515418) - (xy 95.580327 47.678178) (xy 95.489422 47.860739) (xy 95.489417 47.860752) (xy 95.433602 48.056917) - (xy 95.414785 48.259999) (xy 95.414785 48.26) (xy 95.433602 48.463082) (xy 95.489417 48.659247) - (xy 95.489422 48.65926) (xy 95.580327 48.841821) (xy 95.703237 49.004581) (xy 95.832898 49.122782) - (xy 95.853959 49.141981) (xy 95.97572 49.217372) (xy 95.986255 49.223895) (xy 96.03289 49.275923) - (xy 96.043994 49.344905) (xy 96.016041 49.408939) (xy 96.008658 49.417003) (xy 86.809938 58.615725) - (xy 86.740026 58.685636) (xy 86.690591 58.771259) (xy 86.690591 58.77126) (xy 86.69059 58.771262) - (xy 86.665 58.866765) (xy 86.665 58.866767) (xy 86.665 62.907796) (xy 86.645315 62.974835) (xy 86.623231 63.000608) - (xy 86.618231 63.005038) (xy 86.554999 63.034762) (xy 86.485736 63.025582) (xy 86.453769 63.005038) - (xy 86.448769 63.000608) (xy 86.411645 62.941417) (xy 86.407 62.907796) (xy 86.407 57.592099) (xy 86.426685 57.52506) - (xy 86.443319 57.504418) (xy 86.630072 57.317665) (xy 87.334348 57.317665) (xy 87.369032 57.352349) - (xy 87.724001 56.997381) (xy 87.689316 56.962696) (xy 87.334348 57.317665) (xy 86.630072 57.317665) - (xy 87.337179 56.610558) (xy 88.041455 56.610558) (xy 88.07614 56.645243) (xy 88.431108 56.290275) - (xy 88.396423 56.25559) (xy 88.041455 56.610558) (xy 87.337179 56.610558) (xy 88.044286 55.903451) - (xy 88.748562 55.903451) (xy 88.783247 55.938136) (xy 89.138215 55.583168) (xy 89.10353 55.548483) - (xy 88.748562 55.903451) (xy 88.044286 55.903451) (xy 88.751393 55.196344) (xy 89.455669 55.196344) - (xy 89.490354 55.231029) (xy 89.845322 54.876061) (xy 89.810637 54.841376) (xy 89.455669 55.196344) - (xy 88.751393 55.196344) (xy 89.4585 54.489237) (xy 90.162775 54.489237) (xy 90.19746 54.523922) - (xy 90.552428 54.168953) (xy 90.517743 54.134269) (xy 90.162775 54.489237) (xy 89.4585 54.489237) - (xy 90.165606 53.782131) (xy 90.869882 53.782131) (xy 90.904566 53.816815) (xy 91.259534 53.461847) - (xy 91.22485 53.427162) (xy 90.869882 53.782131) (xy 90.165606 53.782131) (xy 90.361855 53.585882) - (xy 90.872713 53.075024) (xy 91.576989 53.075024) (xy 91.611673 53.109708) (xy 91.966641 52.75474) - (xy 91.931957 52.720056) (xy 91.576989 53.075024) (xy 90.872713 53.075024) (xy 91.57982 52.367917) - (xy 92.284096 52.367917) (xy 92.31878 52.402601) (xy 92.673748 52.047633) (xy 92.639064 52.012949) - (xy 92.284096 52.367917) (xy 91.57982 52.367917) (xy 92.286927 51.66081) (xy 92.991202 51.66081) - (xy 93.025887 51.695494) (xy 93.380855 51.340526) (xy 93.346171 51.305842) (xy 92.991202 51.66081) - (xy 92.286927 51.66081) (xy 92.994033 50.953704) (xy 93.69831 50.953704) (xy 93.732994 50.988388) - (xy 94.087962 50.63342) (xy 94.053278 50.598736) (xy 93.69831 50.953704) (xy 92.994033 50.953704) - (xy 93.70114 50.246597) (xy 94.405416 50.246597) (xy 94.4401 50.281281) (xy 94.795068 49.926313) - (xy 94.738571 49.869816) (xy 94.703598 49.930392) (xy 94.699313 49.937282) (xy 94.690219 49.950892) - (xy 94.685491 49.957489) (xy 94.665631 49.98337) (xy 94.660483 49.989644) (xy 94.649692 50.001948) - (xy 94.644147 50.007867) (xy 94.405416 50.246597) (xy 93.70114 50.246597) (xy 94.280475 49.667262) - (xy 94.329911 49.581637) (xy 94.354969 49.488116) (xy 95.061149 49.488116) (xy 95.147207 49.574174) - (xy 95.357848 49.363533) (xy 95.355081 49.360891) (xy 95.346912 49.352721) (xy 95.342963 49.348584) - (xy 95.327456 49.331574) (xy 95.323695 49.327253) (xy 95.316316 49.318367) (xy 95.312759 49.313876) - (xy 95.27947 49.269795) (xy 95.061149 49.488116) (xy 94.354969 49.488116) (xy 94.3555 49.486136) - (xy 94.3555 49.387264) (xy 94.3555 49.379668) (xy 94.375185 49.312629) (xy 94.427989 49.266874) - (xy 94.434679 49.264052) (xy 94.472637 49.249348) (xy 94.646041 49.141981) (xy 94.796764 49.004579) - (xy 94.919673 48.841821) (xy 95.010582 48.65925) (xy 95.066397 48.463083) (xy 95.085215 48.26) (xy 95.081412 48.218963) - (xy 95.066397 48.056917) (xy 95.05783 48.026809) (xy 95.010582 47.86075) (xy 95.010159 47.859901) - (xy 94.958306 47.755766) (xy 94.919673 47.678179) (xy 94.836129 47.567549) (xy 94.796762 47.515418) - (xy 94.646041 47.378019) (xy 94.646039 47.378017) (xy 94.472642 47.270655) (xy 94.472635 47.270651) - (xy 94.346769 47.221891) (xy 94.282456 47.196976) (xy 94.081976 47.1595) (xy 93.878024 47.1595) - (xy 93.677544 47.196976) (xy 93.677541 47.196976) (xy 93.677541 47.196977) (xy 93.487364 47.270651) - (xy 93.487357 47.270655) (xy 93.31396 47.378017) (xy 93.313958 47.378019) (xy 93.163237 47.515418) - (xy 93.040327 47.678178) (xy 92.949422 47.860739) (xy 92.949417 47.860752) (xy 92.893602 48.056917) - (xy 92.874785 48.259999) (xy 92.874785 48.26) (xy 92.893602 48.463082) (xy 92.949417 48.659247) - (xy 92.949422 48.65926) (xy 93.040327 48.841821) (xy 93.163237 49.004581) (xy 93.292898 49.122782) - (xy 93.313959 49.141981) (xy 93.43572 49.217372) (xy 93.446255 49.223895) (xy 93.49289 49.275923) - (xy 93.503994 49.344905) (xy 93.476041 49.408939) (xy 93.468658 49.417003) (xy 85.800938 57.084725) - (xy 85.731027 57.154635) (xy 85.731025 57.154637) (xy 85.731025 57.154638) (xy 85.727198 57.161266) - (xy 85.681589 57.240262) (xy 85.681589 57.240263) (xy 85.6771 57.257014) (xy 85.677101 57.257015) - (xy 85.657497 57.330179) (xy 85.657496 57.330183) (xy 85.656 57.335765) (xy 85.656 62.907796) (xy 85.636315 62.974835) - (xy 85.614226 63.000612) (xy 85.595426 63.017267) (xy 85.532193 63.046988) (xy 85.462929 63.037804) - (xy 85.409627 62.992631) (xy 85.389207 62.925812) (xy 85.3892 62.924451) (xy 85.3892 56.069899) - (xy 85.395729 56.047665) (xy 86.064349 56.047665) (xy 86.099033 56.082349) (xy 86.454001 55.727381) - (xy 86.419317 55.692697) (xy 86.064349 56.047665) (xy 85.395729 56.047665) (xy 85.408885 56.00286) - (xy 85.425519 55.982218) (xy 86.067179 55.340558) (xy 86.771456 55.340558) (xy 86.80614 55.375242) - (xy 87.161108 55.020274) (xy 87.126424 54.98559) (xy 86.771456 55.340558) (xy 86.067179 55.340558) - (xy 86.774285 54.633452) (xy 87.478563 54.633452) (xy 87.513247 54.668136) (xy 87.868215 54.313168) - (xy 87.833531 54.278484) (xy 87.478563 54.633452) (xy 86.774285 54.633452) (xy 87.481392 53.926345) - (xy 88.185669 53.926345) (xy 88.220353 53.961029) (xy 88.575321 53.60606) (xy 88.540637 53.571377) - (xy 88.185669 53.926345) (xy 87.481392 53.926345) (xy 88.188499 53.219238) (xy 88.892776 53.219238) - (xy 88.92746 53.253922) (xy 89.282428 52.898954) (xy 89.247744 52.86427) (xy 88.892776 53.219238) - (xy 88.188499 53.219238) (xy 88.563679 52.844058) (xy 88.895606 52.512131) (xy 89.599883 52.512131) - (xy 89.634567 52.546815) (xy 89.989535 52.191847) (xy 89.954851 52.157163) (xy 89.599883 52.512131) - (xy 88.895606 52.512131) (xy 89.602712 51.805025) (xy 90.30699 51.805025) (xy 90.341673 51.839708) - (xy 90.696641 51.48474) (xy 90.661958 51.450056) (xy 90.30699 51.805025) (xy 89.602712 51.805025) - (xy 90.309819 51.097918) (xy 91.014097 51.097918) (xy 91.04878 51.132601) (xy 91.403748 50.777633) - (xy 91.369065 50.74295) (xy 91.014097 51.097918) (xy 90.309819 51.097918) (xy 91.016926 50.390811) - (xy 91.721203 50.390811) (xy 91.755887 50.425495) (xy 92.110855 50.070527) (xy 92.076171 50.035843) - (xy 91.721203 50.390811) (xy 91.016926 50.390811) (xy 91.740475 49.667263) (xy 91.786441 49.587647) - (xy 92.332253 49.587647) (xy 92.462994 49.718388) (xy 92.817848 49.363533) (xy 92.815081 49.360891) - (xy 92.806912 49.352721) (xy 92.802964 49.348585) (xy 92.801281 49.346739) (xy 92.699377 49.244835) - (xy 92.647241 49.313876) (xy 92.643684 49.318367) (xy 92.636305 49.327253) (xy 92.632544 49.331574) - (xy 92.617037 49.348584) (xy 92.613088 49.352721) (xy 92.604919 49.360891) (xy 92.60077 49.364852) - (xy 92.433037 49.51776) (xy 92.428717 49.52152) (xy 92.419831 49.528899) (xy 92.41534 49.532456) - (xy 92.396972 49.546327) (xy 92.39232 49.549674) (xy 92.382787 49.556204) (xy 92.377989 49.55933) - (xy 92.332253 49.587647) (xy 91.786441 49.587647) (xy 91.789911 49.581637) (xy 91.8155 49.486136) - (xy 91.8155 49.387264) (xy 91.8155 49.379668) (xy 91.835185 49.312629) (xy 91.887989 49.266874) - (xy 91.894679 49.264052) (xy 91.932637 49.249348) (xy 92.106041 49.141981) (xy 92.256764 49.004579) - (xy 92.379673 48.841821) (xy 92.470582 48.65925) (xy 92.526397 48.463083) (xy 92.545215 48.26) (xy 92.541412 48.218963) - (xy 92.526397 48.056917) (xy 92.51783 48.026809) (xy 92.470582 47.86075) (xy 92.470159 47.859901) - (xy 92.418306 47.755766) (xy 92.379673 47.678179) (xy 92.296129 47.567549) (xy 92.256762 47.515418) - (xy 92.106041 47.378019) (xy 92.106039 47.378017) (xy 91.932642 47.270655) (xy 91.932635 47.270651) - (xy 91.806769 47.221891) (xy 91.742456 47.196976) (xy 91.541976 47.1595) (xy 91.338024 47.1595) - (xy 91.137544 47.196976) (xy 91.137541 47.196976) (xy 91.137541 47.196977) (xy 90.947364 47.270651) - (xy 90.947357 47.270655) (xy 90.77396 47.378017) (xy 90.773958 47.378019) (xy 90.623237 47.515418) - (xy 90.500327 47.678178) (xy 90.409422 47.860739) (xy 90.409417 47.860752) (xy 90.353602 48.056917) - (xy 90.334785 48.259999) (xy 90.334785 48.26) (xy 90.353602 48.463082) (xy 90.409417 48.659247) - (xy 90.409422 48.65926) (xy 90.500327 48.841821) (xy 90.623237 49.004581) (xy 90.773958 49.14198) - (xy 90.77396 49.141982) (xy 90.807888 49.162989) (xy 90.906254 49.223894) (xy 90.95289 49.275921) - (xy 90.963994 49.344903) (xy 90.936041 49.408937) (xy 90.928658 49.417002) (xy 84.783138 55.562525) - (xy 84.713226 55.632436) (xy 84.663791 55.718059) (xy 84.663791 55.71806) (xy 84.66379 55.718062) - (xy 84.6382 55.813565) (xy 84.6382 55.813567) (xy 84.6382 64.207796) (xy 84.618515 64.274835) (xy 84.596427 64.300611) - (xy 84.523218 64.365468) (xy 84.433481 64.495475) (xy 84.43348 64.495476) (xy 84.377463 64.643181) - (xy 84.369235 64.710946) (xy 84.341613 64.775124) (xy 84.283679 64.814181) (xy 84.246139 64.82) - (xy 84.005 64.82) (xy 84.005 65.636988) (xy 83.947993 65.604075) (xy 83.820826 65.57) (xy 83.689174 65.57) - (xy 83.562007 65.604075) (xy 83.505 65.636988) (xy 83.505 64.82) (xy 82.857155 64.82) (xy 82.797627 64.826401) - (xy 82.79762 64.826403) (xy 82.662913 64.876645) (xy 82.662906 64.876649) (xy 82.64531 64.889822) - (xy 82.579845 64.914239) (xy 82.511573 64.899387) (xy 82.462168 64.849981) (xy 82.447 64.790555) - (xy 82.447 64.322) (xy 83.055694 64.322) (xy 83.60609 64.322) (xy 83.653542 64.331439) (xy 83.726126 64.361503) - (xy 83.750271 64.337359) (xy 83.395303 63.982391) (xy 83.055694 64.322) (xy 82.447 64.322) (xy 82.447 63.630252) - (xy 83.74744 63.630252) (xy 84.102408 63.98522) (xy 84.1402 63.947428) (xy 84.1402 63.313075) (xy 84.102409 63.275284) - (xy 83.74744 63.630252) (xy 82.447 63.630252) (xy 82.447 62.923146) (xy 83.040335 62.923146) (xy 83.395303 63.278114) - (xy 83.750271 62.923146) (xy 83.395303 62.568178) (xy 83.040335 62.923146) (xy 82.447 62.923146) - (xy 82.447 62.216039) (xy 83.747441 62.216039) (xy 84.102409 62.571007) (xy 84.1402 62.533216) (xy 84.1402 61.898862) - (xy 84.102409 61.861071) (xy 83.747441 62.216039) (xy 82.447 62.216039) (xy 82.447 61.508932) (xy 83.040335 61.508932) - (xy 83.395303 61.8639) (xy 83.750271 61.508932) (xy 83.395303 61.153964) (xy 83.040335 61.508932) - (xy 82.447 61.508932) (xy 82.447 60.801825) (xy 83.747441 60.801825) (xy 84.102409 61.156793) (xy 84.1402 61.119002) - (xy 84.1402 60.484648) (xy 84.102409 60.446857) (xy 83.747441 60.801825) (xy 82.447 60.801825) (xy 82.447 60.094718) - (xy 83.040334 60.094718) (xy 83.395303 60.449687) (xy 83.750271 60.094718) (xy 83.395303 59.73975) - (xy 83.040334 60.094718) (xy 82.447 60.094718) (xy 82.447 59.387612) (xy 83.747441 59.387612) (xy 84.102409 59.74258) - (xy 84.1402 59.704789) (xy 84.1402 59.070435) (xy 84.102409 59.032644) (xy 83.747441 59.387612) - (xy 82.447 59.387612) (xy 82.447 58.680505) (xy 83.040335 58.680505) (xy 83.395303 59.035473) (xy 83.750271 58.680505) - (xy 83.395303 58.325537) (xy 83.040335 58.680505) (xy 82.447 58.680505) (xy 82.447 57.973398) (xy 83.747441 57.973398) - (xy 84.102409 58.328366) (xy 84.1402 58.290575) (xy 84.1402 57.656221) (xy 84.102409 57.61843) (xy 83.747441 57.973398) - (xy 82.447 57.973398) (xy 82.447 57.266291) (xy 83.040334 57.266291) (xy 83.395303 57.621259) (xy 83.750271 57.266291) - (xy 83.395303 56.911323) (xy 83.040334 57.266291) (xy 82.447 57.266291) (xy 82.447 56.559185) (xy 83.747441 56.559185) - (xy 84.102409 56.914153) (xy 84.1402 56.876362) (xy 84.1402 56.242008) (xy 84.102409 56.204217) - (xy 83.747441 56.559185) (xy 82.447 56.559185) (xy 82.447 55.852078) (xy 83.040335 55.852078) (xy 83.395303 56.207046) - (xy 83.750271 55.852078) (xy 83.395303 55.49711) (xy 83.040335 55.852078) (xy 82.447 55.852078) - (xy 82.447 55.144971) (xy 83.747441 55.144971) (xy 84.102409 55.499939) (xy 84.457377 55.144971) - (xy 84.102409 54.790003) (xy 83.747441 55.144971) (xy 82.447 55.144971) (xy 82.447 54.467822) (xy 83.070293 54.467822) - (xy 83.395303 54.792832) (xy 83.750271 54.437864) (xy 84.454548 54.437864) (xy 84.809516 54.792832) - (xy 85.164484 54.437864) (xy 84.939034 54.212414) (xy 84.938832 54.212593) (xy 84.93256 54.21774) - (xy 84.906678 54.237599) (xy 84.900085 54.242323) (xy 84.886478 54.251415) (xy 84.879586 54.255701) - (xy 84.812476 54.294445) (xy 84.802719 54.310455) (xy 84.751398 54.33848) (xy 84.548473 54.392853) - (xy 84.540566 54.394696) (xy 84.524515 54.397888) (xy 84.516517 54.399209) (xy 84.489667 54.402744) - (xy 84.454548 54.437864) (xy 83.750271 54.437864) (xy 83.718007 54.4056) (xy 83.132515 54.4056) - (xy 83.070293 54.467822) (xy 82.447 54.467822) (xy 82.447 54.438199) (xy 82.466685 54.37116) (xy 82.483319 54.350518) - (xy 82.889918 53.943919) (xy 82.951241 53.910434) (xy 82.977599 53.9076) (xy 84.435335 53.9076) - (xy 84.435336 53.9076) (xy 84.483086 53.894805) (xy 84.530838 53.88201) (xy 84.566868 53.861208) - (xy 85.292105 53.861208) (xy 85.516623 54.085726) (xy 85.871591 53.730757) (xy 85.647073 53.50624) - (xy 85.292105 53.861208) (xy 84.566868 53.861208) (xy 84.616462 53.832575) (xy 84.686375 53.762662) - (xy 85.294935 53.154102) (xy 85.999213 53.154102) (xy 86.22373 53.378619) (xy 86.578698 53.023651) - (xy 86.354181 52.799134) (xy 85.999213 53.154102) (xy 85.294935 53.154102) (xy 86.002043 52.446994) - (xy 86.706319 52.446994) (xy 86.930836 52.671512) (xy 87.285805 52.316544) (xy 87.057918 52.088657) - (xy 87.04564 52.10466) (xy 87.040493 52.110932) (xy 87.029699 52.123241) (xy 87.024149 52.129166) - (xy 86.706319 52.446994) (xy 86.002043 52.446994) (xy 86.660474 51.788563) (xy 86.660475 51.788562) - (xy 86.70991 51.702938) (xy 86.726434 51.641269) (xy 86.734964 51.609437) (xy 87.282975 51.609437) - (xy 87.637943 51.964405) (xy 87.992911 51.609437) (xy 87.637943 51.254469) (xy 87.282975 51.609437) - (xy 86.734964 51.609437) (xy 86.7355 51.607436) (xy 86.7355 51.508564) (xy 86.7355 50.90233) (xy 87.990082 50.90233) - (xy 88.34505 51.257298) (xy 88.700018 50.90233) (xy 88.34505 50.547362) (xy 87.990082 50.90233) - (xy 86.7355 50.90233) (xy 86.7355 50.195224) (xy 87.282975 50.195224) (xy 87.637943 50.550192) (xy 87.992911 50.195224) - (xy 88.697189 50.195224) (xy 89.052157 50.550192) (xy 89.407125 50.195224) (xy 89.066372 49.854471) - (xy 89.065066 49.854654) (xy 89.059388 49.855313) (xy 89.036469 49.857437) (xy 89.034864 49.857548) - (xy 88.697189 50.195224) (xy 87.992911 50.195224) (xy 87.637943 49.840256) (xy 87.282975 50.195224) - (xy 86.7355 50.195224) (xy 86.7355 49.705704) (xy 88.207669 49.705704) (xy 88.345049 49.843084) - (xy 88.405459 49.782675) (xy 88.216733 49.709562) (xy 88.211447 49.707372) (xy 88.207669 49.705704) - (xy 86.7355 49.705704) (xy 86.7355 49.696235) (xy 89.612414 49.696235) (xy 89.759264 49.843085) - (xy 90.114232 49.488117) (xy 90.024254 49.398139) (xy 89.893037 49.51776) (xy 89.888717 49.52152) - (xy 89.879831 49.528899) (xy 89.87534 49.532456) (xy 89.856972 49.546327) (xy 89.85232 49.549674) - (xy 89.842787 49.556204) (xy 89.83799 49.55933) (xy 89.645015 49.678815) (xy 89.640075 49.681718) - (xy 89.629985 49.687338) (xy 89.624923 49.690006) (xy 89.612414 49.696235) (xy 86.7355 49.696235) - (xy 86.7355 49.379668) (xy 86.755185 49.312629) (xy 86.807989 49.266874) (xy 86.814679 49.264052) - (xy 86.852637 49.249348) (xy 87.026041 49.141981) (xy 87.176764 49.004579) (xy 87.299673 48.841821) - (xy 87.390582 48.65925) (xy 87.390581 48.65925) (xy 87.392809 48.654778) (xy 87.440311 48.603541) - (xy 87.507974 48.586119) (xy 87.565808 48.602662) (xy 87.578362 48.60991) (xy 87.673865 48.6355) - (xy 87.772735 48.6355) (xy 87.780815 48.6355) (xy 87.847854 48.655185) (xy 87.891813 48.704225) - (xy 87.960327 48.841821) (xy 88.00694 48.903547) (xy 88.083237 49.004581) (xy 88.233958 49.14198) - (xy 88.23396 49.141982) (xy 88.322813 49.196997) (xy 88.407363 49.249348) (xy 88.597544 49.323024) - (xy 88.798024 49.3605) (xy 88.798026 49.3605) (xy 89.001974 49.3605) (xy 89.001976 49.3605) (xy 89.202456 49.323024) - (xy 89.392637 49.249348) (xy 89.566041 49.141981) (xy 89.716764 49.004579) (xy 89.839673 48.841821) - (xy 89.930582 48.65925) (xy 89.986397 48.463083) (xy 90.005215 48.26) (xy 90.001412 48.218963) (xy 89.986397 48.056917) - (xy 89.97783 48.026809) (xy 89.930582 47.86075) (xy 89.930159 47.859901) (xy 89.878306 47.755766) - (xy 89.839673 47.678179) (xy 89.756129 47.567549) (xy 89.716762 47.515418) (xy 89.566041 47.378019) - (xy 89.566039 47.378017) (xy 89.392642 47.270655) (xy 89.392635 47.270651) (xy 89.266769 47.221891) - (xy 89.202456 47.196976) (xy 89.001976 47.1595) (xy 88.798024 47.1595) (xy 88.597544 47.196976) - (xy 88.597541 47.196976) (xy 88.597541 47.196977) (xy 88.407364 47.270651) (xy 88.407357 47.270655) - (xy 88.23396 47.378017) (xy 88.233958 47.378019) (xy 88.083236 47.515419) (xy 88.083232 47.515424) - (xy 88.080613 47.518893) (xy 88.024503 47.560527) (xy 87.954791 47.565216) (xy 87.893981 47.531844) - (xy 87.518151 47.156014) (xy 100.221678 47.156014) (xy 100.224919 47.159109) (xy 100.233088 47.167279) - (xy 100.237037 47.171416) (xy 100.252544 47.188426) (xy 100.256305 47.192747) (xy 100.263684 47.201633) - (xy 100.267241 47.206124) (xy 100.33 47.28923) (xy 100.392759 47.206124) (xy 100.396316 47.201633) - (xy 100.403695 47.192747) (xy 100.407456 47.188426) (xy 100.422963 47.171416) (xy 100.426912 47.167279) - (xy 100.435081 47.159109) (xy 100.43923 47.155148) (xy 100.475824 47.121787) (xy 100.365864 47.011827) - (xy 100.221678 47.156014) (xy 87.518151 47.156014) (xy 87.144963 46.782826) (xy 87.144962 46.782825) - (xy 87.059338 46.73339) (xy 87.011586 46.720595) (xy 87.011584 46.720594) (xy 87.011582 46.720593) - (xy 86.963836 46.7078) (xy 86.963835 46.7078) (xy 85.900936 46.7078) (xy 85.802064 46.7078) (xy 85.706563 46.733389) - (xy 85.70656 46.73339) (xy 85.62094 46.782822) (xy 85.620935 46.782826) (xy 84.859438 47.544325) - (xy 84.859435 47.544328) (xy 84.845764 47.557998) (xy 84.78444 47.591481) (xy 84.714748 47.586494) - (xy 84.659132 47.545041) (xy 84.651384 47.534781) (xy 84.636764 47.515421) (xy 84.628236 47.507647) - (xy 84.486041 47.378019) (xy 84.486039 47.378017) (xy 84.312642 47.270655) (xy 84.312635 47.270651) - (xy 84.186769 47.221891) (xy 84.122456 47.196976) (xy 83.921976 47.1595) (xy 83.718024 47.1595) - (xy 83.517544 47.196976) (xy 83.517541 47.196976) (xy 83.517541 47.196977) (xy 83.327364 47.270651) - (xy 83.327357 47.270655) (xy 83.15396 47.378017) (xy 83.153958 47.378019) (xy 83.003237 47.515418) - (xy 82.880328 47.678176) (xy 82.865 47.70896) (xy 82.817496 47.760196) (xy 82.749833 47.777617) - (xy 82.683493 47.755691) (xy 82.639538 47.701379) (xy 82.63 47.653687) (xy 82.63 47.362172) (xy 82.629999 47.362155) - (xy 82.623598 47.302627) (xy 82.623596 47.30262) (xy 82.573354 47.167913) (xy 82.57335 47.167906) - (xy 82.48719 47.052812) (xy 82.487187 47.052809) (xy 82.372093 46.966649) (xy 82.372086 46.966645) - (xy 82.237379 46.916403) (xy 82.237372 46.916401) (xy 82.177844 46.91) (xy 81.53 46.91) (xy 81.53 47.826988) - (xy 81.472993 47.794075) (xy 81.345826 47.76) (xy 81.214174 47.76) (xy 81.087007 47.794075) (xy 81.03 47.826988) - (xy 81.03 46.91) (xy 80.382155 46.91) (xy 80.322627 46.916401) (xy 80.32262 46.916403) (xy 80.187913 46.966645) - (xy 80.187906 46.966649) (xy 80.072812 47.052809) (xy 80.072809 47.052812) (xy 79.986649 47.167906) - (xy 79.986645 47.167913) (xy 79.936403 47.30262) (xy 79.936401 47.302627) (xy 79.93 47.362155) (xy 79.93 48.01) - (xy 80.846988 48.01) (xy 80.814075 48.067007) (xy 80.78 48.194174) (xy 80.78 48.325826) (xy 80.814075 48.452993) - (xy 80.846988 48.51) (xy 79.93 48.51) (xy 79.93 49.157844) (xy 79.936401 49.217372) (xy 79.936403 49.217379) - (xy 79.986645 49.352086) (xy 79.986649 49.352093) (xy 80.072809 49.467187) (xy 80.072812 49.46719) - (xy 80.187906 49.55335) (xy 80.187913 49.553354) (xy 80.32262 49.603596) (xy 80.322627 49.603598) - (xy 80.382155 49.609999) (xy 80.382172 49.61) (xy 81.03 49.61) (xy 81.03 48.693012) (xy 81.087007 48.725925) - (xy 81.214174 48.76) (xy 81.345826 48.76) (xy 81.472993 48.725925) (xy 81.53 48.693012) (xy 81.53 49.61) - (xy 82.177828 49.61) (xy 82.177844 49.609999) (xy 82.237372 49.603598) (xy 82.237379 49.603596) - (xy 82.372086 49.553354) (xy 82.372093 49.55335) (xy 82.487187 49.46719) (xy 82.48719 49.467187) - (xy 82.57335 49.352093) (xy 82.573354 49.352086) (xy 82.623596 49.217379) (xy 82.623598 49.217372) - (xy 82.629999 49.157844) (xy 82.63 49.157827) (xy 82.63 48.866312) (xy 82.649685 48.799273) (xy 82.702489 48.753518) - (xy 82.771647 48.743574) (xy 82.835203 48.772599) (xy 82.865 48.811041) (xy 82.880325 48.841819) - (xy 83.003237 49.004581) (xy 83.153958 49.14198) (xy 83.15396 49.141982) (xy 83.242813 49.196997) - (xy 83.327363 49.249348) (xy 83.517544 49.323024) (xy 83.688177 49.35492) (xy 83.750457 49.386588) - (xy 83.78573 49.446901) (xy 83.782796 49.516709) (xy 83.753072 49.56449) (xy 82.796017 50.521545) - (xy 82.74043 50.553639) (xy 82.642461 50.579889) (xy 82.64246 50.57989) (xy 82.55684 50.629322) - (xy 82.556835 50.629326) (xy 81.332538 51.853625) (xy 81.262626 51.923536) (xy 81.213191 52.009159) - (xy 81.213191 52.00916) (xy 81.21319 52.009162) (xy 81.1876 52.104665) (xy 81.1876 52.104667) (xy 81.1876 77.4511) - (xy 81.167915 77.518139) (xy 81.151281 77.538781) (xy 78.635381 80.054681) (xy 78.574058 80.088166) - (xy 78.5477 80.091) (xy 78.400614 80.091) (xy 78.247234 80.128803) (xy 78.107362 80.202215) (xy 77.989116 80.306971) - (xy 77.899381 80.436975) (xy 77.89938 80.436976) (xy 77.843362 80.584681) (xy 77.824322 80.741499) - (xy 77.824322 80.7415) (xy 77.843362 80.898318) (xy 77.897873 81.04205) (xy 77.89938 81.046023) - (xy 77.989117 81.17603) (xy 78.10736 81.280783) (xy 78.107362 81.280784) (xy 78.247234 81.354196) - (xy 78.400614 81.392) (xy 78.400615 81.392) (xy 78.558585 81.392) (xy 78.592284 81.383694) (xy 79.431857 81.383694) - (xy 79.50763 81.307922) (xy 80.211907 81.307922) (xy 80.566875 81.66289) (xy 80.921843 81.307922) - (xy 80.566875 80.952953) (xy 80.211907 81.307922) (xy 79.50763 81.307922) (xy 79.492595 81.292887) - (xy 79.490105 81.297303) (xy 79.482287 81.310236) (xy 79.478219 81.316528) (xy 79.431857 81.383694) - (xy 78.592284 81.383694) (xy 78.711965 81.354196) (xy 78.756616 81.330761) (xy 78.85184 81.280783) - (xy 78.970083 81.17603) (xy 79.05982 81.046023) (xy 79.115837 80.898318) (xy 79.130663 80.776213) - (xy 79.680199 80.776213) (xy 79.859769 80.955783) (xy 80.214737 80.600815) (xy 80.214736 80.600814) - (xy 80.919013 80.600814) (xy 81.273982 80.955783) (xy 81.609591 80.620173) (xy 81.549339 80.605323) - (xy 81.542118 80.60331) (xy 81.527692 80.598814) (xy 81.520615 80.596372) (xy 81.49246 80.585694) - (xy 81.485541 80.582828) (xy 81.471765 80.576628) (xy 81.46503 80.573348) (xy 81.298496 80.485943) - (xy 81.291969 80.482262) (xy 81.279039 80.474445) (xy 81.272751 80.470379) (xy 81.247972 80.453275) - (xy 81.241939 80.448836) (xy 81.230047 80.439519) (xy 81.224294 80.434725) (xy 81.150488 80.369339) - (xy 80.919013 80.600814) (xy 80.214736 80.600814) (xy 80.035167 80.421245) (xy 79.680199 80.776213) - (xy 79.130663 80.776213) (xy 79.134878 80.7415) (xy 79.128702 80.690644) (xy 79.140161 80.621724) - (xy 79.164114 80.588021) (xy 79.683029 80.069106) (xy 80.387304 80.069106) (xy 80.566875 80.248676) - (xy 80.856469 79.959082) (xy 80.808286 79.832035) (xy 80.805841 79.82495) (xy 80.801346 79.810523) - (xy 80.799336 79.803313) (xy 80.79213 79.774078) (xy 80.790558 79.766752) (xy 80.789586 79.761452) - (xy 80.742273 79.714138) (xy 80.387304 80.069106) (xy 79.683029 80.069106) (xy 81.484321 78.267815) - (xy 81.545642 78.234332) (xy 81.615334 78.239316) (xy 81.671267 78.281188) (xy 81.695684 78.346652) - (xy 81.696 78.355498) (xy 81.696 78.818291) (xy 81.676315 78.88533) (xy 81.629627 78.928087) (xy 81.543261 78.973416) + (xy 99.360474 49.667263) (xy 99.360475 49.667262) (xy 99.40991 49.581638) (xy 99.420549 49.541935) + (xy 99.428664 49.511651) (xy 99.435499 49.48614) (xy 99.4355 49.486134) (xy 99.4355 49.379668) (xy 99.455185 49.312629) + (xy 99.507989 49.266874) (xy 99.514679 49.264052) (xy 99.552637 49.249348) (xy 99.726041 49.141981) + (xy 99.862862 49.017252) (xy 99.876762 49.004581) (xy 99.877094 49.004142) (xy 99.999673 48.841821) + (xy 100.090582 48.65925) (xy 100.146397 48.463083) (xy 100.165215 48.26) (xy 100.162181 48.227262) + (xy 100.146397 48.056917) (xy 100.13783 48.026809) (xy 100.090582 47.86075) (xy 100.090568 47.860722) + (xy 100.034109 47.747336) (xy 99.999673 47.678179) (xy 99.916129 47.567549) (xy 99.876762 47.515418) + (xy 99.726041 47.378019) (xy 99.726039 47.378017) (xy 99.552642 47.270655) (xy 99.552635 47.270651) + (xy 99.447175 47.229796) (xy 99.362456 47.196976) (xy 99.161976 47.1595) (xy 98.958024 47.1595) + (xy 98.757544 47.196976) (xy 98.757541 47.196976) (xy 98.757541 47.196977) (xy 98.567364 47.270651) + (xy 98.567357 47.270655) (xy 98.39396 47.378017) (xy 98.393958 47.378019) (xy 98.243237 47.515418) + (xy 98.120327 47.678178) (xy 98.029422 47.860739) (xy 98.029417 47.860752) (xy 97.973602 48.056917) + (xy 97.954785 48.259999) (xy 97.954785 48.26) (xy 97.973602 48.463082) (xy 98.029417 48.659247) + (xy 98.029422 48.65926) (xy 98.120327 48.841821) (xy 98.243237 49.004581) (xy 98.358205 49.109387) + (xy 98.393959 49.141981) (xy 98.494175 49.204032) (xy 98.526255 49.223895) (xy 98.57289 49.275923) + (xy 98.583994 49.344905) (xy 98.556041 49.408939) (xy 98.548658 49.417003) (xy 89.112738 58.852925) + (xy 89.042826 58.922836) (xy 88.993391 59.008459) (xy 88.993391 59.00846) (xy 88.99339 59.008462) + (xy 88.9678 59.103965) (xy 88.9678 59.103967) (xy 88.9678 63.665096) (xy 88.948115 63.732135) (xy 88.926027 63.757911) + (xy 88.852818 63.822768) (xy 88.763081 63.952775) (xy 88.76308 63.952776) (xy 88.707062 64.100481) + (xy 88.688022 64.257299) (xy 88.688022 64.2573) (xy 87.912852 64.2573) (xy 87.911527 64.255975) + (xy 87.893757 64.276034) (xy 87.888623 64.281488) (xy 87.877939 64.292172) (xy 87.872485 64.297307) + (xy 87.731706 64.422025) (xy 87.725953 64.426819) (xy 87.714061 64.436136) (xy 87.708028 64.440575) + (xy 87.683249 64.457679) (xy 87.676961 64.461745) (xy 87.664031 64.469562) (xy 87.657504 64.473243) + (xy 87.500999 64.555383) (xy 85.616639 64.555383) (xy 85.59392 64.495477) (xy 85.504183 64.36547) + (xy 85.504181 64.365468) (xy 85.430973 64.300611) (xy 85.393846 64.241422) (xy 85.3892 64.207796) + (xy 85.3892 64.075548) (xy 85.408885 64.008509) (xy 85.461689 63.962754) (xy 85.530847 63.95281) + (xy 85.594403 63.981835) (xy 85.595374 63.982686) (xy 85.65926 64.039283) (xy 85.659262 64.039284) + (xy 85.799134 64.112696) (xy 85.952514 64.1505) (xy 85.952515 64.1505) (xy 86.110485 64.1505) (xy 86.263865 64.112696) + (xy 86.334644 64.075548) (xy 86.40374 64.039283) (xy 86.453773 63.994957) (xy 86.517006 63.965236) + (xy 86.586269 63.97442) (xy 86.618226 63.994957) (xy 86.629716 64.005136) (xy 86.668259 64.039282) + (xy 86.668261 64.039284) (xy 86.808134 64.112696) (xy 86.961514 64.1505) (xy 86.961515 64.1505) + (xy 87.119485 64.1505) (xy 87.272865 64.112696) (xy 87.288477 64.104502) (xy 87.41274 64.039283) + (xy 87.530983 63.93453) (xy 87.62072 63.804523) (xy 87.624151 63.795477) (xy 88.155307 63.795477) + (xy 88.253053 63.893224) (xy 88.30278 63.762109) (xy 88.305646 63.75519) (xy 88.311845 63.741416) + (xy 88.315123 63.734683) (xy 88.329115 63.708022) (xy 88.332795 63.701497) (xy 88.340613 63.688564) + (xy 88.344681 63.682272) (xy 88.451523 63.527484) (xy 88.455964 63.521449) (xy 88.465282 63.509556) + (xy 88.4698 63.504134) (xy 88.4698 63.400034) (xy 88.345049 63.275283) (xy 88.189087 63.431245) + (xy 88.191962 63.454917) (xy 88.19264 63.462379) (xy 88.193552 63.47746) (xy 88.193778 63.484945) + (xy 88.193778 63.515055) (xy 88.193552 63.52254) (xy 88.19264 63.537621) (xy 88.191962 63.545082) + (xy 88.169292 63.731788) (xy 88.168165 63.739192) (xy 88.165442 63.754052) (xy 88.16387 63.761378) + (xy 88.156664 63.790613) (xy 88.155307 63.795477) (xy 87.624151 63.795477) (xy 87.676737 63.656818) + (xy 87.695778 63.5) (xy 87.682126 63.38756) (xy 87.676737 63.343181) (xy 87.648554 63.268869) (xy 87.62072 63.195477) + (xy 87.530983 63.06547) (xy 87.526923 63.061873) (xy 87.457773 63.000611) (xy 87.420646 62.941422) + (xy 87.416 62.907796) (xy 87.416 62.216039) (xy 87.990082 62.216039) (xy 88.34505 62.571007) (xy 88.4698 62.446257) + (xy 88.4698 61.985821) (xy 88.34505 61.861071) (xy 87.990082 62.216039) (xy 87.416 62.216039) (xy 87.416 60.801825) + (xy 87.990082 60.801825) (xy 88.34505 61.156793) (xy 88.4698 61.032043) (xy 88.4698 60.571607) (xy 88.34505 60.446857) + (xy 87.990082 60.801825) (xy 87.416 60.801825) (xy 87.416 59.387612) (xy 87.990082 59.387612) (xy 88.34505 59.74258) + (xy 88.4698 59.61783) (xy 88.4698 59.157394) (xy 88.34505 59.032644) (xy 87.990082 59.387612) (xy 87.416 59.387612) + (xy 87.416 59.123099) (xy 87.435685 59.05606) (xy 87.452319 59.035418) (xy 92.136035 54.351702) + (xy 96.820474 49.667263) (xy 96.820475 49.667262) (xy 96.86991 49.581638) (xy 96.880549 49.541935) + (xy 96.888664 49.511651) (xy 96.895499 49.48614) (xy 96.8955 49.486134) (xy 96.8955 49.379668) (xy 96.915185 49.312629) + (xy 96.967989 49.266874) (xy 96.974679 49.264052) (xy 97.012637 49.249348) (xy 97.186041 49.141981) + (xy 97.322862 49.017252) (xy 97.336762 49.004581) (xy 97.337094 49.004142) (xy 97.459673 48.841821) + (xy 97.550582 48.65925) (xy 97.606397 48.463083) (xy 97.625215 48.26) (xy 97.622181 48.227262) (xy 97.606397 48.056917) + (xy 97.59783 48.026809) (xy 97.550582 47.86075) (xy 97.550568 47.860722) (xy 97.494109 47.747336) + (xy 97.459673 47.678179) (xy 97.376129 47.567549) (xy 97.336762 47.515418) (xy 97.186041 47.378019) + (xy 97.186039 47.378017) (xy 97.012642 47.270655) (xy 97.012635 47.270651) (xy 96.907175 47.229796) + (xy 96.822456 47.196976) (xy 96.621976 47.1595) (xy 96.418024 47.1595) (xy 96.217544 47.196976) + (xy 96.217541 47.196976) (xy 96.217541 47.196977) (xy 96.027364 47.270651) (xy 96.027357 47.270655) + (xy 95.85396 47.378017) (xy 95.853958 47.378019) (xy 95.703237 47.515418) (xy 95.580327 47.678178) + (xy 95.489422 47.860739) (xy 95.489417 47.860752) (xy 95.433602 48.056917) (xy 95.414785 48.259999) + (xy 95.414785 48.26) (xy 95.433602 48.463082) (xy 95.489417 48.659247) (xy 95.489422 48.65926) (xy 95.580327 48.841821) + (xy 95.703237 49.004581) (xy 95.818205 49.109387) (xy 95.853959 49.141981) (xy 95.954175 49.204032) + (xy 95.986255 49.223895) (xy 96.03289 49.275923) (xy 96.043994 49.344905) (xy 96.016041 49.408939) + (xy 96.008658 49.417003) (xy 86.809938 58.615725) (xy 86.740026 58.685636) (xy 86.690591 58.771259) + (xy 86.690591 58.77126) (xy 86.69059 58.771262) (xy 86.665 58.866765) (xy 86.665 58.866767) (xy 86.665 62.907796) + (xy 86.645315 62.974835) (xy 86.623231 63.000608) (xy 86.618231 63.005038) (xy 86.554999 63.034762) + (xy 86.485736 63.025582) (xy 86.453769 63.005038) (xy 86.448769 63.000608) (xy 86.411645 62.941417) + (xy 86.407 62.907796) (xy 86.407 57.592099) (xy 86.426685 57.52506) (xy 86.443319 57.504418) (xy 86.630072 57.317665) + (xy 87.334348 57.317665) (xy 87.369032 57.352349) (xy 87.724001 56.997381) (xy 87.689316 56.962696) + (xy 87.334348 57.317665) (xy 86.630072 57.317665) (xy 87.337179 56.610558) (xy 88.041455 56.610558) + (xy 88.07614 56.645243) (xy 88.431108 56.290275) (xy 88.396423 56.25559) (xy 88.041455 56.610558) + (xy 87.337179 56.610558) (xy 88.044286 55.903451) (xy 88.748562 55.903451) (xy 88.783247 55.938136) + (xy 89.138215 55.583168) (xy 89.10353 55.548483) (xy 88.748562 55.903451) (xy 88.044286 55.903451) + (xy 88.751393 55.196344) (xy 89.455669 55.196344) (xy 89.490354 55.231029) (xy 89.845322 54.876061) + (xy 89.810637 54.841376) (xy 89.455669 55.196344) (xy 88.751393 55.196344) (xy 89.4585 54.489237) + (xy 90.162775 54.489237) (xy 90.19746 54.523922) (xy 90.552428 54.168953) (xy 90.517743 54.134269) + (xy 90.162775 54.489237) (xy 89.4585 54.489237) (xy 90.165606 53.782131) (xy 90.869882 53.782131) + (xy 90.904566 53.816815) (xy 91.259534 53.461847) (xy 91.22485 53.427162) (xy 90.869882 53.782131) + (xy 90.165606 53.782131) (xy 90.360786 53.586951) (xy 90.872713 53.075024) (xy 91.576989 53.075024) + (xy 91.611673 53.109708) (xy 91.966641 52.75474) (xy 91.931957 52.720056) (xy 91.576989 53.075024) + (xy 90.872713 53.075024) (xy 91.57982 52.367917) (xy 92.284096 52.367917) (xy 92.31878 52.402601) + (xy 92.673748 52.047633) (xy 92.639064 52.012949) (xy 92.284096 52.367917) (xy 91.57982 52.367917) + (xy 92.286927 51.66081) (xy 92.991202 51.66081) (xy 93.025887 51.695494) (xy 93.380855 51.340526) + (xy 93.346171 51.305842) (xy 92.991202 51.66081) (xy 92.286927 51.66081) (xy 92.994033 50.953704) + (xy 93.69831 50.953704) (xy 93.732994 50.988388) (xy 94.087962 50.63342) (xy 94.053278 50.598736) + (xy 93.69831 50.953704) (xy 92.994033 50.953704) (xy 93.70114 50.246597) (xy 94.405416 50.246597) + (xy 94.4401 50.281281) (xy 94.795068 49.926313) (xy 94.738571 49.869816) (xy 94.703598 49.930392) + (xy 94.699313 49.937282) (xy 94.690219 49.950892) (xy 94.685491 49.957489) (xy 94.665631 49.98337) + (xy 94.660483 49.989644) (xy 94.649692 50.001948) (xy 94.644147 50.007867) (xy 94.405416 50.246597) + (xy 93.70114 50.246597) (xy 94.280475 49.667262) (xy 94.329911 49.581637) (xy 94.354969 49.488116) + (xy 95.061149 49.488116) (xy 95.147207 49.574174) (xy 95.357848 49.363533) (xy 95.355081 49.360891) + (xy 95.346912 49.352721) (xy 95.342963 49.348584) (xy 95.327456 49.331574) (xy 95.323695 49.327253) + (xy 95.316316 49.318367) (xy 95.312759 49.313876) (xy 95.27947 49.269795) (xy 95.061149 49.488116) + (xy 94.354969 49.488116) (xy 94.3555 49.486136) (xy 94.3555 49.387264) (xy 94.3555 49.379668) (xy 94.375185 49.312629) + (xy 94.427989 49.266874) (xy 94.434679 49.264052) (xy 94.472637 49.249348) (xy 94.646041 49.141981) + (xy 94.782862 49.017252) (xy 94.796762 49.004581) (xy 94.797094 49.004142) (xy 94.919673 48.841821) + (xy 95.010582 48.65925) (xy 95.066397 48.463083) (xy 95.085215 48.26) (xy 95.082181 48.227262) (xy 95.066397 48.056917) + (xy 95.05783 48.026809) (xy 95.010582 47.86075) (xy 95.010568 47.860722) (xy 94.954109 47.747336) + (xy 94.919673 47.678179) (xy 94.836129 47.567549) (xy 94.796762 47.515418) (xy 94.646041 47.378019) + (xy 94.646039 47.378017) (xy 94.472642 47.270655) (xy 94.472635 47.270651) (xy 94.367175 47.229796) + (xy 94.282456 47.196976) (xy 94.081976 47.1595) (xy 93.878024 47.1595) (xy 93.677544 47.196976) + (xy 93.677541 47.196976) (xy 93.677541 47.196977) (xy 93.487364 47.270651) (xy 93.487357 47.270655) + (xy 93.31396 47.378017) (xy 93.313958 47.378019) (xy 93.163237 47.515418) (xy 93.040327 47.678178) + (xy 92.949422 47.860739) (xy 92.949417 47.860752) (xy 92.893602 48.056917) (xy 92.874785 48.259999) + (xy 92.874785 48.26) (xy 92.893602 48.463082) (xy 92.949417 48.659247) (xy 92.949422 48.65926) (xy 93.040327 48.841821) + (xy 93.163237 49.004581) (xy 93.278205 49.109387) (xy 93.313959 49.141981) (xy 93.414175 49.204032) + (xy 93.446255 49.223895) (xy 93.49289 49.275923) (xy 93.503994 49.344905) (xy 93.476041 49.408939) + (xy 93.468658 49.417003) (xy 85.800938 57.084725) (xy 85.731027 57.154635) (xy 85.731025 57.154637) + (xy 85.731025 57.154638) (xy 85.727198 57.161266) (xy 85.681589 57.240262) (xy 85.681589 57.240263) + (xy 85.6771 57.257014) (xy 85.677101 57.257015) (xy 85.657497 57.330179) (xy 85.657496 57.330183) + (xy 85.656 57.335765) (xy 85.656 62.907796) (xy 85.636315 62.974835) (xy 85.614226 63.000612) (xy 85.595426 63.017267) + (xy 85.532193 63.046988) (xy 85.462929 63.037804) (xy 85.409627 62.992631) (xy 85.389207 62.925812) + (xy 85.3892 62.924451) (xy 85.3892 56.069899) (xy 85.395729 56.047665) (xy 86.064349 56.047665) + (xy 86.099033 56.082349) (xy 86.454001 55.727381) (xy 86.419317 55.692697) (xy 86.064349 56.047665) + (xy 85.395729 56.047665) (xy 85.408885 56.00286) (xy 85.425519 55.982218) (xy 86.067179 55.340558) + (xy 86.771456 55.340558) (xy 86.80614 55.375242) (xy 87.161108 55.020274) (xy 87.126424 54.98559) + (xy 86.771456 55.340558) (xy 86.067179 55.340558) (xy 86.774285 54.633452) (xy 87.478563 54.633452) + (xy 87.513247 54.668136) (xy 87.868215 54.313168) (xy 87.833531 54.278484) (xy 87.478563 54.633452) + (xy 86.774285 54.633452) (xy 87.481392 53.926345) (xy 88.185669 53.926345) (xy 88.220353 53.961029) + (xy 88.575321 53.60606) (xy 88.540637 53.571377) (xy 88.185669 53.926345) (xy 87.481392 53.926345) + (xy 88.188499 53.219238) (xy 88.892776 53.219238) (xy 88.92746 53.253922) (xy 89.282428 52.898954) + (xy 89.247744 52.86427) (xy 88.892776 53.219238) (xy 88.188499 53.219238) (xy 88.563369 52.844368) + (xy 88.895606 52.512131) (xy 89.599883 52.512131) (xy 89.634567 52.546815) (xy 89.989535 52.191847) + (xy 89.954851 52.157163) (xy 89.599883 52.512131) (xy 88.895606 52.512131) (xy 89.602712 51.805025) + (xy 90.30699 51.805025) (xy 90.341673 51.839708) (xy 90.696641 51.48474) (xy 90.661958 51.450056) + (xy 90.30699 51.805025) (xy 89.602712 51.805025) (xy 90.309819 51.097918) (xy 91.014097 51.097918) + (xy 91.04878 51.132601) (xy 91.403748 50.777633) (xy 91.369065 50.74295) (xy 91.014097 51.097918) + (xy 90.309819 51.097918) (xy 91.016926 50.390811) (xy 91.721203 50.390811) (xy 91.755887 50.425495) + (xy 92.110855 50.070527) (xy 92.076171 50.035843) (xy 91.721203 50.390811) (xy 91.016926 50.390811) + (xy 91.740475 49.667263) (xy 91.786441 49.587647) (xy 92.332253 49.587647) (xy 92.462994 49.718388) + (xy 92.817848 49.363533) (xy 92.815081 49.360891) (xy 92.806912 49.352721) (xy 92.802964 49.348585) + (xy 92.801281 49.346739) (xy 92.699377 49.244835) (xy 92.647241 49.313876) (xy 92.643684 49.318367) + (xy 92.636305 49.327253) (xy 92.632544 49.331574) (xy 92.617037 49.348584) (xy 92.613088 49.352721) + (xy 92.604919 49.360891) (xy 92.60077 49.364852) (xy 92.433037 49.51776) (xy 92.428717 49.52152) + (xy 92.419831 49.528899) (xy 92.41534 49.532456) (xy 92.396972 49.546327) (xy 92.39232 49.549674) + (xy 92.382787 49.556204) (xy 92.377989 49.55933) (xy 92.332253 49.587647) (xy 91.786441 49.587647) + (xy 91.789911 49.581637) (xy 91.8155 49.486136) (xy 91.8155 49.387264) (xy 91.8155 49.379668) (xy 91.835185 49.312629) + (xy 91.887989 49.266874) (xy 91.894679 49.264052) (xy 91.932637 49.249348) (xy 92.106041 49.141981) + (xy 92.242862 49.017252) (xy 92.256762 49.004581) (xy 92.257094 49.004142) (xy 92.379673 48.841821) + (xy 92.470582 48.65925) (xy 92.526397 48.463083) (xy 92.545215 48.26) (xy 92.542181 48.227262) (xy 92.526397 48.056917) + (xy 92.51783 48.026809) (xy 92.470582 47.86075) (xy 92.470568 47.860722) (xy 92.414109 47.747336) + (xy 92.379673 47.678179) (xy 92.296129 47.567549) (xy 92.256762 47.515418) (xy 92.106041 47.378019) + (xy 92.106039 47.378017) (xy 91.932642 47.270655) (xy 91.932635 47.270651) (xy 91.827175 47.229796) + (xy 91.742456 47.196976) (xy 91.541976 47.1595) (xy 91.338024 47.1595) (xy 91.137544 47.196976) + (xy 91.137541 47.196976) (xy 91.137541 47.196977) (xy 90.947364 47.270651) (xy 90.947357 47.270655) + (xy 90.77396 47.378017) (xy 90.773958 47.378019) (xy 90.623237 47.515418) (xy 90.500327 47.678178) + (xy 90.409422 47.860739) (xy 90.409417 47.860752) (xy 90.353602 48.056917) (xy 90.334785 48.259999) + (xy 90.334785 48.26) (xy 90.353602 48.463082) (xy 90.409417 48.659247) (xy 90.409422 48.65926) (xy 90.500327 48.841821) + (xy 90.623237 49.004581) (xy 90.773958 49.14198) (xy 90.77396 49.141982) (xy 90.8013 49.15891) (xy 90.906254 49.223894) + (xy 90.95289 49.275921) (xy 90.963994 49.344903) (xy 90.936041 49.408937) (xy 90.928658 49.417002) + (xy 84.783138 55.562525) (xy 84.713226 55.632436) (xy 84.663791 55.718059) (xy 84.663791 55.71806) + (xy 84.66379 55.718062) (xy 84.6382 55.813565) (xy 84.6382 55.813567) (xy 84.6382 64.207796) (xy 84.618515 64.274835) + (xy 84.596427 64.300611) (xy 84.523218 64.365468) (xy 84.433481 64.495475) (xy 84.43348 64.495476) + (xy 84.377463 64.643181) (xy 84.369235 64.710946) (xy 84.341613 64.775124) (xy 84.283679 64.814181) + (xy 84.246139 64.82) (xy 84.005 64.82) (xy 84.005 65.636988) (xy 83.947993 65.604075) (xy 83.820826 65.57) + (xy 83.689174 65.57) (xy 83.562007 65.604075) (xy 83.505 65.636988) (xy 83.505 64.82) (xy 82.857155 64.82) + (xy 82.797627 64.826401) (xy 82.79762 64.826403) (xy 82.662913 64.876645) (xy 82.662906 64.876649) + (xy 82.64531 64.889822) (xy 82.579845 64.914239) (xy 82.511573 64.899387) (xy 82.462168 64.849981) + (xy 82.447 64.790555) (xy 82.447 64.322) (xy 83.055694 64.322) (xy 83.60609 64.322) (xy 83.653542 64.331439) + (xy 83.726126 64.361503) (xy 83.750271 64.337359) (xy 83.395303 63.982391) (xy 83.055694 64.322) + (xy 82.447 64.322) (xy 82.447 63.630252) (xy 83.74744 63.630252) (xy 84.102408 63.98522) (xy 84.1402 63.947428) + (xy 84.1402 63.313075) (xy 84.102409 63.275284) (xy 83.74744 63.630252) (xy 82.447 63.630252) (xy 82.447 62.923146) + (xy 83.040335 62.923146) (xy 83.395303 63.278114) (xy 83.750271 62.923146) (xy 83.395303 62.568178) + (xy 83.040335 62.923146) (xy 82.447 62.923146) (xy 82.447 62.216039) (xy 83.747441 62.216039) (xy 84.102409 62.571007) + (xy 84.1402 62.533216) (xy 84.1402 61.898862) (xy 84.102409 61.861071) (xy 83.747441 62.216039) + (xy 82.447 62.216039) (xy 82.447 61.508932) (xy 83.040335 61.508932) (xy 83.395303 61.8639) (xy 83.750271 61.508932) + (xy 83.395303 61.153964) (xy 83.040335 61.508932) (xy 82.447 61.508932) (xy 82.447 60.801825) (xy 83.747441 60.801825) + (xy 84.102409 61.156793) (xy 84.1402 61.119002) (xy 84.1402 60.484648) (xy 84.102409 60.446857) + (xy 83.747441 60.801825) (xy 82.447 60.801825) (xy 82.447 60.094718) (xy 83.040334 60.094718) (xy 83.395303 60.449687) + (xy 83.750271 60.094718) (xy 83.395303 59.73975) (xy 83.040334 60.094718) (xy 82.447 60.094718) + (xy 82.447 59.387612) (xy 83.747441 59.387612) (xy 84.102409 59.74258) (xy 84.1402 59.704789) (xy 84.1402 59.070435) + (xy 84.102409 59.032644) (xy 83.747441 59.387612) (xy 82.447 59.387612) (xy 82.447 58.680505) (xy 83.040335 58.680505) + (xy 83.395303 59.035473) (xy 83.750271 58.680505) (xy 83.395303 58.325537) (xy 83.040335 58.680505) + (xy 82.447 58.680505) (xy 82.447 57.973398) (xy 83.747441 57.973398) (xy 84.102409 58.328366) (xy 84.1402 58.290575) + (xy 84.1402 57.656221) (xy 84.102409 57.61843) (xy 83.747441 57.973398) (xy 82.447 57.973398) (xy 82.447 57.266291) + (xy 83.040334 57.266291) (xy 83.395303 57.621259) (xy 83.750271 57.266291) (xy 83.395303 56.911323) + (xy 83.040334 57.266291) (xy 82.447 57.266291) (xy 82.447 56.559185) (xy 83.747441 56.559185) (xy 84.102409 56.914153) + (xy 84.1402 56.876362) (xy 84.1402 56.242008) (xy 84.102409 56.204217) (xy 83.747441 56.559185) + (xy 82.447 56.559185) (xy 82.447 55.852078) (xy 83.040335 55.852078) (xy 83.395303 56.207046) (xy 83.750271 55.852078) + (xy 83.395303 55.49711) (xy 83.040335 55.852078) (xy 82.447 55.852078) (xy 82.447 55.144971) (xy 83.747441 55.144971) + (xy 84.102409 55.499939) (xy 84.457377 55.144971) (xy 84.102409 54.790003) (xy 83.747441 55.144971) + (xy 82.447 55.144971) (xy 82.447 54.467822) (xy 83.070293 54.467822) (xy 83.395303 54.792832) (xy 83.750271 54.437864) + (xy 84.454548 54.437864) (xy 84.809516 54.792832) (xy 85.164484 54.437864) (xy 84.939034 54.212414) + (xy 84.938832 54.212593) (xy 84.93256 54.21774) (xy 84.906678 54.237599) (xy 84.900085 54.242323) + (xy 84.886478 54.251415) (xy 84.879586 54.255701) (xy 84.827654 54.285683) (xy 84.814476 54.307305) + (xy 84.763157 54.335328) (xy 84.548473 54.392852) (xy 84.540573 54.394694) (xy 84.524522 54.397887) + (xy 84.516517 54.399209) (xy 84.489667 54.402744) (xy 84.454548 54.437864) (xy 83.750271 54.437864) + (xy 83.718007 54.4056) (xy 83.132515 54.4056) (xy 83.070293 54.467822) (xy 82.447 54.467822) (xy 82.447 54.438199) + (xy 82.466685 54.37116) (xy 82.483319 54.350518) (xy 82.889918 53.943919) (xy 82.951241 53.910434) + (xy 82.977599 53.9076) (xy 84.435335 53.9076) (xy 84.435336 53.9076) (xy 84.494846 53.891654) (xy 84.530838 53.88201) + (xy 84.566868 53.861208) (xy 85.292105 53.861208) (xy 85.516623 54.085726) (xy 85.871591 53.730757) + (xy 85.647073 53.50624) (xy 85.292105 53.861208) (xy 84.566868 53.861208) (xy 84.616462 53.832575) + (xy 84.686375 53.762662) (xy 85.294935 53.154102) (xy 85.999213 53.154102) (xy 86.22373 53.378619) + (xy 86.578698 53.023651) (xy 86.354181 52.799134) (xy 85.999213 53.154102) (xy 85.294935 53.154102) + (xy 86.002042 52.446995) (xy 86.70632 52.446995) (xy 86.930837 52.671512) (xy 87.285805 52.316544) + (xy 87.057922 52.088661) (xy 87.045345 52.105012) (xy 87.040241 52.11122) (xy 87.029541 52.123407) + (xy 87.02404 52.129276) (xy 86.70632 52.446995) (xy 86.002042 52.446995) (xy 86.660474 51.788563) + (xy 86.66051 51.788501) (xy 86.660515 51.788491) (xy 86.660593 51.788359) (xy 86.709907 51.702944) + (xy 86.709907 51.702942) (xy 86.70991 51.702938) (xy 86.725858 51.643418) (xy 86.734964 51.609437) + (xy 87.282975 51.609437) (xy 87.637943 51.964405) (xy 87.992911 51.609437) (xy 87.637943 51.254469) + (xy 87.282975 51.609437) (xy 86.734964 51.609437) (xy 86.7355 51.607436) (xy 86.7355 51.508564) + (xy 86.7355 50.90233) (xy 87.990082 50.90233) (xy 88.34505 51.257298) (xy 88.700018 50.90233) (xy 88.34505 50.547362) + (xy 87.990082 50.90233) (xy 86.7355 50.90233) (xy 86.7355 50.195224) (xy 87.282975 50.195224) (xy 87.637943 50.550192) + (xy 87.992911 50.195224) (xy 88.697189 50.195224) (xy 89.052157 50.550192) (xy 89.407125 50.195224) + (xy 89.066372 49.854471) (xy 89.065066 49.854654) (xy 89.059388 49.855313) (xy 89.036469 49.857437) + (xy 89.034864 49.857548) (xy 88.697189 50.195224) (xy 87.992911 50.195224) (xy 87.637943 49.840256) + (xy 87.282975 50.195224) (xy 86.7355 50.195224) (xy 86.7355 49.705704) (xy 88.207669 49.705704) + (xy 88.345049 49.843084) (xy 88.405459 49.782675) (xy 88.216733 49.709562) (xy 88.211447 49.707372) + (xy 88.207669 49.705704) (xy 86.7355 49.705704) (xy 86.7355 49.696235) (xy 89.612414 49.696235) + (xy 89.759264 49.843085) (xy 90.114232 49.488117) (xy 90.024254 49.398139) (xy 89.893037 49.51776) + (xy 89.888717 49.52152) (xy 89.879831 49.528899) (xy 89.87534 49.532456) (xy 89.856972 49.546327) + (xy 89.85232 49.549674) (xy 89.842787 49.556204) (xy 89.83799 49.55933) (xy 89.645015 49.678815) + (xy 89.640075 49.681718) (xy 89.629985 49.687338) (xy 89.624923 49.690006) (xy 89.612414 49.696235) + (xy 86.7355 49.696235) (xy 86.7355 49.379668) (xy 86.755185 49.312629) (xy 86.807989 49.266874) + (xy 86.814679 49.264052) (xy 86.852637 49.249348) (xy 87.026041 49.141981) (xy 87.162862 49.017252) + (xy 87.176762 49.004581) (xy 87.177094 49.004142) (xy 87.299673 48.841821) (xy 87.390582 48.65925) + (xy 87.390581 48.65925) (xy 87.392809 48.654778) (xy 87.440311 48.603541) (xy 87.507974 48.586119) + (xy 87.565808 48.602662) (xy 87.578362 48.60991) (xy 87.673865 48.6355) (xy 87.772735 48.6355) (xy 87.780815 48.6355) + (xy 87.847854 48.655185) (xy 87.891813 48.704225) (xy 87.960327 48.841821) (xy 88.00694 48.903547) + (xy 88.083237 49.004581) (xy 88.233958 49.14198) (xy 88.23396 49.141982) (xy 88.33021 49.201577) + (xy 88.407363 49.249348) (xy 88.597544 49.323024) (xy 88.798024 49.3605) (xy 88.798026 49.3605) + (xy 89.001974 49.3605) (xy 89.001976 49.3605) (xy 89.202456 49.323024) (xy 89.392637 49.249348) + (xy 89.566041 49.141981) (xy 89.702862 49.017252) (xy 89.716762 49.004581) (xy 89.717094 49.004142) + (xy 89.839673 48.841821) (xy 89.930582 48.65925) (xy 89.986397 48.463083) (xy 90.005215 48.26) (xy 90.002181 48.227262) + (xy 89.986397 48.056917) (xy 89.97783 48.026809) (xy 89.930582 47.86075) (xy 89.930568 47.860722) + (xy 89.874109 47.747336) (xy 89.839673 47.678179) (xy 89.756129 47.567549) (xy 89.716762 47.515418) + (xy 89.566041 47.378019) (xy 89.566039 47.378017) (xy 89.392642 47.270655) (xy 89.392635 47.270651) + (xy 89.287175 47.229796) (xy 89.202456 47.196976) (xy 89.001976 47.1595) (xy 88.798024 47.1595) + (xy 88.597544 47.196976) (xy 88.597541 47.196976) (xy 88.597541 47.196977) (xy 88.407364 47.270651) + (xy 88.407357 47.270655) (xy 88.23396 47.378017) (xy 88.233958 47.378019) (xy 88.083236 47.515419) + (xy 88.083232 47.515424) (xy 88.080613 47.518893) (xy 88.024503 47.560527) (xy 87.954791 47.565216) + (xy 87.893981 47.531844) (xy 87.518151 47.156014) (xy 100.221678 47.156014) (xy 100.224919 47.159109) + (xy 100.233088 47.167279) (xy 100.237037 47.171416) (xy 100.252544 47.188426) (xy 100.256305 47.192747) + (xy 100.263684 47.201633) (xy 100.267241 47.206124) (xy 100.33 47.28923) (xy 100.392759 47.206124) + (xy 100.396316 47.201633) (xy 100.403695 47.192747) (xy 100.407456 47.188426) (xy 100.422963 47.171416) + (xy 100.426912 47.167279) (xy 100.435081 47.159109) (xy 100.43923 47.155148) (xy 100.475824 47.121787) + (xy 100.365864 47.011827) (xy 100.221678 47.156014) (xy 87.518151 47.156014) (xy 87.144963 46.782826) + (xy 87.144962 46.782825) (xy 87.059338 46.73339) (xy 87.011586 46.720595) (xy 87.011584 46.720594) + (xy 87.011582 46.720593) (xy 86.963836 46.7078) (xy 86.963835 46.7078) (xy 85.900936 46.7078) (xy 85.802064 46.7078) + (xy 85.706563 46.733389) (xy 85.70656 46.73339) (xy 85.62094 46.782822) (xy 85.620935 46.782826) + (xy 84.859438 47.544325) (xy 84.859435 47.544328) (xy 84.845764 47.557998) (xy 84.78444 47.591481) + (xy 84.714748 47.586494) (xy 84.659132 47.545041) (xy 84.651384 47.534781) (xy 84.636764 47.515421) + (xy 84.634573 47.513424) (xy 84.486041 47.378019) (xy 84.486039 47.378017) (xy 84.312642 47.270655) + (xy 84.312635 47.270651) (xy 84.207175 47.229796) (xy 84.122456 47.196976) (xy 83.921976 47.1595) + (xy 83.718024 47.1595) (xy 83.517544 47.196976) (xy 83.517541 47.196976) (xy 83.517541 47.196977) + (xy 83.327364 47.270651) (xy 83.327357 47.270655) (xy 83.15396 47.378017) (xy 83.153958 47.378019) + (xy 83.003237 47.515418) (xy 82.880328 47.678176) (xy 82.865 47.70896) (xy 82.817496 47.760196) + (xy 82.749833 47.777617) (xy 82.683493 47.755691) (xy 82.639538 47.701379) (xy 82.63 47.653687) + (xy 82.63 47.362172) (xy 82.629999 47.362155) (xy 82.623598 47.302627) (xy 82.623596 47.30262) (xy 82.573354 47.167913) + (xy 82.57335 47.167906) (xy 82.48719 47.052812) (xy 82.487187 47.052809) (xy 82.372093 46.966649) + (xy 82.372086 46.966645) (xy 82.237379 46.916403) (xy 82.237372 46.916401) (xy 82.177844 46.91) + (xy 81.53 46.91) (xy 81.53 47.826988) (xy 81.472993 47.794075) (xy 81.345826 47.76) (xy 81.214174 47.76) + (xy 81.087007 47.794075) (xy 81.03 47.826988) (xy 81.03 46.91) (xy 80.382155 46.91) (xy 80.322627 46.916401) + (xy 80.32262 46.916403) (xy 80.187913 46.966645) (xy 80.187906 46.966649) (xy 80.072812 47.052809) + (xy 80.072809 47.052812) (xy 79.986649 47.167906) (xy 79.986645 47.167913) (xy 79.936403 47.30262) + (xy 79.936401 47.302627) (xy 79.93 47.362155) (xy 79.93 48.01) (xy 80.846988 48.01) (xy 80.814075 48.067007) + (xy 80.78 48.194174) (xy 80.78 48.325826) (xy 80.814075 48.452993) (xy 80.846988 48.51) (xy 79.93 48.51) + (xy 79.93 49.157844) (xy 79.936401 49.217372) (xy 79.936403 49.217379) (xy 79.986645 49.352086) + (xy 79.986649 49.352093) (xy 80.072809 49.467187) (xy 80.072812 49.46719) (xy 80.187906 49.55335) + (xy 80.187913 49.553354) (xy 80.32262 49.603596) (xy 80.322627 49.603598) (xy 80.382155 49.609999) + (xy 80.382172 49.61) (xy 81.03 49.61) (xy 81.03 48.693012) (xy 81.087007 48.725925) (xy 81.214174 48.76) + (xy 81.345826 48.76) (xy 81.472993 48.725925) (xy 81.53 48.693012) (xy 81.53 49.61) (xy 82.177828 49.61) + (xy 82.177844 49.609999) (xy 82.237372 49.603598) (xy 82.237379 49.603596) (xy 82.372086 49.553354) + (xy 82.372093 49.55335) (xy 82.487187 49.46719) (xy 82.48719 49.467187) (xy 82.57335 49.352093) + (xy 82.573354 49.352086) (xy 82.623596 49.217379) (xy 82.623598 49.217372) (xy 82.629999 49.157844) + (xy 82.63 49.157827) (xy 82.63 48.866312) (xy 82.649685 48.799273) (xy 82.702489 48.753518) (xy 82.771647 48.743574) + (xy 82.835203 48.772599) (xy 82.865 48.811041) (xy 82.880325 48.841819) (xy 83.003237 49.004581) + (xy 83.153958 49.14198) (xy 83.15396 49.141982) (xy 83.25021 49.201577) (xy 83.327363 49.249348) + (xy 83.517544 49.323024) (xy 83.688177 49.35492) (xy 83.750457 49.386588) (xy 83.78573 49.446901) + (xy 83.782796 49.516709) (xy 83.753072 49.56449) (xy 82.796017 50.521545) (xy 82.74043 50.553639) + (xy 82.642461 50.579889) (xy 82.64246 50.57989) (xy 82.55684 50.629322) (xy 82.556835 50.629326) + (xy 81.332538 51.853625) (xy 81.262626 51.923536) (xy 81.213191 52.009159) (xy 81.213191 52.00916) + (xy 81.21319 52.009162) (xy 81.1876 52.104665) (xy 81.1876 52.104667) (xy 81.1876 77.4511) (xy 81.167915 77.518139) + (xy 81.151281 77.538781) (xy 78.635381 80.054681) (xy 78.574058 80.088166) (xy 78.5477 80.091) (xy 78.400614 80.091) + (xy 78.247234 80.128803) (xy 78.107362 80.202215) (xy 77.989116 80.306971) (xy 77.899381 80.436975) + (xy 77.89938 80.436976) (xy 77.843362 80.584681) (xy 77.824322 80.741499) (xy 77.824322 80.7415) + (xy 77.843362 80.898318) (xy 77.897873 81.04205) (xy 77.89938 81.046023) (xy 77.989117 81.17603) + (xy 78.10736 81.280783) (xy 78.107362 81.280784) (xy 78.247234 81.354196) (xy 78.400614 81.392) + (xy 78.400615 81.392) (xy 78.558585 81.392) (xy 78.592284 81.383694) (xy 79.431857 81.383694) (xy 79.50763 81.307922) + (xy 80.211907 81.307922) (xy 80.566875 81.66289) (xy 80.921843 81.307922) (xy 80.566875 80.952953) + (xy 80.211907 81.307922) (xy 79.50763 81.307922) (xy 79.492595 81.292887) (xy 79.490105 81.297303) + (xy 79.482287 81.310236) (xy 79.478219 81.316528) (xy 79.431857 81.383694) (xy 78.592284 81.383694) + (xy 78.711965 81.354196) (xy 78.756616 81.330761) (xy 78.85184 81.280783) (xy 78.970083 81.17603) + (xy 79.05982 81.046023) (xy 79.115837 80.898318) (xy 79.130663 80.776213) (xy 79.680199 80.776213) + (xy 79.859769 80.955783) (xy 80.214737 80.600815) (xy 80.214736 80.600814) (xy 80.919013 80.600814) + (xy 81.273982 80.955783) (xy 81.609591 80.620173) (xy 81.549339 80.605323) (xy 81.542118 80.60331) + (xy 81.527692 80.598814) (xy 81.520615 80.596372) (xy 81.49246 80.585694) (xy 81.485541 80.582828) + (xy 81.471765 80.576628) (xy 81.46503 80.573348) (xy 81.298496 80.485943) (xy 81.291969 80.482262) + (xy 81.279039 80.474445) (xy 81.272751 80.470379) (xy 81.247972 80.453275) (xy 81.241939 80.448836) + (xy 81.230047 80.439519) (xy 81.224294 80.434725) (xy 81.150488 80.369339) (xy 80.919013 80.600814) + (xy 80.214736 80.600814) (xy 80.035167 80.421245) (xy 79.680199 80.776213) (xy 79.130663 80.776213) + (xy 79.134878 80.7415) (xy 79.128702 80.690644) (xy 79.140161 80.621724) (xy 79.164114 80.588021) + (xy 79.683029 80.069106) (xy 80.387304 80.069106) (xy 80.566875 80.248676) (xy 80.856469 79.959082) + (xy 80.808286 79.832035) (xy 80.805841 79.82495) (xy 80.801346 79.810523) (xy 80.799336 79.803313) + (xy 80.79213 79.774078) (xy 80.790558 79.766752) (xy 80.789586 79.761452) (xy 80.742273 79.714138) + (xy 80.387304 80.069106) (xy 79.683029 80.069106) (xy 81.484321 78.267815) (xy 81.545642 78.234332) + (xy 81.615334 78.239316) (xy 81.671267 78.281188) (xy 81.695684 78.346652) (xy 81.696 78.355498) + (xy 81.696 78.818291) (xy 81.676315 78.88533) (xy 81.629627 78.928087) (xy 81.543261 78.973416) (xy 81.54326 78.973417) (xy 81.435277 79.069081) (xy 81.425016 79.078171) (xy 81.335281 79.208175) (xy 81.33528 79.208176) (xy 81.279262 79.355881) (xy 81.260222 79.512699) (xy 81.260222 79.5127) (xy 81.279262 79.669518) (xy 81.330782 79.805364) (xy 81.33528 79.817223) (xy 81.425017 79.94723) @@ -40240,47 +40768,47 @@ (xy 38.109682 58.919001) (xy 38.107503 58.922058) (xy 38.103016 58.928157) (xy 38.100744 58.931149) (xy 38.072366 58.96737) (xy 37.420292 58.96737) (xy 37.51006 58.877602) (xy 37.647474 58.702205) (xy 37.704075 58.62996) (xy 37.704075 58.629958) (xy 37.704081 58.629952) (xy 37.866837 58.360721) - (xy 37.995954 58.073835) (xy 37.998454 58.065814) (xy 38.013885 58.016293) (xy 38.535502 58.016293) - (xy 38.847575 58.328366) (xy 39.202543 57.973398) (xy 39.906821 57.973398) (xy 40.261789 58.328366) - (xy 40.616757 57.973398) (xy 41.321034 57.973398) (xy 41.676002 58.328366) (xy 42.030971 57.973398) - (xy 42.735248 57.973398) (xy 43.090216 58.328366) (xy 43.445184 57.973398) (xy 44.149462 57.973398) - (xy 44.50443 58.328366) (xy 44.859398 57.973398) (xy 45.563675 57.973398) (xy 45.918643 58.328366) - (xy 46.273611 57.973398) (xy 46.977889 57.973398) (xy 47.332857 58.328366) (xy 47.687825 57.973398) - (xy 48.392102 57.973398) (xy 48.74707 58.328366) (xy 49.102038 57.973398) (xy 49.806316 57.973398) - (xy 50.161284 58.328366) (xy 50.516252 57.973398) (xy 51.220529 57.973398) (xy 51.575497 58.328366) - (xy 51.930465 57.973398) (xy 52.634743 57.973398) (xy 52.989711 58.328366) (xy 53.344679 57.973398) - (xy 53.344678 57.973397) (xy 54.048956 57.973397) (xy 54.403925 58.328366) (xy 54.57809 58.1542) - (xy 55.643972 58.1542) (xy 55.818137 58.328365) (xy 55.992303 58.1542) (xy 55.643972 58.1542) (xy 54.57809 58.1542) - (xy 54.579053 58.153237) (xy 54.576169 58.153047) (xy 54.574641 58.152951) (xy 54.574297 58.152918) - (xy 54.574297 58.152925) (xy 54.573215 58.152854) (xy 54.565128 58.152056) (xy 54.550337 58.150106) - (xy 54.535382 58.1482) (xy 54.533277 58.147862) (xy 54.532942 58.147819) (xy 54.530878 58.147478) - (xy 54.527563 58.146948) (xy 54.527009 58.146841) (xy 54.524891 58.146492) (xy 54.515034 58.144532) - (xy 54.51194 58.143936) (xy 54.510909 58.143702) (xy 54.510908 58.143712) (xy 54.508794 58.143292) - (xy 54.500848 58.14144) (xy 54.429762 58.122383) (xy 54.429762 58.122382) (xy 54.378158 58.108556) - (xy 54.374803 58.10767) (xy 54.3744 58.107548) (xy 54.374005 58.107443) (xy 54.373646 58.107333) - (xy 54.373645 58.107338) (xy 54.353467 58.101929) (xy 54.336903 58.09183) (xy 54.335992 58.094025) - (xy 54.328497 58.090913) (xy 54.31408 58.084981) (xy 54.313027 58.084507) (xy 54.313013 58.084501) - (xy 54.312751 58.084382) (xy 54.306684 58.08165) (xy 54.306343 58.081483) (xy 54.305561 58.081129) - (xy 54.294276 58.075567) (xy 54.294276 58.075566) (xy 54.291998 58.07445) (xy 54.2917 58.074291) - (xy 54.291698 58.074296) (xy 54.290807 58.073857) (xy 54.283597 58.070004) (xy 54.225658 58.036542) - (xy 54.225658 58.036543) (xy 54.185161 58.013162) (xy 54.173093 58.00634) (xy 54.168494 58.003529) - (xy 54.167645 58.003039) (xy 54.16757 58.002964) (xy 54.165878 58.00193) (xy 54.164159 58.000797) - (xy 54.164167 58.000783) (xy 54.162952 58.000028) (xy 54.162709 57.999865) (xy 54.163415 57.998811) - (xy 54.1616 57.996997) (xy 54.160618 57.998471) (xy 54.159853 57.99796) (xy 54.151707 57.992594) - (xy 54.150051 57.991421) (xy 54.149428 57.991005) (xy 54.146088 57.988613) (xy 54.144857 57.987741) - (xy 54.144644 57.987579) (xy 54.142777 57.986242) (xy 54.130514 57.976832) (xy 54.118081 57.967382) - (xy 54.11156 57.962068) (xy 54.098788 57.950916) (xy 54.092652 57.945181) (xy 54.084913 57.93744) - (xy 54.048956 57.973397) (xy 53.344678 57.973397) (xy 52.989711 57.61843) (xy 52.634743 57.973398) - (xy 51.930465 57.973398) (xy 51.575497 57.618429) (xy 51.220529 57.973398) (xy 50.516252 57.973398) - (xy 50.161284 57.61843) (xy 49.806316 57.973398) (xy 49.102038 57.973398) (xy 48.74707 57.61843) - (xy 48.392102 57.973398) (xy 47.687825 57.973398) (xy 47.332857 57.61843) (xy 46.977889 57.973398) - (xy 46.273611 57.973398) (xy 45.918643 57.61843) (xy 45.563675 57.973398) (xy 44.859398 57.973398) - (xy 44.50443 57.61843) (xy 44.149462 57.973398) (xy 43.445184 57.973398) (xy 43.090216 57.61843) - (xy 42.735248 57.973398) (xy 42.030971 57.973398) (xy 41.676002 57.618429) (xy 41.321034 57.973398) - (xy 40.616757 57.973398) (xy 40.261789 57.61843) (xy 39.906821 57.973398) (xy 39.202543 57.973398) - (xy 38.847574 57.618429) (xy 38.572989 57.893014) (xy 38.571281 57.899947) (xy 38.57033 57.903569) - (xy 38.568301 57.910849) (xy 38.567239 57.914448) (xy 38.535502 58.016293) (xy 38.013885 58.016293) - (xy 38.01836 58.00193) (xy 38.089549 57.773478) (xy 38.146258 57.464029) (xy 38.158219 57.266291) + (xy 37.995954 58.073835) (xy 37.998454 58.065814) (xy 38.01117 58.025005) (xy 38.013885 58.016293) + (xy 38.535502 58.016293) (xy 38.847575 58.328366) (xy 39.202543 57.973398) (xy 39.906821 57.973398) + (xy 40.261789 58.328366) (xy 40.616757 57.973398) (xy 41.321034 57.973398) (xy 41.676002 58.328366) + (xy 42.030971 57.973398) (xy 42.735248 57.973398) (xy 43.090216 58.328366) (xy 43.445184 57.973398) + (xy 44.149462 57.973398) (xy 44.50443 58.328366) (xy 44.859398 57.973398) (xy 45.563675 57.973398) + (xy 45.918643 58.328366) (xy 46.273611 57.973398) (xy 46.977889 57.973398) (xy 47.332857 58.328366) + (xy 47.687825 57.973398) (xy 48.392102 57.973398) (xy 48.74707 58.328366) (xy 49.102038 57.973398) + (xy 49.806316 57.973398) (xy 50.161284 58.328366) (xy 50.516252 57.973398) (xy 51.220529 57.973398) + (xy 51.575497 58.328366) (xy 51.930465 57.973398) (xy 52.634743 57.973398) (xy 52.989711 58.328366) + (xy 53.344679 57.973398) (xy 53.344678 57.973397) (xy 54.048956 57.973397) (xy 54.403925 58.328366) + (xy 54.57809 58.1542) (xy 55.643972 58.1542) (xy 55.818137 58.328365) (xy 55.992303 58.1542) (xy 55.643972 58.1542) + (xy 54.57809 58.1542) (xy 54.579053 58.153237) (xy 54.576169 58.153047) (xy 54.574641 58.152951) + (xy 54.574297 58.152918) (xy 54.574297 58.152925) (xy 54.573215 58.152854) (xy 54.565128 58.152056) + (xy 54.550337 58.150106) (xy 54.535382 58.1482) (xy 54.533277 58.147862) (xy 54.532942 58.147819) + (xy 54.530878 58.147478) (xy 54.527563 58.146948) (xy 54.527009 58.146841) (xy 54.524891 58.146492) + (xy 54.515034 58.144532) (xy 54.51194 58.143936) (xy 54.510909 58.143702) (xy 54.510908 58.143712) + (xy 54.508794 58.143292) (xy 54.500848 58.14144) (xy 54.429762 58.122383) (xy 54.429762 58.122382) + (xy 54.378158 58.108556) (xy 54.374803 58.10767) (xy 54.3744 58.107548) (xy 54.374005 58.107443) + (xy 54.373646 58.107333) (xy 54.373645 58.107338) (xy 54.353467 58.101929) (xy 54.336903 58.09183) + (xy 54.335992 58.094025) (xy 54.328497 58.090913) (xy 54.31408 58.084981) (xy 54.313027 58.084507) + (xy 54.313013 58.084501) (xy 54.312751 58.084382) (xy 54.306684 58.08165) (xy 54.306343 58.081483) + (xy 54.305561 58.081129) (xy 54.294276 58.075567) (xy 54.294276 58.075566) (xy 54.291998 58.07445) + (xy 54.2917 58.074291) (xy 54.291698 58.074296) (xy 54.290807 58.073857) (xy 54.283597 58.070004) + (xy 54.225658 58.036542) (xy 54.225658 58.036543) (xy 54.185161 58.013162) (xy 54.173093 58.00634) + (xy 54.168494 58.003529) (xy 54.167645 58.003039) (xy 54.16757 58.002964) (xy 54.165878 58.00193) + (xy 54.164159 58.000797) (xy 54.164167 58.000783) (xy 54.162952 58.000028) (xy 54.162709 57.999865) + (xy 54.163415 57.998811) (xy 54.1616 57.996997) (xy 54.160618 57.998471) (xy 54.159853 57.99796) + (xy 54.151707 57.992594) (xy 54.150051 57.991421) (xy 54.149428 57.991005) (xy 54.146043 57.988581) + (xy 54.144857 57.987741) (xy 54.144644 57.987579) (xy 54.142777 57.986242) (xy 54.130514 57.976832) + (xy 54.118081 57.967382) (xy 54.11156 57.962068) (xy 54.098788 57.950916) (xy 54.092652 57.945181) + (xy 54.084913 57.93744) (xy 54.048956 57.973397) (xy 53.344678 57.973397) (xy 52.989711 57.61843) + (xy 52.634743 57.973398) (xy 51.930465 57.973398) (xy 51.575497 57.618429) (xy 51.220529 57.973398) + (xy 50.516252 57.973398) (xy 50.161284 57.61843) (xy 49.806316 57.973398) (xy 49.102038 57.973398) + (xy 48.74707 57.61843) (xy 48.392102 57.973398) (xy 47.687825 57.973398) (xy 47.332857 57.61843) + (xy 46.977889 57.973398) (xy 46.273611 57.973398) (xy 45.918643 57.61843) (xy 45.563675 57.973398) + (xy 44.859398 57.973398) (xy 44.50443 57.61843) (xy 44.149462 57.973398) (xy 43.445184 57.973398) + (xy 43.090216 57.61843) (xy 42.735248 57.973398) (xy 42.030971 57.973398) (xy 41.676002 57.618429) + (xy 41.321034 57.973398) (xy 40.616757 57.973398) (xy 40.261789 57.61843) (xy 39.906821 57.973398) + (xy 39.202543 57.973398) (xy 38.847574 57.618429) (xy 38.572989 57.893014) (xy 38.571281 57.899947) + (xy 38.57033 57.903569) (xy 38.568301 57.910849) (xy 38.567239 57.914448) (xy 38.535502 58.016293) + (xy 38.013885 58.016293) (xy 38.089549 57.773478) (xy 38.146258 57.464029) (xy 38.158219 57.266291) (xy 39.199713 57.266291) (xy 39.554682 57.621259) (xy 39.90965 57.266291) (xy 40.613927 57.266291) (xy 40.968896 57.621259) (xy 41.323864 57.266291) (xy 42.02814 57.266291) (xy 42.383109 57.621259) (xy 42.738077 57.266291) (xy 43.442354 57.266291) (xy 43.797323 57.621259) (xy 44.152291 57.266291) @@ -40303,23 +40831,23 @@ (xy 53.47416 57.216024) (xy 53.473381 57.213554) (xy 53.47338 57.213555) (xy 53.472333 57.210442) (xy 53.470085 57.202992) (xy 53.456367 57.151773) (xy 53.341849 57.266291) (xy 52.637572 57.266291) (xy 52.334765 56.963484) (xy 53.921493 56.963484) (xy 53.921498 56.963527) (xy 53.9215 56.963534) - (xy 53.9215 56.963536) (xy 53.932446 57.004387) (xy 53.93384 57.00959) (xy 53.933842 57.009602) - (xy 53.947073 57.059007) (xy 53.947077 57.059014) (xy 53.947089 57.059036) (xy 53.94709 57.059037) - (xy 53.970833 57.100161) (xy 53.994623 57.141381) (xy 53.996499 57.14463) (xy 53.996522 57.14466) - (xy 54.013129 57.161266) (xy 54.029499 57.177636) (xy 54.35031 57.498535) (xy 54.357472 57.505698) - (xy 54.357558 57.505796) (xy 54.381499 57.529736) (xy 54.396223 57.54446) (xy 54.432896 57.581143) - (xy 54.432898 57.581144) (xy 54.4329 57.581146) (xy 54.432934 57.581173) (xy 54.444977 57.588126) - (xy 54.474655 57.60526) (xy 54.474666 57.605272) (xy 54.474669 57.605269) (xy 54.518515 57.630591) - (xy 54.518557 57.630608) (xy 54.518559 57.630608) (xy 54.518562 57.63061) (xy 54.564361 57.642881) - (xy 54.564374 57.64289) (xy 54.564376 57.642886) (xy 54.576786 57.646212) (xy 54.614013 57.656193) - (xy 54.614016 57.656193) (xy 54.614065 57.6562) (xy 54.663448 57.6562) (xy 54.663455 57.6562) (xy 54.712885 57.656207) - (xy 54.712888 57.656206) (xy 54.720974 57.656207) (xy 54.721097 57.6562) (xy 56.264601 57.6562) - (xy 56.33164 57.675885) (xy 56.352282 57.692519) (xy 73.174525 74.514762) (xy 73.244438 74.584675) - (xy 73.330062 74.63411) (xy 73.330066 74.634111) (xy 73.359226 74.641925) (xy 73.359227 74.641925) - (xy 73.377002 74.646687) (xy 73.425564 74.6597) (xy 73.425565 74.6597) (xy 77.883292 74.6597) (xy 77.950331 74.679385) - (xy 77.985342 74.713261) (xy 77.987763 74.716769) (xy 77.989115 74.718728) (xy 77.989117 74.71873) - (xy 78.10736 74.823483) (xy 78.107362 74.823484) (xy 78.247234 74.896896) (xy 78.400614 74.9347) - (xy 78.400615 74.9347) (xy 78.558585 74.9347) (xy 78.711965 74.896896) (xy 78.78519 74.858464) (xy 78.85184 74.823483) + (xy 53.9215 56.963536) (xy 53.93384 57.00959) (xy 53.933842 57.009602) (xy 53.947073 57.059007) + (xy 53.947077 57.059014) (xy 53.947089 57.059036) (xy 53.94709 57.059037) (xy 53.970833 57.100161) + (xy 53.994623 57.141381) (xy 53.996499 57.14463) (xy 53.996522 57.14466) (xy 54.013129 57.161266) + (xy 54.029499 57.177636) (xy 54.35031 57.498535) (xy 54.357472 57.505698) (xy 54.357558 57.505796) + (xy 54.381499 57.529736) (xy 54.396223 57.54446) (xy 54.432896 57.581143) (xy 54.432898 57.581144) + (xy 54.4329 57.581146) (xy 54.432934 57.581173) (xy 54.444977 57.588126) (xy 54.474655 57.60526) + (xy 54.474666 57.605272) (xy 54.474669 57.605269) (xy 54.518515 57.630591) (xy 54.518557 57.630608) + (xy 54.518559 57.630608) (xy 54.518562 57.63061) (xy 54.564361 57.642881) (xy 54.564374 57.64289) + (xy 54.564376 57.642886) (xy 54.576786 57.646212) (xy 54.614013 57.656193) (xy 54.614016 57.656193) + (xy 54.614065 57.6562) (xy 54.663448 57.6562) (xy 54.663455 57.6562) (xy 54.712885 57.656207) (xy 54.712888 57.656206) + (xy 54.720974 57.656207) (xy 54.721097 57.6562) (xy 56.264601 57.6562) (xy 56.33164 57.675885) (xy 56.352282 57.692519) + (xy 73.174525 74.514762) (xy 73.244438 74.584675) (xy 73.330062 74.63411) (xy 73.330066 74.634111) + (xy 73.359226 74.641925) (xy 73.359227 74.641925) (xy 73.377002 74.646687) (xy 73.425564 74.6597) + (xy 73.425565 74.6597) (xy 77.883292 74.6597) (xy 77.950331 74.679385) (xy 77.985342 74.713261) + (xy 77.987763 74.716769) (xy 77.989115 74.718728) (xy 77.989117 74.71873) (xy 78.10736 74.823483) + (xy 78.107362 74.823484) (xy 78.247234 74.896896) (xy 78.400614 74.9347) (xy 78.400615 74.9347) + (xy 78.558585 74.9347) (xy 78.711965 74.896896) (xy 78.78519 74.858464) (xy 78.85184 74.823483) (xy 78.970083 74.71873) (xy 79.05982 74.588723) (xy 79.115837 74.441018) (xy 79.134878 74.2842) (xy 79.134235 74.2789) (xy 79.12913 74.236854) (xy 80.211907 74.236854) (xy 80.566875 74.591822) (xy 80.6896 74.469097) (xy 80.6896 74.00461) (xy 80.566875 73.881885) (xy 80.211907 74.236854) (xy 79.12913 74.236854) @@ -40727,7 +41255,7 @@ (xy 72.315777 55.090748) (xy 72.371711 55.13262) (xy 72.396128 55.198084) (xy 72.393335 55.234521) (xy 72.374197 55.318371) (xy 72.374196 55.318379) (xy 72.354592 55.579995) (xy 72.354592 55.580004) (xy 72.374196 55.84162) (xy 72.374197 55.841625) (xy 72.374197 55.841629) (xy 72.374198 55.84163) - (xy 72.377248 55.854992) (xy 72.432576 56.097402) (xy 72.432578 56.097411) (xy 72.43258 56.097416) + (xy 72.376583 55.852078) (xy 72.432576 56.097402) (xy 72.432578 56.097411) (xy 72.43258 56.097416) (xy 72.528432 56.341643) (xy 72.659614 56.568857) (xy 72.764195 56.699997) (xy 72.823198 56.773985) (xy 72.974153 56.914049) (xy 73.015521 56.952433) (xy 73.232296 57.100228) (xy 73.232301 57.10023) (xy 73.232302 57.100231) (xy 73.232303 57.100232) (xy 73.35127 57.157523) (xy 73.468673 57.214061) @@ -40740,7 +41268,7 @@ (xy 78.797693 57.266291) (xy 78.093416 57.266291) (xy 77.738448 56.911323) (xy 77.383479 57.266291) (xy 76.679203 57.266291) (xy 76.324235 56.911323) (xy 75.969266 57.266291) (xy 74.582004 57.266291) (xy 74.751323 57.214063) (xy 74.945972 57.120325) (xy 74.987696 57.100232) (xy 74.987696 57.100231) - (xy 74.987704 57.100228) (xy 75.204479 56.952433) (xy 75.378196 56.791248) (xy 75.396801 56.773985) + (xy 74.987704 57.100228) (xy 75.204479 56.952433) (xy 75.389204 56.781034) (xy 75.396801 56.773985) (xy 75.396801 56.773983) (xy 75.396805 56.773981) (xy 75.560386 56.568857) (xy 75.56597 56.559185) (xy 76.676374 56.559185) (xy 77.031342 56.914153) (xy 77.38631 56.559185) (xy 78.090587 56.559185) (xy 78.445555 56.914153) (xy 78.800523 56.559185) (xy 79.504801 56.559185) (xy 79.859769 56.914153) @@ -40773,7 +41301,7 @@ (xy 79.50763 54.437864) (xy 79.152662 54.082896) (xy 78.797694 54.437864) (xy 78.093416 54.437864) (xy 77.738448 54.082896) (xy 77.38348 54.437864) (xy 76.679203 54.437864) (xy 76.324234 54.082895) (xy 76.018503 54.388626) (xy 75.398884 54.388626) (xy 75.396805 54.386019) (xy 75.396804 54.386018) - (xy 75.396801 54.386014) (xy 75.204479 54.207567) (xy 75.170851 54.18464) (xy 74.987704 54.059772) + (xy 75.396801 54.386014) (xy 75.204479 54.207567) (xy 75.178789 54.190052) (xy 74.987704 54.059772) (xy 74.9877 54.05977) (xy 74.987697 54.059768) (xy 74.987696 54.059767) (xy 74.751325 53.945938) (xy 74.751327 53.945938) (xy 74.500623 53.868606) (xy 74.500619 53.868605) (xy 74.500615 53.868604) (xy 74.375823 53.849794) (xy 74.241187 53.8295) (xy 74.241182 53.8295) (xy 73.978818 53.8295) (xy 73.978812 53.8295) @@ -40787,86 +41315,84 @@ (xy 78.445555 53.375789) (xy 78.090586 53.730757) (xy 77.38631 53.730757) (xy 77.031342 53.375789) (xy 76.676373 53.730757) (xy 75.972095 53.730757) (xy 75.617127 53.375789) (xy 75.31365 53.679266) (xy 73.632845 53.679266) (xy 73.634382 53.673896) (xy 73.651467 53.652545) (xy 73.980499 53.323515) - (xy 73.980584 53.323369) (xy 73.980689 53.323189) (xy 74.022079 53.251498) (xy 74.046392 53.209386) - (xy 74.052047 53.188282) (xy 74.05368 53.182189) (xy 74.066373 53.134814) (xy 74.0805 53.082093) - (xy 74.0805 53.047098) (xy 74.5785 53.047098) (xy 74.910021 53.378619) (xy 75.264989 53.023651) - (xy 75.969267 53.023651) (xy 76.324235 53.378619) (xy 76.679203 53.023651) (xy 77.38348 53.023651) - (xy 77.738448 53.378619) (xy 78.093416 53.023651) (xy 78.797694 53.023651) (xy 79.152662 53.378619) - (xy 79.50763 53.023651) (xy 80.211907 53.023651) (xy 80.566875 53.378619) (xy 80.6896 53.255894) - (xy 80.6896 52.791407) (xy 80.566875 52.668682) (xy 80.211907 53.023651) (xy 79.50763 53.023651) - (xy 79.152662 52.668683) (xy 78.797694 53.023651) (xy 78.093416 53.023651) (xy 77.738448 52.668683) - (xy 77.38348 53.023651) (xy 76.679203 53.023651) (xy 76.324235 52.668683) (xy 75.969267 53.023651) - (xy 75.264989 53.023651) (xy 74.910021 52.668683) (xy 74.5785 53.000204) (xy 74.5785 53.047098) - (xy 74.0805 53.047098) (xy 74.0805 52.950308) (xy 74.0805 52.316544) (xy 75.26216 52.316544) (xy 75.617128 52.671512) - (xy 75.972096 52.316544) (xy 76.676374 52.316544) (xy 77.031342 52.671512) (xy 77.38631 52.316544) - (xy 78.090587 52.316544) (xy 78.445555 52.671512) (xy 78.800523 52.316544) (xy 79.504801 52.316544) - (xy 79.859769 52.671512) (xy 80.214737 52.316544) (xy 79.859769 51.961576) (xy 79.504801 52.316544) - (xy 78.800523 52.316544) (xy 78.445555 51.961576) (xy 78.090587 52.316544) (xy 77.38631 52.316544) - (xy 77.031342 51.961576) (xy 76.676374 52.316544) (xy 75.972096 52.316544) (xy 75.617128 51.961576) - (xy 75.26216 52.316544) (xy 74.0805 52.316544) (xy 74.0805 51.632884) (xy 74.5785 51.632884) (xy 74.910021 51.964405) - (xy 75.264989 51.609437) (xy 75.969267 51.609437) (xy 76.324235 51.964405) (xy 76.679203 51.609437) - (xy 77.38348 51.609437) (xy 77.738448 51.964405) (xy 78.093416 51.609437) (xy 78.797694 51.609437) - (xy 79.152662 51.964405) (xy 79.50763 51.609437) (xy 80.211907 51.609437) (xy 80.566874 51.964404) - (xy 80.796649 51.734629) (xy 80.8395 51.660412) (xy 80.843785 51.653522) (xy 80.852877 51.639915) - (xy 80.857601 51.633322) (xy 80.87746 51.60744) (xy 80.882607 51.601168) (xy 80.893401 51.588859) - (xy 80.897204 51.584798) (xy 80.566875 51.254469) (xy 80.211907 51.609437) (xy 79.50763 51.609437) - (xy 79.152662 51.254469) (xy 78.797694 51.609437) (xy 78.093416 51.609437) (xy 77.738448 51.254469) - (xy 77.38348 51.609437) (xy 76.679203 51.609437) (xy 76.324235 51.254469) (xy 75.969267 51.609437) - (xy 75.264989 51.609437) (xy 74.910021 51.254469) (xy 74.5785 51.58599) (xy 74.5785 51.632884) (xy 74.0805 51.632884) - (xy 74.0805 51.187948) (xy 74.100185 51.120909) (xy 74.146047 51.07859) (xy 74.16645 51.067685) - (xy 74.32641 50.93641) (xy 74.354379 50.90233) (xy 75.26216 50.90233) (xy 75.617128 51.257298) (xy 75.972096 50.90233) - (xy 76.676374 50.90233) (xy 77.031342 51.257298) (xy 77.38631 50.90233) (xy 78.090587 50.90233) - (xy 78.445555 51.257298) (xy 78.800523 50.90233) (xy 79.504801 50.90233) (xy 79.859769 51.257298) - (xy 80.214737 50.90233) (xy 80.919014 50.90233) (xy 81.249284 51.2326) (xy 81.604252 50.877632) - (xy 81.273982 50.547362) (xy 80.919014 50.90233) (xy 80.214737 50.90233) (xy 79.859769 50.547362) - (xy 79.504801 50.90233) (xy 78.800523 50.90233) (xy 78.445555 50.547362) (xy 78.090587 50.90233) - (xy 77.38631 50.90233) (xy 77.031342 50.547362) (xy 76.676374 50.90233) (xy 75.972096 50.90233) - (xy 75.617128 50.547362) (xy 75.26216 50.90233) (xy 74.354379 50.90233) (xy 74.457685 50.77645) - (xy 74.555232 50.593954) (xy 74.6153 50.395934) (xy 74.620919 50.338883) (xy 75.121329 50.338883) - (xy 75.264989 50.195224) (xy 75.969267 50.195224) (xy 76.324235 50.550192) (xy 76.679203 50.195224) - (xy 77.38348 50.195224) (xy 77.738448 50.550192) (xy 78.093416 50.195224) (xy 78.797694 50.195224) - (xy 79.152662 50.550192) (xy 79.50763 50.195224) (xy 79.507629 50.195223) (xy 80.211906 50.195223) - (xy 80.566875 50.550192) (xy 80.921842 50.195224) (xy 81.626121 50.195224) (xy 81.95639 50.525493) - (xy 82.216231 50.265653) (xy 82.222154 50.260105) (xy 82.234458 50.249315) (xy 82.240727 50.24417) - (xy 82.266609 50.224309) (xy 82.273207 50.219581) (xy 82.28682 50.210485) (xy 82.293711 50.2062) - (xy 82.327515 50.186682) (xy 82.244531 50.103698) (xy 82.224431 50.10586) (xy 82.221106 50.106173) - (xy 82.214423 50.10671) (xy 82.211121 50.106931) (xy 82.197804 50.107644) (xy 82.194495 50.107777) - (xy 82.187813 50.107956) (xy 82.184492 50.108) (xy 81.713345 50.108) (xy 81.626121 50.195224) (xy 80.921842 50.195224) - (xy 80.921843 50.195223) (xy 80.83462 50.108) (xy 80.375508 50.108) (xy 80.372187 50.107956) (xy 80.365505 50.107777) - (xy 80.362196 50.107644) (xy 80.348879 50.106931) (xy 80.345577 50.10671) (xy 80.338894 50.106173) - (xy 80.33557 50.10586) (xy 80.3046 50.10253) (xy 80.211906 50.195223) (xy 79.507629 50.195223) (xy 79.152662 49.840256) - (xy 78.797694 50.195224) (xy 78.093416 50.195224) (xy 77.738448 49.840256) (xy 77.38348 50.195224) - (xy 76.679203 50.195224) (xy 76.324235 49.840256) (xy 75.969267 50.195224) (xy 75.264989 50.195224) - (xy 75.12247 50.052705) (xy 75.132384 50.153357) (xy 75.132832 50.15943) (xy 75.133434 50.17169) - (xy 75.133583 50.177771) (xy 75.133583 50.202229) (xy 75.133434 50.20831) (xy 75.132832 50.22057) - (xy 75.132384 50.226643) (xy 75.121329 50.338883) (xy 74.620919 50.338883) (xy 74.635583 50.19) - (xy 74.6153 49.984066) (xy 74.555232 49.786046) (xy 74.457685 49.60355) (xy 74.397395 49.530086) + (xy 73.984264 53.316995) (xy 74.046392 53.209386) (xy 74.04882 53.200326) (xy 74.059402 53.160836) + (xy 74.073101 53.109708) (xy 74.0805 53.082093) (xy 74.0805 53.047098) (xy 74.5785 53.047098) (xy 74.910021 53.378619) + (xy 75.264989 53.023651) (xy 75.969267 53.023651) (xy 76.324235 53.378619) (xy 76.679203 53.023651) + (xy 77.38348 53.023651) (xy 77.738448 53.378619) (xy 78.093416 53.023651) (xy 78.797694 53.023651) + (xy 79.152662 53.378619) (xy 79.50763 53.023651) (xy 80.211907 53.023651) (xy 80.566875 53.378619) + (xy 80.6896 53.255894) (xy 80.6896 52.791407) (xy 80.566875 52.668682) (xy 80.211907 53.023651) + (xy 79.50763 53.023651) (xy 79.152662 52.668683) (xy 78.797694 53.023651) (xy 78.093416 53.023651) + (xy 77.738448 52.668683) (xy 77.38348 53.023651) (xy 76.679203 53.023651) (xy 76.324235 52.668683) + (xy 75.969267 53.023651) (xy 75.264989 53.023651) (xy 74.910021 52.668683) (xy 74.5785 53.000204) + (xy 74.5785 53.047098) (xy 74.0805 53.047098) (xy 74.0805 52.950308) (xy 74.0805 52.316544) (xy 75.26216 52.316544) + (xy 75.617128 52.671512) (xy 75.972096 52.316544) (xy 76.676374 52.316544) (xy 77.031342 52.671512) + (xy 77.38631 52.316544) (xy 78.090587 52.316544) (xy 78.445555 52.671512) (xy 78.800523 52.316544) + (xy 79.504801 52.316544) (xy 79.859769 52.671512) (xy 80.214737 52.316544) (xy 79.859769 51.961576) + (xy 79.504801 52.316544) (xy 78.800523 52.316544) (xy 78.445555 51.961576) (xy 78.090587 52.316544) + (xy 77.38631 52.316544) (xy 77.031342 51.961576) (xy 76.676374 52.316544) (xy 75.972096 52.316544) + (xy 75.617128 51.961576) (xy 75.26216 52.316544) (xy 74.0805 52.316544) (xy 74.0805 51.632884) (xy 74.5785 51.632884) + (xy 74.910021 51.964405) (xy 75.264989 51.609437) (xy 75.969267 51.609437) (xy 76.324235 51.964405) + (xy 76.679203 51.609437) (xy 77.38348 51.609437) (xy 77.738448 51.964405) (xy 78.093416 51.609437) + (xy 78.797694 51.609437) (xy 79.152662 51.964405) (xy 79.50763 51.609437) (xy 80.211907 51.609437) + (xy 80.566874 51.964404) (xy 80.796649 51.734629) (xy 80.8395 51.660412) (xy 80.843785 51.653522) + (xy 80.852877 51.639915) (xy 80.857601 51.633322) (xy 80.87746 51.60744) (xy 80.882607 51.601168) + (xy 80.893401 51.588859) (xy 80.897204 51.584798) (xy 80.566875 51.254469) (xy 80.211907 51.609437) + (xy 79.50763 51.609437) (xy 79.152662 51.254469) (xy 78.797694 51.609437) (xy 78.093416 51.609437) + (xy 77.738448 51.254469) (xy 77.38348 51.609437) (xy 76.679203 51.609437) (xy 76.324235 51.254469) + (xy 75.969267 51.609437) (xy 75.264989 51.609437) (xy 74.910021 51.254469) (xy 74.5785 51.58599) + (xy 74.5785 51.632884) (xy 74.0805 51.632884) (xy 74.0805 51.187948) (xy 74.100185 51.120909) (xy 74.146047 51.07859) + (xy 74.16645 51.067685) (xy 74.32641 50.93641) (xy 74.354379 50.90233) (xy 75.26216 50.90233) (xy 75.617128 51.257298) + (xy 75.972096 50.90233) (xy 76.676374 50.90233) (xy 77.031342 51.257298) (xy 77.38631 50.90233) + (xy 78.090587 50.90233) (xy 78.445555 51.257298) (xy 78.800523 50.90233) (xy 79.504801 50.90233) + (xy 79.859769 51.257298) (xy 80.214737 50.90233) (xy 80.919014 50.90233) (xy 81.249284 51.2326) + (xy 81.604252 50.877632) (xy 81.273982 50.547362) (xy 80.919014 50.90233) (xy 80.214737 50.90233) + (xy 79.859769 50.547362) (xy 79.504801 50.90233) (xy 78.800523 50.90233) (xy 78.445555 50.547362) + (xy 78.090587 50.90233) (xy 77.38631 50.90233) (xy 77.031342 50.547362) (xy 76.676374 50.90233) + (xy 75.972096 50.90233) (xy 75.617128 50.547362) (xy 75.26216 50.90233) (xy 74.354379 50.90233) + (xy 74.457685 50.77645) (xy 74.555232 50.593954) (xy 74.6153 50.395934) (xy 74.620919 50.338883) + (xy 75.121329 50.338883) (xy 75.264989 50.195224) (xy 75.969267 50.195224) (xy 76.324235 50.550192) + (xy 76.679203 50.195224) (xy 77.38348 50.195224) (xy 77.738448 50.550192) (xy 78.093416 50.195224) + (xy 78.797694 50.195224) (xy 79.152662 50.550192) (xy 79.50763 50.195224) (xy 79.507629 50.195223) + (xy 80.211906 50.195223) (xy 80.566875 50.550192) (xy 80.921842 50.195224) (xy 81.626121 50.195224) + (xy 81.95639 50.525493) (xy 82.216231 50.265653) (xy 82.222154 50.260105) (xy 82.234458 50.249315) + (xy 82.240727 50.24417) (xy 82.266609 50.224309) (xy 82.273207 50.219581) (xy 82.28682 50.210485) + (xy 82.293711 50.2062) (xy 82.327515 50.186682) (xy 82.244531 50.103698) (xy 82.224431 50.10586) + (xy 82.221106 50.106173) (xy 82.214423 50.10671) (xy 82.211121 50.106931) (xy 82.197804 50.107644) + (xy 82.194495 50.107777) (xy 82.187813 50.107956) (xy 82.184492 50.108) (xy 81.713345 50.108) (xy 81.626121 50.195224) + (xy 80.921842 50.195224) (xy 80.921843 50.195223) (xy 80.83462 50.108) (xy 80.375508 50.108) (xy 80.372187 50.107956) + (xy 80.365505 50.107777) (xy 80.362196 50.107644) (xy 80.348879 50.106931) (xy 80.345577 50.10671) + (xy 80.338894 50.106173) (xy 80.33557 50.10586) (xy 80.3046 50.10253) (xy 80.211906 50.195223) (xy 79.507629 50.195223) + (xy 79.152662 49.840256) (xy 78.797694 50.195224) (xy 78.093416 50.195224) (xy 77.738448 49.840256) + (xy 77.38348 50.195224) (xy 76.679203 50.195224) (xy 76.324235 49.840256) (xy 75.969267 50.195224) + (xy 75.264989 50.195224) (xy 75.12247 50.052705) (xy 75.132384 50.153357) (xy 75.132832 50.15943) + (xy 75.133434 50.17169) (xy 75.133583 50.177771) (xy 75.133583 50.202229) (xy 75.133434 50.20831) + (xy 75.132832 50.22057) (xy 75.132384 50.226643) (xy 75.121329 50.338883) (xy 74.620919 50.338883) + (xy 74.635583 50.19) (xy 74.6153 49.984066) (xy 74.555232 49.786046) (xy 74.457685 49.60355) (xy 74.397602 49.530338) (xy 74.362953 49.488117) (xy 75.26216 49.488117) (xy 75.617128 49.843085) (xy 75.972096 49.488117) (xy 76.676374 49.488117) (xy 77.031342 49.843085) (xy 77.38631 49.488117) (xy 78.090587 49.488117) (xy 78.445555 49.843085) (xy 78.800523 49.488117) (xy 78.445555 49.133149) (xy 78.090587 49.488117) (xy 77.38631 49.488117) (xy 77.031342 49.133149) (xy 76.676374 49.488117) (xy 75.972096 49.488117) (xy 75.617128 49.133149) (xy 75.26216 49.488117) (xy 74.362953 49.488117) (xy 74.32641 49.443589) - (xy 74.197245 49.337588) (xy 74.16645 49.312315) (xy 73.983954 49.214768) (xy 73.785934 49.1547) + (xy 74.19615 49.336689) (xy 74.16645 49.312315) (xy 73.983954 49.214768) (xy 73.785934 49.1547) (xy 73.785932 49.154699) (xy 73.785934 49.154699) (xy 73.58 49.134417) (xy 73.374067 49.154699) - (xy 73.208702 49.204862) (xy 73.190901 49.210262) (xy 73.176043 49.214769) (xy 73.081598 49.265252) - (xy 72.99355 49.312315) (xy 72.993548 49.312316) (xy 72.993547 49.312317) (xy 72.833589 49.443589) - (xy 72.703394 49.602235) (xy 72.702315 49.60355) (xy 72.66826 49.667262) (xy 72.604769 49.786043) - (xy 72.604768 49.786045) (xy 72.604768 49.786046) (xy 72.601494 49.796839) (xy 72.544699 49.984067) - (xy 72.524417 50.19) (xy 72.544699 50.395932) (xy 72.568959 50.475907) (xy 72.604768 50.593954) - (xy 72.702315 50.77645) (xy 72.725401 50.804581) (xy 72.833589 50.93641) (xy 72.932832 51.017855) - (xy 72.99355 51.067685) (xy 73.013952 51.07859) (xy 73.063796 51.127549) (xy 73.0795 51.187948) - (xy 73.0795 52.757524) (xy 73.059815 52.824563) (xy 73.043181 52.845205) (xy 71.337181 54.551205) - (xy 71.275858 54.58469) (xy 71.206166 54.579706) (xy 71.150233 54.537834) (xy 71.125816 54.47237) - (xy 71.1255 54.463524) (xy 71.1255 53.023651) (xy 71.726626 53.023651) (xy 71.943541 53.240566) - (xy 72.298509 52.885598) (xy 72.081594 52.668683) (xy 71.726626 53.023651) (xy 71.1255 53.023651) - (xy 71.1255 52.850323) (xy 71.125499 52.850321) (xy 71.110967 52.777264) (xy 71.110966 52.77726) - (xy 71.108066 52.77292) (xy 71.055601 52.694399) (xy 70.996309 52.654782) (xy 70.972739 52.639033) - (xy 70.972735 52.639032) (xy 70.899677 52.6245) (xy 70.899674 52.6245) (xy 68.650326 52.6245) (xy 68.650323 52.6245) - (xy 68.577264 52.639032) (xy 68.57726 52.639033) (xy 68.494399 52.694399) (xy 68.439033 52.77726) - (xy 68.439032 52.777264) (xy 68.4245 52.850321) (xy 68.4245 53.3505) (xy 68.404815 53.417539) (xy 68.352011 53.463294) - (xy 68.3005 53.4745) (xy 65.6745 53.4745) (xy 65.607461 53.454815) (xy 65.561706 53.402011) (xy 65.5505 53.3505) - (xy 65.5505 53.200323) (xy 65.550499 53.200321) (xy 65.535967 53.127264) (xy 65.535966 53.12726) - (xy 65.521966 53.106307) (xy 65.480601 53.044399) (xy 65.420541 53.004269) (xy 65.397739 52.989033) + (xy 73.176043 49.214769) (xy 73.103221 49.253694) (xy 72.99355 49.312315) (xy 72.993548 49.312316) + (xy 72.993547 49.312317) (xy 72.833589 49.443589) (xy 72.702317 49.603547) (xy 72.702315 49.60355) + (xy 72.66826 49.667262) (xy 72.604769 49.786043) (xy 72.604768 49.786045) (xy 72.604768 49.786046) + (xy 72.59867 49.80615) (xy 72.544699 49.984067) (xy 72.524417 50.19) (xy 72.544699 50.395932) (xy 72.548572 50.4087) + (xy 72.60323 50.588885) (xy 72.604769 50.593956) (xy 72.610102 50.603933) (xy 72.702315 50.77645) + (xy 72.725401 50.804581) (xy 72.833589 50.93641) (xy 72.93198 51.017156) (xy 72.99355 51.067685) + (xy 73.013952 51.07859) (xy 73.063796 51.127549) (xy 73.0795 51.187948) (xy 73.0795 52.757524) (xy 73.059815 52.824563) + (xy 73.043181 52.845205) (xy 71.337181 54.551205) (xy 71.275858 54.58469) (xy 71.206166 54.579706) + (xy 71.150233 54.537834) (xy 71.125816 54.47237) (xy 71.1255 54.463524) (xy 71.1255 53.023651) (xy 71.726626 53.023651) + (xy 71.943541 53.240566) (xy 72.298509 52.885598) (xy 72.081594 52.668683) (xy 71.726626 53.023651) + (xy 71.1255 53.023651) (xy 71.1255 52.850323) (xy 71.125499 52.850321) (xy 71.110967 52.777264) + (xy 71.110966 52.77726) (xy 71.10878 52.773988) (xy 71.055601 52.694399) (xy 71.000235 52.657405) + (xy 70.972739 52.639033) (xy 70.972735 52.639032) (xy 70.899677 52.6245) (xy 70.899674 52.6245) + (xy 68.650326 52.6245) (xy 68.650323 52.6245) (xy 68.577264 52.639032) (xy 68.57726 52.639033) (xy 68.494399 52.694399) + (xy 68.439033 52.77726) (xy 68.439032 52.777264) (xy 68.4245 52.850321) (xy 68.4245 53.3505) (xy 68.404815 53.417539) + (xy 68.352011 53.463294) (xy 68.3005 53.4745) (xy 65.6745 53.4745) (xy 65.607461 53.454815) (xy 65.561706 53.402011) + (xy 65.5505 53.3505) (xy 65.5505 53.200323) (xy 65.550499 53.200321) (xy 65.535967 53.127264) (xy 65.535966 53.12726) + (xy 65.517446 53.099543) (xy 65.480601 53.044399) (xy 65.41505 53.0006) (xy 65.397739 52.989033) (xy 65.397735 52.989032) (xy 65.334732 52.9765) (xy 66.116922 52.9765) (xy 66.732557 52.9765) (xy 67.531136 52.9765) (xy 67.9265 52.9765) (xy 67.9265 52.838098) (xy 67.926649 52.832015) (xy 67.927251 52.819758) (xy 67.927699 52.813689) (xy 67.930096 52.789348) (xy 67.930841 52.783309) (xy 67.932642 52.771165) (xy 67.933683 52.765165) @@ -40913,7 +41439,7 @@ (xy 67.742717 51.498118) (xy 67.732194 51.491811) (xy 67.727055 51.488558) (xy 67.70672 51.474972) (xy 67.701743 51.471467) (xy 67.691879 51.464152) (xy 67.687078 51.460405) (xy 67.657384 51.436036) (xy 67.483984 51.609436) (xy 66.779707 51.609436) (xy 66.42783 51.257559) (xy 66.072862 51.612527) - (xy 65.368587 51.612527) (xy 65.851036 51.130078) (xy 66.075694 50.90542) (xy 66.779969 50.90542) + (xy 65.368587 51.612527) (xy 65.850614 51.1305) (xy 66.075694 50.90542) (xy 66.779969 50.90542) (xy 67.131846 51.257297) (xy 67.308116 51.081027) (xy 67.305848 51.078121) (xy 67.298533 51.068257) (xy 67.295028 51.06328) (xy 67.281442 51.042945) (xy 67.278189 51.037806) (xy 67.271882 51.027283) (xy 67.268883 51.02199) (xy 67.159806 50.817925) (xy 67.157066 50.81248) (xy 67.151817 50.80138) @@ -40921,46 +41447,47 @@ (xy 67.131761 50.750216) (xy 67.086006 50.599382) (xy 66.779969 50.90542) (xy 66.075694 50.90542) (xy 67.484123 49.49699) (xy 67.545444 49.463507) (xy 67.615136 49.468491) (xy 67.671069 49.510363) (xy 67.695486 49.575827) (xy 67.68116 49.643126) (xy 67.604769 49.786041) (xy 67.544699 49.984067) - (xy 67.524417 50.19) (xy 67.544699 50.395932) (xy 67.568959 50.475907) (xy 67.604768 50.593954) - (xy 67.702315 50.77645) (xy 67.725401 50.804581) (xy 67.833589 50.93641) (xy 67.920893 51.008057) - (xy 67.99355 51.067685) (xy 68.176046 51.165232) (xy 68.374066 51.2253) (xy 68.374065 51.2253) (xy 68.392529 51.227118) - (xy 68.58 51.245583) (xy 68.785934 51.2253) (xy 68.983954 51.165232) (xy 69.16645 51.067685) (xy 69.32641 50.93641) - (xy 69.457685 50.77645) (xy 69.555232 50.593954) (xy 69.6153 50.395934) (xy 69.635583 50.19) (xy 69.6153 49.984066) - (xy 69.555232 49.786046) (xy 69.457685 49.60355) (xy 69.374831 49.502592) (xy 69.326412 49.443592) - (xy 69.32641 49.44359) (xy 69.16645 49.312315) (xy 69.166448 49.312314) (xy 69.16406 49.310354) - (xy 69.124726 49.252608) (xy 69.122855 49.182763) (xy 69.159042 49.122995) (xy 69.221798 49.092279) - (xy 69.242725 49.0905) (xy 70.417275 49.0905) (xy 70.484314 49.110185) (xy 70.530069 49.162989) - (xy 70.540013 49.232147) (xy 70.510988 49.295703) (xy 70.49594 49.310354) (xy 70.493551 49.312314) - (xy 70.49355 49.312315) (xy 70.423353 49.369924) (xy 70.333587 49.443592) (xy 70.203394 49.602235) - (xy 70.202315 49.60355) (xy 70.16826 49.667262) (xy 70.104769 49.786043) (xy 70.104768 49.786045) - (xy 70.104768 49.786046) (xy 70.101494 49.796839) (xy 70.044699 49.984067) (xy 70.024417 50.19) - (xy 70.044699 50.395932) (xy 70.068959 50.475907) (xy 70.104768 50.593954) (xy 70.202315 50.77645) - (xy 70.225401 50.804581) (xy 70.333589 50.93641) (xy 70.420893 51.008057) (xy 70.49355 51.067685) - (xy 70.676046 51.165232) (xy 70.874066 51.2253) (xy 70.874065 51.2253) (xy 70.892529 51.227118) - (xy 71.08 51.245583) (xy 71.285934 51.2253) (xy 71.483954 51.165232) (xy 71.66645 51.067685) (xy 71.82641 50.93641) - (xy 71.957685 50.77645) (xy 72.055232 50.593954) (xy 72.1153 50.395934) (xy 72.135583 50.19) (xy 72.1153 49.984066) - (xy 72.055232 49.786046) (xy 71.957685 49.60355) (xy 71.874831 49.502592) (xy 71.826412 49.443592) - (xy 71.82641 49.44359) (xy 71.66645 49.312315) (xy 71.666448 49.312314) (xy 71.66406 49.310354) - (xy 71.624726 49.252608) (xy 71.622855 49.182763) (xy 71.659042 49.122995) (xy 71.721798 49.092279) - (xy 71.742725 49.0905) (xy 72.04589 49.0905) (xy 72.045892 49.0905) (xy 72.173186 49.056392) (xy 72.287314 48.9905) - (xy 72.496803 48.78101) (xy 74.555053 48.78101) (xy 74.910021 49.135978) (xy 75.264989 48.78101) - (xy 75.969267 48.78101) (xy 76.324235 49.135978) (xy 76.679203 48.78101) (xy 77.38348 48.78101) - (xy 77.738448 49.135978) (xy 78.093416 48.78101) (xy 78.797694 48.78101) (xy 79.152662 49.135978) - (xy 79.432 48.85664) (xy 79.432 48.70538) (xy 79.152662 48.426042) (xy 78.797694 48.78101) (xy 78.093416 48.78101) - (xy 77.738448 48.426042) (xy 77.38348 48.78101) (xy 76.679203 48.78101) (xy 76.324235 48.426042) - (xy 75.969267 48.78101) (xy 75.264989 48.78101) (xy 74.910021 48.426042) (xy 74.555053 48.78101) - (xy 72.496803 48.78101) (xy 72.618469 48.659344) (xy 73.322744 48.659344) (xy 73.543357 48.637616) - (xy 73.54943 48.637168) (xy 73.56169 48.636566) (xy 73.567771 48.636417) (xy 73.592229 48.636417) - (xy 73.59831 48.636566) (xy 73.61057 48.637168) (xy 73.616643 48.637616) (xy 73.717295 48.647529) - (xy 73.612458 48.542692) (xy 73.61057 48.542832) (xy 73.59831 48.543434) (xy 73.592229 48.543583) - (xy 73.567771 48.543583) (xy 73.56169 48.543434) (xy 73.54943 48.542832) (xy 73.543357 48.542384) - (xy 73.448998 48.53309) (xy 73.322744 48.659344) (xy 72.618469 48.659344) (xy 73.203909 48.073903) - (xy 75.26216 48.073903) (xy 75.617128 48.428871) (xy 75.972096 48.073903) (xy 76.676374 48.073903) - (xy 77.031342 48.428871) (xy 77.38631 48.073903) (xy 78.090587 48.073903) (xy 78.445555 48.428871) - (xy 78.800523 48.073903) (xy 78.445555 47.718935) (xy 78.090587 48.073903) (xy 77.38631 48.073903) - (xy 77.031342 47.718935) (xy 76.676374 48.073903) (xy 75.972096 48.073903) (xy 75.617128 47.718935) - (xy 75.26216 48.073903) (xy 73.203909 48.073903) (xy 73.228251 48.049561) (xy 73.289572 48.016078) - (xy 73.351927 48.018584) (xy 73.374066 48.0253) (xy 73.374065 48.0253) (xy 73.389387 48.026809) + (xy 67.524417 50.19) (xy 67.544699 50.395932) (xy 67.548572 50.4087) (xy 67.60323 50.588885) (xy 67.604769 50.593956) + (xy 67.610102 50.603933) (xy 67.702315 50.77645) (xy 67.725401 50.804581) (xy 67.833589 50.93641) + (xy 67.920891 51.008056) (xy 67.99355 51.067685) (xy 68.176046 51.165232) (xy 68.374066 51.2253) + (xy 68.374065 51.2253) (xy 68.392529 51.227118) (xy 68.58 51.245583) (xy 68.785934 51.2253) (xy 68.983954 51.165232) + (xy 69.16645 51.067685) (xy 69.32641 50.93641) (xy 69.457685 50.77645) (xy 69.555232 50.593954) + (xy 69.6153 50.395934) (xy 69.635583 50.19) (xy 69.6153 49.984066) (xy 69.555232 49.786046) (xy 69.457685 49.60355) + (xy 69.37892 49.507574) (xy 69.326412 49.443592) (xy 69.32641 49.44359) (xy 69.16645 49.312315) + (xy 69.166448 49.312314) (xy 69.16406 49.310354) (xy 69.124726 49.252608) (xy 69.122855 49.182763) + (xy 69.159042 49.122995) (xy 69.221798 49.092279) (xy 69.242725 49.0905) (xy 70.417275 49.0905) + (xy 70.484314 49.110185) (xy 70.530069 49.162989) (xy 70.540013 49.232147) (xy 70.510988 49.295703) + (xy 70.49594 49.310354) (xy 70.493551 49.312314) (xy 70.49355 49.312315) (xy 70.434836 49.3605) + (xy 70.333587 49.443592) (xy 70.202317 49.603547) (xy 70.202315 49.60355) (xy 70.16826 49.667262) + (xy 70.104769 49.786043) (xy 70.104768 49.786045) (xy 70.104768 49.786046) (xy 70.09867 49.80615) + (xy 70.044699 49.984067) (xy 70.024417 50.19) (xy 70.044699 50.395932) (xy 70.048572 50.4087) (xy 70.10323 50.588885) + (xy 70.104769 50.593956) (xy 70.110102 50.603933) (xy 70.202315 50.77645) (xy 70.225401 50.804581) + (xy 70.333589 50.93641) (xy 70.420891 51.008056) (xy 70.49355 51.067685) (xy 70.676046 51.165232) + (xy 70.874066 51.2253) (xy 70.874065 51.2253) (xy 70.892529 51.227118) (xy 71.08 51.245583) (xy 71.285934 51.2253) + (xy 71.483954 51.165232) (xy 71.66645 51.067685) (xy 71.82641 50.93641) (xy 71.957685 50.77645) + (xy 72.055232 50.593954) (xy 72.1153 50.395934) (xy 72.135583 50.19) (xy 72.1153 49.984066) (xy 72.055232 49.786046) + (xy 71.957685 49.60355) (xy 71.87892 49.507574) (xy 71.826412 49.443592) (xy 71.82641 49.44359) + (xy 71.66645 49.312315) (xy 71.666448 49.312314) (xy 71.66406 49.310354) (xy 71.624726 49.252608) + (xy 71.622855 49.182763) (xy 71.659042 49.122995) (xy 71.721798 49.092279) (xy 71.742725 49.0905) + (xy 72.04589 49.0905) (xy 72.045892 49.0905) (xy 72.173186 49.056392) (xy 72.287314 48.9905) (xy 72.496803 48.78101) + (xy 74.555053 48.78101) (xy 74.910021 49.135978) (xy 75.264989 48.78101) (xy 75.969267 48.78101) + (xy 76.324235 49.135978) (xy 76.679203 48.78101) (xy 77.38348 48.78101) (xy 77.738448 49.135978) + (xy 78.093416 48.78101) (xy 78.797694 48.78101) (xy 79.152662 49.135978) (xy 79.432 48.85664) (xy 79.432 48.70538) + (xy 79.152662 48.426042) (xy 78.797694 48.78101) (xy 78.093416 48.78101) (xy 77.738448 48.426042) + (xy 77.38348 48.78101) (xy 76.679203 48.78101) (xy 76.324235 48.426042) (xy 75.969267 48.78101) + (xy 75.264989 48.78101) (xy 74.910021 48.426042) (xy 74.555053 48.78101) (xy 72.496803 48.78101) + (xy 72.618469 48.659344) (xy 73.322744 48.659344) (xy 73.543357 48.637616) (xy 73.54943 48.637168) + (xy 73.56169 48.636566) (xy 73.567771 48.636417) (xy 73.592229 48.636417) (xy 73.59831 48.636566) + (xy 73.61057 48.637168) (xy 73.616643 48.637616) (xy 73.717295 48.647529) (xy 73.612458 48.542692) + (xy 73.61057 48.542832) (xy 73.59831 48.543434) (xy 73.592229 48.543583) (xy 73.567771 48.543583) + (xy 73.56169 48.543434) (xy 73.54943 48.542832) (xy 73.543357 48.542384) (xy 73.448998 48.53309) + (xy 73.322744 48.659344) (xy 72.618469 48.659344) (xy 73.203909 48.073903) (xy 75.26216 48.073903) + (xy 75.617128 48.428871) (xy 75.972096 48.073903) (xy 76.676374 48.073903) (xy 77.031342 48.428871) + (xy 77.38631 48.073903) (xy 78.090587 48.073903) (xy 78.445555 48.428871) (xy 78.800523 48.073903) + (xy 78.445555 47.718935) (xy 78.090587 48.073903) (xy 77.38631 48.073903) (xy 77.031342 47.718935) + (xy 76.676374 48.073903) (xy 75.972096 48.073903) (xy 75.617128 47.718935) (xy 75.26216 48.073903) + (xy 73.203909 48.073903) (xy 73.228251 48.049561) (xy 73.289572 48.016078) (xy 73.351926 48.018583) + (xy 73.367898 48.023429) (xy 73.374066 48.0253) (xy 73.374065 48.0253) (xy 73.389387 48.026809) (xy 73.58 48.045583) (xy 73.785934 48.0253) (xy 73.983954 47.965232) (xy 74.16645 47.867685) (xy 74.32641 47.73641) (xy 74.399553 47.647285) (xy 74.9845 47.647285) (xy 75.264989 47.366796) (xy 75.969266 47.366796) (xy 76.324235 47.721764) (xy 76.679203 47.366796) (xy 77.383479 47.366796) (xy 77.738448 47.721764) @@ -41063,114 +41590,116 @@ (xy 136.783279 46.65969) (xy 137.487557 46.65969) (xy 137.842525 47.014658) (xy 138.197493 46.65969) (xy 138.90177 46.65969) (xy 139.256738 47.014658) (xy 139.611706 46.65969) (xy 140.315984 46.65969) (xy 140.670952 47.014658) (xy 141.02592 46.65969) (xy 141.730197 46.65969) (xy 142.085165 47.014658) - (xy 142.440133 46.65969) (xy 143.144411 46.65969) (xy 143.189842 46.705121) (xy 143.20881 46.704141) - (xy 143.210982 46.704048) (xy 143.226493 46.703519) (xy 143.228669 46.703464) (xy 143.286404 46.702509) - (xy 143.288394 46.702492) (xy 143.302572 46.702485) (xy 143.304553 46.7025) (xy 143.364296 46.703425) - (xy 143.366097 46.703466) (xy 143.379056 46.703855) (xy 143.380887 46.703923) (xy 143.442826 46.706699) - (xy 143.444484 46.706785) (xy 143.456297 46.707473) (xy 143.457949 46.70758) (xy 143.522105 46.712177) - (xy 143.52363 46.712296) (xy 143.534408 46.713202) (xy 143.535903 46.713337) (xy 143.602363 46.719735) - (xy 143.603738 46.719875) (xy 143.613491 46.720923) (xy 143.675034 46.667823) (xy 143.677686 46.665598) - (xy 143.684933 46.65969) (xy 147.387052 46.65969) (xy 147.74202 47.014658) (xy 148.096988 46.65969) - (xy 147.74202 46.304722) (xy 147.387052 46.65969) (xy 143.684933 46.65969) (xy 143.696793 46.650021) - (xy 143.699495 46.64788) (xy 143.738414 46.617913) (xy 143.740567 46.616293) (xy 143.756048 46.6049) - (xy 143.758233 46.603328) (xy 143.781575 46.586918) (xy 143.499379 46.304722) (xy 143.144411 46.65969) - (xy 142.440133 46.65969) (xy 142.085165 46.304721) (xy 141.730197 46.65969) (xy 141.02592 46.65969) - (xy 140.670952 46.304722) (xy 140.315984 46.65969) (xy 139.611706 46.65969) (xy 139.256738 46.304722) - (xy 138.90177 46.65969) (xy 138.197493 46.65969) (xy 137.842525 46.304722) (xy 137.487557 46.65969) - (xy 136.783279 46.65969) (xy 136.428311 46.304722) (xy 136.073343 46.65969) (xy 135.369066 46.65969) - (xy 135.014098 46.304722) (xy 134.65913 46.65969) (xy 133.954852 46.65969) (xy 133.599884 46.304722) - (xy 133.244916 46.65969) (xy 132.540639 46.65969) (xy 132.18567 46.304721) (xy 131.830702 46.65969) - (xy 131.126425 46.65969) (xy 130.771457 46.304722) (xy 130.416489 46.65969) (xy 129.712211 46.65969) - (xy 129.357243 46.304722) (xy 129.002275 46.65969) (xy 128.297998 46.65969) (xy 127.94303 46.304722) - (xy 127.588062 46.65969) (xy 126.883784 46.65969) (xy 126.528816 46.304722) (xy 126.173848 46.65969) - (xy 125.469571 46.65969) (xy 125.114603 46.304722) (xy 124.759635 46.65969) (xy 124.055357 46.65969) - (xy 123.700389 46.304722) (xy 123.345421 46.65969) (xy 122.641144 46.65969) (xy 122.286175 46.304721) - (xy 121.931207 46.65969) (xy 121.22693 46.65969) (xy 120.871962 46.304722) (xy 120.516994 46.65969) - (xy 119.812716 46.65969) (xy 119.457748 46.304721) (xy 119.10278 46.65969) (xy 118.398503 46.65969) - (xy 118.043535 46.304722) (xy 117.688567 46.65969) (xy 116.984289 46.65969) (xy 116.629321 46.304722) - (xy 116.274353 46.65969) (xy 115.570076 46.65969) (xy 115.215108 46.304722) (xy 114.86014 46.65969) - (xy 114.155862 46.65969) (xy 113.800894 46.304722) (xy 113.445926 46.65969) (xy 112.741649 46.65969) - (xy 112.386681 46.304722) (xy 112.031713 46.65969) (xy 111.327435 46.65969) (xy 110.972467 46.304722) - (xy 110.617499 46.65969) (xy 108.285506 46.65969) (xy 108.302829 46.649688) (xy 108.30758 46.647081) - (xy 108.317259 46.642043) (xy 108.322106 46.639653) (xy 108.429085 46.589767) (xy 108.255533 46.416215) - (xy 109.44676 46.416215) (xy 109.48352 46.417418) (xy 109.739554 46.486022) (xy 109.558253 46.304721) - (xy 109.44676 46.416215) (xy 108.255533 46.416215) (xy 108.14404 46.304722) (xy 107.789072 46.65969) - (xy 107.084792 46.65969) (xy 107.084793 46.659689) (xy 106.729826 46.304722) (xy 106.374858 46.65969) - (xy 105.670581 46.65969) (xy 105.315613 46.304722) (xy 104.960645 46.65969) (xy 104.256365 46.65969) - (xy 104.256366 46.659689) (xy 103.901399 46.304722) (xy 103.546431 46.65969) (xy 102.842152 46.65969) - (xy 102.842153 46.659689) (xy 102.487186 46.304722) (xy 102.132218 46.65969) (xy 101.427938 46.65969) - (xy 101.427939 46.659689) (xy 101.072972 46.304722) (xy 100.718004 46.65969) (xy 100.013725 46.65969) - (xy 100.013726 46.659689) (xy 99.658758 46.304721) (xy 99.30379 46.659689) (xy 98.599512 46.659689) - (xy 98.244545 46.304722) (xy 97.889577 46.65969) (xy 97.185298 46.65969) (xy 97.185299 46.659689) - (xy 96.830331 46.304721) (xy 96.475363 46.65969) (xy 95.771086 46.65969) (xy 95.416118 46.304722) - (xy 95.06115 46.65969) (xy 94.35687 46.65969) (xy 94.356871 46.659689) (xy 94.001904 46.304722) - (xy 93.646936 46.65969) (xy 92.942659 46.65969) (xy 92.587691 46.304722) (xy 92.232723 46.65969) - (xy 91.528443 46.65969) (xy 91.528444 46.659689) (xy 91.173477 46.304722) (xy 90.818509 46.65969) - (xy 90.11423 46.65969) (xy 90.114231 46.659689) (xy 89.759264 46.304722) (xy 89.404296 46.65969) - (xy 88.700016 46.65969) (xy 88.700017 46.659689) (xy 88.34505 46.304722) (xy 87.990082 46.65969) - (xy 84.457375 46.65969) (xy 84.457376 46.659689) (xy 84.102409 46.304722) (xy 83.747441 46.65969) - (xy 83.043162 46.65969) (xy 83.043163 46.659689) (xy 82.688195 46.304721) (xy 82.507337 46.485579) - (xy 80.040626 46.485579) (xy 79.972955 46.417908) (xy 81.160795 46.417908) (xy 81.178542 46.421439) - (xy 81.270428 46.459499) (xy 81.28 46.465894) (xy 81.289572 46.459499) (xy 81.381458 46.421439) - (xy 81.389165 46.419905) (xy 81.273982 46.304722) (xy 81.160795 46.417908) (xy 79.972955 46.417908) - (xy 79.859769 46.304722) (xy 79.504801 46.65969) (xy 78.800523 46.65969) (xy 78.445555 46.304722) - (xy 78.090587 46.65969) (xy 77.38631 46.65969) (xy 77.031342 46.304722) (xy 76.676374 46.65969) - (xy 75.972096 46.65969) (xy 75.617128 46.304722) (xy 75.26216 46.65969) (xy 74.577571 46.65969) - (xy 74.555232 46.586046) (xy 74.457685 46.40355) (xy 74.378901 46.307551) (xy 74.32641 46.243589) - (xy 74.194148 46.135046) (xy 74.16645 46.112315) (xy 73.983954 46.014768) (xy 73.785934 45.9547) - (xy 73.785932 45.954699) (xy 73.785934 45.954699) (xy 73.58 45.934417) (xy 73.374067 45.954699) - (xy 73.176043 46.014769) (xy 73.082004 46.065035) (xy 72.99355 46.112315) (xy 72.993548 46.112316) - (xy 72.993547 46.112317) (xy 72.833589 46.243589) (xy 72.704578 46.400792) (xy 72.702315 46.40355) - (xy 72.693573 46.419905) (xy 72.604769 46.586043) (xy 72.604768 46.586045) (xy 72.604768 46.586046) - (xy 72.603639 46.589767) (xy 72.544699 46.784067) (xy 72.524417 46.99) (xy 72.544699 47.195934) - (xy 72.551416 47.218077) (xy 72.552037 47.287943) (xy 72.520435 47.341749) (xy 72.172089 47.690096) - (xy 72.110766 47.723581) (xy 72.041075 47.718597) (xy 71.985141 47.676726) (xy 71.960724 47.611261) - (xy 71.975049 47.543963) (xy 72.055232 47.393954) (xy 72.1153 47.195934) (xy 72.135583 46.99) (xy 72.1153 46.784066) - (xy 72.055232 46.586046) (xy 71.957685 46.40355) (xy 71.878901 46.307551) (xy 71.82641 46.243589) - (xy 71.694148 46.135046) (xy 71.66645 46.112315) (xy 71.483954 46.014768) (xy 71.285934 45.9547) - (xy 71.285932 45.954699) (xy 71.285934 45.954699) (xy 71.08 45.934417) (xy 70.874067 45.954699) - (xy 70.676043 46.014769) (xy 70.582004 46.065035) (xy 70.49355 46.112315) (xy 70.493548 46.112316) - (xy 70.493547 46.112317) (xy 70.333589 46.243589) (xy 70.204578 46.400792) (xy 70.202315 46.40355) - (xy 70.193573 46.419905) (xy 70.104769 46.586043) (xy 70.104768 46.586045) (xy 70.104768 46.586046) - (xy 70.103639 46.589767) (xy 70.044699 46.784067) (xy 70.024417 46.99) (xy 70.044699 47.195932) - (xy 70.067365 47.270651) (xy 70.104768 47.393954) (xy 70.202315 47.57645) (xy 70.245324 47.628857) - (xy 70.333587 47.736407) (xy 70.333588 47.736408) (xy 70.33359 47.73641) (xy 70.49355 47.867685) - (xy 70.493551 47.867685) (xy 70.49594 47.869646) (xy 70.535274 47.927392) (xy 70.537145 47.997237) - (xy 70.500958 48.057005) (xy 70.438202 48.087721) (xy 70.417275 48.0895) (xy 69.713142 48.0895) - (xy 69.646103 48.069815) (xy 69.600348 48.017011) (xy 69.590404 47.947853) (xy 69.61004 47.89661) - (xy 69.615964 47.887743) (xy 69.615964 47.887742) (xy 69.615966 47.88774) (xy 69.6305 47.814674) - (xy 69.6305 46.165326) (xy 69.6305 46.165323) (xy 69.630499 46.165321) (xy 69.615967 46.092264) - (xy 69.615966 46.09226) (xy 69.597775 46.065035) (xy 69.560601 46.009399) (xy 69.478737 45.9547) - (xy 69.477739 45.954033) (xy 69.477735 45.954032) (xy 69.404677 45.9395) (xy 69.404674 45.9395) - (xy 67.755326 45.9395) (xy 67.755323 45.9395) (xy 67.682264 45.954032) (xy 67.68226 45.954033) (xy 67.599399 46.009399) - (xy 67.544033 46.09226) (xy 67.544032 46.092264) (xy 67.5295 46.165321) (xy 67.5295 47.814678) (xy 67.544032 47.887735) - (xy 67.544034 47.88774) (xy 67.573182 47.931364) (xy 67.573379 47.931658) (xy 67.594257 47.998336) - (xy 67.575772 48.065716) (xy 67.523793 48.112406) (xy 67.502372 48.120323) (xy 67.490115 48.123607) - (xy 67.490114 48.123607) (xy 67.375986 48.1895) (xy 67.375983 48.189502) (xy 63.099502 52.465983) - (xy 63.0995 52.465986) (xy 63.033608 52.580112) (xy 62.9995 52.707408) (xy 62.9995 52.867927) (xy 62.979815 52.934966) - (xy 62.927011 52.980721) (xy 62.905755 52.987586) (xy 62.90226 52.989033) (xy 62.819399 53.044399) - (xy 62.764033 53.12726) (xy 62.764032 53.127264) (xy 62.7495 53.200321) (xy 62.7495 53.3505) (xy 62.729815 53.417539) - (xy 62.677011 53.463294) (xy 62.6255 53.4745) (xy 60.950722 53.4745) (xy 60.883683 53.454815) (xy 60.83834 53.402905) - (xy 60.810834 53.34392) (xy 60.789035 53.297171) (xy 60.714385 53.190559) (xy 60.653494 53.103597) - (xy 60.526396 52.9765) (xy 61.874282 52.9765) (xy 62.288731 52.9765) (xy 62.29047 52.970768) (xy 62.294569 52.95931) - (xy 62.313316 52.914052) (xy 62.318518 52.903055) (xy 62.330096 52.881393) (xy 62.336352 52.870954) - (xy 62.355585 52.842169) (xy 62.182099 52.668683) (xy 61.874282 52.9765) (xy 60.526396 52.9765) - (xy 60.486402 52.936506) (xy 60.486395 52.936501) (xy 60.483614 52.934554) (xy 60.447521 52.909281) - (xy 60.292834 52.800967) (xy 60.29283 52.800965) (xy 60.259292 52.785326) (xy 60.078663 52.701097) - (xy 60.078659 52.701096) (xy 60.078655 52.701094) (xy 59.850413 52.639938) (xy 59.850403 52.639936) - (xy 59.615001 52.619341) (xy 59.614999 52.619341) (xy 59.379596 52.639936) (xy 59.379586 52.639938) - (xy 59.151344 52.701094) (xy 59.151335 52.701098) (xy 58.937171 52.800964) (xy 58.937169 52.800965) - (xy 58.743597 52.936505) (xy 58.576505 53.103597) (xy 58.440965 53.297169) (xy 58.440964 53.297171) - (xy 58.341098 53.511335) (xy 58.341094 53.511344) (xy 58.279938 53.739586) (xy 58.279936 53.739596) - (xy 58.259341 53.974999) (xy 58.259341 53.975) (xy 58.279936 54.210403) (xy 58.279938 54.210413) - (xy 58.341094 54.438655) (xy 58.341096 54.438659) (xy 58.341097 54.438663) (xy 58.406097 54.578055) - (xy 58.440965 54.65283) (xy 58.440967 54.652834) (xy 58.542856 54.798345) (xy 58.576505 54.846401) - (xy 58.743599 55.013495) (xy 58.808163 55.058703) (xy 58.937165 55.149032) (xy 58.937167 55.149033) - (xy 58.93717 55.149035) (xy 59.151337 55.248903) (xy 59.151343 55.248904) (xy 59.151344 55.248905) - (xy 59.20237 55.262577) (xy 59.379592 55.310063) (xy 59.556034 55.3255) (xy 59.614999 55.330659) - (xy 59.615 55.330659) (xy 59.615001 55.330659) (xy 59.673966 55.3255) (xy 59.850408 55.310063) (xy 59.988409 55.273086) - (xy 60.058256 55.274749) (xy 60.116119 55.313911) (xy 60.143623 55.37814) (xy 60.1445 55.392861) - (xy 60.1445 58.130108) (xy 60.1445 58.261892) (xy 60.147854 58.274408) (xy 60.178608 58.389187) + (xy 142.440133 46.65969) (xy 143.144411 46.65969) (xy 143.17168 46.686959) (xy 143.210395 46.687559) + (xy 143.212195 46.6876) (xy 143.225156 46.687989) (xy 143.22699 46.688057) (xy 143.288931 46.690834) + (xy 143.290583 46.69092) (xy 143.302402 46.691608) (xy 143.304061 46.691715) (xy 143.368197 46.696312) + (xy 143.369701 46.696429) (xy 143.380474 46.697333) (xy 143.381988 46.69747) (xy 143.448464 46.70387) + (xy 143.449838 46.70401) (xy 143.459222 46.705019) (xy 143.45973 46.70457) (xy 143.507706 46.662961) + (xy 143.510106 46.660933) (xy 143.511615 46.65969) (xy 147.387052 46.65969) (xy 147.74202 47.014658) + (xy 148.096988 46.65969) (xy 147.74202 46.304722) (xy 147.387052 46.65969) (xy 143.511615 46.65969) + (xy 143.527447 46.646647) (xy 143.529908 46.644672) (xy 143.581225 46.604543) (xy 143.584174 46.602307) + (xy 143.605492 46.586639) (xy 143.608515 46.584486) (xy 143.662156 46.547482) (xy 143.664745 46.545744) + (xy 143.683355 46.533585) (xy 143.68598 46.531916) (xy 143.711066 46.516409) (xy 143.572361 46.377704) + (xy 146.254822 46.377704) (xy 146.317331 46.392209) (xy 146.320942 46.393104) (xy 146.346589 46.399872) + (xy 146.350163 46.400873) (xy 146.455009 46.431925) (xy 146.327805 46.304721) (xy 146.254822 46.377704) + (xy 143.572361 46.377704) (xy 143.499379 46.304722) (xy 143.144411 46.65969) (xy 142.440133 46.65969) + (xy 142.085165 46.304721) (xy 141.730197 46.65969) (xy 141.02592 46.65969) (xy 140.670952 46.304722) + (xy 140.315984 46.65969) (xy 139.611706 46.65969) (xy 139.256738 46.304722) (xy 138.90177 46.65969) + (xy 138.197493 46.65969) (xy 137.842525 46.304722) (xy 137.487557 46.65969) (xy 136.783279 46.65969) + (xy 136.428311 46.304722) (xy 136.073343 46.65969) (xy 135.369066 46.65969) (xy 135.014098 46.304722) + (xy 134.65913 46.65969) (xy 133.954852 46.65969) (xy 133.599884 46.304722) (xy 133.244916 46.65969) + (xy 132.540639 46.65969) (xy 132.18567 46.304721) (xy 131.830702 46.65969) (xy 131.126425 46.65969) + (xy 130.771457 46.304722) (xy 130.416489 46.65969) (xy 129.712211 46.65969) (xy 129.357243 46.304722) + (xy 129.002275 46.65969) (xy 128.297998 46.65969) (xy 127.94303 46.304722) (xy 127.588062 46.65969) + (xy 126.883784 46.65969) (xy 126.528816 46.304722) (xy 126.173848 46.65969) (xy 125.469571 46.65969) + (xy 125.114603 46.304722) (xy 124.759635 46.65969) (xy 124.055357 46.65969) (xy 123.700389 46.304722) + (xy 123.345421 46.65969) (xy 122.641144 46.65969) (xy 122.286175 46.304721) (xy 121.931207 46.65969) + (xy 121.22693 46.65969) (xy 120.871962 46.304722) (xy 120.516994 46.65969) (xy 119.812716 46.65969) + (xy 119.457748 46.304721) (xy 119.10278 46.65969) (xy 118.398503 46.65969) (xy 118.043535 46.304722) + (xy 117.688567 46.65969) (xy 116.984289 46.65969) (xy 116.629321 46.304722) (xy 116.274353 46.65969) + (xy 115.570076 46.65969) (xy 115.215108 46.304722) (xy 114.86014 46.65969) (xy 114.155862 46.65969) + (xy 113.800894 46.304722) (xy 113.445926 46.65969) (xy 112.741649 46.65969) (xy 112.386681 46.304722) + (xy 112.031713 46.65969) (xy 111.327435 46.65969) (xy 110.972467 46.304722) (xy 110.617499 46.65969) + (xy 108.285506 46.65969) (xy 108.302829 46.649688) (xy 108.30758 46.647081) (xy 108.317259 46.642043) + (xy 108.322106 46.639653) (xy 108.429085 46.589767) (xy 108.255533 46.416215) (xy 109.44676 46.416215) + (xy 109.48352 46.417418) (xy 109.739554 46.486022) (xy 109.558253 46.304721) (xy 109.44676 46.416215) + (xy 108.255533 46.416215) (xy 108.14404 46.304722) (xy 107.789072 46.65969) (xy 107.084792 46.65969) + (xy 107.084793 46.659689) (xy 106.729826 46.304722) (xy 106.374858 46.65969) (xy 105.670581 46.65969) + (xy 105.315613 46.304722) (xy 104.960645 46.65969) (xy 104.256365 46.65969) (xy 104.256366 46.659689) + (xy 103.901399 46.304722) (xy 103.546431 46.65969) (xy 102.842152 46.65969) (xy 102.842153 46.659689) + (xy 102.487186 46.304722) (xy 102.132218 46.65969) (xy 101.427938 46.65969) (xy 101.427939 46.659689) + (xy 101.072972 46.304722) (xy 100.718004 46.65969) (xy 100.013725 46.65969) (xy 100.013726 46.659689) + (xy 99.658758 46.304721) (xy 99.30379 46.659689) (xy 98.599512 46.659689) (xy 98.244545 46.304722) + (xy 97.889577 46.65969) (xy 97.185298 46.65969) (xy 97.185299 46.659689) (xy 96.830331 46.304721) + (xy 96.475363 46.65969) (xy 95.771086 46.65969) (xy 95.416118 46.304722) (xy 95.06115 46.65969) + (xy 94.35687 46.65969) (xy 94.356871 46.659689) (xy 94.001904 46.304722) (xy 93.646936 46.65969) + (xy 92.942659 46.65969) (xy 92.587691 46.304722) (xy 92.232723 46.65969) (xy 91.528443 46.65969) + (xy 91.528444 46.659689) (xy 91.173477 46.304722) (xy 90.818509 46.65969) (xy 90.11423 46.65969) + (xy 90.114231 46.659689) (xy 89.759264 46.304722) (xy 89.404296 46.65969) (xy 88.700016 46.65969) + (xy 88.700017 46.659689) (xy 88.34505 46.304722) (xy 87.990082 46.65969) (xy 84.457375 46.65969) + (xy 84.457376 46.659689) (xy 84.102409 46.304722) (xy 83.747441 46.65969) (xy 83.043162 46.65969) + (xy 83.043163 46.659689) (xy 82.688195 46.304721) (xy 82.507337 46.485579) (xy 80.040626 46.485579) + (xy 79.972955 46.417908) (xy 81.160795 46.417908) (xy 81.178542 46.421439) (xy 81.270428 46.459499) + (xy 81.28 46.465894) (xy 81.289572 46.459499) (xy 81.381458 46.421439) (xy 81.389165 46.419905) + (xy 81.273982 46.304722) (xy 81.160795 46.417908) (xy 79.972955 46.417908) (xy 79.859769 46.304722) + (xy 79.504801 46.65969) (xy 78.800523 46.65969) (xy 78.445555 46.304722) (xy 78.090587 46.65969) + (xy 77.38631 46.65969) (xy 77.031342 46.304722) (xy 76.676374 46.65969) (xy 75.972096 46.65969) + (xy 75.617128 46.304722) (xy 75.26216 46.65969) (xy 74.577571 46.65969) (xy 74.555232 46.586046) + (xy 74.457685 46.40355) (xy 74.378901 46.307551) (xy 74.32641 46.243589) (xy 74.194148 46.135046) + (xy 74.16645 46.112315) (xy 73.983954 46.014768) (xy 73.785934 45.9547) (xy 73.785932 45.954699) + (xy 73.785934 45.954699) (xy 73.58 45.934417) (xy 73.374067 45.954699) (xy 73.176043 46.014769) + (xy 73.082004 46.065035) (xy 72.99355 46.112315) (xy 72.993548 46.112316) (xy 72.993547 46.112317) + (xy 72.833589 46.243589) (xy 72.702317 46.403547) (xy 72.702315 46.40355) (xy 72.693573 46.419905) + (xy 72.604769 46.586043) (xy 72.604768 46.586045) (xy 72.604768 46.586046) (xy 72.604588 46.586639) + (xy 72.544699 46.784067) (xy 72.524417 46.99) (xy 72.544699 47.195934) (xy 72.551416 47.218077) + (xy 72.552037 47.287943) (xy 72.520435 47.341749) (xy 72.172089 47.690096) (xy 72.110766 47.723581) + (xy 72.041075 47.718597) (xy 71.985141 47.676726) (xy 71.960724 47.611261) (xy 71.975049 47.543963) + (xy 72.055232 47.393954) (xy 72.1153 47.195934) (xy 72.135583 46.99) (xy 72.1153 46.784066) (xy 72.055232 46.586046) + (xy 71.957685 46.40355) (xy 71.878901 46.307551) (xy 71.82641 46.243589) (xy 71.694148 46.135046) + (xy 71.66645 46.112315) (xy 71.483954 46.014768) (xy 71.285934 45.9547) (xy 71.285932 45.954699) + (xy 71.285934 45.954699) (xy 71.08 45.934417) (xy 70.874067 45.954699) (xy 70.676043 46.014769) + (xy 70.582004 46.065035) (xy 70.49355 46.112315) (xy 70.493548 46.112316) (xy 70.493547 46.112317) + (xy 70.333589 46.243589) (xy 70.202317 46.403547) (xy 70.202315 46.40355) (xy 70.193573 46.419905) + (xy 70.104769 46.586043) (xy 70.104768 46.586045) (xy 70.104768 46.586046) (xy 70.104588 46.586639) + (xy 70.044699 46.784067) (xy 70.024417 46.99) (xy 70.044699 47.195932) (xy 70.067687 47.271714) + (xy 70.104768 47.393954) (xy 70.202315 47.57645) (xy 70.243337 47.626436) (xy 70.333587 47.736407) + (xy 70.333588 47.736408) (xy 70.33359 47.73641) (xy 70.49355 47.867685) (xy 70.493551 47.867685) + (xy 70.49594 47.869646) (xy 70.535274 47.927392) (xy 70.537145 47.997237) (xy 70.500958 48.057005) + (xy 70.438202 48.087721) (xy 70.417275 48.0895) (xy 69.713142 48.0895) (xy 69.646103 48.069815) + (xy 69.600348 48.017011) (xy 69.590404 47.947853) (xy 69.61004 47.89661) (xy 69.615964 47.887743) + (xy 69.615964 47.887742) (xy 69.615966 47.88774) (xy 69.6305 47.814674) (xy 69.6305 46.165326) (xy 69.6305 46.165323) + (xy 69.630499 46.165321) (xy 69.615967 46.092264) (xy 69.615966 46.09226) (xy 69.597775 46.065035) + (xy 69.560601 46.009399) (xy 69.478737 45.9547) (xy 69.477739 45.954033) (xy 69.477735 45.954032) + (xy 69.404677 45.9395) (xy 69.404674 45.9395) (xy 67.755326 45.9395) (xy 67.755323 45.9395) (xy 67.682264 45.954032) + (xy 67.68226 45.954033) (xy 67.599399 46.009399) (xy 67.544033 46.09226) (xy 67.544032 46.092264) + (xy 67.5295 46.165321) (xy 67.5295 47.814678) (xy 67.544032 47.887735) (xy 67.544034 47.88774) (xy 67.570528 47.927392) + (xy 67.573379 47.931658) (xy 67.594257 47.998336) (xy 67.575772 48.065716) (xy 67.523793 48.112406) + (xy 67.502372 48.120323) (xy 67.490115 48.123607) (xy 67.490114 48.123607) (xy 67.375986 48.1895) + (xy 67.375983 48.189502) (xy 63.099502 52.465983) (xy 63.0995 52.465986) (xy 63.033608 52.580112) + (xy 62.9995 52.707408) (xy 62.9995 52.867927) (xy 62.979815 52.934966) (xy 62.927011 52.980721) + (xy 62.905755 52.987586) (xy 62.90226 52.989033) (xy 62.819399 53.044399) (xy 62.764033 53.12726) + (xy 62.764032 53.127264) (xy 62.7495 53.200321) (xy 62.7495 53.3505) (xy 62.729815 53.417539) (xy 62.677011 53.463294) + (xy 62.6255 53.4745) (xy 60.950722 53.4745) (xy 60.883683 53.454815) (xy 60.83834 53.402905) (xy 60.80697 53.335632) + (xy 60.789035 53.297171) (xy 60.714049 53.19008) (xy 60.653494 53.103597) (xy 60.526396 52.9765) + (xy 61.874282 52.9765) (xy 62.288731 52.9765) (xy 62.29047 52.970768) (xy 62.294569 52.95931) (xy 62.313316 52.914052) + (xy 62.318518 52.903055) (xy 62.330096 52.881393) (xy 62.336352 52.870954) (xy 62.355585 52.842169) + (xy 62.182099 52.668683) (xy 61.874282 52.9765) (xy 60.526396 52.9765) (xy 60.486402 52.936506) + (xy 60.486395 52.936501) (xy 60.483614 52.934554) (xy 60.443072 52.906166) (xy 60.292834 52.800967) + (xy 60.29283 52.800965) (xy 60.258934 52.785159) (xy 60.078663 52.701097) (xy 60.078659 52.701096) + (xy 60.078655 52.701094) (xy 59.850413 52.639938) (xy 59.850403 52.639936) (xy 59.615001 52.619341) + (xy 59.614999 52.619341) (xy 59.379596 52.639936) (xy 59.379586 52.639938) (xy 59.151344 52.701094) + (xy 59.151337 52.701096) (xy 59.151337 52.701097) (xy 59.137816 52.707401) (xy 58.937171 52.800964) + (xy 58.937169 52.800965) (xy 58.743597 52.936505) (xy 58.576505 53.103597) (xy 58.440965 53.297169) + (xy 58.440964 53.297171) (xy 58.341098 53.511335) (xy 58.341094 53.511344) (xy 58.279938 53.739586) + (xy 58.279936 53.739596) (xy 58.259341 53.974999) (xy 58.259341 53.975) (xy 58.279936 54.210403) + (xy 58.279938 54.210413) (xy 58.341094 54.438655) (xy 58.341096 54.438659) (xy 58.341097 54.438663) + (xy 58.413795 54.594564) (xy 58.440965 54.65283) (xy 58.440967 54.652834) (xy 58.54611 54.802993) + (xy 58.576505 54.846401) (xy 58.743599 55.013495) (xy 58.822307 55.068607) (xy 58.937165 55.149032) + (xy 58.937167 55.149033) (xy 58.93717 55.149035) (xy 59.151337 55.248903) (xy 59.151343 55.248904) + (xy 59.151344 55.248905) (xy 59.199731 55.26187) (xy 59.379592 55.310063) (xy 59.556034 55.3255) + (xy 59.614999 55.330659) (xy 59.615 55.330659) (xy 59.615001 55.330659) (xy 59.673966 55.3255) (xy 59.850408 55.310063) + (xy 59.988409 55.273086) (xy 60.058256 55.274749) (xy 60.116119 55.313911) (xy 60.143623 55.37814) + (xy 60.1445 55.392861) (xy 60.1445 58.130108) (xy 60.1445 58.261892) (xy 60.147854 58.274408) (xy 60.178608 58.389187) (xy 60.194953 58.417496) (xy 60.2445 58.503314) (xy 60.244502 58.503316) (xy 60.947181 59.205995) (xy 60.980666 59.267318) (xy 60.9835 59.293676) (xy 60.9835 59.704017) (xy 60.98916 59.73975) (xy 60.998354 59.797804) (xy 61.05595 59.910842) (xy 61.055952 59.910844) (xy 61.055954 59.910847) (xy 61.145652 60.000545) @@ -41247,429 +41776,430 @@ (xy 57.252227 55.280148) (xy 57.253408 55.285749) (xy 57.257638 55.308374) (xy 57.258561 55.314035) (xy 57.260157 55.325479) (xy 57.260817 55.331165) (xy 57.272716 55.459574) (xy 57.58732 55.144971) (xy 57.232351 54.790002) (xy 57.123294 54.899059) (xy 56.545116 54.899059) (xy 56.477996 54.810177) - (xy 56.472693 54.805343) (xy 56.353841 54.696995) (xy 56.317001 54.663411) (xy 56.316997 54.663408) - (xy 56.316992 54.663405) (xy 56.131782 54.548728) (xy 56.131776 54.548725) (xy 56.046682 54.515759) - (xy 55.928638 54.470029) (xy 55.714495 54.429999) (xy 55.496643 54.429999) (xy 55.2825 54.470029) - (xy 55.239452 54.486706) (xy 55.079361 54.548725) (xy 55.079355 54.548728) (xy 54.894145 54.663405) - (xy 54.894135 54.663412) (xy 54.733143 54.810175) (xy 54.601857 54.984026) (xy 54.504753 55.179036) - (xy 54.477432 55.27506) (xy 54.459099 55.339496) (xy 54.445133 55.38858) (xy 54.425033 55.605498) - (xy 54.425033 55.605499) (xy 54.445133 55.822417) (xy 54.445133 55.822419) (xy 54.445134 55.822422) - (xy 54.463832 55.88814) (xy 54.504751 56.031956) (xy 54.504754 56.031963) (xy 54.512637 56.047795) - (xy 54.524896 56.116581) (xy 54.49802 56.181075) (xy 54.489316 56.190744) (xy 54.140058 56.540004) - (xy 54.033259 56.646803) (xy 54.008043 56.672013) (xy 53.996538 56.683515) (xy 53.973974 56.722598) - (xy 53.973966 56.722612) (xy 53.947096 56.769136) (xy 53.934838 56.814883) (xy 53.934835 56.814896) - (xy 53.9215 56.864638) (xy 53.9215 56.914066) (xy 53.921493 56.963484) (xy 52.334765 56.963484) - (xy 52.282604 56.911323) (xy 51.927635 57.266291) (xy 51.223359 57.266291) (xy 50.868391 56.911323) - (xy 50.513422 57.266291) (xy 49.809145 57.266291) (xy 49.454177 56.911323) (xy 49.099208 57.266291) - (xy 48.394932 57.266291) (xy 48.039963 56.911322) (xy 47.684995 57.266291) (xy 46.980718 57.266291) - (xy 46.62575 56.911323) (xy 46.270781 57.266291) (xy 45.566504 57.266291) (xy 45.211536 56.911322) - (xy 44.856567 57.266291) (xy 44.152291 57.266291) (xy 43.797323 56.911323) (xy 43.442354 57.266291) - (xy 42.738077 57.266291) (xy 42.383109 56.911323) (xy 42.02814 57.266291) (xy 41.323864 57.266291) - (xy 40.968896 56.911323) (xy 40.613927 57.266291) (xy 39.90965 57.266291) (xy 39.554682 56.911323) - (xy 39.199713 57.266291) (xy 38.158219 57.266291) (xy 38.165253 57.15) (xy 38.146258 56.835971) - (xy 38.089549 56.526522) (xy 38.070963 56.466879) (xy 38.584912 56.466879) (xy 38.626335 56.692913) - (xy 38.847575 56.914153) (xy 39.202543 56.559185) (xy 39.906821 56.559185) (xy 40.261789 56.914153) - (xy 40.616757 56.559185) (xy 41.321034 56.559185) (xy 41.676002 56.914153) (xy 42.030971 56.559185) - (xy 42.735248 56.559185) (xy 43.090216 56.914153) (xy 43.445184 56.559185) (xy 44.149462 56.559185) - (xy 44.50443 56.914153) (xy 44.859398 56.559185) (xy 45.563675 56.559185) (xy 45.918643 56.914153) - (xy 46.273611 56.559185) (xy 46.977889 56.559185) (xy 47.332857 56.914153) (xy 47.687825 56.559185) - (xy 48.392102 56.559185) (xy 48.74707 56.914153) (xy 49.102038 56.559185) (xy 49.806316 56.559185) - (xy 50.161284 56.914153) (xy 50.516252 56.559185) (xy 51.220529 56.559185) (xy 51.575497 56.914153) - (xy 51.930465 56.559185) (xy 52.634743 56.559185) (xy 52.989711 56.914153) (xy 53.344679 56.559185) - (xy 52.989711 56.204217) (xy 52.634743 56.559185) (xy 51.930465 56.559185) (xy 51.575497 56.204216) - (xy 51.220529 56.559185) (xy 50.516252 56.559185) (xy 50.161284 56.204217) (xy 49.806316 56.559185) - (xy 49.102038 56.559185) (xy 48.74707 56.204217) (xy 48.392102 56.559185) (xy 47.687825 56.559185) - (xy 47.332857 56.204217) (xy 46.977889 56.559185) (xy 46.273611 56.559185) (xy 45.918643 56.204217) - (xy 45.563675 56.559185) (xy 44.859398 56.559185) (xy 44.50443 56.204217) (xy 44.149462 56.559185) - (xy 43.445184 56.559185) (xy 43.090216 56.204217) (xy 42.735248 56.559185) (xy 42.030971 56.559185) - (xy 41.676002 56.204216) (xy 41.321034 56.559185) (xy 40.616757 56.559185) (xy 40.261789 56.204217) - (xy 39.906821 56.559185) (xy 39.202543 56.559185) (xy 38.847574 56.204216) (xy 38.584912 56.466879) - (xy 38.070963 56.466879) (xy 38.049011 56.396431) (xy 37.99596 56.226183) (xy 37.995956 56.226172) - (xy 37.995954 56.226165) (xy 37.866837 55.939279) (xy 37.704081 55.670048) (xy 37.704078 55.670044) - (xy 37.704075 55.670039) (xy 37.649797 55.600759) (xy 38.244118 55.600759) (xy 38.296905 55.688079) - (xy 38.298786 55.6913) (xy 38.302492 55.697869) (xy 38.304287 55.701165) (xy 38.31128 55.714487) - (xy 38.312973 55.717836) (xy 38.316284 55.724636) (xy 38.317874 55.728029) (xy 38.411486 55.936027) - (xy 38.495435 55.852078) (xy 39.199714 55.852078) (xy 39.554682 56.207046) (xy 39.90965 55.852078) - (xy 40.613928 55.852078) (xy 40.968896 56.207046) (xy 41.323864 55.852078) (xy 42.028141 55.852078) - (xy 42.383109 56.207046) (xy 42.738077 55.852078) (xy 43.442355 55.852078) (xy 43.797323 56.207046) - (xy 44.152291 55.852078) (xy 44.856568 55.852078) (xy 45.211536 56.207046) (xy 45.566504 55.852078) - (xy 46.270782 55.852078) (xy 46.62575 56.207046) (xy 46.980718 55.852078) (xy 47.684995 55.852078) - (xy 48.039963 56.207046) (xy 48.394932 55.852078) (xy 49.099209 55.852078) (xy 49.454177 56.207046) - (xy 49.809145 55.852078) (xy 50.513423 55.852078) (xy 50.868391 56.207046) (xy 51.223359 55.852078) - (xy 51.927636 55.852078) (xy 52.282604 56.207046) (xy 52.637572 55.852078) (xy 53.34185 55.852078) - (xy 53.696817 56.207045) (xy 53.961599 55.942263) (xy 53.961555 55.942092) (xy 53.958911 55.93085) - (xy 53.95773 55.925249) (xy 53.9535 55.902624) (xy 53.952577 55.896963) (xy 53.950981 55.885519) - (xy 53.950321 55.879834) (xy 53.937123 55.737415) (xy 53.696818 55.49711) (xy 53.34185 55.852078) - (xy 52.637572 55.852078) (xy 52.282604 55.49711) (xy 51.927636 55.852078) (xy 51.223359 55.852078) - (xy 50.868391 55.49711) (xy 50.513423 55.852078) (xy 49.809145 55.852078) (xy 49.454177 55.49711) - (xy 49.099209 55.852078) (xy 48.394932 55.852078) (xy 48.039963 55.497109) (xy 47.684995 55.852078) - (xy 46.980718 55.852078) (xy 46.62575 55.49711) (xy 46.270782 55.852078) (xy 45.566504 55.852078) - (xy 45.211536 55.497109) (xy 44.856568 55.852078) (xy 44.152291 55.852078) (xy 43.797323 55.49711) - (xy 43.442355 55.852078) (xy 42.738077 55.852078) (xy 42.383109 55.49711) (xy 42.028141 55.852078) - (xy 41.323864 55.852078) (xy 40.968896 55.49711) (xy 40.613928 55.852078) (xy 39.90965 55.852078) - (xy 39.554682 55.49711) (xy 39.199714 55.852078) (xy 38.495435 55.852078) (xy 38.495436 55.852077) - (xy 38.244118 55.600759) (xy 37.649797 55.600759) (xy 37.510057 55.422394) (xy 37.287605 55.199942) - (xy 37.21744 55.144971) (xy 38.492607 55.144971) (xy 38.847575 55.499939) (xy 39.202543 55.144971) - (xy 39.906821 55.144971) (xy 40.261789 55.499939) (xy 40.616757 55.144971) (xy 41.321034 55.144971) - (xy 41.676002 55.499939) (xy 42.030971 55.144971) (xy 42.735248 55.144971) (xy 43.090216 55.499939) - (xy 43.445184 55.144971) (xy 44.149462 55.144971) (xy 44.50443 55.499939) (xy 44.859398 55.144971) - (xy 45.563675 55.144971) (xy 45.918643 55.499939) (xy 46.273611 55.144971) (xy 46.977889 55.144971) - (xy 47.332857 55.499939) (xy 47.687825 55.144971) (xy 48.392102 55.144971) (xy 48.74707 55.499939) - (xy 49.102038 55.144971) (xy 49.806316 55.144971) (xy 50.161284 55.499939) (xy 50.516252 55.144971) - (xy 51.220529 55.144971) (xy 51.575497 55.499939) (xy 51.930465 55.144971) (xy 52.634743 55.144971) - (xy 52.989711 55.499939) (xy 53.344679 55.144971) (xy 52.989711 54.790003) (xy 52.634743 55.144971) - (xy 51.930465 55.144971) (xy 51.575497 54.790002) (xy 51.220529 55.144971) (xy 50.516252 55.144971) - (xy 50.161284 54.790003) (xy 49.806316 55.144971) (xy 49.102038 55.144971) (xy 48.74707 54.790003) - (xy 48.392102 55.144971) (xy 47.687825 55.144971) (xy 47.332857 54.790003) (xy 46.977889 55.144971) - (xy 46.273611 55.144971) (xy 45.918643 54.790003) (xy 45.563675 55.144971) (xy 44.859398 55.144971) - (xy 44.50443 54.790003) (xy 44.149462 55.144971) (xy 43.445184 55.144971) (xy 43.090216 54.790003) - (xy 42.735248 55.144971) (xy 42.030971 55.144971) (xy 41.676002 54.790002) (xy 41.321034 55.144971) - (xy 40.616757 55.144971) (xy 40.261789 54.790003) (xy 39.906821 55.144971) (xy 39.202543 55.144971) - (xy 38.847575 54.790003) (xy 38.492607 55.144971) (xy 37.21744 55.144971) (xy 37.03996 55.005924) - (xy 37.018305 54.992833) (xy 36.770721 54.843163) (xy 36.483835 54.714046) (xy 36.48383 54.714044) - (xy 36.483827 54.714043) (xy 36.483816 54.714039) (xy 36.183486 54.620453) (xy 36.183482 54.620452) - (xy 36.183478 54.620451) (xy 35.874029 54.563742) (xy 35.874028 54.563741) (xy 35.874023 54.563741) - (xy 35.56 54.544747) (xy 35.245976 54.563741) (xy 35.190246 54.573954) (xy 34.936522 54.620451) - (xy 34.936519 54.620451) (xy 34.936513 54.620453) (xy 34.636183 54.714039) (xy 34.636172 54.714043) - (xy 34.636166 54.714045) (xy 34.636165 54.714046) (xy 34.552779 54.751575) (xy 34.35325 54.841376) - (xy 34.349279 54.843163) (xy 34.329806 54.854935) (xy 34.080039 55.005924) (xy 33.832394 55.199942) - (xy 33.609942 55.422394) (xy 33.415924 55.670039) (xy 33.320035 55.828659) (xy 33.253429 55.93884) - (xy 33.253162 55.939281) (xy 33.253161 55.939283) (xy 33.204382 56.047665) (xy 33.132344 56.207729) - (xy 33.124043 56.226172) (xy 33.124039 56.226183) (xy 33.030453 56.526513) (xy 33.030451 56.526519) - (xy 33.030451 56.526522) (xy 32.990439 56.744861) (xy 32.973741 56.835976) (xy 32.954747 57.15) - (xy 32.456747 57.15) (xy 32.456747 57.142477) (xy 32.456804 57.138734) (xy 32.457032 57.131185) - (xy 32.457201 57.127442) (xy 32.469413 56.925523) (xy 32.128645 57.266291) (xy 31.115 57.266291) - (xy 31.115 56.876645) (xy 31.739 56.876645) (xy 31.776508 56.914153) (xy 32.131476 56.559185) (xy 32.042379 56.470088) - (xy 31.739 56.773467) (xy 31.739 56.876645) (xy 31.115 56.876645) (xy 31.115 56.566362) (xy 31.134685 56.499323) - (xy 31.151319 56.478681) (xy 31.51205 56.11795) (xy 32.394518 56.11795) (xy 32.483613 56.207045) - (xy 32.670771 56.019887) (xy 32.774939 55.788435) (xy 32.749486 55.762982) (xy 32.394518 56.11795) - (xy 31.51205 56.11795) (xy 33.406002 54.223998) (xy 36.585151 54.223998) (xy 36.639181 54.240835) - (xy 36.642745 54.242004) (xy 36.649899 54.244473) (xy 36.653431 54.245753) (xy 36.667498 54.25109) - (xy 36.670976 54.25247) (xy 36.677939 54.255355) (xy 36.681366 54.256835) (xy 36.981971 54.392126) - (xy 36.985364 54.393716) (xy 36.992164 54.397027) (xy 36.995513 54.39872) (xy 37.008835 54.405713) - (xy 37.012131 54.407508) (xy 37.0187 54.411214) (xy 37.021921 54.413095) (xy 37.074316 54.444768) - (xy 37.081221 54.437864) (xy 37.785501 54.437864) (xy 38.140469 54.792832) (xy 38.495437 54.437864) - (xy 39.199714 54.437864) (xy 39.554682 54.792832) (xy 39.90965 54.437864) (xy 40.613928 54.437864) - (xy 40.968896 54.792832) (xy 41.323864 54.437864) (xy 42.028141 54.437864) (xy 42.383109 54.792832) - (xy 42.738077 54.437864) (xy 43.442355 54.437864) (xy 43.797323 54.792832) (xy 44.152291 54.437864) - (xy 44.856568 54.437864) (xy 45.211536 54.792832) (xy 45.566504 54.437864) (xy 46.270782 54.437864) - (xy 46.62575 54.792832) (xy 46.980718 54.437864) (xy 47.684995 54.437864) (xy 48.039963 54.792832) - (xy 48.394932 54.437864) (xy 49.099209 54.437864) (xy 49.454177 54.792832) (xy 49.809145 54.437864) - (xy 50.513423 54.437864) (xy 50.868391 54.792832) (xy 51.223359 54.437864) (xy 51.927636 54.437864) - (xy 52.282604 54.792832) (xy 52.637572 54.437864) (xy 53.34185 54.437864) (xy 53.696818 54.792832) - (xy 54.051786 54.437864) (xy 53.773228 54.159306) (xy 56.448834 54.159306) (xy 56.588952 54.246063) - (xy 56.593754 54.249192) (xy 56.603292 54.255726) (xy 56.607946 54.259075) (xy 56.626313 54.272947) - (xy 56.630804 54.276505) (xy 56.639684 54.28388) (xy 56.643998 54.287634) (xy 56.822001 54.449904) - (xy 56.826144 54.45386) (xy 56.834314 54.46203) (xy 56.838269 54.466172) (xy 56.844771 54.473304) - (xy 56.880212 54.437863) (xy 57.584489 54.437863) (xy 57.939457 54.792831) (xy 57.951261 54.781026) - (xy 57.885164 54.63928) (xy 57.882986 54.63433) (xy 57.878813 54.624256) (xy 57.876853 54.619217) - (xy 57.869417 54.59879) (xy 57.867676 54.593663) (xy 57.864393 54.583251) (xy 57.862879 54.578055) - (xy 57.796092 54.328799) (xy 57.794805 54.323537) (xy 57.792444 54.312884) (xy 57.79139 54.307587) - (xy 57.787615 54.28618) (xy 57.786791 54.280824) (xy 57.785368 54.27001) (xy 57.78478 54.26464) - (xy 57.782602 54.23975) (xy 57.584489 54.437863) (xy 56.880212 54.437863) (xy 56.525244 54.082895) - (xy 56.448834 54.159306) (xy 53.773228 54.159306) (xy 53.696818 54.082896) (xy 53.34185 54.437864) - (xy 52.637572 54.437864) (xy 52.282604 54.082896) (xy 51.927636 54.437864) (xy 51.223359 54.437864) - (xy 50.868391 54.082896) (xy 50.513423 54.437864) (xy 49.809145 54.437864) (xy 49.454177 54.082896) - (xy 49.099209 54.437864) (xy 48.394932 54.437864) (xy 48.039963 54.082895) (xy 47.684995 54.437864) - (xy 46.980718 54.437864) (xy 46.62575 54.082896) (xy 46.270782 54.437864) (xy 45.566504 54.437864) - (xy 45.211536 54.082895) (xy 44.856568 54.437864) (xy 44.152291 54.437864) (xy 43.797323 54.082896) - (xy 43.442355 54.437864) (xy 42.738077 54.437864) (xy 42.383109 54.082896) (xy 42.028141 54.437864) - (xy 41.323864 54.437864) (xy 40.968896 54.082896) (xy 40.613928 54.437864) (xy 39.90965 54.437864) - (xy 39.554682 54.082896) (xy 39.199714 54.437864) (xy 38.495437 54.437864) (xy 38.140469 54.082896) - (xy 37.785501 54.437864) (xy 37.081221 54.437864) (xy 37.081222 54.437863) (xy 36.726254 54.082895) - (xy 36.585151 54.223998) (xy 33.406002 54.223998) (xy 33.633371 53.996629) (xy 34.515838 53.996629) - (xy 34.604935 54.085726) (xy 34.959903 53.730758) (xy 34.959902 53.730757) (xy 35.664179 53.730757) - (xy 36.017086 54.083664) (xy 36.02057 54.084302) (xy 36.374115 53.730757) (xy 37.078393 53.730757) - (xy 37.433362 54.085726) (xy 37.78833 53.730757) (xy 38.492606 53.730757) (xy 38.847575 54.085726) - (xy 39.202543 53.730757) (xy 39.90682 53.730757) (xy 40.261789 54.085726) (xy 40.616757 53.730757) - (xy 41.321034 53.730757) (xy 41.676002 54.085726) (xy 42.030971 53.730757) (xy 42.735247 53.730757) - (xy 43.090216 54.085726) (xy 43.445184 53.730757) (xy 44.149461 53.730757) (xy 44.50443 54.085726) - (xy 44.859398 53.730757) (xy 45.563674 53.730757) (xy 45.918643 54.085726) (xy 46.273611 53.730757) - (xy 46.977888 53.730757) (xy 47.332857 54.085726) (xy 47.687825 53.730757) (xy 48.392101 53.730757) - (xy 48.74707 54.085726) (xy 49.102038 53.730757) (xy 49.806315 53.730757) (xy 50.161284 54.085726) - (xy 50.516251 53.730758) (xy 51.220529 53.730758) (xy 51.575497 54.085726) (xy 51.919482 53.74174) - (xy 51.903697 53.740278) (xy 51.898019 53.739619) (xy 51.886578 53.738024) (xy 51.880914 53.737101) - (xy 51.846977 53.730757) (xy 52.634742 53.730757) (xy 52.989711 54.085726) (xy 53.344679 53.730757) - (xy 54.048956 53.730757) (xy 54.403925 54.085726) (xy 54.758893 53.730757) (xy 55.463169 53.730757) - (xy 55.664411 53.931999) (xy 55.726004 53.931999) (xy 55.731735 53.932132) (xy 55.743276 53.932666) - (xy 55.748988 53.933062) (xy 55.771907 53.935186) (xy 55.777585 53.935845) (xy 55.789026 53.93744) - (xy 55.79469 53.938363) (xy 55.938599 53.965264) (xy 56.173105 53.730757) (xy 56.877383 53.730757) - (xy 57.232352 54.085726) (xy 57.58732 53.730757) (xy 57.232352 53.375789) (xy 56.877383 53.730757) - (xy 56.173105 53.730757) (xy 55.818138 53.375789) (xy 55.463169 53.730757) (xy 54.758893 53.730757) - (xy 54.403925 53.375789) (xy 54.048956 53.730757) (xy 53.344679 53.730757) (xy 53.047183 53.433261) - (xy 52.848624 53.556203) (xy 52.843687 53.559105) (xy 52.833601 53.564723) (xy 52.828539 53.567391) - (xy 52.807935 53.577652) (xy 52.802748 53.580087) (xy 52.792175 53.584756) (xy 52.786877 53.586951) - (xy 52.773282 53.592217) (xy 52.634742 53.730757) (xy 51.846977 53.730757) (xy 51.644145 53.692841) - (xy 51.638535 53.691657) (xy 51.627287 53.689011) (xy 51.621743 53.687571) (xy 51.599604 53.681271) - (xy 51.594138 53.679578) (xy 51.583188 53.675908) (xy 51.5778 53.673963) (xy 51.361224 53.590062) - (xy 51.220529 53.730758) (xy 50.516251 53.730758) (xy 50.516252 53.730757) (xy 50.161284 53.375789) - (xy 49.806315 53.730757) (xy 49.102038 53.730757) (xy 48.74707 53.375789) (xy 48.392101 53.730757) - (xy 47.687825 53.730757) (xy 47.332857 53.375789) (xy 46.977888 53.730757) (xy 46.273611 53.730757) - (xy 45.918643 53.375789) (xy 45.563674 53.730757) (xy 44.859398 53.730757) (xy 44.50443 53.375789) - (xy 44.149461 53.730757) (xy 43.445184 53.730757) (xy 43.090216 53.375789) (xy 42.735247 53.730757) - (xy 42.030971 53.730757) (xy 41.676002 53.375789) (xy 41.321034 53.730757) (xy 40.616757 53.730757) - (xy 40.261789 53.375789) (xy 39.90682 53.730757) (xy 39.202543 53.730757) (xy 38.847575 53.375789) - (xy 38.492606 53.730757) (xy 37.78833 53.730757) (xy 37.433362 53.375789) (xy 37.078393 53.730757) - (xy 36.374115 53.730757) (xy 36.019148 53.375789) (xy 35.664179 53.730757) (xy 34.959902 53.730757) - (xy 34.870806 53.641661) (xy 34.515838 53.996629) (xy 33.633371 53.996629) (xy 34.340478 53.289522) - (xy 35.222944 53.289522) (xy 35.312041 53.378619) (xy 35.667008 53.023651) (xy 36.371287 53.023651) - (xy 36.726255 53.378619) (xy 37.081223 53.023651) (xy 37.785501 53.023651) (xy 38.140469 53.378619) - (xy 38.495437 53.023651) (xy 39.199714 53.023651) (xy 39.554682 53.378619) (xy 39.90965 53.023651) - (xy 40.613928 53.023651) (xy 40.968896 53.378619) (xy 41.323864 53.023651) (xy 42.028141 53.023651) - (xy 42.383109 53.378619) (xy 42.738077 53.023651) (xy 43.442355 53.023651) (xy 43.797323 53.378619) - (xy 44.152291 53.023651) (xy 44.856568 53.023651) (xy 45.211536 53.378619) (xy 45.566504 53.023651) - (xy 46.270782 53.023651) (xy 46.62575 53.378619) (xy 46.980718 53.023651) (xy 47.684995 53.023651) - (xy 48.039963 53.378619) (xy 48.394932 53.023651) (xy 49.099209 53.023651) (xy 49.454177 53.378619) - (xy 49.809145 53.023651) (xy 49.809144 53.02365) (xy 50.513422 53.02365) (xy 50.86839 53.378618) - (xy 50.941406 53.305602) (xy 50.853603 53.22556) (xy 50.84946 53.221604) (xy 50.84129 53.213434) - (xy 50.837335 53.209292) (xy 50.821828 53.192282) (xy 50.818063 53.187956) (xy 50.810684 53.179069) - (xy 50.807131 53.174583) (xy 50.661974 52.982364) (xy 50.658627 52.977712) (xy 50.652097 52.968179) - (xy 50.648969 52.963378) (xy 50.636852 52.943807) (xy 50.633954 52.938876) (xy 50.628334 52.928787) - (xy 50.625661 52.923715) (xy 50.621571 52.915501) (xy 50.513422 53.02365) (xy 49.809144 53.02365) - (xy 49.454177 52.668683) (xy 49.099209 53.023651) (xy 48.394932 53.023651) (xy 48.039963 52.668682) - (xy 47.684995 53.023651) (xy 46.980718 53.023651) (xy 46.62575 52.668683) (xy 46.270782 53.023651) - (xy 45.566504 53.023651) (xy 45.211536 52.668682) (xy 44.856568 53.023651) (xy 44.152291 53.023651) - (xy 43.797323 52.668683) (xy 43.442355 53.023651) (xy 42.738077 53.023651) (xy 42.383109 52.668683) - (xy 42.028141 53.023651) (xy 41.323864 53.023651) (xy 40.968896 52.668683) (xy 40.613928 53.023651) - (xy 39.90965 53.023651) (xy 39.554682 52.668683) (xy 39.199714 53.023651) (xy 38.495437 53.023651) - (xy 38.140469 52.668683) (xy 37.785501 53.023651) (xy 37.081223 53.023651) (xy 36.726255 52.668683) - (xy 36.371287 53.023651) (xy 35.667008 53.023651) (xy 35.667009 53.02365) (xy 35.577913 52.934554) - (xy 35.222944 53.289522) (xy 34.340478 53.289522) (xy 35.047584 52.582416) (xy 35.930052 52.582416) - (xy 36.019148 52.671512) (xy 36.374116 52.316544) (xy 37.078394 52.316544) (xy 37.433362 52.671512) - (xy 37.78833 52.316544) (xy 38.492607 52.316544) (xy 38.847575 52.671512) (xy 39.202543 52.316544) - (xy 39.906821 52.316544) (xy 40.261789 52.671512) (xy 40.616757 52.316544) (xy 41.321034 52.316544) - (xy 41.676002 52.671512) (xy 42.030971 52.316544) (xy 42.735248 52.316544) (xy 43.090216 52.671512) - (xy 43.445184 52.316544) (xy 44.149462 52.316544) (xy 44.50443 52.671512) (xy 44.859398 52.316544) - (xy 45.563675 52.316544) (xy 45.918643 52.671512) (xy 46.273611 52.316544) (xy 46.977889 52.316544) - (xy 47.332857 52.671512) (xy 47.687825 52.316544) (xy 48.392102 52.316544) (xy 48.74707 52.671512) - (xy 49.102038 52.316544) (xy 49.806316 52.316544) (xy 50.161283 52.671511) (xy 50.426065 52.406729) - (xy 50.426021 52.406558) (xy 50.423377 52.395316) (xy 50.422196 52.389715) (xy 50.417966 52.36709) - (xy 50.417043 52.361429) (xy 50.415447 52.349985) (xy 50.414787 52.3443) (xy 50.401589 52.201881) - (xy 50.269673 52.069965) (xy 50.889499 52.069965) (xy 50.909599 52.286883) (xy 50.909599 52.286885) - (xy 50.9096 52.286888) (xy 50.962603 52.473174) (xy 50.969219 52.496427) (xy 51.061025 52.680797) - (xy 51.066323 52.691437) (xy 51.197608 52.865287) (xy 51.358603 53.012053) (xy 51.35861 53.012057) - (xy 51.358611 53.012058) (xy 51.543821 53.126735) (xy 51.543827 53.126738) (xy 51.545185 53.127264) - (xy 51.746966 53.205435) (xy 51.961109 53.245465) (xy 51.961111 53.245465) (xy 52.178959 53.245465) - (xy 52.178961 53.245465) (xy 52.393104 53.205435) (xy 52.596245 53.126737) (xy 52.666056 53.083512) - (xy 53.401711 53.083512) (xy 53.696818 53.378619) (xy 54.051786 53.023651) (xy 54.756063 53.023651) - (xy 55.111031 53.378619) (xy 55.465999 53.023651) (xy 56.170277 53.023651) (xy 56.525245 53.378619) - (xy 56.880213 53.023651) (xy 57.58449 53.023651) (xy 57.881088 53.320249) (xy 57.882986 53.31567) - (xy 57.885164 53.31072) (xy 57.994218 53.076854) (xy 57.996615 53.071994) (xy 58.001654 53.062316) - (xy 58.004253 53.057579) (xy 58.015122 53.038754) (xy 58.017922 53.034139) (xy 58.023782 53.024939) - (xy 58.026793 53.020433) (xy 58.135689 52.864913) (xy 57.939458 52.668682) (xy 57.58449 53.023651) - (xy 56.880213 53.023651) (xy 56.525245 52.668683) (xy 56.170277 53.023651) (xy 55.465999 53.023651) - (xy 55.111031 52.668683) (xy 54.756063 53.023651) (xy 54.051786 53.023651) (xy 53.696817 52.668682) - (xy 53.586435 52.779064) (xy 53.514409 52.923715) (xy 53.511736 52.928787) (xy 53.506116 52.938876) - (xy 53.503218 52.943807) (xy 53.491101 52.963378) (xy 53.487973 52.968179) (xy 53.481443 52.977712) - (xy 53.478096 52.982364) (xy 53.401711 53.083512) (xy 52.666056 53.083512) (xy 52.781467 53.012053) - (xy 52.942462 52.865287) (xy 53.073747 52.691437) (xy 53.170852 52.496424) (xy 53.222032 52.316544) - (xy 54.048957 52.316544) (xy 54.403925 52.671512) (xy 54.758893 52.316544) (xy 55.46317 52.316544) - (xy 55.818138 52.671512) (xy 56.173106 52.316544) (xy 56.877384 52.316544) (xy 57.232352 52.671512) - (xy 57.58732 52.316544) (xy 58.291597 52.316544) (xy 58.484814 52.509761) (xy 58.660433 52.386793) - (xy 58.664939 52.383782) (xy 58.674139 52.377922) (xy 58.678754 52.375122) (xy 58.697579 52.364253) - (xy 58.702316 52.361654) (xy 58.711994 52.356615) (xy 58.716854 52.354218) (xy 58.797645 52.316544) - (xy 61.120024 52.316544) (xy 61.474992 52.671512) (xy 61.82996 52.316544) (xy 62.534238 52.316544) - (xy 62.583655 52.365961) (xy 62.590346 52.352396) (xy 62.594171 52.34524) (xy 62.676377 52.202857) - (xy 62.68066 52.19597) (xy 62.689754 52.182359) (xy 62.694484 52.175759) (xy 62.714344 52.149878) - (xy 62.719492 52.143604) (xy 62.730283 52.1313) (xy 62.735828 52.125381) (xy 62.894419 51.966789) - (xy 62.889206 51.961576) (xy 62.534238 52.316544) (xy 61.82996 52.316544) (xy 61.474992 51.961576) - (xy 61.120024 52.316544) (xy 58.797645 52.316544) (xy 58.936693 52.251704) (xy 58.827591 52.142602) - (xy 59.879751 52.142602) (xy 59.90464 52.14478) (xy 59.91001 52.145368) (xy 59.920824 52.146791) - (xy 59.92618 52.147615) (xy 59.947587 52.15139) (xy 59.952884 52.152444) (xy 59.963537 52.154805) - (xy 59.968799 52.156092) (xy 60.218055 52.222879) (xy 60.223251 52.224393) (xy 60.233663 52.227676) - (xy 60.23879 52.229417) (xy 60.259217 52.236853) (xy 60.264256 52.238813) (xy 60.27433 52.242986) - (xy 60.27928 52.245164) (xy 60.401237 52.302034) (xy 60.060778 51.961575) (xy 59.879751 52.142602) - (xy 58.827591 52.142602) (xy 58.646565 51.961576) (xy 58.291597 52.316544) (xy 57.58732 52.316544) - (xy 57.232352 51.961576) (xy 56.877384 52.316544) (xy 56.173106 52.316544) (xy 55.818138 51.961576) - (xy 55.46317 52.316544) (xy 54.758893 52.316544) (xy 54.403925 51.961576) (xy 54.048957 52.316544) - (xy 53.222032 52.316544) (xy 53.23047 52.286888) (xy 53.250571 52.069965) (xy 53.24856 52.048268) - (xy 53.237888 51.933098) (xy 53.23047 51.853042) (xy 53.170852 51.643506) (xy 53.073747 51.448493) - (xy 53.009582 51.363525) (xy 53.58776 51.363525) (xy 53.621773 51.431831) (xy 53.624206 51.437013) - (xy 53.628873 51.447582) (xy 53.631067 51.452878) (xy 53.639382 51.474342) (xy 53.641327 51.47973) - (xy 53.644998 51.490683) (xy 53.646692 51.496154) (xy 53.712608 51.727827) (xy 53.714049 51.733372) - (xy 53.716693 51.744614) (xy 53.717874 51.750215) (xy 53.722104 51.77284) (xy 53.723027 51.778501) - (xy 53.724623 51.789945) (xy 53.725283 51.795631) (xy 53.737182 51.92404) (xy 54.051786 51.609437) - (xy 54.756063 51.609437) (xy 55.111031 51.964405) (xy 55.465999 51.609437) (xy 56.170277 51.609437) - (xy 56.525245 51.964405) (xy 56.880213 51.609437) (xy 57.58449 51.609437) (xy 57.939458 51.964405) - (xy 58.294426 51.609437) (xy 58.998704 51.609437) (xy 59.353672 51.964405) (xy 59.70864 51.609437) - (xy 60.412918 51.609437) (xy 60.767886 51.964405) (xy 61.122854 51.609437) (xy 61.827131 51.609437) - (xy 62.182099 51.964405) (xy 62.537067 51.609437) (xy 63.241345 51.609437) (xy 63.246558 51.61465) - (xy 63.601526 51.259682) (xy 63.596313 51.254469) (xy 63.241345 51.609437) (xy 62.537067 51.609437) - (xy 62.182099 51.254469) (xy 61.827131 51.609437) (xy 61.122854 51.609437) (xy 60.767886 51.254469) - (xy 60.412918 51.609437) (xy 59.70864 51.609437) (xy 59.353672 51.254469) (xy 58.998704 51.609437) - (xy 58.294426 51.609437) (xy 57.939458 51.254468) (xy 57.58449 51.609437) (xy 56.880213 51.609437) - (xy 56.525245 51.254469) (xy 56.170277 51.609437) (xy 55.465999 51.609437) (xy 55.111031 51.254469) - (xy 54.756063 51.609437) (xy 54.051786 51.609437) (xy 53.696817 51.254468) (xy 53.58776 51.363525) - (xy 53.009582 51.363525) (xy 52.942462 51.274643) (xy 52.923435 51.257298) (xy 52.781468 51.127878) - (xy 52.781458 51.127871) (xy 52.596248 51.013194) (xy 52.596242 51.013191) (xy 52.479442 50.967943) - (xy 52.393104 50.934495) (xy 52.178961 50.894465) (xy 51.961109 50.894465) (xy 51.746966 50.934495) - (xy 51.708701 50.949319) (xy 51.543827 51.013191) (xy 51.543821 51.013194) (xy 51.358611 51.127871) - (xy 51.358601 51.127878) (xy 51.197609 51.274641) (xy 51.066323 51.448492) (xy 50.969219 51.643502) - (xy 50.956597 51.687863) (xy 50.909979 51.851712) (xy 50.909599 51.853046) (xy 50.889499 52.069964) - (xy 50.889499 52.069965) (xy 50.269673 52.069965) (xy 50.161284 51.961576) (xy 49.806316 52.316544) - (xy 49.102038 52.316544) (xy 48.74707 51.961576) (xy 48.392102 52.316544) (xy 47.687825 52.316544) - (xy 47.332857 51.961576) (xy 46.977889 52.316544) (xy 46.273611 52.316544) (xy 45.918643 51.961576) - (xy 45.563675 52.316544) (xy 44.859398 52.316544) (xy 44.50443 51.961576) (xy 44.149462 52.316544) - (xy 43.445184 52.316544) (xy 43.090216 51.961576) (xy 42.735248 52.316544) (xy 42.030971 52.316544) - (xy 41.676002 51.961575) (xy 41.321034 52.316544) (xy 40.616757 52.316544) (xy 40.261789 51.961576) - (xy 39.906821 52.316544) (xy 39.202543 52.316544) (xy 38.847575 51.961576) (xy 38.492607 52.316544) - (xy 37.78833 52.316544) (xy 37.433362 51.961576) (xy 37.078394 52.316544) (xy 36.374116 52.316544) - (xy 36.28502 52.227448) (xy 35.930052 52.582416) (xy 35.047584 52.582416) (xy 35.754691 51.875309) - (xy 36.637159 51.875309) (xy 36.726255 51.964405) (xy 37.081223 51.609437) (xy 37.785501 51.609437) - (xy 38.140469 51.964405) (xy 38.495437 51.609437) (xy 39.199714 51.609437) (xy 39.554682 51.964405) - (xy 39.90965 51.609437) (xy 40.613928 51.609437) (xy 40.968896 51.964405) (xy 41.323864 51.609437) - (xy 42.028141 51.609437) (xy 42.383109 51.964405) (xy 42.738077 51.609437) (xy 43.442355 51.609437) - (xy 43.797323 51.964405) (xy 44.152291 51.609437) (xy 44.856568 51.609437) (xy 45.211536 51.964405) - (xy 45.566504 51.609437) (xy 46.270782 51.609437) (xy 46.62575 51.964405) (xy 46.980718 51.609437) - (xy 47.684995 51.609437) (xy 48.039963 51.964405) (xy 48.394932 51.609437) (xy 49.099209 51.609437) - (xy 49.454177 51.964405) (xy 49.809145 51.609437) (xy 49.454177 51.254469) (xy 49.099209 51.609437) - (xy 48.394932 51.609437) (xy 48.039963 51.254468) (xy 47.684995 51.609437) (xy 46.980718 51.609437) - (xy 46.62575 51.254469) (xy 46.270782 51.609437) (xy 45.566504 51.609437) (xy 45.211536 51.254468) - (xy 44.856568 51.609437) (xy 44.152291 51.609437) (xy 43.797323 51.254469) (xy 43.442355 51.609437) - (xy 42.738077 51.609437) (xy 42.383109 51.254469) (xy 42.028141 51.609437) (xy 41.323864 51.609437) - (xy 40.968896 51.254469) (xy 40.613928 51.609437) (xy 39.90965 51.609437) (xy 39.554682 51.254469) - (xy 39.199714 51.609437) (xy 38.495437 51.609437) (xy 38.140469 51.254469) (xy 37.785501 51.609437) - (xy 37.081223 51.609437) (xy 36.992127 51.520341) (xy 36.637159 51.875309) (xy 35.754691 51.875309) - (xy 36.461798 51.168202) (xy 37.344266 51.168202) (xy 37.433362 51.257298) (xy 37.78833 50.90233) - (xy 38.492607 50.90233) (xy 38.847575 51.257298) (xy 39.202543 50.90233) (xy 39.906821 50.90233) - (xy 40.261789 51.257298) (xy 40.616757 50.90233) (xy 40.616756 50.902329) (xy 41.321033 50.902329) - (xy 41.676002 51.257298) (xy 42.030971 50.90233) (xy 42.735248 50.90233) (xy 43.090216 51.257298) - (xy 43.445184 50.90233) (xy 44.149462 50.90233) (xy 44.50443 51.257298) (xy 44.859398 50.90233) - (xy 44.859397 50.902329) (xy 45.563674 50.902329) (xy 45.918643 51.257298) (xy 46.141743 51.034198) - (xy 47.109757 51.034198) (xy 47.332857 51.257298) (xy 47.687825 50.90233) (xy 48.392102 50.90233) - (xy 48.74707 51.257298) (xy 49.102038 50.90233) (xy 49.806316 50.90233) (xy 50.161284 51.257298) - (xy 50.516252 50.90233) (xy 50.237694 50.623772) (xy 52.9133 50.623772) (xy 53.053418 50.710529) - (xy 53.05822 50.713658) (xy 53.067758 50.720192) (xy 53.072412 50.723541) (xy 53.090779 50.737413) - (xy 53.09527 50.740971) (xy 53.10415 50.748346) (xy 53.108464 50.7521) (xy 53.286467 50.91437) (xy 53.29061 50.918326) - (xy 53.29878 50.926496) (xy 53.302735 50.930638) (xy 53.309237 50.93777) (xy 53.344677 50.90233) - (xy 54.048957 50.90233) (xy 54.403925 51.257298) (xy 54.758893 50.90233) (xy 55.46317 50.90233) - (xy 55.818138 51.257298) (xy 56.173106 50.90233) (xy 56.877384 50.90233) (xy 57.232352 51.257298) - (xy 57.58732 50.90233) (xy 58.291597 50.90233) (xy 58.646565 51.257298) (xy 59.001533 50.90233) - (xy 59.705811 50.90233) (xy 60.060779 51.257298) (xy 60.415747 50.90233) (xy 61.120024 50.90233) - (xy 61.474992 51.257298) (xy 61.82996 50.90233) (xy 62.534238 50.90233) (xy 62.889206 51.257298) - (xy 63.244174 50.90233) (xy 63.244173 50.902329) (xy 63.948451 50.902329) (xy 63.953664 50.907543) - (xy 64.308633 50.552575) (xy 64.303419 50.547361) (xy 63.948451 50.902329) (xy 63.244173 50.902329) - (xy 62.889206 50.547362) (xy 62.534238 50.90233) (xy 61.82996 50.90233) (xy 61.474992 50.547362) - (xy 61.120024 50.90233) (xy 60.415747 50.90233) (xy 60.060779 50.547362) (xy 59.705811 50.90233) - (xy 59.001533 50.90233) (xy 58.646565 50.547362) (xy 58.291597 50.90233) (xy 57.58732 50.90233) - (xy 57.232352 50.547362) (xy 56.877384 50.90233) (xy 56.173106 50.90233) (xy 55.818138 50.547362) - (xy 55.46317 50.90233) (xy 54.758893 50.90233) (xy 54.403925 50.547362) (xy 54.048957 50.90233) - (xy 53.344677 50.90233) (xy 53.344678 50.902329) (xy 52.98971 50.547361) (xy 52.9133 50.623772) - (xy 50.237694 50.623772) (xy 50.161284 50.547362) (xy 49.806316 50.90233) (xy 49.102038 50.90233) - (xy 48.74707 50.547362) (xy 48.392102 50.90233) (xy 47.687825 50.90233) (xy 47.6686 50.883105) (xy 47.617926 50.910193) - (xy 47.61248 50.912934) (xy 47.60138 50.918183) (xy 47.595821 50.920647) (xy 47.573225 50.930006) - (xy 47.567549 50.932196) (xy 47.555995 50.93633) (xy 47.550216 50.938239) (xy 47.328794 51.005406) - (xy 47.32293 51.007028) (xy 47.311026 51.01001) (xy 47.305089 51.011344) (xy 47.281101 51.016116) - (xy 47.275109 51.017156) (xy 47.262966 51.018958) (xy 47.256918 51.019704) (xy 47.109757 51.034198) - (xy 46.141743 51.034198) (xy 46.273611 50.90233) (xy 46.188918 50.817637) (xy 46.158011 50.801117) - (xy 46.152717 50.798118) (xy 46.142194 50.791811) (xy 46.137055 50.788558) (xy 46.11672 50.774972) - (xy 46.111743 50.771467) (xy 46.101879 50.764152) (xy 46.097078 50.760405) (xy 45.91821 50.613613) - (xy 45.913596 50.609633) (xy 45.904501 50.601389) (xy 45.900098 50.597196) (xy 45.884453 50.581551) - (xy 45.563674 50.902329) (xy 44.859397 50.902329) (xy 44.50443 50.547362) (xy 44.149462 50.90233) - (xy 43.445184 50.90233) (xy 43.090216 50.547362) (xy 42.735248 50.90233) (xy 42.030971 50.90233) - (xy 41.913319 50.784678) (xy 41.911534 50.784458) (xy 41.899391 50.782656) (xy 41.893399 50.781616) - (xy 41.869411 50.776844) (xy 41.863474 50.77551) (xy 41.85157 50.772528) (xy 41.845706 50.770906) - (xy 41.624284 50.703739) (xy 41.618505 50.70183) (xy 41.606951 50.697696) (xy 41.601275 50.695506) - (xy 41.578679 50.686147) (xy 41.57312 50.683683) (xy 41.56202 50.678434) (xy 41.556575 50.675694) - (xy 41.550771 50.672591) (xy 41.321033 50.902329) (xy 40.616756 50.902329) (xy 40.261789 50.547362) - (xy 39.906821 50.90233) (xy 39.202543 50.90233) (xy 38.847575 50.547362) (xy 38.492607 50.90233) - (xy 37.78833 50.90233) (xy 37.699234 50.813234) (xy 37.344266 51.168202) (xy 36.461798 51.168202) - (xy 37.168905 50.461095) (xy 38.051372 50.461095) (xy 38.140469 50.550192) (xy 38.495437 50.195224) - (xy 39.199714 50.195224) (xy 39.554682 50.550192) (xy 39.90965 50.195224) (xy 39.909649 50.195223) - (xy 40.613927 50.195223) (xy 40.968895 50.550191) (xy 41.127684 50.391402) (xy 41.112709 50.379112) - (xy 41.108096 50.375133) (xy 41.099001 50.366889) (xy 41.094598 50.362696) (xy 41.077304 50.345402) - (xy 41.073111 50.340999) (xy 41.064867 50.331904) (xy 41.060887 50.32729) (xy 40.914095 50.148422) - (xy 40.910348 50.143621) (xy 40.903033 50.133757) (xy 40.899528 50.12878) (xy 40.885942 50.108445) - (xy 40.882689 50.103306) (xy 40.876382 50.092783) (xy 40.873383 50.08749) (xy 40.820533 49.988617) - (xy 40.613927 50.195223) (xy 39.909649 50.195223) (xy 39.554682 49.840256) (xy 39.199714 50.195224) - (xy 38.495437 50.195224) (xy 38.40634 50.106127) (xy 38.051372 50.461095) (xy 37.168905 50.461095) - (xy 37.876011 49.753989) (xy 38.758479 49.753989) (xy 38.847575 49.843085) (xy 39.202543 49.488117) - (xy 39.906821 49.488117) (xy 40.261788 49.843084) (xy 40.616756 49.488116) (xy 40.38414 49.2555) - (xy 41.128917 49.2555) (xy 41.149199 49.461432) (xy 41.169999 49.53) (xy 41.209268 49.659454) (xy 41.306815 49.84195) - (xy 41.339065 49.881247) (xy 41.438089 50.00191) (xy 41.528918 50.07645) (xy 41.59805 50.133185) - (xy 41.780546 50.230732) (xy 41.978566 50.2908) (xy 41.978565 50.2908) (xy 41.997029 50.292618) - (xy 42.1845 50.311083) (xy 42.390434 50.2908) (xy 42.588454 50.230732) (xy 42.654884 50.195224) - (xy 43.442355 50.195224) (xy 43.797323 50.550192) (xy 44.152291 50.195224) (xy 44.856568 50.195224) - (xy 45.211536 50.550192) (xy 45.566504 50.195224) (xy 45.211536 49.840255) (xy 44.856568 50.195224) - (xy 44.152291 50.195224) (xy 43.797323 49.840256) (xy 43.442355 50.195224) (xy 42.654884 50.195224) - (xy 42.77095 50.133185) (xy 42.93091 50.00191) (xy 43.062185 49.84195) (xy 43.159732 49.659454) - (xy 43.211706 49.488117) (xy 44.149462 49.488117) (xy 44.50443 49.843085) (xy 44.857515 49.49) (xy 45.934417 49.49) - (xy 45.954699 49.695932) (xy 45.976485 49.76775) (xy 46.014768 49.893954) (xy 46.112315 50.07645) - (xy 46.144068 50.115141) (xy 46.243589 50.23641) (xy 46.334579 50.311082) (xy 46.40355 50.367685) - (xy 46.586046 50.465232) (xy 46.784066 50.5253) (xy 46.784065 50.5253) (xy 46.802529 50.527118) - (xy 46.99 50.545583) (xy 47.195934 50.5253) (xy 47.393954 50.465232) (xy 47.57645 50.367685) (xy 47.718388 50.2512) - (xy 48.338955 50.2512) (xy 48.394932 50.195224) (xy 49.099209 50.195224) (xy 49.454177 50.550192) - (xy 49.809145 50.195224) (xy 50.513423 50.195224) (xy 50.868391 50.550192) (xy 51.223359 50.195224) - (xy 51.927636 50.195224) (xy 52.128877 50.396465) (xy 52.19047 50.396465) (xy 52.196201 50.396598) - (xy 52.207742 50.397132) (xy 52.213454 50.397528) (xy 52.236373 50.399652) (xy 52.242051 50.400311) - (xy 52.253492 50.401906) (xy 52.259156 50.402829) (xy 52.403065 50.42973) (xy 52.63757 50.195224) - (xy 53.34185 50.195224) (xy 53.696818 50.550192) (xy 54.051786 50.195224) (xy 54.756063 50.195224) - (xy 55.111031 50.550192) (xy 55.465999 50.195224) (xy 56.170277 50.195224) (xy 56.525245 50.550192) - (xy 56.880213 50.195224) (xy 57.58449 50.195224) (xy 57.939458 50.550192) (xy 58.294426 50.195224) - (xy 58.998704 50.195224) (xy 59.353672 50.550192) (xy 59.70864 50.195224) (xy 60.412918 50.195224) - (xy 60.767886 50.550192) (xy 61.122854 50.195224) (xy 61.827131 50.195224) (xy 62.182099 50.550192) - (xy 62.537067 50.195224) (xy 63.241345 50.195224) (xy 63.596313 50.550192) (xy 63.951281 50.195224) - (xy 64.655558 50.195224) (xy 64.660771 50.200437) (xy 65.015739 49.845469) (xy 65.010526 49.840256) - (xy 64.655558 50.195224) (xy 63.951281 50.195224) (xy 63.596313 49.840256) (xy 63.241345 50.195224) - (xy 62.537067 50.195224) (xy 62.182099 49.840256) (xy 61.827131 50.195224) (xy 61.122854 50.195224) - (xy 60.767886 49.840256) (xy 60.412918 50.195224) (xy 59.70864 50.195224) (xy 59.353672 49.840256) - (xy 58.998704 50.195224) (xy 58.294426 50.195224) (xy 57.939458 49.840255) (xy 57.58449 50.195224) - (xy 56.880213 50.195224) (xy 56.525245 49.840256) (xy 56.170277 50.195224) (xy 55.465999 50.195224) - (xy 55.111031 49.840256) (xy 54.756063 50.195224) (xy 54.051786 50.195224) (xy 53.696818 49.840256) - (xy 53.34185 50.195224) (xy 52.63757 50.195224) (xy 52.637571 50.195223) (xy 52.282604 49.840256) - (xy 51.927636 50.195224) (xy 51.223359 50.195224) (xy 50.868391 49.840256) (xy 50.513423 50.195224) - (xy 49.809145 50.195224) (xy 49.454177 49.840256) (xy 49.099209 50.195224) (xy 48.394932 50.195224) - (xy 48.377952 50.178244) (xy 48.338955 50.2512) (xy 47.718388 50.2512) (xy 47.73641 50.23641) (xy 47.867685 50.07645) - (xy 47.965232 49.893954) (xy 48.0253 49.695934) (xy 48.045583 49.49) (xy 48.031616 49.348192) (xy 48.532025 49.348192) - (xy 48.542384 49.453356) (xy 48.542832 49.45943) (xy 48.543434 49.47169) (xy 48.543583 49.477771) - (xy 48.543583 49.502229) (xy 48.543434 49.50831) (xy 48.542832 49.52057) (xy 48.542384 49.526644) - (xy 48.532363 49.628378) (xy 48.74707 49.843085) (xy 49.102038 49.488117) (xy 49.806316 49.488117) - (xy 50.161284 49.843085) (xy 50.516252 49.488117) (xy 51.220529 49.488117) (xy 51.575497 49.843085) - (xy 51.930465 49.488117) (xy 52.634743 49.488117) (xy 52.989711 49.843085) (xy 53.344679 49.488117) - (xy 54.048957 49.488117) (xy 54.403925 49.843085) (xy 54.758893 49.488117) (xy 55.46317 49.488117) - (xy 55.818138 49.843085) (xy 56.173106 49.488117) (xy 56.877384 49.488117) (xy 57.232352 49.843085) - (xy 57.58732 49.488117) (xy 58.291597 49.488117) (xy 58.646565 49.843085) (xy 59.001533 49.488117) - (xy 59.705811 49.488117) (xy 60.060779 49.843085) (xy 60.415747 49.488117) (xy 61.120024 49.488117) - (xy 61.474992 49.843085) (xy 61.82996 49.488117) (xy 62.534238 49.488117) (xy 62.889206 49.843085) - (xy 63.244174 49.488117) (xy 63.948451 49.488117) (xy 64.303419 49.843085) (xy 64.658388 49.488117) - (xy 65.362665 49.488117) (xy 65.367878 49.49333) (xy 65.722846 49.138362) (xy 65.717633 49.133149) - (xy 65.362665 49.488117) (xy 64.658388 49.488117) (xy 64.303419 49.133148) (xy 63.948451 49.488117) - (xy 63.244174 49.488117) (xy 62.889206 49.133149) (xy 62.534238 49.488117) (xy 61.82996 49.488117) - (xy 61.474992 49.133149) (xy 61.120024 49.488117) (xy 60.415747 49.488117) (xy 60.060779 49.133149) - (xy 59.705811 49.488117) (xy 59.001533 49.488117) (xy 58.646565 49.133149) (xy 58.291597 49.488117) - (xy 57.58732 49.488117) (xy 57.232352 49.133149) (xy 56.877384 49.488117) (xy 56.173106 49.488117) - (xy 55.818138 49.133149) (xy 55.46317 49.488117) (xy 54.758893 49.488117) (xy 54.403925 49.133149) - (xy 54.048957 49.488117) (xy 53.344679 49.488117) (xy 52.989711 49.133149) (xy 52.634743 49.488117) - (xy 51.930465 49.488117) (xy 51.575497 49.133148) (xy 51.220529 49.488117) (xy 50.516252 49.488117) - (xy 50.161284 49.133149) (xy 49.806316 49.488117) (xy 49.102038 49.488117) (xy 48.747069 49.133148) - (xy 48.532025 49.348192) (xy 48.031616 49.348192) (xy 48.0253 49.284066) (xy 47.965232 49.086046) - (xy 47.867685 48.90355) (xy 47.811064 48.834557) (xy 47.73641 48.743589) (xy 47.708529 48.720708) - (xy 48.33463 48.720708) (xy 48.37664 48.799301) (xy 48.39493 48.78101) (xy 49.099209 48.78101) (xy 49.454177 49.135978) - (xy 49.809145 48.78101) (xy 50.513423 48.78101) (xy 50.868391 49.135978) (xy 51.223359 48.78101) - (xy 51.927636 48.78101) (xy 52.282604 49.135978) (xy 52.637572 48.78101) (xy 53.34185 48.78101) - (xy 53.696818 49.135978) (xy 54.051786 48.78101) (xy 54.756063 48.78101) (xy 55.111031 49.135978) - (xy 55.465999 48.78101) (xy 56.170277 48.78101) (xy 56.525245 49.135978) (xy 56.880213 48.78101) - (xy 57.58449 48.78101) (xy 57.939458 49.135978) (xy 58.294426 48.78101) (xy 58.998704 48.78101) - (xy 59.353672 49.135978) (xy 59.70864 48.78101) (xy 60.412918 48.78101) (xy 60.767886 49.135978) - (xy 61.122854 48.78101) (xy 61.827131 48.78101) (xy 62.182099 49.135978) (xy 62.537067 48.78101) - (xy 63.241345 48.78101) (xy 63.596313 49.135978) (xy 63.951281 48.78101) (xy 64.655558 48.78101) - (xy 65.010526 49.135978) (xy 65.365494 48.78101) (xy 66.069772 48.78101) (xy 66.074985 48.786223) - (xy 66.429953 48.431255) (xy 66.42474 48.426042) (xy 66.069772 48.78101) (xy 65.365494 48.78101) - (xy 65.010526 48.426042) (xy 64.655558 48.78101) (xy 63.951281 48.78101) (xy 63.596313 48.426042) - (xy 63.241345 48.78101) (xy 62.537067 48.78101) (xy 62.182099 48.426042) (xy 61.827131 48.78101) - (xy 61.122854 48.78101) (xy 60.767886 48.426042) (xy 60.412918 48.78101) (xy 59.70864 48.78101) - (xy 59.353672 48.426042) (xy 58.998704 48.78101) (xy 58.294426 48.78101) (xy 57.939458 48.426041) - (xy 57.58449 48.78101) (xy 56.880213 48.78101) (xy 56.525245 48.426042) (xy 56.170277 48.78101) - (xy 55.465999 48.78101) (xy 55.111031 48.426042) (xy 54.756063 48.78101) (xy 54.051786 48.78101) - (xy 53.696818 48.426042) (xy 53.34185 48.78101) (xy 52.637572 48.78101) (xy 52.282604 48.426042) - (xy 51.927636 48.78101) (xy 51.223359 48.78101) (xy 50.868391 48.426042) (xy 50.513423 48.78101) - (xy 49.809145 48.78101) (xy 49.454177 48.426042) (xy 49.099209 48.78101) (xy 48.39493 48.78101) - (xy 48.394931 48.781009) (xy 48.33463 48.720708) (xy 47.708529 48.720708) (xy 47.615205 48.64412) - (xy 47.57645 48.612315) (xy 47.393954 48.514768) (xy 47.195934 48.4547) (xy 47.195932 48.454699) - (xy 47.195934 48.454699) (xy 46.99 48.434417) (xy 46.784067 48.454699) (xy 46.586043 48.514769) - (xy 46.483836 48.569401) (xy 46.40355 48.612315) (xy 46.403548 48.612316) (xy 46.403547 48.612317) - (xy 46.243589 48.743589) (xy 46.112317 48.903547) (xy 46.112315 48.90355) (xy 46.07979 48.964399) - (xy 46.014769 49.086043) (xy 45.954699 49.284067) (xy 45.934417 49.49) (xy 44.857515 49.49) (xy 44.859398 49.488117) + (xy 56.475182 54.807612) (xy 56.317002 54.663412) (xy 56.316992 54.663405) (xy 56.131782 54.548728) + (xy 56.131776 54.548725) (xy 56.046207 54.515576) (xy 55.928638 54.470029) (xy 55.714495 54.429999) + (xy 55.496643 54.429999) (xy 55.2825 54.470029) (xy 55.239452 54.486706) (xy 55.079361 54.548725) + (xy 55.079355 54.548728) (xy 54.894145 54.663405) (xy 54.894135 54.663412) (xy 54.733143 54.810175) + (xy 54.601857 54.984026) (xy 54.504753 55.179036) (xy 54.477432 55.27506) (xy 54.445202 55.388339) + (xy 54.445133 55.38858) (xy 54.425033 55.605498) (xy 54.425033 55.605499) (xy 54.445133 55.822417) + (xy 54.445133 55.822419) (xy 54.445134 55.822422) (xy 54.463832 55.88814) (xy 54.504751 56.031956) + (xy 54.504754 56.031963) (xy 54.512637 56.047795) (xy 54.524896 56.116581) (xy 54.49802 56.181075) + (xy 54.489316 56.190744) (xy 54.140058 56.540004) (xy 54.033259 56.646803) (xy 54.008043 56.672013) + (xy 53.996538 56.683515) (xy 53.973974 56.722598) (xy 53.973966 56.722612) (xy 53.947096 56.769136) + (xy 53.934838 56.814883) (xy 53.934835 56.814896) (xy 53.9215 56.864638) (xy 53.9215 56.914066) + (xy 53.921493 56.963484) (xy 52.334765 56.963484) (xy 52.282604 56.911323) (xy 51.927635 57.266291) + (xy 51.223359 57.266291) (xy 50.868391 56.911323) (xy 50.513422 57.266291) (xy 49.809145 57.266291) + (xy 49.454177 56.911323) (xy 49.099208 57.266291) (xy 48.394932 57.266291) (xy 48.039963 56.911322) + (xy 47.684995 57.266291) (xy 46.980718 57.266291) (xy 46.62575 56.911323) (xy 46.270781 57.266291) + (xy 45.566504 57.266291) (xy 45.211536 56.911322) (xy 44.856567 57.266291) (xy 44.152291 57.266291) + (xy 43.797323 56.911323) (xy 43.442354 57.266291) (xy 42.738077 57.266291) (xy 42.383109 56.911323) + (xy 42.02814 57.266291) (xy 41.323864 57.266291) (xy 40.968896 56.911323) (xy 40.613927 57.266291) + (xy 39.90965 57.266291) (xy 39.554682 56.911323) (xy 39.199713 57.266291) (xy 38.158219 57.266291) + (xy 38.165253 57.15) (xy 38.146258 56.835971) (xy 38.089549 56.526522) (xy 38.070963 56.466879) + (xy 38.584912 56.466879) (xy 38.626335 56.692913) (xy 38.847575 56.914153) (xy 39.202543 56.559185) + (xy 39.906821 56.559185) (xy 40.261789 56.914153) (xy 40.616757 56.559185) (xy 41.321034 56.559185) + (xy 41.676002 56.914153) (xy 42.030971 56.559185) (xy 42.735248 56.559185) (xy 43.090216 56.914153) + (xy 43.445184 56.559185) (xy 44.149462 56.559185) (xy 44.50443 56.914153) (xy 44.859398 56.559185) + (xy 45.563675 56.559185) (xy 45.918643 56.914153) (xy 46.273611 56.559185) (xy 46.977889 56.559185) + (xy 47.332857 56.914153) (xy 47.687825 56.559185) (xy 48.392102 56.559185) (xy 48.74707 56.914153) + (xy 49.102038 56.559185) (xy 49.806316 56.559185) (xy 50.161284 56.914153) (xy 50.516252 56.559185) + (xy 51.220529 56.559185) (xy 51.575497 56.914153) (xy 51.930465 56.559185) (xy 52.634743 56.559185) + (xy 52.989711 56.914153) (xy 53.344679 56.559185) (xy 52.989711 56.204217) (xy 52.634743 56.559185) + (xy 51.930465 56.559185) (xy 51.575497 56.204216) (xy 51.220529 56.559185) (xy 50.516252 56.559185) + (xy 50.161284 56.204217) (xy 49.806316 56.559185) (xy 49.102038 56.559185) (xy 48.74707 56.204217) + (xy 48.392102 56.559185) (xy 47.687825 56.559185) (xy 47.332857 56.204217) (xy 46.977889 56.559185) + (xy 46.273611 56.559185) (xy 45.918643 56.204217) (xy 45.563675 56.559185) (xy 44.859398 56.559185) + (xy 44.50443 56.204217) (xy 44.149462 56.559185) (xy 43.445184 56.559185) (xy 43.090216 56.204217) + (xy 42.735248 56.559185) (xy 42.030971 56.559185) (xy 41.676002 56.204216) (xy 41.321034 56.559185) + (xy 40.616757 56.559185) (xy 40.261789 56.204217) (xy 39.906821 56.559185) (xy 39.202543 56.559185) + (xy 38.847574 56.204216) (xy 38.584912 56.466879) (xy 38.070963 56.466879) (xy 38.049011 56.396431) + (xy 37.99596 56.226183) (xy 37.995956 56.226172) (xy 37.995954 56.226165) (xy 37.866837 55.939279) + (xy 37.704081 55.670048) (xy 37.704078 55.670044) (xy 37.704075 55.670039) (xy 37.649797 55.600759) + (xy 38.244118 55.600759) (xy 38.296905 55.688079) (xy 38.298786 55.6913) (xy 38.302492 55.697869) + (xy 38.304287 55.701165) (xy 38.31128 55.714487) (xy 38.312973 55.717836) (xy 38.316284 55.724636) + (xy 38.317874 55.728029) (xy 38.411486 55.936027) (xy 38.495435 55.852078) (xy 39.199714 55.852078) + (xy 39.554682 56.207046) (xy 39.90965 55.852078) (xy 40.613928 55.852078) (xy 40.968896 56.207046) + (xy 41.323864 55.852078) (xy 42.028141 55.852078) (xy 42.383109 56.207046) (xy 42.738077 55.852078) + (xy 43.442355 55.852078) (xy 43.797323 56.207046) (xy 44.152291 55.852078) (xy 44.856568 55.852078) + (xy 45.211536 56.207046) (xy 45.566504 55.852078) (xy 46.270782 55.852078) (xy 46.62575 56.207046) + (xy 46.980718 55.852078) (xy 47.684995 55.852078) (xy 48.039963 56.207046) (xy 48.394932 55.852078) + (xy 49.099209 55.852078) (xy 49.454177 56.207046) (xy 49.809145 55.852078) (xy 50.513423 55.852078) + (xy 50.868391 56.207046) (xy 51.223359 55.852078) (xy 51.927636 55.852078) (xy 52.282604 56.207046) + (xy 52.637572 55.852078) (xy 53.34185 55.852078) (xy 53.696817 56.207045) (xy 53.961599 55.942263) + (xy 53.961555 55.942092) (xy 53.958911 55.93085) (xy 53.95773 55.925249) (xy 53.9535 55.902624) + (xy 53.952577 55.896963) (xy 53.950981 55.885519) (xy 53.950321 55.879834) (xy 53.937123 55.737415) + (xy 53.696818 55.49711) (xy 53.34185 55.852078) (xy 52.637572 55.852078) (xy 52.282604 55.49711) + (xy 51.927636 55.852078) (xy 51.223359 55.852078) (xy 50.868391 55.49711) (xy 50.513423 55.852078) + (xy 49.809145 55.852078) (xy 49.454177 55.49711) (xy 49.099209 55.852078) (xy 48.394932 55.852078) + (xy 48.039963 55.497109) (xy 47.684995 55.852078) (xy 46.980718 55.852078) (xy 46.62575 55.49711) + (xy 46.270782 55.852078) (xy 45.566504 55.852078) (xy 45.211536 55.497109) (xy 44.856568 55.852078) + (xy 44.152291 55.852078) (xy 43.797323 55.49711) (xy 43.442355 55.852078) (xy 42.738077 55.852078) + (xy 42.383109 55.49711) (xy 42.028141 55.852078) (xy 41.323864 55.852078) (xy 40.968896 55.49711) + (xy 40.613928 55.852078) (xy 39.90965 55.852078) (xy 39.554682 55.49711) (xy 39.199714 55.852078) + (xy 38.495435 55.852078) (xy 38.495436 55.852077) (xy 38.244118 55.600759) (xy 37.649797 55.600759) + (xy 37.510057 55.422394) (xy 37.287605 55.199942) (xy 37.21744 55.144971) (xy 38.492607 55.144971) + (xy 38.847575 55.499939) (xy 39.202543 55.144971) (xy 39.906821 55.144971) (xy 40.261789 55.499939) + (xy 40.616757 55.144971) (xy 41.321034 55.144971) (xy 41.676002 55.499939) (xy 42.030971 55.144971) + (xy 42.735248 55.144971) (xy 43.090216 55.499939) (xy 43.445184 55.144971) (xy 44.149462 55.144971) + (xy 44.50443 55.499939) (xy 44.859398 55.144971) (xy 45.563675 55.144971) (xy 45.918643 55.499939) + (xy 46.273611 55.144971) (xy 46.977889 55.144971) (xy 47.332857 55.499939) (xy 47.687825 55.144971) + (xy 48.392102 55.144971) (xy 48.74707 55.499939) (xy 49.102038 55.144971) (xy 49.806316 55.144971) + (xy 50.161284 55.499939) (xy 50.516252 55.144971) (xy 51.220529 55.144971) (xy 51.575497 55.499939) + (xy 51.930465 55.144971) (xy 52.634743 55.144971) (xy 52.989711 55.499939) (xy 53.344679 55.144971) + (xy 52.989711 54.790003) (xy 52.634743 55.144971) (xy 51.930465 55.144971) (xy 51.575497 54.790002) + (xy 51.220529 55.144971) (xy 50.516252 55.144971) (xy 50.161284 54.790003) (xy 49.806316 55.144971) + (xy 49.102038 55.144971) (xy 48.74707 54.790003) (xy 48.392102 55.144971) (xy 47.687825 55.144971) + (xy 47.332857 54.790003) (xy 46.977889 55.144971) (xy 46.273611 55.144971) (xy 45.918643 54.790003) + (xy 45.563675 55.144971) (xy 44.859398 55.144971) (xy 44.50443 54.790003) (xy 44.149462 55.144971) + (xy 43.445184 55.144971) (xy 43.090216 54.790003) (xy 42.735248 55.144971) (xy 42.030971 55.144971) + (xy 41.676002 54.790002) (xy 41.321034 55.144971) (xy 40.616757 55.144971) (xy 40.261789 54.790003) + (xy 39.906821 55.144971) (xy 39.202543 55.144971) (xy 38.847575 54.790003) (xy 38.492607 55.144971) + (xy 37.21744 55.144971) (xy 37.03996 55.005924) (xy 37.039952 55.005919) (xy 36.770721 54.843163) + (xy 36.483835 54.714046) (xy 36.48383 54.714044) (xy 36.483827 54.714043) (xy 36.483816 54.714039) + (xy 36.183486 54.620453) (xy 36.183482 54.620452) (xy 36.183478 54.620451) (xy 35.874029 54.563742) + (xy 35.874028 54.563741) (xy 35.874023 54.563741) (xy 35.56 54.544747) (xy 35.245976 54.563741) + (xy 35.245971 54.563742) (xy 34.936522 54.620451) (xy 34.936519 54.620451) (xy 34.936513 54.620453) + (xy 34.636183 54.714039) (xy 34.636172 54.714043) (xy 34.636166 54.714045) (xy 34.636165 54.714046) + (xy 34.556994 54.749678) (xy 34.35325 54.841376) (xy 34.349279 54.843163) (xy 34.303868 54.870615) + (xy 34.080039 55.005924) (xy 33.832394 55.199942) (xy 33.609942 55.422394) (xy 33.415924 55.670039) + (xy 33.320035 55.828659) (xy 33.253429 55.93884) (xy 33.253162 55.939281) (xy 33.253161 55.939283) + (xy 33.209737 56.035768) (xy 33.132344 56.207729) (xy 33.124043 56.226172) (xy 33.124039 56.226183) + (xy 33.030453 56.526513) (xy 33.030451 56.526519) (xy 33.030451 56.526522) (xy 32.990439 56.744861) + (xy 32.973741 56.835976) (xy 32.954747 57.15) (xy 32.456747 57.15) (xy 32.456747 57.142477) (xy 32.456804 57.138734) + (xy 32.457032 57.131185) (xy 32.457201 57.127442) (xy 32.469413 56.925523) (xy 32.128645 57.266291) + (xy 31.115 57.266291) (xy 31.115 56.876645) (xy 31.739 56.876645) (xy 31.776508 56.914153) (xy 32.131476 56.559185) + (xy 32.042379 56.470088) (xy 31.739 56.773467) (xy 31.739 56.876645) (xy 31.115 56.876645) (xy 31.115 56.566362) + (xy 31.134685 56.499323) (xy 31.151319 56.478681) (xy 31.51205 56.11795) (xy 32.394518 56.11795) + (xy 32.483613 56.207045) (xy 32.670771 56.019887) (xy 32.774939 55.788435) (xy 32.749486 55.762982) + (xy 32.394518 56.11795) (xy 31.51205 56.11795) (xy 33.406002 54.223998) (xy 36.585151 54.223998) + (xy 36.639181 54.240835) (xy 36.642745 54.242004) (xy 36.649899 54.244473) (xy 36.653431 54.245753) + (xy 36.667498 54.25109) (xy 36.670976 54.25247) (xy 36.677939 54.255355) (xy 36.681366 54.256835) + (xy 36.981971 54.392126) (xy 36.985364 54.393716) (xy 36.992164 54.397027) (xy 36.995513 54.39872) + (xy 37.008835 54.405713) (xy 37.012131 54.407508) (xy 37.0187 54.411214) (xy 37.021921 54.413095) + (xy 37.074316 54.444768) (xy 37.081221 54.437864) (xy 37.785501 54.437864) (xy 38.140469 54.792832) + (xy 38.495437 54.437864) (xy 39.199714 54.437864) (xy 39.554682 54.792832) (xy 39.90965 54.437864) + (xy 40.613928 54.437864) (xy 40.968896 54.792832) (xy 41.323864 54.437864) (xy 42.028141 54.437864) + (xy 42.383109 54.792832) (xy 42.738077 54.437864) (xy 43.442355 54.437864) (xy 43.797323 54.792832) + (xy 44.152291 54.437864) (xy 44.856568 54.437864) (xy 45.211536 54.792832) (xy 45.566504 54.437864) + (xy 46.270782 54.437864) (xy 46.62575 54.792832) (xy 46.980718 54.437864) (xy 47.684995 54.437864) + (xy 48.039963 54.792832) (xy 48.394932 54.437864) (xy 49.099209 54.437864) (xy 49.454177 54.792832) + (xy 49.809145 54.437864) (xy 50.513423 54.437864) (xy 50.868391 54.792832) (xy 51.223359 54.437864) + (xy 51.927636 54.437864) (xy 52.282604 54.792832) (xy 52.637572 54.437864) (xy 53.34185 54.437864) + (xy 53.696818 54.792832) (xy 54.051786 54.437864) (xy 53.773228 54.159306) (xy 56.448834 54.159306) + (xy 56.588952 54.246063) (xy 56.593754 54.249192) (xy 56.603292 54.255726) (xy 56.607946 54.259075) + (xy 56.626313 54.272947) (xy 56.630804 54.276505) (xy 56.639684 54.28388) (xy 56.643998 54.287634) + (xy 56.822001 54.449904) (xy 56.826144 54.45386) (xy 56.834314 54.46203) (xy 56.838269 54.466172) + (xy 56.844771 54.473304) (xy 56.880212 54.437863) (xy 57.584489 54.437863) (xy 57.939457 54.792831) + (xy 57.951261 54.781026) (xy 57.885164 54.63928) (xy 57.882986 54.63433) (xy 57.878813 54.624256) + (xy 57.876853 54.619217) (xy 57.869417 54.59879) (xy 57.867676 54.593663) (xy 57.864393 54.583251) + (xy 57.862879 54.578055) (xy 57.796092 54.328799) (xy 57.794805 54.323537) (xy 57.792444 54.312884) + (xy 57.79139 54.307587) (xy 57.787615 54.28618) (xy 57.786791 54.280824) (xy 57.785368 54.27001) + (xy 57.78478 54.26464) (xy 57.782602 54.23975) (xy 57.584489 54.437863) (xy 56.880212 54.437863) + (xy 56.525244 54.082895) (xy 56.448834 54.159306) (xy 53.773228 54.159306) (xy 53.696818 54.082896) + (xy 53.34185 54.437864) (xy 52.637572 54.437864) (xy 52.282604 54.082896) (xy 51.927636 54.437864) + (xy 51.223359 54.437864) (xy 50.868391 54.082896) (xy 50.513423 54.437864) (xy 49.809145 54.437864) + (xy 49.454177 54.082896) (xy 49.099209 54.437864) (xy 48.394932 54.437864) (xy 48.039963 54.082895) + (xy 47.684995 54.437864) (xy 46.980718 54.437864) (xy 46.62575 54.082896) (xy 46.270782 54.437864) + (xy 45.566504 54.437864) (xy 45.211536 54.082895) (xy 44.856568 54.437864) (xy 44.152291 54.437864) + (xy 43.797323 54.082896) (xy 43.442355 54.437864) (xy 42.738077 54.437864) (xy 42.383109 54.082896) + (xy 42.028141 54.437864) (xy 41.323864 54.437864) (xy 40.968896 54.082896) (xy 40.613928 54.437864) + (xy 39.90965 54.437864) (xy 39.554682 54.082896) (xy 39.199714 54.437864) (xy 38.495437 54.437864) + (xy 38.140469 54.082896) (xy 37.785501 54.437864) (xy 37.081221 54.437864) (xy 37.081222 54.437863) + (xy 36.726254 54.082895) (xy 36.585151 54.223998) (xy 33.406002 54.223998) (xy 33.633371 53.996629) + (xy 34.515838 53.996629) (xy 34.604935 54.085726) (xy 34.959903 53.730758) (xy 34.959902 53.730757) + (xy 35.664179 53.730757) (xy 36.017086 54.083664) (xy 36.02057 54.084302) (xy 36.374115 53.730757) + (xy 37.078393 53.730757) (xy 37.433362 54.085726) (xy 37.78833 53.730757) (xy 38.492606 53.730757) + (xy 38.847575 54.085726) (xy 39.202543 53.730757) (xy 39.90682 53.730757) (xy 40.261789 54.085726) + (xy 40.616757 53.730757) (xy 41.321034 53.730757) (xy 41.676002 54.085726) (xy 42.030971 53.730757) + (xy 42.735247 53.730757) (xy 43.090216 54.085726) (xy 43.445184 53.730757) (xy 44.149461 53.730757) + (xy 44.50443 54.085726) (xy 44.859398 53.730757) (xy 45.563674 53.730757) (xy 45.918643 54.085726) + (xy 46.273611 53.730757) (xy 46.977888 53.730757) (xy 47.332857 54.085726) (xy 47.687825 53.730757) + (xy 48.392101 53.730757) (xy 48.74707 54.085726) (xy 49.102038 53.730757) (xy 49.806315 53.730757) + (xy 50.161284 54.085726) (xy 50.516251 53.730758) (xy 51.220529 53.730758) (xy 51.575497 54.085726) + (xy 51.919482 53.74174) (xy 51.903697 53.740278) (xy 51.898019 53.739619) (xy 51.886578 53.738024) + (xy 51.880914 53.737101) (xy 51.846977 53.730757) (xy 52.634742 53.730757) (xy 52.989711 54.085726) + (xy 53.344679 53.730757) (xy 54.048956 53.730757) (xy 54.403925 54.085726) (xy 54.758893 53.730757) + (xy 55.463169 53.730757) (xy 55.664411 53.931999) (xy 55.726004 53.931999) (xy 55.731735 53.932132) + (xy 55.743276 53.932666) (xy 55.748988 53.933062) (xy 55.771907 53.935186) (xy 55.777585 53.935845) + (xy 55.789026 53.93744) (xy 55.79469 53.938363) (xy 55.938599 53.965264) (xy 56.173105 53.730757) + (xy 56.877383 53.730757) (xy 57.232352 54.085726) (xy 57.58732 53.730757) (xy 57.232352 53.375789) + (xy 56.877383 53.730757) (xy 56.173105 53.730757) (xy 55.818138 53.375789) (xy 55.463169 53.730757) + (xy 54.758893 53.730757) (xy 54.403925 53.375789) (xy 54.048956 53.730757) (xy 53.344679 53.730757) + (xy 53.047183 53.433261) (xy 52.848624 53.556203) (xy 52.843687 53.559105) (xy 52.833601 53.564723) + (xy 52.828539 53.567391) (xy 52.807935 53.577652) (xy 52.802748 53.580087) (xy 52.792175 53.584756) + (xy 52.786877 53.586951) (xy 52.773282 53.592217) (xy 52.634742 53.730757) (xy 51.846977 53.730757) + (xy 51.644145 53.692841) (xy 51.638535 53.691657) (xy 51.627287 53.689011) (xy 51.621743 53.687571) + (xy 51.599604 53.681271) (xy 51.594138 53.679578) (xy 51.583188 53.675908) (xy 51.5778 53.673963) + (xy 51.361224 53.590062) (xy 51.220529 53.730758) (xy 50.516251 53.730758) (xy 50.516252 53.730757) + (xy 50.161284 53.375789) (xy 49.806315 53.730757) (xy 49.102038 53.730757) (xy 48.74707 53.375789) + (xy 48.392101 53.730757) (xy 47.687825 53.730757) (xy 47.332857 53.375789) (xy 46.977888 53.730757) + (xy 46.273611 53.730757) (xy 45.918643 53.375789) (xy 45.563674 53.730757) (xy 44.859398 53.730757) + (xy 44.50443 53.375789) (xy 44.149461 53.730757) (xy 43.445184 53.730757) (xy 43.090216 53.375789) + (xy 42.735247 53.730757) (xy 42.030971 53.730757) (xy 41.676002 53.375789) (xy 41.321034 53.730757) + (xy 40.616757 53.730757) (xy 40.261789 53.375789) (xy 39.90682 53.730757) (xy 39.202543 53.730757) + (xy 38.847575 53.375789) (xy 38.492606 53.730757) (xy 37.78833 53.730757) (xy 37.433362 53.375789) + (xy 37.078393 53.730757) (xy 36.374115 53.730757) (xy 36.019148 53.375789) (xy 35.664179 53.730757) + (xy 34.959902 53.730757) (xy 34.870806 53.641661) (xy 34.515838 53.996629) (xy 33.633371 53.996629) + (xy 34.340478 53.289522) (xy 35.222944 53.289522) (xy 35.312041 53.378619) (xy 35.667008 53.023651) + (xy 36.371287 53.023651) (xy 36.726255 53.378619) (xy 37.081223 53.023651) (xy 37.785501 53.023651) + (xy 38.140469 53.378619) (xy 38.495437 53.023651) (xy 39.199714 53.023651) (xy 39.554682 53.378619) + (xy 39.90965 53.023651) (xy 40.613928 53.023651) (xy 40.968896 53.378619) (xy 41.323864 53.023651) + (xy 42.028141 53.023651) (xy 42.383109 53.378619) (xy 42.738077 53.023651) (xy 43.442355 53.023651) + (xy 43.797323 53.378619) (xy 44.152291 53.023651) (xy 44.856568 53.023651) (xy 45.211536 53.378619) + (xy 45.566504 53.023651) (xy 46.270782 53.023651) (xy 46.62575 53.378619) (xy 46.980718 53.023651) + (xy 47.684995 53.023651) (xy 48.039963 53.378619) (xy 48.394932 53.023651) (xy 49.099209 53.023651) + (xy 49.454177 53.378619) (xy 49.809145 53.023651) (xy 49.809144 53.02365) (xy 50.513422 53.02365) + (xy 50.86839 53.378618) (xy 50.941406 53.305602) (xy 50.853603 53.22556) (xy 50.84946 53.221604) + (xy 50.84129 53.213434) (xy 50.837335 53.209292) (xy 50.821828 53.192282) (xy 50.818063 53.187956) + (xy 50.810684 53.179069) (xy 50.807131 53.174583) (xy 50.661974 52.982364) (xy 50.658627 52.977712) + (xy 50.652097 52.968179) (xy 50.648969 52.963378) (xy 50.636852 52.943807) (xy 50.633954 52.938876) + (xy 50.628334 52.928787) (xy 50.625661 52.923715) (xy 50.621571 52.915501) (xy 50.513422 53.02365) + (xy 49.809144 53.02365) (xy 49.454177 52.668683) (xy 49.099209 53.023651) (xy 48.394932 53.023651) + (xy 48.039963 52.668682) (xy 47.684995 53.023651) (xy 46.980718 53.023651) (xy 46.62575 52.668683) + (xy 46.270782 53.023651) (xy 45.566504 53.023651) (xy 45.211536 52.668682) (xy 44.856568 53.023651) + (xy 44.152291 53.023651) (xy 43.797323 52.668683) (xy 43.442355 53.023651) (xy 42.738077 53.023651) + (xy 42.383109 52.668683) (xy 42.028141 53.023651) (xy 41.323864 53.023651) (xy 40.968896 52.668683) + (xy 40.613928 53.023651) (xy 39.90965 53.023651) (xy 39.554682 52.668683) (xy 39.199714 53.023651) + (xy 38.495437 53.023651) (xy 38.140469 52.668683) (xy 37.785501 53.023651) (xy 37.081223 53.023651) + (xy 36.726255 52.668683) (xy 36.371287 53.023651) (xy 35.667008 53.023651) (xy 35.667009 53.02365) + (xy 35.577913 52.934554) (xy 35.222944 53.289522) (xy 34.340478 53.289522) (xy 35.047584 52.582416) + (xy 35.930052 52.582416) (xy 36.019148 52.671512) (xy 36.374116 52.316544) (xy 37.078394 52.316544) + (xy 37.433362 52.671512) (xy 37.78833 52.316544) (xy 38.492607 52.316544) (xy 38.847575 52.671512) + (xy 39.202543 52.316544) (xy 39.906821 52.316544) (xy 40.261789 52.671512) (xy 40.616757 52.316544) + (xy 41.321034 52.316544) (xy 41.676002 52.671512) (xy 42.030971 52.316544) (xy 42.735248 52.316544) + (xy 43.090216 52.671512) (xy 43.445184 52.316544) (xy 44.149462 52.316544) (xy 44.50443 52.671512) + (xy 44.859398 52.316544) (xy 45.563675 52.316544) (xy 45.918643 52.671512) (xy 46.273611 52.316544) + (xy 46.977889 52.316544) (xy 47.332857 52.671512) (xy 47.687825 52.316544) (xy 48.392102 52.316544) + (xy 48.74707 52.671512) (xy 49.102038 52.316544) (xy 49.806316 52.316544) (xy 50.161283 52.671511) + (xy 50.426065 52.406729) (xy 50.426021 52.406558) (xy 50.423377 52.395316) (xy 50.422196 52.389715) + (xy 50.417966 52.36709) (xy 50.417043 52.361429) (xy 50.415447 52.349985) (xy 50.414787 52.3443) + (xy 50.401589 52.201881) (xy 50.269673 52.069965) (xy 50.889499 52.069965) (xy 50.909599 52.286883) + (xy 50.909599 52.286885) (xy 50.9096 52.286888) (xy 50.968838 52.495087) (xy 50.969219 52.496427) + (xy 51.057504 52.673726) (xy 51.066323 52.691437) (xy 51.197608 52.865287) (xy 51.358603 53.012053) + (xy 51.35861 53.012057) (xy 51.358611 53.012058) (xy 51.543821 53.126735) (xy 51.543827 53.126738) + (xy 51.566699 53.135598) (xy 51.746966 53.205435) (xy 51.961109 53.245465) (xy 51.961111 53.245465) + (xy 52.178959 53.245465) (xy 52.178961 53.245465) (xy 52.393104 53.205435) (xy 52.596245 53.126737) + (xy 52.666056 53.083512) (xy 53.401711 53.083512) (xy 53.696818 53.378619) (xy 54.051786 53.023651) + (xy 54.756063 53.023651) (xy 55.111031 53.378619) (xy 55.465999 53.023651) (xy 56.170277 53.023651) + (xy 56.525245 53.378619) (xy 56.880213 53.023651) (xy 57.58449 53.023651) (xy 57.881088 53.320249) + (xy 57.882986 53.31567) (xy 57.885164 53.31072) (xy 57.994218 53.076854) (xy 57.996615 53.071994) + (xy 58.001654 53.062316) (xy 58.004253 53.057579) (xy 58.015122 53.038754) (xy 58.017922 53.034139) + (xy 58.023782 53.024939) (xy 58.026793 53.020433) (xy 58.135689 52.864913) (xy 57.939458 52.668682) + (xy 57.58449 53.023651) (xy 56.880213 53.023651) (xy 56.525245 52.668683) (xy 56.170277 53.023651) + (xy 55.465999 53.023651) (xy 55.111031 52.668683) (xy 54.756063 53.023651) (xy 54.051786 53.023651) + (xy 53.696817 52.668682) (xy 53.586435 52.779064) (xy 53.514409 52.923715) (xy 53.511736 52.928787) + (xy 53.506116 52.938876) (xy 53.503218 52.943807) (xy 53.491101 52.963378) (xy 53.487973 52.968179) + (xy 53.481443 52.977712) (xy 53.478096 52.982364) (xy 53.401711 53.083512) (xy 52.666056 53.083512) + (xy 52.781467 53.012053) (xy 52.942462 52.865287) (xy 53.073747 52.691437) (xy 53.170852 52.496424) + (xy 53.222032 52.316544) (xy 54.048957 52.316544) (xy 54.403925 52.671512) (xy 54.758893 52.316544) + (xy 55.46317 52.316544) (xy 55.818138 52.671512) (xy 56.173106 52.316544) (xy 56.877384 52.316544) + (xy 57.232352 52.671512) (xy 57.58732 52.316544) (xy 58.291597 52.316544) (xy 58.484814 52.509761) + (xy 58.660433 52.386793) (xy 58.664939 52.383782) (xy 58.674139 52.377922) (xy 58.678754 52.375122) + (xy 58.697579 52.364253) (xy 58.702316 52.361654) (xy 58.711994 52.356615) (xy 58.716854 52.354218) + (xy 58.797645 52.316544) (xy 61.120024 52.316544) (xy 61.474992 52.671512) (xy 61.82996 52.316544) + (xy 62.534238 52.316544) (xy 62.583655 52.365961) (xy 62.590346 52.352396) (xy 62.594171 52.34524) + (xy 62.676377 52.202857) (xy 62.68066 52.19597) (xy 62.689754 52.182359) (xy 62.694484 52.175759) + (xy 62.714344 52.149878) (xy 62.719492 52.143604) (xy 62.730283 52.1313) (xy 62.735828 52.125381) + (xy 62.894419 51.966789) (xy 62.889206 51.961576) (xy 62.534238 52.316544) (xy 61.82996 52.316544) + (xy 61.474992 51.961576) (xy 61.120024 52.316544) (xy 58.797645 52.316544) (xy 58.936693 52.251704) + (xy 58.827591 52.142602) (xy 59.879751 52.142602) (xy 59.90464 52.14478) (xy 59.91001 52.145368) + (xy 59.920824 52.146791) (xy 59.92618 52.147615) (xy 59.947587 52.15139) (xy 59.952884 52.152444) + (xy 59.963537 52.154805) (xy 59.968799 52.156092) (xy 60.218055 52.222879) (xy 60.223251 52.224393) + (xy 60.233663 52.227676) (xy 60.23879 52.229417) (xy 60.259217 52.236853) (xy 60.264256 52.238813) + (xy 60.27433 52.242986) (xy 60.27928 52.245164) (xy 60.401237 52.302034) (xy 60.060778 51.961575) + (xy 59.879751 52.142602) (xy 58.827591 52.142602) (xy 58.646565 51.961576) (xy 58.291597 52.316544) + (xy 57.58732 52.316544) (xy 57.232352 51.961576) (xy 56.877384 52.316544) (xy 56.173106 52.316544) + (xy 55.818138 51.961576) (xy 55.46317 52.316544) (xy 54.758893 52.316544) (xy 54.403925 51.961576) + (xy 54.048957 52.316544) (xy 53.222032 52.316544) (xy 53.23047 52.286888) (xy 53.250571 52.069965) + (xy 53.23047 51.853042) (xy 53.170852 51.643506) (xy 53.073747 51.448493) (xy 53.009582 51.363525) + (xy 53.58776 51.363525) (xy 53.621773 51.431831) (xy 53.624206 51.437013) (xy 53.628873 51.447582) + (xy 53.631067 51.452878) (xy 53.639382 51.474342) (xy 53.641327 51.47973) (xy 53.644998 51.490683) + (xy 53.646692 51.496154) (xy 53.712608 51.727827) (xy 53.714049 51.733372) (xy 53.716693 51.744614) + (xy 53.717874 51.750215) (xy 53.722104 51.77284) (xy 53.723027 51.778501) (xy 53.724623 51.789945) + (xy 53.725283 51.795631) (xy 53.737182 51.92404) (xy 54.051786 51.609437) (xy 54.756063 51.609437) + (xy 55.111031 51.964405) (xy 55.465999 51.609437) (xy 56.170277 51.609437) (xy 56.525245 51.964405) + (xy 56.880213 51.609437) (xy 57.58449 51.609437) (xy 57.939458 51.964405) (xy 58.294426 51.609437) + (xy 58.998704 51.609437) (xy 59.353672 51.964405) (xy 59.70864 51.609437) (xy 60.412918 51.609437) + (xy 60.767886 51.964405) (xy 61.122854 51.609437) (xy 61.827131 51.609437) (xy 62.182099 51.964405) + (xy 62.537067 51.609437) (xy 63.241345 51.609437) (xy 63.246558 51.61465) (xy 63.601526 51.259682) + (xy 63.596313 51.254469) (xy 63.241345 51.609437) (xy 62.537067 51.609437) (xy 62.182099 51.254469) + (xy 61.827131 51.609437) (xy 61.122854 51.609437) (xy 60.767886 51.254469) (xy 60.412918 51.609437) + (xy 59.70864 51.609437) (xy 59.353672 51.254469) (xy 58.998704 51.609437) (xy 58.294426 51.609437) + (xy 57.939458 51.254468) (xy 57.58449 51.609437) (xy 56.880213 51.609437) (xy 56.525245 51.254469) + (xy 56.170277 51.609437) (xy 55.465999 51.609437) (xy 55.111031 51.254469) (xy 54.756063 51.609437) + (xy 54.051786 51.609437) (xy 53.696817 51.254468) (xy 53.58776 51.363525) (xy 53.009582 51.363525) + (xy 52.942462 51.274643) (xy 52.93338 51.266364) (xy 52.794509 51.139766) (xy 52.781467 51.127877) + (xy 52.781463 51.127874) (xy 52.781458 51.127871) (xy 52.596248 51.013194) (xy 52.596242 51.013191) + (xy 52.485521 50.970298) (xy 52.393104 50.934495) (xy 52.178961 50.894465) (xy 51.961109 50.894465) + (xy 51.746966 50.934495) (xy 51.716177 50.946423) (xy 51.543827 51.013191) (xy 51.543821 51.013194) + (xy 51.358611 51.127871) (xy 51.358601 51.127878) (xy 51.197609 51.274641) (xy 51.066323 51.448492) + (xy 50.969219 51.643502) (xy 50.959884 51.676313) (xy 50.914833 51.834652) (xy 50.909599 51.853046) + (xy 50.889499 52.069964) (xy 50.889499 52.069965) (xy 50.269673 52.069965) (xy 50.161284 51.961576) + (xy 49.806316 52.316544) (xy 49.102038 52.316544) (xy 48.74707 51.961576) (xy 48.392102 52.316544) + (xy 47.687825 52.316544) (xy 47.332857 51.961576) (xy 46.977889 52.316544) (xy 46.273611 52.316544) + (xy 45.918643 51.961576) (xy 45.563675 52.316544) (xy 44.859398 52.316544) (xy 44.50443 51.961576) + (xy 44.149462 52.316544) (xy 43.445184 52.316544) (xy 43.090216 51.961576) (xy 42.735248 52.316544) + (xy 42.030971 52.316544) (xy 41.676002 51.961575) (xy 41.321034 52.316544) (xy 40.616757 52.316544) + (xy 40.261789 51.961576) (xy 39.906821 52.316544) (xy 39.202543 52.316544) (xy 38.847575 51.961576) + (xy 38.492607 52.316544) (xy 37.78833 52.316544) (xy 37.433362 51.961576) (xy 37.078394 52.316544) + (xy 36.374116 52.316544) (xy 36.28502 52.227448) (xy 35.930052 52.582416) (xy 35.047584 52.582416) + (xy 35.754691 51.875309) (xy 36.637159 51.875309) (xy 36.726255 51.964405) (xy 37.081223 51.609437) + (xy 37.785501 51.609437) (xy 38.140469 51.964405) (xy 38.495437 51.609437) (xy 39.199714 51.609437) + (xy 39.554682 51.964405) (xy 39.90965 51.609437) (xy 40.613928 51.609437) (xy 40.968896 51.964405) + (xy 41.323864 51.609437) (xy 42.028141 51.609437) (xy 42.383109 51.964405) (xy 42.738077 51.609437) + (xy 43.442355 51.609437) (xy 43.797323 51.964405) (xy 44.152291 51.609437) (xy 44.856568 51.609437) + (xy 45.211536 51.964405) (xy 45.566504 51.609437) (xy 46.270782 51.609437) (xy 46.62575 51.964405) + (xy 46.980718 51.609437) (xy 47.684995 51.609437) (xy 48.039963 51.964405) (xy 48.394932 51.609437) + (xy 49.099209 51.609437) (xy 49.454177 51.964405) (xy 49.809145 51.609437) (xy 49.454177 51.254469) + (xy 49.099209 51.609437) (xy 48.394932 51.609437) (xy 48.039963 51.254468) (xy 47.684995 51.609437) + (xy 46.980718 51.609437) (xy 46.62575 51.254469) (xy 46.270782 51.609437) (xy 45.566504 51.609437) + (xy 45.211536 51.254468) (xy 44.856568 51.609437) (xy 44.152291 51.609437) (xy 43.797323 51.254469) + (xy 43.442355 51.609437) (xy 42.738077 51.609437) (xy 42.383109 51.254469) (xy 42.028141 51.609437) + (xy 41.323864 51.609437) (xy 40.968896 51.254469) (xy 40.613928 51.609437) (xy 39.90965 51.609437) + (xy 39.554682 51.254469) (xy 39.199714 51.609437) (xy 38.495437 51.609437) (xy 38.140469 51.254469) + (xy 37.785501 51.609437) (xy 37.081223 51.609437) (xy 36.992127 51.520341) (xy 36.637159 51.875309) + (xy 35.754691 51.875309) (xy 36.461798 51.168202) (xy 37.344266 51.168202) (xy 37.433362 51.257298) + (xy 37.78833 50.90233) (xy 38.492607 50.90233) (xy 38.847575 51.257298) (xy 39.202543 50.90233) + (xy 39.906821 50.90233) (xy 40.261789 51.257298) (xy 40.616757 50.90233) (xy 40.616756 50.902329) + (xy 41.321033 50.902329) (xy 41.676002 51.257298) (xy 42.030971 50.90233) (xy 42.735248 50.90233) + (xy 43.090216 51.257298) (xy 43.445184 50.90233) (xy 44.149462 50.90233) (xy 44.50443 51.257298) + (xy 44.859398 50.90233) (xy 44.859397 50.902329) (xy 45.563674 50.902329) (xy 45.918643 51.257298) + (xy 46.141743 51.034198) (xy 47.109757 51.034198) (xy 47.332857 51.257298) (xy 47.687825 50.90233) + (xy 48.392102 50.90233) (xy 48.74707 51.257298) (xy 49.102038 50.90233) (xy 49.806316 50.90233) + (xy 50.161284 51.257298) (xy 50.516252 50.90233) (xy 50.237694 50.623772) (xy 52.9133 50.623772) + (xy 53.053418 50.710529) (xy 53.05822 50.713658) (xy 53.067758 50.720192) (xy 53.072412 50.723541) + (xy 53.090779 50.737413) (xy 53.09527 50.740971) (xy 53.10415 50.748346) (xy 53.108464 50.7521) + (xy 53.286467 50.91437) (xy 53.29061 50.918326) (xy 53.29878 50.926496) (xy 53.302735 50.930638) + (xy 53.309237 50.93777) (xy 53.344677 50.90233) (xy 54.048957 50.90233) (xy 54.403925 51.257298) + (xy 54.758893 50.90233) (xy 55.46317 50.90233) (xy 55.818138 51.257298) (xy 56.173106 50.90233) + (xy 56.877384 50.90233) (xy 57.232352 51.257298) (xy 57.58732 50.90233) (xy 58.291597 50.90233) + (xy 58.646565 51.257298) (xy 59.001533 50.90233) (xy 59.705811 50.90233) (xy 60.060779 51.257298) + (xy 60.415747 50.90233) (xy 61.120024 50.90233) (xy 61.474992 51.257298) (xy 61.82996 50.90233) + (xy 62.534238 50.90233) (xy 62.889206 51.257298) (xy 63.244174 50.90233) (xy 63.244173 50.902329) + (xy 63.948451 50.902329) (xy 63.953664 50.907543) (xy 64.308633 50.552575) (xy 64.303419 50.547361) + (xy 63.948451 50.902329) (xy 63.244173 50.902329) (xy 62.889206 50.547362) (xy 62.534238 50.90233) + (xy 61.82996 50.90233) (xy 61.474992 50.547362) (xy 61.120024 50.90233) (xy 60.415747 50.90233) + (xy 60.060779 50.547362) (xy 59.705811 50.90233) (xy 59.001533 50.90233) (xy 58.646565 50.547362) + (xy 58.291597 50.90233) (xy 57.58732 50.90233) (xy 57.232352 50.547362) (xy 56.877384 50.90233) + (xy 56.173106 50.90233) (xy 55.818138 50.547362) (xy 55.46317 50.90233) (xy 54.758893 50.90233) + (xy 54.403925 50.547362) (xy 54.048957 50.90233) (xy 53.344677 50.90233) (xy 53.344678 50.902329) + (xy 52.98971 50.547361) (xy 52.9133 50.623772) (xy 50.237694 50.623772) (xy 50.161284 50.547362) + (xy 49.806316 50.90233) (xy 49.102038 50.90233) (xy 48.74707 50.547362) (xy 48.392102 50.90233) + (xy 47.687825 50.90233) (xy 47.6686 50.883105) (xy 47.617926 50.910193) (xy 47.61248 50.912934) + (xy 47.60138 50.918183) (xy 47.595821 50.920647) (xy 47.573225 50.930006) (xy 47.567549 50.932196) + (xy 47.555995 50.93633) (xy 47.550216 50.938239) (xy 47.328794 51.005406) (xy 47.32293 51.007028) + (xy 47.311026 51.01001) (xy 47.305089 51.011344) (xy 47.281101 51.016116) (xy 47.275109 51.017156) + (xy 47.262966 51.018958) (xy 47.256918 51.019704) (xy 47.109757 51.034198) (xy 46.141743 51.034198) + (xy 46.273611 50.90233) (xy 46.188918 50.817637) (xy 46.158011 50.801117) (xy 46.152717 50.798118) + (xy 46.142194 50.791811) (xy 46.137055 50.788558) (xy 46.11672 50.774972) (xy 46.111743 50.771467) + (xy 46.101879 50.764152) (xy 46.097078 50.760405) (xy 45.91821 50.613613) (xy 45.913596 50.609633) + (xy 45.904501 50.601389) (xy 45.900098 50.597196) (xy 45.884453 50.581551) (xy 45.563674 50.902329) + (xy 44.859397 50.902329) (xy 44.50443 50.547362) (xy 44.149462 50.90233) (xy 43.445184 50.90233) + (xy 43.090216 50.547362) (xy 42.735248 50.90233) (xy 42.030971 50.90233) (xy 41.913319 50.784678) + (xy 41.911534 50.784458) (xy 41.899391 50.782656) (xy 41.893399 50.781616) (xy 41.869411 50.776844) + (xy 41.863474 50.77551) (xy 41.85157 50.772528) (xy 41.845706 50.770906) (xy 41.624284 50.703739) + (xy 41.618505 50.70183) (xy 41.606951 50.697696) (xy 41.601275 50.695506) (xy 41.578679 50.686147) + (xy 41.57312 50.683683) (xy 41.56202 50.678434) (xy 41.556575 50.675694) (xy 41.550771 50.672591) + (xy 41.321033 50.902329) (xy 40.616756 50.902329) (xy 40.261789 50.547362) (xy 39.906821 50.90233) + (xy 39.202543 50.90233) (xy 38.847575 50.547362) (xy 38.492607 50.90233) (xy 37.78833 50.90233) + (xy 37.699234 50.813234) (xy 37.344266 51.168202) (xy 36.461798 51.168202) (xy 37.168905 50.461095) + (xy 38.051372 50.461095) (xy 38.140469 50.550192) (xy 38.495437 50.195224) (xy 39.199714 50.195224) + (xy 39.554682 50.550192) (xy 39.90965 50.195224) (xy 39.909649 50.195223) (xy 40.613927 50.195223) + (xy 40.968895 50.550191) (xy 41.127684 50.391402) (xy 41.112709 50.379112) (xy 41.108096 50.375133) + (xy 41.099001 50.366889) (xy 41.094598 50.362696) (xy 41.077304 50.345402) (xy 41.073111 50.340999) + (xy 41.064867 50.331904) (xy 41.060887 50.32729) (xy 40.914095 50.148422) (xy 40.910348 50.143621) + (xy 40.903033 50.133757) (xy 40.899528 50.12878) (xy 40.885942 50.108445) (xy 40.882689 50.103306) + (xy 40.876382 50.092783) (xy 40.873383 50.08749) (xy 40.820533 49.988617) (xy 40.613927 50.195223) + (xy 39.909649 50.195223) (xy 39.554682 49.840256) (xy 39.199714 50.195224) (xy 38.495437 50.195224) + (xy 38.40634 50.106127) (xy 38.051372 50.461095) (xy 37.168905 50.461095) (xy 37.876011 49.753989) + (xy 38.758479 49.753989) (xy 38.847575 49.843085) (xy 39.202543 49.488117) (xy 39.906821 49.488117) + (xy 40.261788 49.843084) (xy 40.616756 49.488116) (xy 40.38414 49.2555) (xy 41.128917 49.2555) (xy 41.149199 49.461432) + (xy 41.170103 49.530342) (xy 41.209268 49.659454) (xy 41.306815 49.84195) (xy 41.334256 49.875387) + (xy 41.438089 50.00191) (xy 41.528918 50.07645) (xy 41.59805 50.133185) (xy 41.780546 50.230732) + (xy 41.978566 50.2908) (xy 41.978565 50.2908) (xy 41.997029 50.292618) (xy 42.1845 50.311083) (xy 42.390434 50.2908) + (xy 42.588454 50.230732) (xy 42.654884 50.195224) (xy 43.442355 50.195224) (xy 43.797323 50.550192) + (xy 44.152291 50.195224) (xy 44.856568 50.195224) (xy 45.211536 50.550192) (xy 45.566504 50.195224) + (xy 45.211536 49.840255) (xy 44.856568 50.195224) (xy 44.152291 50.195224) (xy 43.797323 49.840256) + (xy 43.442355 50.195224) (xy 42.654884 50.195224) (xy 42.77095 50.133185) (xy 42.93091 50.00191) + (xy 43.062185 49.84195) (xy 43.159732 49.659454) (xy 43.211706 49.488117) (xy 44.149462 49.488117) + (xy 44.50443 49.843085) (xy 44.857515 49.49) (xy 45.934417 49.49) (xy 45.954699 49.695932) (xy 45.977516 49.771149) + (xy 46.014768 49.893954) (xy 46.112315 50.07645) (xy 46.140707 50.111046) (xy 46.243589 50.23641) + (xy 46.320457 50.299493) (xy 46.40355 50.367685) (xy 46.586046 50.465232) (xy 46.784066 50.5253) + (xy 46.784065 50.5253) (xy 46.802529 50.527118) (xy 46.99 50.545583) (xy 47.195934 50.5253) (xy 47.393954 50.465232) + (xy 47.57645 50.367685) (xy 47.718388 50.2512) (xy 48.338955 50.2512) (xy 48.394932 50.195224) (xy 49.099209 50.195224) + (xy 49.454177 50.550192) (xy 49.809145 50.195224) (xy 50.513423 50.195224) (xy 50.868391 50.550192) + (xy 51.223359 50.195224) (xy 51.927636 50.195224) (xy 52.128877 50.396465) (xy 52.19047 50.396465) + (xy 52.196201 50.396598) (xy 52.207742 50.397132) (xy 52.213454 50.397528) (xy 52.236373 50.399652) + (xy 52.242051 50.400311) (xy 52.253492 50.401906) (xy 52.259156 50.402829) (xy 52.403065 50.42973) + (xy 52.63757 50.195224) (xy 53.34185 50.195224) (xy 53.696818 50.550192) (xy 54.051786 50.195224) + (xy 54.756063 50.195224) (xy 55.111031 50.550192) (xy 55.465999 50.195224) (xy 56.170277 50.195224) + (xy 56.525245 50.550192) (xy 56.880213 50.195224) (xy 57.58449 50.195224) (xy 57.939458 50.550192) + (xy 58.294426 50.195224) (xy 58.998704 50.195224) (xy 59.353672 50.550192) (xy 59.70864 50.195224) + (xy 60.412918 50.195224) (xy 60.767886 50.550192) (xy 61.122854 50.195224) (xy 61.827131 50.195224) + (xy 62.182099 50.550192) (xy 62.537067 50.195224) (xy 63.241345 50.195224) (xy 63.596313 50.550192) + (xy 63.951281 50.195224) (xy 64.655558 50.195224) (xy 64.660771 50.200437) (xy 65.015739 49.845469) + (xy 65.010526 49.840256) (xy 64.655558 50.195224) (xy 63.951281 50.195224) (xy 63.596313 49.840256) + (xy 63.241345 50.195224) (xy 62.537067 50.195224) (xy 62.182099 49.840256) (xy 61.827131 50.195224) + (xy 61.122854 50.195224) (xy 60.767886 49.840256) (xy 60.412918 50.195224) (xy 59.70864 50.195224) + (xy 59.353672 49.840256) (xy 58.998704 50.195224) (xy 58.294426 50.195224) (xy 57.939458 49.840255) + (xy 57.58449 50.195224) (xy 56.880213 50.195224) (xy 56.525245 49.840256) (xy 56.170277 50.195224) + (xy 55.465999 50.195224) (xy 55.111031 49.840256) (xy 54.756063 50.195224) (xy 54.051786 50.195224) + (xy 53.696818 49.840256) (xy 53.34185 50.195224) (xy 52.63757 50.195224) (xy 52.637571 50.195223) + (xy 52.282604 49.840256) (xy 51.927636 50.195224) (xy 51.223359 50.195224) (xy 50.868391 49.840256) + (xy 50.513423 50.195224) (xy 49.809145 50.195224) (xy 49.454177 49.840256) (xy 49.099209 50.195224) + (xy 48.394932 50.195224) (xy 48.377952 50.178244) (xy 48.338955 50.2512) (xy 47.718388 50.2512) + (xy 47.73641 50.23641) (xy 47.867685 50.07645) (xy 47.965232 49.893954) (xy 48.0253 49.695934) (xy 48.045583 49.49) + (xy 48.031616 49.348192) (xy 48.532025 49.348192) (xy 48.542384 49.453356) (xy 48.542832 49.45943) + (xy 48.543434 49.47169) (xy 48.543583 49.477771) (xy 48.543583 49.502229) (xy 48.543434 49.50831) + (xy 48.542832 49.52057) (xy 48.542384 49.526644) (xy 48.532363 49.628378) (xy 48.74707 49.843085) + (xy 49.102038 49.488117) (xy 49.806316 49.488117) (xy 50.161284 49.843085) (xy 50.516252 49.488117) + (xy 51.220529 49.488117) (xy 51.575497 49.843085) (xy 51.930465 49.488117) (xy 52.634743 49.488117) + (xy 52.989711 49.843085) (xy 53.344679 49.488117) (xy 54.048957 49.488117) (xy 54.403925 49.843085) + (xy 54.758893 49.488117) (xy 55.46317 49.488117) (xy 55.818138 49.843085) (xy 56.173106 49.488117) + (xy 56.877384 49.488117) (xy 57.232352 49.843085) (xy 57.58732 49.488117) (xy 58.291597 49.488117) + (xy 58.646565 49.843085) (xy 59.001533 49.488117) (xy 59.705811 49.488117) (xy 60.060779 49.843085) + (xy 60.415747 49.488117) (xy 61.120024 49.488117) (xy 61.474992 49.843085) (xy 61.82996 49.488117) + (xy 62.534238 49.488117) (xy 62.889206 49.843085) (xy 63.244174 49.488117) (xy 63.948451 49.488117) + (xy 64.303419 49.843085) (xy 64.658388 49.488117) (xy 65.362665 49.488117) (xy 65.367878 49.49333) + (xy 65.722846 49.138362) (xy 65.717633 49.133149) (xy 65.362665 49.488117) (xy 64.658388 49.488117) + (xy 64.303419 49.133148) (xy 63.948451 49.488117) (xy 63.244174 49.488117) (xy 62.889206 49.133149) + (xy 62.534238 49.488117) (xy 61.82996 49.488117) (xy 61.474992 49.133149) (xy 61.120024 49.488117) + (xy 60.415747 49.488117) (xy 60.060779 49.133149) (xy 59.705811 49.488117) (xy 59.001533 49.488117) + (xy 58.646565 49.133149) (xy 58.291597 49.488117) (xy 57.58732 49.488117) (xy 57.232352 49.133149) + (xy 56.877384 49.488117) (xy 56.173106 49.488117) (xy 55.818138 49.133149) (xy 55.46317 49.488117) + (xy 54.758893 49.488117) (xy 54.403925 49.133149) (xy 54.048957 49.488117) (xy 53.344679 49.488117) + (xy 52.989711 49.133149) (xy 52.634743 49.488117) (xy 51.930465 49.488117) (xy 51.575497 49.133148) + (xy 51.220529 49.488117) (xy 50.516252 49.488117) (xy 50.161284 49.133149) (xy 49.806316 49.488117) + (xy 49.102038 49.488117) (xy 48.747069 49.133148) (xy 48.532025 49.348192) (xy 48.031616 49.348192) + (xy 48.0253 49.284066) (xy 47.965232 49.086046) (xy 47.867685 48.90355) (xy 47.807304 48.829975) + (xy 47.73641 48.743589) (xy 47.708529 48.720708) (xy 48.33463 48.720708) (xy 48.37664 48.799301) + (xy 48.39493 48.78101) (xy 49.099209 48.78101) (xy 49.454177 49.135978) (xy 49.809145 48.78101) + (xy 50.513423 48.78101) (xy 50.868391 49.135978) (xy 51.223359 48.78101) (xy 51.927636 48.78101) + (xy 52.282604 49.135978) (xy 52.637572 48.78101) (xy 53.34185 48.78101) (xy 53.696818 49.135978) + (xy 54.051786 48.78101) (xy 54.756063 48.78101) (xy 55.111031 49.135978) (xy 55.465999 48.78101) + (xy 56.170277 48.78101) (xy 56.525245 49.135978) (xy 56.880213 48.78101) (xy 57.58449 48.78101) + (xy 57.939458 49.135978) (xy 58.294426 48.78101) (xy 58.998704 48.78101) (xy 59.353672 49.135978) + (xy 59.70864 48.78101) (xy 60.412918 48.78101) (xy 60.767886 49.135978) (xy 61.122854 48.78101) + (xy 61.827131 48.78101) (xy 62.182099 49.135978) (xy 62.537067 48.78101) (xy 63.241345 48.78101) + (xy 63.596313 49.135978) (xy 63.951281 48.78101) (xy 64.655558 48.78101) (xy 65.010526 49.135978) + (xy 65.365494 48.78101) (xy 66.069772 48.78101) (xy 66.074985 48.786223) (xy 66.429953 48.431255) + (xy 66.42474 48.426042) (xy 66.069772 48.78101) (xy 65.365494 48.78101) (xy 65.010526 48.426042) + (xy 64.655558 48.78101) (xy 63.951281 48.78101) (xy 63.596313 48.426042) (xy 63.241345 48.78101) + (xy 62.537067 48.78101) (xy 62.182099 48.426042) (xy 61.827131 48.78101) (xy 61.122854 48.78101) + (xy 60.767886 48.426042) (xy 60.412918 48.78101) (xy 59.70864 48.78101) (xy 59.353672 48.426042) + (xy 58.998704 48.78101) (xy 58.294426 48.78101) (xy 57.939458 48.426041) (xy 57.58449 48.78101) + (xy 56.880213 48.78101) (xy 56.525245 48.426042) (xy 56.170277 48.78101) (xy 55.465999 48.78101) + (xy 55.111031 48.426042) (xy 54.756063 48.78101) (xy 54.051786 48.78101) (xy 53.696818 48.426042) + (xy 53.34185 48.78101) (xy 52.637572 48.78101) (xy 52.282604 48.426042) (xy 51.927636 48.78101) + (xy 51.223359 48.78101) (xy 50.868391 48.426042) (xy 50.513423 48.78101) (xy 49.809145 48.78101) + (xy 49.454177 48.426042) (xy 49.099209 48.78101) (xy 48.39493 48.78101) (xy 48.394931 48.781009) + (xy 48.33463 48.720708) (xy 47.708529 48.720708) (xy 47.615205 48.64412) (xy 47.57645 48.612315) + (xy 47.393954 48.514768) (xy 47.195934 48.4547) (xy 47.195932 48.454699) (xy 47.195934 48.454699) + (xy 46.99 48.434417) (xy 46.784067 48.454699) (xy 46.653438 48.494325) (xy 46.586294 48.514693) + (xy 46.586043 48.514769) (xy 46.486141 48.568169) (xy 46.40355 48.612315) (xy 46.403548 48.612316) + (xy 46.403547 48.612317) (xy 46.243589 48.743589) (xy 46.112317 48.903547) (xy 46.112315 48.90355) + (xy 46.077131 48.969374) (xy 46.014769 49.086043) (xy 46.014768 49.086045) (xy 46.014768 49.086046) + (xy 46.012877 49.092279) (xy 45.954699 49.284067) (xy 45.934417 49.49) (xy 44.857515 49.49) (xy 44.859398 49.488117) (xy 44.50443 49.133149) (xy 44.149462 49.488117) (xy 43.211706 49.488117) (xy 43.2198 49.461434) (xy 43.240083 49.2555) (xy 43.2198 49.049566) (xy 43.159732 48.851546) (xy 43.062185 48.66905) (xy 43.023385 48.621772) (xy 43.601591 48.621772) (xy 43.604693 48.627574) (xy 43.607434 48.63302) (xy 43.612683 48.64412) @@ -41679,18 +42209,17 @@ (xy 43.714204 48.988582) (xy 43.721226 49.059881) (xy 43.797323 49.135978) (xy 44.152291 48.78101) (xy 44.856568 48.78101) (xy 45.211536 49.135978) (xy 45.566504 48.78101) (xy 45.211536 48.426041) (xy 44.856568 48.78101) (xy 44.152291 48.78101) (xy 43.797322 48.426041) (xy 43.601591 48.621772) - (xy 43.023385 48.621772) (xy 42.978441 48.567007) (xy 42.93091 48.509089) (xy 42.813177 48.412469) + (xy 43.023385 48.621772) (xy 42.987918 48.578555) (xy 42.93091 48.509089) (xy 42.813177 48.412469) (xy 42.77095 48.377815) (xy 42.588454 48.280268) (xy 42.390434 48.2202) (xy 42.390432 48.220199) (xy 42.390434 48.220199) (xy 42.1845 48.199917) (xy 41.978567 48.220199) (xy 41.780543 48.280269) - (xy 41.67938 48.334343) (xy 41.59805 48.377815) (xy 41.598048 48.377816) (xy 41.598047 48.377817) - (xy 41.438089 48.509089) (xy 41.308608 48.666865) (xy 41.306815 48.66905) (xy 41.295623 48.689989) - (xy 41.209269 48.851543) (xy 41.209268 48.851545) (xy 41.209268 48.851546) (xy 41.208393 48.854432) - (xy 41.149199 49.049567) (xy 41.128917 49.2555) (xy 40.38414 49.2555) (xy 40.261789 49.133149) (xy 39.906821 49.488117) - (xy 39.202543 49.488117) (xy 39.113447 49.399021) (xy 38.758479 49.753989) (xy 37.876011 49.753989) - (xy 38.583118 49.046882) (xy 39.465586 49.046882) (xy 39.554682 49.135978) (xy 39.90965 48.78101) - (xy 40.613928 48.78101) (xy 40.687836 48.854918) (xy 40.736261 48.695284) (xy 40.73817 48.689505) - (xy 40.742304 48.677951) (xy 40.744494 48.672275) (xy 40.753853 48.649679) (xy 40.756317 48.64412) - (xy 40.76125 48.633687) (xy 40.613928 48.78101) (xy 39.90965 48.78101) (xy 39.820554 48.691914) + (xy 41.683877 48.331939) (xy 41.59805 48.377815) (xy 41.598048 48.377816) (xy 41.598047 48.377817) + (xy 41.438089 48.509089) (xy 41.306817 48.669047) (xy 41.306815 48.66905) (xy 41.276697 48.725396) + (xy 41.209269 48.851543) (xy 41.149199 49.049567) (xy 41.128917 49.2555) (xy 40.38414 49.2555) (xy 40.261789 49.133149) + (xy 39.906821 49.488117) (xy 39.202543 49.488117) (xy 39.113447 49.399021) (xy 38.758479 49.753989) + (xy 37.876011 49.753989) (xy 38.583118 49.046882) (xy 39.465586 49.046882) (xy 39.554682 49.135978) + (xy 39.90965 48.78101) (xy 40.613928 48.78101) (xy 40.687836 48.854918) (xy 40.736261 48.695284) + (xy 40.73817 48.689505) (xy 40.742304 48.677951) (xy 40.744494 48.672275) (xy 40.753853 48.649679) + (xy 40.756317 48.64412) (xy 40.76125 48.633687) (xy 40.613928 48.78101) (xy 39.90965 48.78101) (xy 39.820554 48.691914) (xy 39.465586 49.046882) (xy 38.583118 49.046882) (xy 39.290225 48.339775) (xy 40.172693 48.339775) (xy 40.261789 48.428871) (xy 40.616757 48.073903) (xy 40.527661 47.984807) (xy 40.172693 48.339775) (xy 39.290225 48.339775) (xy 39.738467 47.891533) (xy 42.917617 47.891533) (xy 43.01649 47.944383) @@ -41883,310 +42412,310 @@ (xy 138.549631 46.307551) (xy 138.9046 45.952583) (xy 139.608877 45.952583) (xy 139.963845 46.307551) (xy 140.318813 45.952583) (xy 141.023091 45.952583) (xy 141.378059 46.307551) (xy 141.733027 45.952583) (xy 142.437304 45.952583) (xy 142.792272 46.307551) (xy 143.14724 45.952583) (xy 143.851518 45.952583) - (xy 144.206486 46.307551) (xy 144.561454 45.952583) (xy 145.265731 45.952583) (xy 145.620698 46.30755) + (xy 144.206485 46.30755) (xy 144.561452 45.952583) (xy 145.265731 45.952583) (xy 145.620698 46.30755) (xy 145.975665 45.952583) (xy 146.679945 45.952583) (xy 147.034913 46.307551) (xy 147.389881 45.952583) (xy 147.034913 45.597615) (xy 146.679945 45.952583) (xy 145.975665 45.952583) (xy 145.975666 45.952582) - (xy 145.620699 45.597615) (xy 145.265731 45.952583) (xy 144.561454 45.952583) (xy 144.206486 45.597615) - (xy 143.851518 45.952583) (xy 143.14724 45.952583) (xy 142.792272 45.597615) (xy 142.437304 45.952583) - (xy 141.733027 45.952583) (xy 141.378059 45.597615) (xy 141.023091 45.952583) (xy 140.318813 45.952583) - (xy 139.963845 45.597615) (xy 139.608877 45.952583) (xy 138.9046 45.952583) (xy 138.549631 45.597614) - (xy 138.194663 45.952583) (xy 137.490386 45.952583) (xy 137.135418 45.597615) (xy 136.78045 45.952583) - (xy 136.076172 45.952583) (xy 135.721204 45.597614) (xy 135.366236 45.952583) (xy 134.661959 45.952583) - (xy 134.306991 45.597615) (xy 133.952023 45.952583) (xy 133.247745 45.952583) (xy 132.892777 45.597615) - (xy 132.537809 45.952583) (xy 131.833532 45.952583) (xy 131.478564 45.597615) (xy 131.123596 45.952583) - (xy 130.419318 45.952583) (xy 130.06435 45.597615) (xy 129.709382 45.952583) (xy 129.005105 45.952583) - (xy 128.650137 45.597615) (xy 128.295169 45.952583) (xy 127.590891 45.952583) (xy 127.235923 45.597615) - (xy 126.880955 45.952583) (xy 126.176677 45.952583) (xy 125.821709 45.597614) (xy 125.466741 45.952583) - (xy 124.762464 45.952583) (xy 124.407496 45.597615) (xy 124.052528 45.952583) (xy 123.34825 45.952583) - (xy 122.993282 45.597615) (xy 122.638314 45.952583) (xy 121.934037 45.952583) (xy 121.579069 45.597615) - (xy 121.224101 45.952583) (xy 120.519823 45.952583) (xy 120.164855 45.597615) (xy 119.809887 45.952583) - (xy 119.10561 45.952583) (xy 118.750642 45.597615) (xy 118.395674 45.952583) (xy 117.691396 45.952583) - (xy 117.336428 45.597615) (xy 116.98146 45.952583) (xy 116.277183 45.952583) (xy 115.922214 45.597614) - (xy 115.567246 45.952583) (xy 114.862969 45.952583) (xy 114.508001 45.597615) (xy 114.153033 45.952583) - (xy 113.448755 45.952583) (xy 113.093787 45.597614) (xy 112.738819 45.952583) (xy 112.034542 45.952583) - (xy 111.679574 45.597615) (xy 111.324606 45.952583) (xy 110.620328 45.952583) (xy 110.26536 45.597615) - (xy 109.910392 45.952583) (xy 109.206115 45.952583) (xy 108.851147 45.597615) (xy 108.496179 45.952583) - (xy 107.791901 45.952583) (xy 107.436933 45.597615) (xy 107.081965 45.952583) (xy 106.377688 45.952583) - (xy 106.02272 45.597615) (xy 105.667752 45.952583) (xy 104.963474 45.952583) (xy 104.608506 45.597615) - (xy 104.253538 45.952583) (xy 103.54926 45.952583) (xy 103.194292 45.597614) (xy 102.839324 45.952583) - (xy 102.135047 45.952583) (xy 101.780079 45.597615) (xy 101.425111 45.952583) (xy 100.720833 45.952583) - (xy 100.365865 45.597615) (xy 100.010897 45.952583) (xy 99.30662 45.952583) (xy 98.951652 45.597615) - (xy 98.596684 45.952583) (xy 97.892406 45.952583) (xy 97.537438 45.597615) (xy 97.18247 45.952583) - (xy 96.478193 45.952583) (xy 96.123225 45.597615) (xy 95.768257 45.952583) (xy 95.063979 45.952583) - (xy 94.709011 45.597615) (xy 94.354043 45.952583) (xy 93.649766 45.952583) (xy 93.294797 45.597614) - (xy 92.939829 45.952583) (xy 92.235552 45.952583) (xy 91.880584 45.597615) (xy 91.525616 45.952583) - (xy 90.821338 45.952583) (xy 90.46637 45.597614) (xy 90.111402 45.952583) (xy 89.407125 45.952583) - (xy 89.052157 45.597615) (xy 88.697189 45.952583) (xy 87.992911 45.952583) (xy 87.637943 45.597615) - (xy 87.282975 45.952583) (xy 86.578698 45.952583) (xy 86.22373 45.597615) (xy 85.868762 45.952583) - (xy 85.164484 45.952583) (xy 84.809516 45.597615) (xy 84.454548 45.952583) (xy 83.750271 45.952583) - (xy 83.395303 45.597615) (xy 83.040335 45.952583) (xy 82.336057 45.952583) (xy 81.981089 45.597615) - (xy 81.626121 45.952583) (xy 80.921843 45.952583) (xy 80.566875 45.597614) (xy 80.211907 45.952583) - (xy 79.50763 45.952583) (xy 79.152662 45.597615) (xy 78.797694 45.952583) (xy 78.093416 45.952583) - (xy 77.738448 45.597615) (xy 77.38348 45.952583) (xy 76.679203 45.952583) (xy 76.324235 45.597615) - (xy 75.969267 45.952583) (xy 75.264987 45.952583) (xy 75.264988 45.952582) (xy 74.91002 45.597614) - (xy 74.645999 45.861635) (xy 72.345614 45.861635) (xy 72.081593 45.597614) (xy 71.965387 45.71382) - (xy 66.540945 45.71382) (xy 66.42474 45.597615) (xy 66.069772 45.952583) (xy 65.365494 45.952583) - (xy 65.010526 45.597615) (xy 64.655558 45.952583) (xy 63.951281 45.952583) (xy 63.596313 45.597615) - (xy 63.241345 45.952583) (xy 62.537067 45.952583) (xy 62.182099 45.597615) (xy 61.827131 45.952583) - (xy 61.122854 45.952583) (xy 60.767886 45.597615) (xy 60.412918 45.952583) (xy 59.70864 45.952583) - (xy 59.353672 45.597615) (xy 58.998704 45.952583) (xy 58.294426 45.952583) (xy 57.939458 45.597614) - (xy 57.58449 45.952583) (xy 56.880213 45.952583) (xy 56.525245 45.597615) (xy 56.170277 45.952583) - (xy 55.465999 45.952583) (xy 55.111031 45.597615) (xy 54.756063 45.952583) (xy 54.051786 45.952583) - (xy 53.696818 45.597615) (xy 53.34185 45.952583) (xy 52.637572 45.952583) (xy 52.294542 45.609553) - (xy 52.316352 45.690946) (xy 52.318194 45.747232) (xy 52.295449 45.861576) (xy 52.272207 45.912871) - (xy 52.240289 45.954466) (xy 50.925534 45.954466) (xy 50.925534 45.901805) (xy 50.898275 45.800072) - (xy 50.845614 45.70886) (xy 50.84122 45.704466) (xy 51.804406 45.704466) (xy 51.804406 45.704465) - (xy 51.751803 45.508148) (xy 51.751799 45.508139) (xy 51.655668 45.301983) (xy 51.616101 45.245476) - (xy 52.634743 45.245476) (xy 52.989711 45.600444) (xy 53.344679 45.245476) (xy 54.048957 45.245476) - (xy 54.403925 45.600444) (xy 54.758893 45.245476) (xy 54.758892 45.245475) (xy 55.463169 45.245475) - (xy 55.818138 45.600444) (xy 56.173106 45.245476) (xy 56.877384 45.245476) (xy 57.232352 45.600444) - (xy 57.58732 45.245476) (xy 58.291597 45.245476) (xy 58.646565 45.600444) (xy 59.001533 45.245476) - (xy 59.705811 45.245476) (xy 60.060779 45.600444) (xy 60.415747 45.245476) (xy 61.120024 45.245476) - (xy 61.474992 45.600444) (xy 61.82996 45.245476) (xy 62.534238 45.245476) (xy 62.889206 45.600444) - (xy 63.244174 45.245476) (xy 63.948451 45.245476) (xy 64.303419 45.600444) (xy 64.658388 45.245476) - (xy 65.362665 45.245476) (xy 65.717633 45.600444) (xy 66.072601 45.245476) (xy 66.776879 45.245476) - (xy 67.131847 45.600444) (xy 67.486815 45.245476) (xy 68.191092 45.245476) (xy 68.387116 45.4415) - (xy 68.705004 45.4415) (xy 68.901028 45.245476) (xy 69.605306 45.245476) (xy 69.960274 45.600444) - (xy 70.315242 45.245476) (xy 71.019519 45.245476) (xy 71.222038 45.447995) (xy 71.346919 45.460296) - (xy 71.352966 45.461042) (xy 71.365109 45.462844) (xy 71.371101 45.463884) (xy 71.395089 45.468656) - (xy 71.401026 45.46999) (xy 71.41293 45.472972) (xy 71.418793 45.474594) (xy 71.481357 45.493572) - (xy 71.729453 45.245476) (xy 72.433733 45.245476) (xy 72.788701 45.600444) (xy 73.143669 45.245476) - (xy 73.847946 45.245476) (xy 74.14622 45.54375) (xy 74.157549 45.547804) (xy 74.163225 45.549994) - (xy 74.185821 45.559353) (xy 74.19138 45.561817) (xy 74.20248 45.567066) (xy 74.207925 45.569806) - (xy 74.224624 45.578732) (xy 74.557881 45.245476) (xy 75.26216 45.245476) (xy 75.617128 45.600444) - (xy 75.972096 45.245476) (xy 76.676374 45.245476) (xy 77.031342 45.600444) (xy 77.38631 45.245476) - (xy 78.090587 45.245476) (xy 78.445555 45.600444) (xy 78.800523 45.245476) (xy 79.504801 45.245476) - (xy 79.859769 45.600444) (xy 80.214737 45.245476) (xy 80.919014 45.245476) (xy 81.273982 45.600444) - (xy 81.62895 45.245476) (xy 82.333228 45.245476) (xy 82.688196 45.600444) (xy 83.043164 45.245476) - (xy 83.747441 45.245476) (xy 84.102409 45.600444) (xy 84.457377 45.245476) (xy 85.161655 45.245476) - (xy 85.516623 45.600444) (xy 85.871591 45.245476) (xy 86.575868 45.245476) (xy 86.930836 45.600444) - (xy 87.285805 45.245476) (xy 87.990082 45.245476) (xy 88.34505 45.600444) (xy 88.700018 45.245476) - (xy 89.404296 45.245476) (xy 89.759264 45.600444) (xy 90.114232 45.245476) (xy 90.818509 45.245476) - (xy 91.173477 45.600444) (xy 91.528445 45.245476) (xy 92.232723 45.245476) (xy 92.587691 45.600444) - (xy 92.942659 45.245476) (xy 93.646936 45.245476) (xy 94.001904 45.600444) (xy 94.356872 45.245476) - (xy 95.06115 45.245476) (xy 95.416118 45.600444) (xy 95.771086 45.245476) (xy 96.475363 45.245476) - (xy 96.830331 45.600444) (xy 97.185299 45.245476) (xy 97.889577 45.245476) (xy 98.244545 45.600444) - (xy 98.599513 45.245476) (xy 99.30379 45.245476) (xy 99.658758 45.600444) (xy 100.013727 45.245476) - (xy 100.718004 45.245476) (xy 101.072972 45.600444) (xy 101.42794 45.245476) (xy 102.132218 45.245476) - (xy 102.487186 45.600444) (xy 102.842154 45.245476) (xy 103.546431 45.245476) (xy 103.901399 45.600444) - (xy 104.256367 45.245476) (xy 104.960645 45.245476) (xy 105.315613 45.600444) (xy 105.670581 45.245476) - (xy 106.374858 45.245476) (xy 106.729826 45.600444) (xy 107.084794 45.245476) (xy 107.789072 45.245476) - (xy 108.14404 45.600444) (xy 108.499008 45.245476) (xy 109.203285 45.245476) (xy 109.558253 45.600444) - (xy 109.913222 45.245476) (xy 110.617499 45.245476) (xy 110.972467 45.600444) (xy 111.327435 45.245476) - (xy 112.031713 45.245476) (xy 112.386681 45.600444) (xy 112.741649 45.245476) (xy 113.445926 45.245476) - (xy 113.800894 45.600444) (xy 114.155862 45.245476) (xy 114.86014 45.245476) (xy 115.215108 45.600444) - (xy 115.570076 45.245476) (xy 116.274353 45.245476) (xy 116.629321 45.600444) (xy 116.984289 45.245476) - (xy 117.688567 45.245476) (xy 118.043535 45.600444) (xy 118.398503 45.245476) (xy 119.10278 45.245476) - (xy 119.457748 45.600444) (xy 119.812716 45.245476) (xy 120.516994 45.245476) (xy 120.871962 45.600444) - (xy 121.22693 45.245476) (xy 121.931207 45.245476) (xy 122.286175 45.600444) (xy 122.641144 45.245476) - (xy 123.345421 45.245476) (xy 123.700389 45.600444) (xy 124.055357 45.245476) (xy 124.759635 45.245476) - (xy 125.114603 45.600444) (xy 125.469571 45.245476) (xy 126.173848 45.245476) (xy 126.528816 45.600444) - (xy 126.883784 45.245476) (xy 127.588062 45.245476) (xy 127.94303 45.600444) (xy 128.297998 45.245476) - (xy 129.002275 45.245476) (xy 129.357243 45.600444) (xy 129.712211 45.245476) (xy 130.416489 45.245476) - (xy 130.771457 45.600444) (xy 131.126425 45.245476) (xy 131.830702 45.245476) (xy 132.18567 45.600444) - (xy 132.540639 45.245476) (xy 133.244916 45.245476) (xy 133.599884 45.600444) (xy 133.954852 45.245476) - (xy 134.65913 45.245476) (xy 135.014098 45.600444) (xy 135.369066 45.245476) (xy 136.073343 45.245476) - (xy 136.428311 45.600444) (xy 136.783279 45.245476) (xy 137.487557 45.245476) (xy 137.842525 45.600444) - (xy 138.197493 45.245476) (xy 138.90177 45.245476) (xy 139.256738 45.600444) (xy 139.611706 45.245476) - (xy 140.315984 45.245476) (xy 140.670952 45.600444) (xy 141.02592 45.245476) (xy 141.730197 45.245476) - (xy 142.085165 45.600444) (xy 142.440133 45.245476) (xy 143.144411 45.245476) (xy 143.499379 45.600444) - (xy 143.854347 45.245476) (xy 144.558624 45.245476) (xy 144.913592 45.600444) (xy 145.268561 45.245476) - (xy 145.972838 45.245476) (xy 146.327806 45.600444) (xy 146.682774 45.245476) (xy 146.327806 44.890508) - (xy 145.972838 45.245476) (xy 145.268561 45.245476) (xy 144.913592 44.890507) (xy 144.558624 45.245476) - (xy 143.854347 45.245476) (xy 143.499379 44.890508) (xy 143.144411 45.245476) (xy 142.440133 45.245476) - (xy 142.085165 44.890507) (xy 141.730197 45.245476) (xy 141.02592 45.245476) (xy 140.670952 44.890508) - (xy 140.315984 45.245476) (xy 139.611706 45.245476) (xy 139.256738 44.890508) (xy 138.90177 45.245476) - (xy 138.197493 45.245476) (xy 137.842525 44.890508) (xy 137.487557 45.245476) (xy 136.783279 45.245476) - (xy 136.428311 44.890508) (xy 136.073343 45.245476) (xy 135.369066 45.245476) (xy 135.014098 44.890508) - (xy 134.65913 45.245476) (xy 133.954852 45.245476) (xy 133.599884 44.890508) (xy 133.244916 45.245476) - (xy 132.540639 45.245476) (xy 132.18567 44.890507) (xy 131.830702 45.245476) (xy 131.126425 45.245476) - (xy 130.771457 44.890508) (xy 130.416489 45.245476) (xy 129.712211 45.245476) (xy 129.357243 44.890508) - (xy 129.002275 45.245476) (xy 128.297998 45.245476) (xy 127.94303 44.890508) (xy 127.588062 45.245476) - (xy 126.883784 45.245476) (xy 126.528816 44.890508) (xy 126.173848 45.245476) (xy 125.469571 45.245476) - (xy 125.114603 44.890508) (xy 124.759635 45.245476) (xy 124.055357 45.245476) (xy 123.700389 44.890508) - (xy 123.345421 45.245476) (xy 122.641144 45.245476) (xy 122.286175 44.890507) (xy 121.931207 45.245476) - (xy 121.22693 45.245476) (xy 120.871962 44.890508) (xy 120.516994 45.245476) (xy 119.812716 45.245476) - (xy 119.457748 44.890507) (xy 119.10278 45.245476) (xy 118.398503 45.245476) (xy 118.043535 44.890508) - (xy 117.688567 45.245476) (xy 116.984289 45.245476) (xy 116.629321 44.890508) (xy 116.274353 45.245476) - (xy 115.570076 45.245476) (xy 115.215108 44.890508) (xy 114.86014 45.245476) (xy 114.155862 45.245476) - (xy 113.800894 44.890508) (xy 113.445926 45.245476) (xy 112.741649 45.245476) (xy 112.386681 44.890508) - (xy 112.031713 45.245476) (xy 111.327435 45.245476) (xy 110.972467 44.890508) (xy 110.617499 45.245476) - (xy 109.913222 45.245476) (xy 109.558253 44.890507) (xy 109.203285 45.245476) (xy 108.499008 45.245476) - (xy 108.14404 44.890508) (xy 107.789072 45.245476) (xy 107.084794 45.245476) (xy 106.729826 44.890508) - (xy 106.374858 45.245476) (xy 105.670581 45.245476) (xy 105.315613 44.890508) (xy 104.960645 45.245476) - (xy 104.256367 45.245476) (xy 103.901399 44.890508) (xy 103.546431 45.245476) (xy 102.842154 45.245476) - (xy 102.487186 44.890508) (xy 102.132218 45.245476) (xy 101.42794 45.245476) (xy 101.072972 44.890508) - (xy 100.718004 45.245476) (xy 100.013727 45.245476) (xy 99.658758 44.890507) (xy 99.30379 45.245476) - (xy 98.599513 45.245476) (xy 98.244545 44.890508) (xy 97.889577 45.245476) (xy 97.185299 45.245476) - (xy 96.830331 44.890507) (xy 96.475363 45.245476) (xy 95.771086 45.245476) (xy 95.416118 44.890508) - (xy 95.06115 45.245476) (xy 94.356872 45.245476) (xy 94.001904 44.890508) (xy 93.646936 45.245476) - (xy 92.942659 45.245476) (xy 92.587691 44.890508) (xy 92.232723 45.245476) (xy 91.528445 45.245476) - (xy 91.173477 44.890508) (xy 90.818509 45.245476) (xy 90.114232 45.245476) (xy 89.759264 44.890508) - (xy 89.404296 45.245476) (xy 88.700018 45.245476) (xy 88.34505 44.890508) (xy 87.990082 45.245476) - (xy 87.285805 45.245476) (xy 86.930836 44.890507) (xy 86.575868 45.245476) (xy 85.871591 45.245476) - (xy 85.516623 44.890508) (xy 85.161655 45.245476) (xy 84.457377 45.245476) (xy 84.102409 44.890508) - (xy 83.747441 45.245476) (xy 83.043164 45.245476) (xy 82.688196 44.890508) (xy 82.333228 45.245476) - (xy 81.62895 45.245476) (xy 81.273982 44.890508) (xy 80.919014 45.245476) (xy 80.214737 45.245476) - (xy 79.859769 44.890508) (xy 79.504801 45.245476) (xy 78.800523 45.245476) (xy 78.445555 44.890508) - (xy 78.090587 45.245476) (xy 77.38631 45.245476) (xy 77.031342 44.890508) (xy 76.676374 45.245476) - (xy 75.972096 45.245476) (xy 75.617128 44.890508) (xy 75.26216 45.245476) (xy 74.557881 45.245476) - (xy 74.557882 45.245475) (xy 74.202914 44.890507) (xy 73.847946 45.245476) (xy 73.143669 45.245476) - (xy 72.788701 44.890508) (xy 72.433733 45.245476) (xy 71.729453 45.245476) (xy 71.729454 45.245475) - (xy 71.374487 44.890508) (xy 71.019519 45.245476) (xy 70.315242 45.245476) (xy 69.960274 44.890508) - (xy 69.605306 45.245476) (xy 68.901028 45.245476) (xy 68.54606 44.890508) (xy 68.191092 45.245476) - (xy 67.486815 45.245476) (xy 67.131847 44.890508) (xy 66.776879 45.245476) (xy 66.072601 45.245476) - (xy 65.717633 44.890508) (xy 65.362665 45.245476) (xy 64.658388 45.245476) (xy 64.303419 44.890507) - (xy 63.948451 45.245476) (xy 63.244174 45.245476) (xy 62.889206 44.890508) (xy 62.534238 45.245476) - (xy 61.82996 45.245476) (xy 61.474992 44.890508) (xy 61.120024 45.245476) (xy 60.415747 45.245476) - (xy 60.060779 44.890508) (xy 59.705811 45.245476) (xy 59.001533 45.245476) (xy 58.646565 44.890508) - (xy 58.291597 45.245476) (xy 57.58732 45.245476) (xy 57.232352 44.890508) (xy 56.877384 45.245476) - (xy 56.173106 45.245476) (xy 55.95093 45.0233) (xy 55.850405 45.0233) (xy 55.820729 45.019697) (xy 55.715006 44.993638) - (xy 55.463169 45.245475) (xy 54.758892 45.245475) (xy 54.403925 44.890508) (xy 54.048957 45.245476) - (xy 53.344679 45.245476) (xy 52.989711 44.890508) (xy 52.634743 45.245476) (xy 51.616101 45.245476) - (xy 51.525191 45.115645) (xy 51.364354 44.954808) (xy 51.178016 44.824331) (xy 50.971862 44.7282) - (xy 50.775534 44.675593) (xy 50.775534 45.63878) (xy 50.77114 45.634386) (xy 50.679928 45.581725) - (xy 50.578195 45.554466) (xy 50.472873 45.554466) (xy 50.37114 45.581725) (xy 50.279928 45.634386) - (xy 50.275534 45.63878) (xy 50.275534 44.675593) (xy 50.079205 44.7282) (xy 49.873051 44.824331) - (xy 49.686713 44.954808) (xy 49.525876 45.115645) (xy 49.395399 45.301983) (xy 49.299268 45.508139) - (xy 49.299264 45.508148) (xy 49.246661 45.704465) (xy 48.146814 45.704465) (xy 48.039963 45.597614) - (xy 47.684995 45.952583) (xy 46.047613 45.952583) (xy 46.092775 45.87436) (xy 46.120034 45.772627) - (xy 46.120034 45.667305) (xy 46.092775 45.565572) (xy 46.040114 45.47436) (xy 46.03572 45.469966) - (xy 46.998906 45.469966) (xy 46.998906 45.469965) (xy 46.946303 45.273648) (xy 46.946299 45.273639) - (xy 46.850168 45.067483) (xy 46.73376 44.901237) (xy 47.322128 44.901237) (xy 47.402234 45.073024) - (xy 47.404412 45.077974) (xy 47.408585 45.088048) (xy 47.410545 45.093087) (xy 47.417981 45.113514) - (xy 47.419721 45.118638) (xy 47.423004 45.129049) (xy 47.424519 45.134247) (xy 47.503667 45.429633) - (xy 47.687825 45.245476) (xy 48.392102 45.245476) (xy 48.747069 45.600443) (xy 48.76332 45.584191) - (xy 48.821049 45.368747) (xy 48.822564 45.363549) (xy 48.825847 45.353138) (xy 48.827587 45.348014) - (xy 48.835023 45.327587) (xy 48.836983 45.322548) (xy 48.841156 45.312474) (xy 48.843334 45.307524) - (xy 48.945338 45.088776) (xy 48.74707 44.890508) (xy 48.392102 45.245476) (xy 47.687825 45.245476) - (xy 47.332857 44.890508) (xy 47.322128 44.901237) (xy 46.73376 44.901237) (xy 46.719691 44.881145) - (xy 46.558854 44.720308) (xy 46.372516 44.589831) (xy 46.262155 44.538369) (xy 47.684995 44.538369) - (xy 48.039963 44.893337) (xy 48.394932 44.538369) (xy 49.099209 44.538369) (xy 49.249042 44.688202) - (xy 49.342266 44.594979) (xy 49.346173 44.591239) (xy 49.354219 44.583866) (xy 49.35829 44.580296) - (xy 49.374942 44.566324) (xy 49.379156 44.562941) (xy 49.387809 44.556301) (xy 49.392174 44.5531) - (xy 49.413212 44.538369) (xy 51.927636 44.538369) (xy 52.282604 44.893337) (xy 52.637572 44.538369) - (xy 53.34185 44.538369) (xy 53.696818 44.893337) (xy 54.051786 44.538369) (xy 54.756063 44.538369) - (xy 55.11103 44.893336) (xy 55.172401 44.831965) (xy 56.463873 44.831965) (xy 56.525245 44.893337) - (xy 56.880213 44.538369) (xy 57.58449 44.538369) (xy 57.939458 44.893337) (xy 58.294426 44.538369) - (xy 58.998704 44.538369) (xy 59.353672 44.893337) (xy 59.70864 44.538369) (xy 60.412918 44.538369) - (xy 60.767886 44.893337) (xy 61.122854 44.538369) (xy 61.827131 44.538369) (xy 62.182099 44.893337) - (xy 62.537067 44.538369) (xy 63.241345 44.538369) (xy 63.596313 44.893337) (xy 63.951281 44.538369) - (xy 64.655558 44.538369) (xy 65.010526 44.893337) (xy 65.365494 44.538369) (xy 66.069772 44.538369) - (xy 66.42474 44.893337) (xy 66.779708 44.538369) (xy 67.483985 44.538369) (xy 67.838953 44.893337) - (xy 68.193921 44.538369) (xy 68.898199 44.538369) (xy 69.253167 44.893337) (xy 69.608135 44.538369) - (xy 70.312412 44.538369) (xy 70.66738 44.893337) (xy 71.022349 44.538369) (xy 71.726626 44.538369) - (xy 72.081594 44.893337) (xy 72.436562 44.538369) (xy 73.14084 44.538369) (xy 73.495808 44.893337) - (xy 73.850776 44.538369) (xy 74.555053 44.538369) (xy 74.910021 44.893337) (xy 75.264989 44.538369) - (xy 75.969267 44.538369) (xy 76.324235 44.893337) (xy 76.679203 44.538369) (xy 77.38348 44.538369) - (xy 77.738448 44.893337) (xy 78.093416 44.538369) (xy 78.797694 44.538369) (xy 79.152662 44.893337) - (xy 79.50763 44.538369) (xy 80.211907 44.538369) (xy 80.566875 44.893337) (xy 80.921843 44.538369) - (xy 81.626121 44.538369) (xy 81.981089 44.893337) (xy 82.336057 44.538369) (xy 83.040335 44.538369) - (xy 83.395303 44.893337) (xy 83.750271 44.538369) (xy 84.454548 44.538369) (xy 84.809516 44.893337) - (xy 85.164484 44.538369) (xy 85.868762 44.538369) (xy 86.22373 44.893337) (xy 86.578698 44.538369) - (xy 87.282975 44.538369) (xy 87.637943 44.893337) (xy 87.992911 44.538369) (xy 88.697189 44.538369) - (xy 89.052157 44.893337) (xy 89.407125 44.538369) (xy 90.111402 44.538369) (xy 90.46637 44.893337) - (xy 90.821338 44.538369) (xy 91.525616 44.538369) (xy 91.880584 44.893337) (xy 92.235552 44.538369) - (xy 92.939829 44.538369) (xy 93.294797 44.893337) (xy 93.649766 44.538369) (xy 94.354043 44.538369) - (xy 94.709011 44.893337) (xy 95.063979 44.538369) (xy 95.768257 44.538369) (xy 96.123225 44.893337) - (xy 96.478193 44.538369) (xy 97.18247 44.538369) (xy 97.537438 44.893337) (xy 97.892406 44.538369) - (xy 98.596684 44.538369) (xy 98.951652 44.893337) (xy 99.30662 44.538369) (xy 100.010897 44.538369) - (xy 100.365865 44.893337) (xy 100.720833 44.538369) (xy 101.425111 44.538369) (xy 101.780079 44.893337) - (xy 102.135047 44.538369) (xy 102.839324 44.538369) (xy 103.194292 44.893337) (xy 103.54926 44.538369) - (xy 104.253538 44.538369) (xy 104.608506 44.893337) (xy 104.963474 44.538369) (xy 105.667752 44.538369) - (xy 106.02272 44.893337) (xy 106.377688 44.538369) (xy 107.081965 44.538369) (xy 107.436933 44.893337) - (xy 107.791901 44.538369) (xy 108.496179 44.538369) (xy 108.851147 44.893337) (xy 109.206115 44.538369) - (xy 109.910392 44.538369) (xy 110.26536 44.893337) (xy 110.620328 44.538369) (xy 111.324606 44.538369) - (xy 111.679574 44.893337) (xy 112.034542 44.538369) (xy 112.738819 44.538369) (xy 113.093787 44.893337) - (xy 113.448755 44.538369) (xy 114.153033 44.538369) (xy 114.508001 44.893337) (xy 114.862969 44.538369) - (xy 115.567246 44.538369) (xy 115.922214 44.893337) (xy 116.277183 44.538369) (xy 116.98146 44.538369) - (xy 117.336428 44.893337) (xy 117.691396 44.538369) (xy 118.395674 44.538369) (xy 118.750642 44.893337) - (xy 119.10561 44.538369) (xy 119.809887 44.538369) (xy 120.164855 44.893337) (xy 120.519823 44.538369) - (xy 121.224101 44.538369) (xy 121.579069 44.893337) (xy 121.934037 44.538369) (xy 122.638314 44.538369) - (xy 122.993282 44.893337) (xy 123.34825 44.538369) (xy 124.052528 44.538369) (xy 124.407496 44.893337) - (xy 124.762464 44.538369) (xy 125.466741 44.538369) (xy 125.821709 44.893337) (xy 126.176677 44.538369) - (xy 126.880955 44.538369) (xy 127.235923 44.893337) (xy 127.590891 44.538369) (xy 128.295169 44.538369) - (xy 128.650137 44.893337) (xy 129.005105 44.538369) (xy 129.709382 44.538369) (xy 130.06435 44.893337) - (xy 130.419318 44.538369) (xy 131.123596 44.538369) (xy 131.478564 44.893337) (xy 131.833532 44.538369) - (xy 132.537809 44.538369) (xy 132.892777 44.893337) (xy 133.247745 44.538369) (xy 133.952023 44.538369) - (xy 134.306991 44.893337) (xy 134.661959 44.538369) (xy 135.366236 44.538369) (xy 135.721204 44.893337) - (xy 136.076172 44.538369) (xy 136.78045 44.538369) (xy 137.135418 44.893337) (xy 137.490386 44.538369) - (xy 138.194663 44.538369) (xy 138.549631 44.893337) (xy 138.9046 44.538369) (xy 139.608877 44.538369) - (xy 139.963845 44.893337) (xy 140.318813 44.538369) (xy 141.023091 44.538369) (xy 141.378059 44.893337) - (xy 141.733027 44.538369) (xy 142.437304 44.538369) (xy 142.792272 44.893337) (xy 143.14724 44.538369) - (xy 143.851518 44.538369) (xy 144.206486 44.893337) (xy 144.561454 44.538369) (xy 145.265731 44.538369) - (xy 145.620699 44.893337) (xy 145.975667 44.538369) (xy 145.876298 44.439) (xy 145.3651 44.439) - (xy 145.265731 44.538369) (xy 144.561454 44.538369) (xy 144.462085 44.439) (xy 143.950887 44.439) - (xy 143.851518 44.538369) (xy 143.14724 44.538369) (xy 143.047871 44.439) (xy 142.536673 44.439) - (xy 142.437304 44.538369) (xy 141.733027 44.538369) (xy 141.633658 44.439) (xy 141.12246 44.439) - (xy 141.023091 44.538369) (xy 140.318813 44.538369) (xy 140.219444 44.439) (xy 139.708246 44.439) - (xy 139.608877 44.538369) (xy 138.9046 44.538369) (xy 138.805231 44.439) (xy 138.294033 44.439) - (xy 138.194663 44.538369) (xy 137.490386 44.538369) (xy 137.391017 44.439) (xy 136.879819 44.439) - (xy 136.78045 44.538369) (xy 136.076172 44.538369) (xy 135.976803 44.439) (xy 135.465605 44.439) - (xy 135.366236 44.538369) (xy 134.661959 44.538369) (xy 134.56259 44.439) (xy 134.051392 44.439) - (xy 133.952023 44.538369) (xy 133.247745 44.538369) (xy 133.148376 44.439) (xy 132.637178 44.439) - (xy 132.537809 44.538369) (xy 131.833532 44.538369) (xy 131.734163 44.439) (xy 131.222965 44.439) - (xy 131.123596 44.538369) (xy 130.419318 44.538369) (xy 130.319949 44.439) (xy 129.808751 44.439) - (xy 129.709382 44.538369) (xy 129.005105 44.538369) (xy 128.905736 44.439) (xy 128.394538 44.439) - (xy 128.295169 44.538369) (xy 127.590891 44.538369) (xy 127.491522 44.439) (xy 126.980324 44.439) - (xy 126.880955 44.538369) (xy 126.176677 44.538369) (xy 126.077308 44.439) (xy 125.56611 44.439) - (xy 125.466741 44.538369) (xy 124.762464 44.538369) (xy 124.663095 44.439) (xy 124.151897 44.439) - (xy 124.052528 44.538369) (xy 123.34825 44.538369) (xy 123.248881 44.439) (xy 122.737683 44.439) - (xy 122.638314 44.538369) (xy 121.934037 44.538369) (xy 121.834668 44.439) (xy 121.32347 44.439) - (xy 121.224101 44.538369) (xy 120.519823 44.538369) (xy 120.420454 44.439) (xy 119.909256 44.439) - (xy 119.809887 44.538369) (xy 119.10561 44.538369) (xy 119.006241 44.439) (xy 118.495043 44.439) - (xy 118.395674 44.538369) (xy 117.691396 44.538369) (xy 117.592027 44.439) (xy 117.080829 44.439) - (xy 116.98146 44.538369) (xy 116.277183 44.538369) (xy 116.177814 44.439) (xy 115.666616 44.439) - (xy 115.567246 44.538369) (xy 114.862969 44.538369) (xy 114.7636 44.439) (xy 114.252402 44.439) - (xy 114.153033 44.538369) (xy 113.448755 44.538369) (xy 113.349386 44.439) (xy 112.838188 44.439) - (xy 112.738819 44.538369) (xy 112.034542 44.538369) (xy 111.935173 44.439) (xy 111.423975 44.439) - (xy 111.324606 44.538369) (xy 110.620328 44.538369) (xy 110.520959 44.439) (xy 110.009761 44.439) - (xy 109.910392 44.538369) (xy 109.206115 44.538369) (xy 109.106746 44.439) (xy 108.595548 44.439) - (xy 108.496179 44.538369) (xy 107.791901 44.538369) (xy 107.692532 44.439) (xy 107.181334 44.439) - (xy 107.081965 44.538369) (xy 106.377688 44.538369) (xy 106.278319 44.439) (xy 105.767121 44.439) - (xy 105.667752 44.538369) (xy 104.963474 44.538369) (xy 104.864105 44.439) (xy 104.352907 44.439) - (xy 104.253538 44.538369) (xy 103.54926 44.538369) (xy 103.449891 44.439) (xy 102.938693 44.439) - (xy 102.839324 44.538369) (xy 102.135047 44.538369) (xy 102.035678 44.439) (xy 101.52448 44.439) - (xy 101.425111 44.538369) (xy 100.720833 44.538369) (xy 100.621464 44.439) (xy 100.110266 44.439) - (xy 100.010897 44.538369) (xy 99.30662 44.538369) (xy 99.207251 44.439) (xy 98.696053 44.439) (xy 98.596684 44.538369) - (xy 97.892406 44.538369) (xy 97.793037 44.439) (xy 97.281839 44.439) (xy 97.18247 44.538369) (xy 96.478193 44.538369) - (xy 96.378824 44.439) (xy 95.867626 44.439) (xy 95.768257 44.538369) (xy 95.063979 44.538369) (xy 94.96461 44.439) - (xy 94.453412 44.439) (xy 94.354043 44.538369) (xy 93.649766 44.538369) (xy 93.550397 44.439) (xy 93.039199 44.439) - (xy 92.939829 44.538369) (xy 92.235552 44.538369) (xy 92.136183 44.439) (xy 91.624985 44.439) (xy 91.525616 44.538369) - (xy 90.821338 44.538369) (xy 90.721969 44.439) (xy 90.210771 44.439) (xy 90.111402 44.538369) (xy 89.407125 44.538369) - (xy 89.307756 44.439) (xy 88.796558 44.439) (xy 88.697189 44.538369) (xy 87.992911 44.538369) (xy 87.893542 44.439) - (xy 87.382344 44.439) (xy 87.282975 44.538369) (xy 86.578698 44.538369) (xy 86.479329 44.439) (xy 85.968131 44.439) - (xy 85.868762 44.538369) (xy 85.164484 44.538369) (xy 85.065115 44.439) (xy 84.553917 44.439) (xy 84.454548 44.538369) - (xy 83.750271 44.538369) (xy 83.650902 44.439) (xy 83.139704 44.439) (xy 83.040335 44.538369) (xy 82.336057 44.538369) - (xy 82.236688 44.439) (xy 81.72549 44.439) (xy 81.626121 44.538369) (xy 80.921843 44.538369) (xy 80.822474 44.439) - (xy 80.311276 44.439) (xy 80.211907 44.538369) (xy 79.50763 44.538369) (xy 79.408261 44.439) (xy 78.897063 44.439) - (xy 78.797694 44.538369) (xy 78.093416 44.538369) (xy 77.994047 44.439) (xy 77.482849 44.439) (xy 77.38348 44.538369) - (xy 76.679203 44.538369) (xy 76.579834 44.439) (xy 76.068636 44.439) (xy 75.969267 44.538369) (xy 75.264989 44.538369) - (xy 75.16562 44.439) (xy 74.654422 44.439) (xy 74.555053 44.538369) (xy 73.850776 44.538369) (xy 73.751407 44.439) - (xy 73.240209 44.439) (xy 73.14084 44.538369) (xy 72.436562 44.538369) (xy 72.337193 44.439) (xy 71.825995 44.439) - (xy 71.726626 44.538369) (xy 71.022349 44.538369) (xy 70.92298 44.439) (xy 70.411782 44.439) (xy 70.312412 44.538369) - (xy 69.608135 44.538369) (xy 69.508766 44.439) (xy 68.997568 44.439) (xy 68.898199 44.538369) (xy 68.193921 44.538369) - (xy 68.094552 44.439) (xy 67.583354 44.439) (xy 67.483985 44.538369) (xy 66.779708 44.538369) (xy 66.680339 44.439) - (xy 66.169141 44.439) (xy 66.069772 44.538369) (xy 65.365494 44.538369) (xy 65.266125 44.439) (xy 64.754927 44.439) - (xy 64.655558 44.538369) (xy 63.951281 44.538369) (xy 63.851912 44.439) (xy 63.340714 44.439) (xy 63.241345 44.538369) - (xy 62.537067 44.538369) (xy 62.437698 44.439) (xy 61.9265 44.439) (xy 61.827131 44.538369) (xy 61.122854 44.538369) - (xy 61.023485 44.439) (xy 60.512287 44.439) (xy 60.412918 44.538369) (xy 59.70864 44.538369) (xy 59.609271 44.439) - (xy 59.098073 44.439) (xy 58.998704 44.538369) (xy 58.294426 44.538369) (xy 58.195057 44.439) (xy 57.683859 44.439) - (xy 57.58449 44.538369) (xy 56.880213 44.538369) (xy 56.780844 44.439) (xy 56.725762 44.439) (xy 56.675713 44.570966) - (xy 56.661821 44.597435) (xy 56.565256 44.737335) (xy 56.545433 44.75971) (xy 56.463873 44.831965) - (xy 55.172401 44.831965) (xy 55.289816 44.71455) (xy 55.208979 44.597435) (xy 55.195087 44.570966) - (xy 55.145038 44.439) (xy 54.855432 44.439) (xy 54.756063 44.538369) (xy 54.051786 44.538369) (xy 53.952417 44.439) - (xy 53.441219 44.439) (xy 53.34185 44.538369) (xy 52.637572 44.538369) (xy 52.538203 44.439) (xy 52.027005 44.439) - (xy 51.927636 44.538369) (xy 49.413212 44.538369) (xy 49.555124 44.439) (xy 49.198578 44.439) (xy 49.099209 44.538369) - (xy 48.394932 44.538369) (xy 48.295563 44.439) (xy 47.784365 44.439) (xy 47.684995 44.538369) (xy 46.262155 44.538369) - (xy 46.166362 44.4937) (xy 45.970034 44.441093) (xy 45.970034 45.40428) (xy 45.96564 45.399886) - (xy 45.874428 45.347225) (xy 45.772695 45.319966) (xy 45.667373 45.319966) (xy 45.56564 45.347225) - (xy 45.474428 45.399886) (xy 45.470034 45.40428) (xy 45.470034 44.441093) (xy 45.273705 44.4937) - (xy 45.067551 44.589831) (xy 44.881213 44.720308) (xy 44.720376 44.881145) (xy 44.589899 45.067483) - (xy 44.493768 45.273639) (xy 44.493764 45.273648) (xy 44.441161 45.469965) (xy 43.220695 45.469965) - (xy 43.445184 45.245476) (xy 43.356088 45.15638) (xy 43.00112 45.511348) (xy 42.118652 45.511348) - (xy 42.825759 44.804241) (xy 43.708227 44.804241) (xy 43.797323 44.893337) (xy 44.152291 44.538369) - (xy 44.063195 44.449273) (xy 43.708227 44.804241) (xy 42.825759 44.804241) (xy 43.778681 43.851319) - (xy 43.840004 43.817834) (xy 43.866362 43.815) (xy 146.633638 43.815) + (xy 145.620699 45.597615) (xy 145.265731 45.952583) (xy 144.561452 45.952583) (xy 144.561453 45.952582) + (xy 144.206486 45.597615) (xy 143.851518 45.952583) (xy 143.14724 45.952583) (xy 142.792272 45.597615) + (xy 142.437304 45.952583) (xy 141.733027 45.952583) (xy 141.378059 45.597615) (xy 141.023091 45.952583) + (xy 140.318813 45.952583) (xy 139.963845 45.597615) (xy 139.608877 45.952583) (xy 138.9046 45.952583) + (xy 138.549631 45.597614) (xy 138.194663 45.952583) (xy 137.490386 45.952583) (xy 137.135418 45.597615) + (xy 136.78045 45.952583) (xy 136.076172 45.952583) (xy 135.721204 45.597614) (xy 135.366236 45.952583) + (xy 134.661959 45.952583) (xy 134.306991 45.597615) (xy 133.952023 45.952583) (xy 133.247745 45.952583) + (xy 132.892777 45.597615) (xy 132.537809 45.952583) (xy 131.833532 45.952583) (xy 131.478564 45.597615) + (xy 131.123596 45.952583) (xy 130.419318 45.952583) (xy 130.06435 45.597615) (xy 129.709382 45.952583) + (xy 129.005105 45.952583) (xy 128.650137 45.597615) (xy 128.295169 45.952583) (xy 127.590891 45.952583) + (xy 127.235923 45.597615) (xy 126.880955 45.952583) (xy 126.176677 45.952583) (xy 125.821709 45.597614) + (xy 125.466741 45.952583) (xy 124.762464 45.952583) (xy 124.407496 45.597615) (xy 124.052528 45.952583) + (xy 123.34825 45.952583) (xy 122.993282 45.597615) (xy 122.638314 45.952583) (xy 121.934037 45.952583) + (xy 121.579069 45.597615) (xy 121.224101 45.952583) (xy 120.519823 45.952583) (xy 120.164855 45.597615) + (xy 119.809887 45.952583) (xy 119.10561 45.952583) (xy 118.750642 45.597615) (xy 118.395674 45.952583) + (xy 117.691396 45.952583) (xy 117.336428 45.597615) (xy 116.98146 45.952583) (xy 116.277183 45.952583) + (xy 115.922214 45.597614) (xy 115.567246 45.952583) (xy 114.862969 45.952583) (xy 114.508001 45.597615) + (xy 114.153033 45.952583) (xy 113.448755 45.952583) (xy 113.093787 45.597614) (xy 112.738819 45.952583) + (xy 112.034542 45.952583) (xy 111.679574 45.597615) (xy 111.324606 45.952583) (xy 110.620328 45.952583) + (xy 110.26536 45.597615) (xy 109.910392 45.952583) (xy 109.206115 45.952583) (xy 108.851147 45.597615) + (xy 108.496179 45.952583) (xy 107.791901 45.952583) (xy 107.436933 45.597615) (xy 107.081965 45.952583) + (xy 106.377688 45.952583) (xy 106.02272 45.597615) (xy 105.667752 45.952583) (xy 104.963474 45.952583) + (xy 104.608506 45.597615) (xy 104.253538 45.952583) (xy 103.54926 45.952583) (xy 103.194292 45.597614) + (xy 102.839324 45.952583) (xy 102.135047 45.952583) (xy 101.780079 45.597615) (xy 101.425111 45.952583) + (xy 100.720833 45.952583) (xy 100.365865 45.597615) (xy 100.010897 45.952583) (xy 99.30662 45.952583) + (xy 98.951652 45.597615) (xy 98.596684 45.952583) (xy 97.892406 45.952583) (xy 97.537438 45.597615) + (xy 97.18247 45.952583) (xy 96.478193 45.952583) (xy 96.123225 45.597615) (xy 95.768257 45.952583) + (xy 95.063979 45.952583) (xy 94.709011 45.597615) (xy 94.354043 45.952583) (xy 93.649766 45.952583) + (xy 93.294797 45.597614) (xy 92.939829 45.952583) (xy 92.235552 45.952583) (xy 91.880584 45.597615) + (xy 91.525616 45.952583) (xy 90.821338 45.952583) (xy 90.46637 45.597614) (xy 90.111402 45.952583) + (xy 89.407125 45.952583) (xy 89.052157 45.597615) (xy 88.697189 45.952583) (xy 87.992911 45.952583) + (xy 87.637943 45.597615) (xy 87.282975 45.952583) (xy 86.578698 45.952583) (xy 86.22373 45.597615) + (xy 85.868762 45.952583) (xy 85.164484 45.952583) (xy 84.809516 45.597615) (xy 84.454548 45.952583) + (xy 83.750271 45.952583) (xy 83.395303 45.597615) (xy 83.040335 45.952583) (xy 82.336057 45.952583) + (xy 81.981089 45.597615) (xy 81.626121 45.952583) (xy 80.921843 45.952583) (xy 80.566875 45.597614) + (xy 80.211907 45.952583) (xy 79.50763 45.952583) (xy 79.152662 45.597615) (xy 78.797694 45.952583) + (xy 78.093416 45.952583) (xy 77.738448 45.597615) (xy 77.38348 45.952583) (xy 76.679203 45.952583) + (xy 76.324235 45.597615) (xy 75.969267 45.952583) (xy 75.264987 45.952583) (xy 75.264988 45.952582) + (xy 74.91002 45.597614) (xy 74.645999 45.861635) (xy 72.345614 45.861635) (xy 72.081593 45.597614) + (xy 71.965387 45.71382) (xy 66.540945 45.71382) (xy 66.42474 45.597615) (xy 66.069772 45.952583) + (xy 65.365494 45.952583) (xy 65.010526 45.597615) (xy 64.655558 45.952583) (xy 63.951281 45.952583) + (xy 63.596313 45.597615) (xy 63.241345 45.952583) (xy 62.537067 45.952583) (xy 62.182099 45.597615) + (xy 61.827131 45.952583) (xy 61.122854 45.952583) (xy 60.767886 45.597615) (xy 60.412918 45.952583) + (xy 59.70864 45.952583) (xy 59.353672 45.597615) (xy 58.998704 45.952583) (xy 58.294426 45.952583) + (xy 57.939458 45.597614) (xy 57.58449 45.952583) (xy 56.880213 45.952583) (xy 56.525245 45.597615) + (xy 56.170277 45.952583) (xy 55.465999 45.952583) (xy 55.111031 45.597615) (xy 54.756063 45.952583) + (xy 54.051786 45.952583) (xy 53.696818 45.597615) (xy 53.34185 45.952583) (xy 52.637572 45.952583) + (xy 52.294542 45.609553) (xy 52.316352 45.690946) (xy 52.318194 45.747232) (xy 52.295449 45.861576) + (xy 52.272207 45.912871) (xy 52.240289 45.954466) (xy 50.925534 45.954466) (xy 50.925534 45.901805) + (xy 50.898275 45.800072) (xy 50.845614 45.70886) (xy 50.84122 45.704466) (xy 51.804406 45.704466) + (xy 51.804406 45.704465) (xy 51.751803 45.508148) (xy 51.751799 45.508139) (xy 51.655668 45.301983) + (xy 51.616101 45.245476) (xy 52.634743 45.245476) (xy 52.989711 45.600444) (xy 53.344679 45.245476) + (xy 54.048957 45.245476) (xy 54.403925 45.600444) (xy 54.758893 45.245476) (xy 54.758892 45.245475) + (xy 55.463169 45.245475) (xy 55.818138 45.600444) (xy 56.173106 45.245476) (xy 56.877384 45.245476) + (xy 57.232352 45.600444) (xy 57.58732 45.245476) (xy 58.291597 45.245476) (xy 58.646565 45.600444) + (xy 59.001533 45.245476) (xy 59.705811 45.245476) (xy 60.060779 45.600444) (xy 60.415747 45.245476) + (xy 61.120024 45.245476) (xy 61.474992 45.600444) (xy 61.82996 45.245476) (xy 62.534238 45.245476) + (xy 62.889206 45.600444) (xy 63.244174 45.245476) (xy 63.948451 45.245476) (xy 64.303419 45.600444) + (xy 64.658388 45.245476) (xy 65.362665 45.245476) (xy 65.717633 45.600444) (xy 66.072601 45.245476) + (xy 66.776879 45.245476) (xy 67.131847 45.600444) (xy 67.486815 45.245476) (xy 68.191092 45.245476) + (xy 68.387116 45.4415) (xy 68.705004 45.4415) (xy 68.901028 45.245476) (xy 69.605306 45.245476) + (xy 69.960274 45.600444) (xy 70.315242 45.245476) (xy 71.019519 45.245476) (xy 71.222038 45.447995) + (xy 71.346919 45.460296) (xy 71.352966 45.461042) (xy 71.365109 45.462844) (xy 71.371101 45.463884) + (xy 71.395089 45.468656) (xy 71.401026 45.46999) (xy 71.41293 45.472972) (xy 71.418793 45.474594) + (xy 71.481357 45.493572) (xy 71.729453 45.245476) (xy 72.433733 45.245476) (xy 72.788701 45.600444) + (xy 73.143669 45.245476) (xy 73.847946 45.245476) (xy 74.14622 45.54375) (xy 74.157549 45.547804) + (xy 74.163225 45.549994) (xy 74.185821 45.559353) (xy 74.19138 45.561817) (xy 74.20248 45.567066) + (xy 74.207925 45.569806) (xy 74.224624 45.578732) (xy 74.557881 45.245476) (xy 75.26216 45.245476) + (xy 75.617128 45.600444) (xy 75.972096 45.245476) (xy 76.676374 45.245476) (xy 77.031342 45.600444) + (xy 77.38631 45.245476) (xy 78.090587 45.245476) (xy 78.445555 45.600444) (xy 78.800523 45.245476) + (xy 79.504801 45.245476) (xy 79.859769 45.600444) (xy 80.214737 45.245476) (xy 80.919014 45.245476) + (xy 81.273982 45.600444) (xy 81.62895 45.245476) (xy 82.333228 45.245476) (xy 82.688196 45.600444) + (xy 83.043164 45.245476) (xy 83.747441 45.245476) (xy 84.102409 45.600444) (xy 84.457377 45.245476) + (xy 85.161655 45.245476) (xy 85.516623 45.600444) (xy 85.871591 45.245476) (xy 86.575868 45.245476) + (xy 86.930836 45.600444) (xy 87.285805 45.245476) (xy 87.990082 45.245476) (xy 88.34505 45.600444) + (xy 88.700018 45.245476) (xy 89.404296 45.245476) (xy 89.759264 45.600444) (xy 90.114232 45.245476) + (xy 90.818509 45.245476) (xy 91.173477 45.600444) (xy 91.528445 45.245476) (xy 92.232723 45.245476) + (xy 92.587691 45.600444) (xy 92.942659 45.245476) (xy 93.646936 45.245476) (xy 94.001904 45.600444) + (xy 94.356872 45.245476) (xy 95.06115 45.245476) (xy 95.416118 45.600444) (xy 95.771086 45.245476) + (xy 96.475363 45.245476) (xy 96.830331 45.600444) (xy 97.185299 45.245476) (xy 97.889577 45.245476) + (xy 98.244545 45.600444) (xy 98.599513 45.245476) (xy 99.30379 45.245476) (xy 99.658758 45.600444) + (xy 100.013727 45.245476) (xy 100.718004 45.245476) (xy 101.072972 45.600444) (xy 101.42794 45.245476) + (xy 102.132218 45.245476) (xy 102.487186 45.600444) (xy 102.842154 45.245476) (xy 103.546431 45.245476) + (xy 103.901399 45.600444) (xy 104.256367 45.245476) (xy 104.960645 45.245476) (xy 105.315613 45.600444) + (xy 105.670581 45.245476) (xy 106.374858 45.245476) (xy 106.729826 45.600444) (xy 107.084794 45.245476) + (xy 107.789072 45.245476) (xy 108.14404 45.600444) (xy 108.499008 45.245476) (xy 109.203285 45.245476) + (xy 109.558253 45.600444) (xy 109.913222 45.245476) (xy 110.617499 45.245476) (xy 110.972467 45.600444) + (xy 111.327435 45.245476) (xy 112.031713 45.245476) (xy 112.386681 45.600444) (xy 112.741649 45.245476) + (xy 113.445926 45.245476) (xy 113.800894 45.600444) (xy 114.155862 45.245476) (xy 114.86014 45.245476) + (xy 115.215108 45.600444) (xy 115.570076 45.245476) (xy 116.274353 45.245476) (xy 116.629321 45.600444) + (xy 116.984289 45.245476) (xy 117.688567 45.245476) (xy 118.043535 45.600444) (xy 118.398503 45.245476) + (xy 119.10278 45.245476) (xy 119.457748 45.600444) (xy 119.812716 45.245476) (xy 120.516994 45.245476) + (xy 120.871962 45.600444) (xy 121.22693 45.245476) (xy 121.931207 45.245476) (xy 122.286175 45.600444) + (xy 122.641144 45.245476) (xy 123.345421 45.245476) (xy 123.700389 45.600444) (xy 124.055357 45.245476) + (xy 124.759635 45.245476) (xy 125.114603 45.600444) (xy 125.469571 45.245476) (xy 126.173848 45.245476) + (xy 126.528816 45.600444) (xy 126.883784 45.245476) (xy 127.588062 45.245476) (xy 127.94303 45.600444) + (xy 128.297998 45.245476) (xy 129.002275 45.245476) (xy 129.357243 45.600444) (xy 129.712211 45.245476) + (xy 130.416489 45.245476) (xy 130.771457 45.600444) (xy 131.126425 45.245476) (xy 131.830702 45.245476) + (xy 132.18567 45.600444) (xy 132.540639 45.245476) (xy 133.244916 45.245476) (xy 133.599884 45.600444) + (xy 133.954852 45.245476) (xy 134.65913 45.245476) (xy 135.014098 45.600444) (xy 135.369066 45.245476) + (xy 136.073343 45.245476) (xy 136.428311 45.600444) (xy 136.783279 45.245476) (xy 137.487557 45.245476) + (xy 137.842525 45.600444) (xy 138.197493 45.245476) (xy 138.90177 45.245476) (xy 139.256738 45.600444) + (xy 139.611706 45.245476) (xy 140.315984 45.245476) (xy 140.670952 45.600444) (xy 141.02592 45.245476) + (xy 141.730197 45.245476) (xy 142.085165 45.600444) (xy 142.440133 45.245476) (xy 143.144411 45.245476) + (xy 143.499379 45.600444) (xy 143.854347 45.245476) (xy 144.558624 45.245476) (xy 144.913592 45.600444) + (xy 145.268561 45.245476) (xy 145.972838 45.245476) (xy 146.327806 45.600444) (xy 146.682774 45.245476) + (xy 146.327806 44.890508) (xy 145.972838 45.245476) (xy 145.268561 45.245476) (xy 144.913592 44.890507) + (xy 144.558624 45.245476) (xy 143.854347 45.245476) (xy 143.499379 44.890508) (xy 143.144411 45.245476) + (xy 142.440133 45.245476) (xy 142.085165 44.890507) (xy 141.730197 45.245476) (xy 141.02592 45.245476) + (xy 140.670952 44.890508) (xy 140.315984 45.245476) (xy 139.611706 45.245476) (xy 139.256738 44.890508) + (xy 138.90177 45.245476) (xy 138.197493 45.245476) (xy 137.842525 44.890508) (xy 137.487557 45.245476) + (xy 136.783279 45.245476) (xy 136.428311 44.890508) (xy 136.073343 45.245476) (xy 135.369066 45.245476) + (xy 135.014098 44.890508) (xy 134.65913 45.245476) (xy 133.954852 45.245476) (xy 133.599884 44.890508) + (xy 133.244916 45.245476) (xy 132.540639 45.245476) (xy 132.18567 44.890507) (xy 131.830702 45.245476) + (xy 131.126425 45.245476) (xy 130.771457 44.890508) (xy 130.416489 45.245476) (xy 129.712211 45.245476) + (xy 129.357243 44.890508) (xy 129.002275 45.245476) (xy 128.297998 45.245476) (xy 127.94303 44.890508) + (xy 127.588062 45.245476) (xy 126.883784 45.245476) (xy 126.528816 44.890508) (xy 126.173848 45.245476) + (xy 125.469571 45.245476) (xy 125.114603 44.890508) (xy 124.759635 45.245476) (xy 124.055357 45.245476) + (xy 123.700389 44.890508) (xy 123.345421 45.245476) (xy 122.641144 45.245476) (xy 122.286175 44.890507) + (xy 121.931207 45.245476) (xy 121.22693 45.245476) (xy 120.871962 44.890508) (xy 120.516994 45.245476) + (xy 119.812716 45.245476) (xy 119.457748 44.890507) (xy 119.10278 45.245476) (xy 118.398503 45.245476) + (xy 118.043535 44.890508) (xy 117.688567 45.245476) (xy 116.984289 45.245476) (xy 116.629321 44.890508) + (xy 116.274353 45.245476) (xy 115.570076 45.245476) (xy 115.215108 44.890508) (xy 114.86014 45.245476) + (xy 114.155862 45.245476) (xy 113.800894 44.890508) (xy 113.445926 45.245476) (xy 112.741649 45.245476) + (xy 112.386681 44.890508) (xy 112.031713 45.245476) (xy 111.327435 45.245476) (xy 110.972467 44.890508) + (xy 110.617499 45.245476) (xy 109.913222 45.245476) (xy 109.558253 44.890507) (xy 109.203285 45.245476) + (xy 108.499008 45.245476) (xy 108.14404 44.890508) (xy 107.789072 45.245476) (xy 107.084794 45.245476) + (xy 106.729826 44.890508) (xy 106.374858 45.245476) (xy 105.670581 45.245476) (xy 105.315613 44.890508) + (xy 104.960645 45.245476) (xy 104.256367 45.245476) (xy 103.901399 44.890508) (xy 103.546431 45.245476) + (xy 102.842154 45.245476) (xy 102.487186 44.890508) (xy 102.132218 45.245476) (xy 101.42794 45.245476) + (xy 101.072972 44.890508) (xy 100.718004 45.245476) (xy 100.013727 45.245476) (xy 99.658758 44.890507) + (xy 99.30379 45.245476) (xy 98.599513 45.245476) (xy 98.244545 44.890508) (xy 97.889577 45.245476) + (xy 97.185299 45.245476) (xy 96.830331 44.890507) (xy 96.475363 45.245476) (xy 95.771086 45.245476) + (xy 95.416118 44.890508) (xy 95.06115 45.245476) (xy 94.356872 45.245476) (xy 94.001904 44.890508) + (xy 93.646936 45.245476) (xy 92.942659 45.245476) (xy 92.587691 44.890508) (xy 92.232723 45.245476) + (xy 91.528445 45.245476) (xy 91.173477 44.890508) (xy 90.818509 45.245476) (xy 90.114232 45.245476) + (xy 89.759264 44.890508) (xy 89.404296 45.245476) (xy 88.700018 45.245476) (xy 88.34505 44.890508) + (xy 87.990082 45.245476) (xy 87.285805 45.245476) (xy 86.930836 44.890507) (xy 86.575868 45.245476) + (xy 85.871591 45.245476) (xy 85.516623 44.890508) (xy 85.161655 45.245476) (xy 84.457377 45.245476) + (xy 84.102409 44.890508) (xy 83.747441 45.245476) (xy 83.043164 45.245476) (xy 82.688196 44.890508) + (xy 82.333228 45.245476) (xy 81.62895 45.245476) (xy 81.273982 44.890508) (xy 80.919014 45.245476) + (xy 80.214737 45.245476) (xy 79.859769 44.890508) (xy 79.504801 45.245476) (xy 78.800523 45.245476) + (xy 78.445555 44.890508) (xy 78.090587 45.245476) (xy 77.38631 45.245476) (xy 77.031342 44.890508) + (xy 76.676374 45.245476) (xy 75.972096 45.245476) (xy 75.617128 44.890508) (xy 75.26216 45.245476) + (xy 74.557881 45.245476) (xy 74.557882 45.245475) (xy 74.202914 44.890507) (xy 73.847946 45.245476) + (xy 73.143669 45.245476) (xy 72.788701 44.890508) (xy 72.433733 45.245476) (xy 71.729453 45.245476) + (xy 71.729454 45.245475) (xy 71.374487 44.890508) (xy 71.019519 45.245476) (xy 70.315242 45.245476) + (xy 69.960274 44.890508) (xy 69.605306 45.245476) (xy 68.901028 45.245476) (xy 68.54606 44.890508) + (xy 68.191092 45.245476) (xy 67.486815 45.245476) (xy 67.131847 44.890508) (xy 66.776879 45.245476) + (xy 66.072601 45.245476) (xy 65.717633 44.890508) (xy 65.362665 45.245476) (xy 64.658388 45.245476) + (xy 64.303419 44.890507) (xy 63.948451 45.245476) (xy 63.244174 45.245476) (xy 62.889206 44.890508) + (xy 62.534238 45.245476) (xy 61.82996 45.245476) (xy 61.474992 44.890508) (xy 61.120024 45.245476) + (xy 60.415747 45.245476) (xy 60.060779 44.890508) (xy 59.705811 45.245476) (xy 59.001533 45.245476) + (xy 58.646565 44.890508) (xy 58.291597 45.245476) (xy 57.58732 45.245476) (xy 57.232352 44.890508) + (xy 56.877384 45.245476) (xy 56.173106 45.245476) (xy 55.95093 45.0233) (xy 55.850405 45.0233) (xy 55.820729 45.019697) + (xy 55.715006 44.993638) (xy 55.463169 45.245475) (xy 54.758892 45.245475) (xy 54.403925 44.890508) + (xy 54.048957 45.245476) (xy 53.344679 45.245476) (xy 52.989711 44.890508) (xy 52.634743 45.245476) + (xy 51.616101 45.245476) (xy 51.525191 45.115645) (xy 51.364354 44.954808) (xy 51.178016 44.824331) + (xy 50.971862 44.7282) (xy 50.775534 44.675593) (xy 50.775534 45.63878) (xy 50.77114 45.634386) + (xy 50.679928 45.581725) (xy 50.578195 45.554466) (xy 50.472873 45.554466) (xy 50.37114 45.581725) + (xy 50.279928 45.634386) (xy 50.275534 45.63878) (xy 50.275534 44.675593) (xy 50.079205 44.7282) + (xy 49.873051 44.824331) (xy 49.686713 44.954808) (xy 49.525876 45.115645) (xy 49.395399 45.301983) + (xy 49.299268 45.508139) (xy 49.299264 45.508148) (xy 49.246661 45.704465) (xy 48.146814 45.704465) + (xy 48.039963 45.597614) (xy 47.684995 45.952583) (xy 46.047613 45.952583) (xy 46.092775 45.87436) + (xy 46.120034 45.772627) (xy 46.120034 45.667305) (xy 46.092775 45.565572) (xy 46.040114 45.47436) + (xy 46.03572 45.469966) (xy 46.998906 45.469966) (xy 46.998906 45.469965) (xy 46.946303 45.273648) + (xy 46.946299 45.273639) (xy 46.850168 45.067483) (xy 46.73376 44.901237) (xy 47.322128 44.901237) + (xy 47.402234 45.073024) (xy 47.404412 45.077974) (xy 47.408585 45.088048) (xy 47.410545 45.093087) + (xy 47.417981 45.113514) (xy 47.419721 45.118638) (xy 47.423004 45.129049) (xy 47.424519 45.134247) + (xy 47.503667 45.429633) (xy 47.687825 45.245476) (xy 48.392102 45.245476) (xy 48.747069 45.600443) + (xy 48.76332 45.584191) (xy 48.821049 45.368747) (xy 48.822564 45.363549) (xy 48.825847 45.353138) + (xy 48.827587 45.348014) (xy 48.835023 45.327587) (xy 48.836983 45.322548) (xy 48.841156 45.312474) + (xy 48.843334 45.307524) (xy 48.945338 45.088776) (xy 48.74707 44.890508) (xy 48.392102 45.245476) + (xy 47.687825 45.245476) (xy 47.332857 44.890508) (xy 47.322128 44.901237) (xy 46.73376 44.901237) + (xy 46.719691 44.881145) (xy 46.558854 44.720308) (xy 46.372516 44.589831) (xy 46.262155 44.538369) + (xy 47.684995 44.538369) (xy 48.039963 44.893337) (xy 48.394932 44.538369) (xy 49.099209 44.538369) + (xy 49.249042 44.688202) (xy 49.342266 44.594979) (xy 49.346173 44.591239) (xy 49.354219 44.583866) + (xy 49.35829 44.580296) (xy 49.374942 44.566324) (xy 49.379156 44.562941) (xy 49.387809 44.556301) + (xy 49.392174 44.5531) (xy 49.413212 44.538369) (xy 51.927636 44.538369) (xy 52.282604 44.893337) + (xy 52.637572 44.538369) (xy 53.34185 44.538369) (xy 53.696818 44.893337) (xy 54.051786 44.538369) + (xy 54.756063 44.538369) (xy 55.11103 44.893336) (xy 55.172401 44.831965) (xy 56.463873 44.831965) + (xy 56.525245 44.893337) (xy 56.880213 44.538369) (xy 57.58449 44.538369) (xy 57.939458 44.893337) + (xy 58.294426 44.538369) (xy 58.998704 44.538369) (xy 59.353672 44.893337) (xy 59.70864 44.538369) + (xy 60.412918 44.538369) (xy 60.767886 44.893337) (xy 61.122854 44.538369) (xy 61.827131 44.538369) + (xy 62.182099 44.893337) (xy 62.537067 44.538369) (xy 63.241345 44.538369) (xy 63.596313 44.893337) + (xy 63.951281 44.538369) (xy 64.655558 44.538369) (xy 65.010526 44.893337) (xy 65.365494 44.538369) + (xy 66.069772 44.538369) (xy 66.42474 44.893337) (xy 66.779708 44.538369) (xy 67.483985 44.538369) + (xy 67.838953 44.893337) (xy 68.193921 44.538369) (xy 68.898199 44.538369) (xy 69.253167 44.893337) + (xy 69.608135 44.538369) (xy 70.312412 44.538369) (xy 70.66738 44.893337) (xy 71.022349 44.538369) + (xy 71.726626 44.538369) (xy 72.081594 44.893337) (xy 72.436562 44.538369) (xy 73.14084 44.538369) + (xy 73.495808 44.893337) (xy 73.850776 44.538369) (xy 74.555053 44.538369) (xy 74.910021 44.893337) + (xy 75.264989 44.538369) (xy 75.969267 44.538369) (xy 76.324235 44.893337) (xy 76.679203 44.538369) + (xy 77.38348 44.538369) (xy 77.738448 44.893337) (xy 78.093416 44.538369) (xy 78.797694 44.538369) + (xy 79.152662 44.893337) (xy 79.50763 44.538369) (xy 80.211907 44.538369) (xy 80.566875 44.893337) + (xy 80.921843 44.538369) (xy 81.626121 44.538369) (xy 81.981089 44.893337) (xy 82.336057 44.538369) + (xy 83.040335 44.538369) (xy 83.395303 44.893337) (xy 83.750271 44.538369) (xy 84.454548 44.538369) + (xy 84.809516 44.893337) (xy 85.164484 44.538369) (xy 85.868762 44.538369) (xy 86.22373 44.893337) + (xy 86.578698 44.538369) (xy 87.282975 44.538369) (xy 87.637943 44.893337) (xy 87.992911 44.538369) + (xy 88.697189 44.538369) (xy 89.052157 44.893337) (xy 89.407125 44.538369) (xy 90.111402 44.538369) + (xy 90.46637 44.893337) (xy 90.821338 44.538369) (xy 91.525616 44.538369) (xy 91.880584 44.893337) + (xy 92.235552 44.538369) (xy 92.939829 44.538369) (xy 93.294797 44.893337) (xy 93.649766 44.538369) + (xy 94.354043 44.538369) (xy 94.709011 44.893337) (xy 95.063979 44.538369) (xy 95.768257 44.538369) + (xy 96.123225 44.893337) (xy 96.478193 44.538369) (xy 97.18247 44.538369) (xy 97.537438 44.893337) + (xy 97.892406 44.538369) (xy 98.596684 44.538369) (xy 98.951652 44.893337) (xy 99.30662 44.538369) + (xy 100.010897 44.538369) (xy 100.365865 44.893337) (xy 100.720833 44.538369) (xy 101.425111 44.538369) + (xy 101.780079 44.893337) (xy 102.135047 44.538369) (xy 102.839324 44.538369) (xy 103.194292 44.893337) + (xy 103.54926 44.538369) (xy 104.253538 44.538369) (xy 104.608506 44.893337) (xy 104.963474 44.538369) + (xy 105.667752 44.538369) (xy 106.02272 44.893337) (xy 106.377688 44.538369) (xy 107.081965 44.538369) + (xy 107.436933 44.893337) (xy 107.791901 44.538369) (xy 108.496179 44.538369) (xy 108.851147 44.893337) + (xy 109.206115 44.538369) (xy 109.910392 44.538369) (xy 110.26536 44.893337) (xy 110.620328 44.538369) + (xy 111.324606 44.538369) (xy 111.679574 44.893337) (xy 112.034542 44.538369) (xy 112.738819 44.538369) + (xy 113.093787 44.893337) (xy 113.448755 44.538369) (xy 114.153033 44.538369) (xy 114.508001 44.893337) + (xy 114.862969 44.538369) (xy 115.567246 44.538369) (xy 115.922214 44.893337) (xy 116.277183 44.538369) + (xy 116.98146 44.538369) (xy 117.336428 44.893337) (xy 117.691396 44.538369) (xy 118.395674 44.538369) + (xy 118.750642 44.893337) (xy 119.10561 44.538369) (xy 119.809887 44.538369) (xy 120.164855 44.893337) + (xy 120.519823 44.538369) (xy 121.224101 44.538369) (xy 121.579069 44.893337) (xy 121.934037 44.538369) + (xy 122.638314 44.538369) (xy 122.993282 44.893337) (xy 123.34825 44.538369) (xy 124.052528 44.538369) + (xy 124.407496 44.893337) (xy 124.762464 44.538369) (xy 125.466741 44.538369) (xy 125.821709 44.893337) + (xy 126.176677 44.538369) (xy 126.880955 44.538369) (xy 127.235923 44.893337) (xy 127.590891 44.538369) + (xy 128.295169 44.538369) (xy 128.650137 44.893337) (xy 129.005105 44.538369) (xy 129.709382 44.538369) + (xy 130.06435 44.893337) (xy 130.419318 44.538369) (xy 131.123596 44.538369) (xy 131.478564 44.893337) + (xy 131.833532 44.538369) (xy 132.537809 44.538369) (xy 132.892777 44.893337) (xy 133.247745 44.538369) + (xy 133.952023 44.538369) (xy 134.306991 44.893337) (xy 134.661959 44.538369) (xy 135.366236 44.538369) + (xy 135.721204 44.893337) (xy 136.076172 44.538369) (xy 136.78045 44.538369) (xy 137.135418 44.893337) + (xy 137.490386 44.538369) (xy 138.194663 44.538369) (xy 138.549631 44.893337) (xy 138.9046 44.538369) + (xy 139.608877 44.538369) (xy 139.963845 44.893337) (xy 140.318813 44.538369) (xy 141.023091 44.538369) + (xy 141.378059 44.893337) (xy 141.733027 44.538369) (xy 142.437304 44.538369) (xy 142.792272 44.893337) + (xy 143.14724 44.538369) (xy 143.851518 44.538369) (xy 144.206486 44.893337) (xy 144.561454 44.538369) + (xy 145.265731 44.538369) (xy 145.620699 44.893337) (xy 145.975667 44.538369) (xy 145.876298 44.439) + (xy 145.3651 44.439) (xy 145.265731 44.538369) (xy 144.561454 44.538369) (xy 144.462085 44.439) + (xy 143.950887 44.439) (xy 143.851518 44.538369) (xy 143.14724 44.538369) (xy 143.047871 44.439) + (xy 142.536673 44.439) (xy 142.437304 44.538369) (xy 141.733027 44.538369) (xy 141.633658 44.439) + (xy 141.12246 44.439) (xy 141.023091 44.538369) (xy 140.318813 44.538369) (xy 140.219444 44.439) + (xy 139.708246 44.439) (xy 139.608877 44.538369) (xy 138.9046 44.538369) (xy 138.805231 44.439) + (xy 138.294033 44.439) (xy 138.194663 44.538369) (xy 137.490386 44.538369) (xy 137.391017 44.439) + (xy 136.879819 44.439) (xy 136.78045 44.538369) (xy 136.076172 44.538369) (xy 135.976803 44.439) + (xy 135.465605 44.439) (xy 135.366236 44.538369) (xy 134.661959 44.538369) (xy 134.56259 44.439) + (xy 134.051392 44.439) (xy 133.952023 44.538369) (xy 133.247745 44.538369) (xy 133.148376 44.439) + (xy 132.637178 44.439) (xy 132.537809 44.538369) (xy 131.833532 44.538369) (xy 131.734163 44.439) + (xy 131.222965 44.439) (xy 131.123596 44.538369) (xy 130.419318 44.538369) (xy 130.319949 44.439) + (xy 129.808751 44.439) (xy 129.709382 44.538369) (xy 129.005105 44.538369) (xy 128.905736 44.439) + (xy 128.394538 44.439) (xy 128.295169 44.538369) (xy 127.590891 44.538369) (xy 127.491522 44.439) + (xy 126.980324 44.439) (xy 126.880955 44.538369) (xy 126.176677 44.538369) (xy 126.077308 44.439) + (xy 125.56611 44.439) (xy 125.466741 44.538369) (xy 124.762464 44.538369) (xy 124.663095 44.439) + (xy 124.151897 44.439) (xy 124.052528 44.538369) (xy 123.34825 44.538369) (xy 123.248881 44.439) + (xy 122.737683 44.439) (xy 122.638314 44.538369) (xy 121.934037 44.538369) (xy 121.834668 44.439) + (xy 121.32347 44.439) (xy 121.224101 44.538369) (xy 120.519823 44.538369) (xy 120.420454 44.439) + (xy 119.909256 44.439) (xy 119.809887 44.538369) (xy 119.10561 44.538369) (xy 119.006241 44.439) + (xy 118.495043 44.439) (xy 118.395674 44.538369) (xy 117.691396 44.538369) (xy 117.592027 44.439) + (xy 117.080829 44.439) (xy 116.98146 44.538369) (xy 116.277183 44.538369) (xy 116.177814 44.439) + (xy 115.666616 44.439) (xy 115.567246 44.538369) (xy 114.862969 44.538369) (xy 114.7636 44.439) + (xy 114.252402 44.439) (xy 114.153033 44.538369) (xy 113.448755 44.538369) (xy 113.349386 44.439) + (xy 112.838188 44.439) (xy 112.738819 44.538369) (xy 112.034542 44.538369) (xy 111.935173 44.439) + (xy 111.423975 44.439) (xy 111.324606 44.538369) (xy 110.620328 44.538369) (xy 110.520959 44.439) + (xy 110.009761 44.439) (xy 109.910392 44.538369) (xy 109.206115 44.538369) (xy 109.106746 44.439) + (xy 108.595548 44.439) (xy 108.496179 44.538369) (xy 107.791901 44.538369) (xy 107.692532 44.439) + (xy 107.181334 44.439) (xy 107.081965 44.538369) (xy 106.377688 44.538369) (xy 106.278319 44.439) + (xy 105.767121 44.439) (xy 105.667752 44.538369) (xy 104.963474 44.538369) (xy 104.864105 44.439) + (xy 104.352907 44.439) (xy 104.253538 44.538369) (xy 103.54926 44.538369) (xy 103.449891 44.439) + (xy 102.938693 44.439) (xy 102.839324 44.538369) (xy 102.135047 44.538369) (xy 102.035678 44.439) + (xy 101.52448 44.439) (xy 101.425111 44.538369) (xy 100.720833 44.538369) (xy 100.621464 44.439) + (xy 100.110266 44.439) (xy 100.010897 44.538369) (xy 99.30662 44.538369) (xy 99.207251 44.439) (xy 98.696053 44.439) + (xy 98.596684 44.538369) (xy 97.892406 44.538369) (xy 97.793037 44.439) (xy 97.281839 44.439) (xy 97.18247 44.538369) + (xy 96.478193 44.538369) (xy 96.378824 44.439) (xy 95.867626 44.439) (xy 95.768257 44.538369) (xy 95.063979 44.538369) + (xy 94.96461 44.439) (xy 94.453412 44.439) (xy 94.354043 44.538369) (xy 93.649766 44.538369) (xy 93.550397 44.439) + (xy 93.039199 44.439) (xy 92.939829 44.538369) (xy 92.235552 44.538369) (xy 92.136183 44.439) (xy 91.624985 44.439) + (xy 91.525616 44.538369) (xy 90.821338 44.538369) (xy 90.721969 44.439) (xy 90.210771 44.439) (xy 90.111402 44.538369) + (xy 89.407125 44.538369) (xy 89.307756 44.439) (xy 88.796558 44.439) (xy 88.697189 44.538369) (xy 87.992911 44.538369) + (xy 87.893542 44.439) (xy 87.382344 44.439) (xy 87.282975 44.538369) (xy 86.578698 44.538369) (xy 86.479329 44.439) + (xy 85.968131 44.439) (xy 85.868762 44.538369) (xy 85.164484 44.538369) (xy 85.065115 44.439) (xy 84.553917 44.439) + (xy 84.454548 44.538369) (xy 83.750271 44.538369) (xy 83.650902 44.439) (xy 83.139704 44.439) (xy 83.040335 44.538369) + (xy 82.336057 44.538369) (xy 82.236688 44.439) (xy 81.72549 44.439) (xy 81.626121 44.538369) (xy 80.921843 44.538369) + (xy 80.822474 44.439) (xy 80.311276 44.439) (xy 80.211907 44.538369) (xy 79.50763 44.538369) (xy 79.408261 44.439) + (xy 78.897063 44.439) (xy 78.797694 44.538369) (xy 78.093416 44.538369) (xy 77.994047 44.439) (xy 77.482849 44.439) + (xy 77.38348 44.538369) (xy 76.679203 44.538369) (xy 76.579834 44.439) (xy 76.068636 44.439) (xy 75.969267 44.538369) + (xy 75.264989 44.538369) (xy 75.16562 44.439) (xy 74.654422 44.439) (xy 74.555053 44.538369) (xy 73.850776 44.538369) + (xy 73.751407 44.439) (xy 73.240209 44.439) (xy 73.14084 44.538369) (xy 72.436562 44.538369) (xy 72.337193 44.439) + (xy 71.825995 44.439) (xy 71.726626 44.538369) (xy 71.022349 44.538369) (xy 70.92298 44.439) (xy 70.411782 44.439) + (xy 70.312412 44.538369) (xy 69.608135 44.538369) (xy 69.508766 44.439) (xy 68.997568 44.439) (xy 68.898199 44.538369) + (xy 68.193921 44.538369) (xy 68.094552 44.439) (xy 67.583354 44.439) (xy 67.483985 44.538369) (xy 66.779708 44.538369) + (xy 66.680339 44.439) (xy 66.169141 44.439) (xy 66.069772 44.538369) (xy 65.365494 44.538369) (xy 65.266125 44.439) + (xy 64.754927 44.439) (xy 64.655558 44.538369) (xy 63.951281 44.538369) (xy 63.851912 44.439) (xy 63.340714 44.439) + (xy 63.241345 44.538369) (xy 62.537067 44.538369) (xy 62.437698 44.439) (xy 61.9265 44.439) (xy 61.827131 44.538369) + (xy 61.122854 44.538369) (xy 61.023485 44.439) (xy 60.512287 44.439) (xy 60.412918 44.538369) (xy 59.70864 44.538369) + (xy 59.609271 44.439) (xy 59.098073 44.439) (xy 58.998704 44.538369) (xy 58.294426 44.538369) (xy 58.195057 44.439) + (xy 57.683859 44.439) (xy 57.58449 44.538369) (xy 56.880213 44.538369) (xy 56.780844 44.439) (xy 56.725762 44.439) + (xy 56.675713 44.570966) (xy 56.661821 44.597435) (xy 56.565256 44.737335) (xy 56.545433 44.75971) + (xy 56.463873 44.831965) (xy 55.172401 44.831965) (xy 55.289816 44.71455) (xy 55.208979 44.597435) + (xy 55.195087 44.570966) (xy 55.145038 44.439) (xy 54.855432 44.439) (xy 54.756063 44.538369) (xy 54.051786 44.538369) + (xy 53.952417 44.439) (xy 53.441219 44.439) (xy 53.34185 44.538369) (xy 52.637572 44.538369) (xy 52.538203 44.439) + (xy 52.027005 44.439) (xy 51.927636 44.538369) (xy 49.413212 44.538369) (xy 49.555124 44.439) (xy 49.198578 44.439) + (xy 49.099209 44.538369) (xy 48.394932 44.538369) (xy 48.295563 44.439) (xy 47.784365 44.439) (xy 47.684995 44.538369) + (xy 46.262155 44.538369) (xy 46.166362 44.4937) (xy 45.970034 44.441093) (xy 45.970034 45.40428) + (xy 45.96564 45.399886) (xy 45.874428 45.347225) (xy 45.772695 45.319966) (xy 45.667373 45.319966) + (xy 45.56564 45.347225) (xy 45.474428 45.399886) (xy 45.470034 45.40428) (xy 45.470034 44.441093) + (xy 45.273705 44.4937) (xy 45.067551 44.589831) (xy 44.881213 44.720308) (xy 44.720376 44.881145) + (xy 44.589899 45.067483) (xy 44.493768 45.273639) (xy 44.493764 45.273648) (xy 44.441161 45.469965) + (xy 43.220695 45.469965) (xy 43.445184 45.245476) (xy 43.356088 45.15638) (xy 43.00112 45.511348) + (xy 42.118652 45.511348) (xy 42.825759 44.804241) (xy 43.708227 44.804241) (xy 43.797323 44.893337) + (xy 44.152291 44.538369) (xy 44.063195 44.449273) (xy 43.708227 44.804241) (xy 42.825759 44.804241) + (xy 43.778681 43.851319) (xy 43.840004 43.817834) (xy 43.866362 43.815) (xy 146.633638 43.815) ) ) ) @@ -42335,9 +42864,9 @@ ) ) (group "" - (uuid "ff50d414-7391-48c3-b924-8d94215cc63f") - (members "261c1837-3589-479f-b145-f68eea730bbf" "3d71e663-a04c-42d3-ac95-12c6ea81ffe0" - "8ad8220d-7a2b-4166-a04c-2ad5464b56e6" + (uuid "eaa366eb-fb18-4781-bc7f-2d3d48e6b2ad") + (members "a76e95d6-5f2b-4955-a62e-c4eb203a6877" "b5a3dcc6-cc5e-45bd-8b9e-ac30d0f7c09a" + "c745a64e-3343-4155-b648-d4e9a29487fb" ) ) (group "" @@ -42448,6 +42977,12 @@ "f9c7e819-f631-4a06-bd95-fbf7bbb9a68e" ) ) + (group "" + (uuid "a1d71a7e-98fd-4ef2-82bd-58dd5722b079") + (members "2effe90e-04d5-4802-8d46-19bbf314b9ce" "8983a985-1456-4ee6-a436-aab1f0e3cf20" + "d39ba62d-8c9c-4047-b7c8-e6c4ba18653c" + ) + ) (group "" (uuid "bae0f6eb-b5bf-4eb6-8156-c29e37eaa33b") (members "09c1aa22-5374-455a-b42e-e325d85c7639" "13b859ca-e6fb-40fc-8ac3-df5443d82b49" diff --git a/hardware/v2/shevchenko_young_inv.svg b/hardware/v2/shevchenko_young_inv.svg new file mode 100644 index 00000000..10a8947a --- /dev/null +++ b/hardware/v2/shevchenko_young_inv.svg @@ -0,0 +1,70 @@ + + + +image/svg+xml + + + + + + + + diff --git a/hardware/v2/shevchenko_young_inv_2.svg b/hardware/v2/shevchenko_young_inv_2.svg new file mode 100644 index 00000000..27773312 --- /dev/null +++ b/hardware/v2/shevchenko_young_inv_2.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml + + + + + + + + diff --git a/sdk/lib/lilka/platformio.ini b/sdk/lib/lilka/platformio.ini index bbbadf87..4b6a4ec4 100644 --- a/sdk/lib/lilka/platformio.ini +++ b/sdk/lib/lilka/platformio.ini @@ -1,8 +1,5 @@ -[platformio] -boards_dir = ../../boards - [env:v1] -platform = espressif32 +platform = espressif32 @ ^6.6.0 board = adafruit_qtpy_esp32c3 framework = arduino lib_deps = @@ -11,7 +8,7 @@ lib_deps = build_flags = -D LILKA_VERSION=1 [env:v2] -platform = espressif32 +platform = espressif32 @ ^6.6.0 board = lilka_v2 framework = arduino lib_deps = diff --git a/sdk/lib/lilka/src/lilka/audio.cpp b/sdk/lib/lilka/src/lilka/audio.cpp index 54192789..133c2042 100644 --- a/sdk/lib/lilka/src/lilka/audio.cpp +++ b/sdk/lib/lilka/src/lilka/audio.cpp @@ -1,6 +1,5 @@ #include "audio.h" #include "config.h" -#include "serial.h" #include "ping.h" namespace lilka { @@ -39,16 +38,20 @@ void ping_task(void* arg) { #if LILKA_VERSION == 1 serial_err("This part of code should never be called. Audio not supported for this version of lilka"); #elif LILKA_VERSION == 2 +# ifndef LILKA_NO_AUDIO_HELLO // Signed 16-bit PCM - // const int16_t* ping = reinterpret_cast(ping_raw); - - // I2S.begin(I2S_PHILIPS_MODE, 22050, 16); - // for (int i = 0; i < ping_raw_size / 2; i++) { - // // TODO: Should use i2s_write & DMA - // I2S.write(ping[i] >> 2); - // I2S.write(ping[i] >> 2); - // } - // I2S.end(); + const int16_t* ping = reinterpret_cast(ping_raw); + + vTaskDelay(400 / portTICK_PERIOD_MS); + + I2S.begin(I2S_PHILIPS_MODE, 22050, 16); + for (int i = 0; i < ping_raw_size / 2; i++) { + // TODO: Should use i2s_write & DMA + I2S.write(ping[i] >> 2); + I2S.write(ping[i] >> 2); + } + I2S.end(); +# endif vTaskDelete(NULL); #endif diff --git a/sdk/lib/lilka/src/lilka/buzzer.cpp b/sdk/lib/lilka/src/lilka/buzzer.cpp index 6351ad0d..4b495700 100644 --- a/sdk/lib/lilka/src/lilka/buzzer.cpp +++ b/sdk/lib/lilka/src/lilka/buzzer.cpp @@ -22,8 +22,10 @@ void Buzzer::begin() { #else _stop(); pinMode(LILKA_BUZZER, OUTPUT); +# ifndef LILKA_NO_BUZZER_HELLO const Tone helloTune[] = {{NOTE_C3, 8}, {NOTE_C4, 8}, {NOTE_C5, 8}, {NOTE_C7, 4}, {0, 8}, {NOTE_C6, 4}}; playMelody(helloTune, sizeof(helloTune) / sizeof(Tone), 160); +# endif #endif } diff --git a/sdk/lib/lilka/src/lilka/controller.cpp b/sdk/lib/lilka/src/lilka/controller.cpp index a5665680..85826ca0 100644 --- a/sdk/lib/lilka/src/lilka/controller.cpp +++ b/sdk/lib/lilka/src/lilka/controller.cpp @@ -30,6 +30,9 @@ Controller::Controller() : state{}, semaphore(xSemaphoreCreateRecursiveMutex()) .justPressed = false, .justReleased = false, .time = 0, + .nextRepeatTime = 0, + .repeatRate = 0, + .repeatDelay = 0, }; } xSemaphoreGive(semaphore); @@ -53,8 +56,14 @@ void Controller::inputTask() { if (millis() - buttonState->time < LILKA_DEBOUNCE_TIME) { continue; } + + // Is the button being held down? bool pressed = !digitalRead(pins[i]); - if (pressed != buttonState->pressed) { + // Should the button repeat right now? + bool shouldRepeat = buttonState->nextRepeatTime && millis() >= buttonState->nextRepeatTime; + + // Make/break + if (pressed != buttonState->pressed || shouldRepeat) { buttonState->pressed = pressed; buttonState->justPressed = pressed; buttonState->justReleased = !pressed; @@ -69,6 +78,24 @@ void Controller::inputTask() { } buttonState->time = millis(); } + + // Calculate repeats + if (pressed) { + // Button is being held down, check if we need to repeat + if (buttonState->repeatRate && buttonState->repeatDelay) { + // Repeat is enabled, set next repeat time + if (buttonState->nextRepeatTime == 0) { + // This is the first repeat, delay by repeatDelay + buttonState->nextRepeatTime = millis() + buttonState->repeatDelay; + } else if (millis() >= buttonState->nextRepeatTime) { + // Delay subsequent repeats by 1/repeatRate seconds + buttonState->nextRepeatTime += 1000 / buttonState->repeatRate; + } + } + } else { + // Button is not being held down, reset repeat + buttonState->nextRepeatTime = 0; + } } } @@ -144,6 +171,14 @@ void Controller::clearHandlers() { globalHandler = NULL; } +void Controller::setAutoRepeat(Button button, uint32_t rate, uint32_t delay) { + AcquireController acquire(semaphore); + _StateButtons& buttons = *reinterpret_cast<_StateButtons*>(&state); + ButtonState* buttonState = &buttons[button]; + buttonState->repeatRate = rate; + buttonState->repeatDelay = delay; +} + Controller controller; } // namespace lilka diff --git a/sdk/lib/lilka/src/lilka/controller.h b/sdk/lib/lilka/src/lilka/controller.h index 80b77e5b..1c5ea530 100644 --- a/sdk/lib/lilka/src/lilka/controller.h +++ b/sdk/lib/lilka/src/lilka/controller.h @@ -35,6 +35,9 @@ typedef struct { /// `true`, якщо кнопка була вперше відпущена в момент виклику `lilka::controller.getState()` (до цього була натиснута). bool justReleased; uint64_t time; + uint64_t nextRepeatTime; + uint32_t repeatRate; + uint32_t repeatDelay; } ButtonState; /// Містить стани всіх кнопок, які були виміряні в певний момент часу. @@ -97,6 +100,20 @@ class Controller { void setHandler(Button button, void (*handler)(bool)); /// Видалити всі обробники подій. void clearHandlers(); + /// Налаштувати автоматичне повторення натискання кнопки. + /// + /// Після виклику цього методу кнопка буде автоматично натискатися з певною затримкою та частотою. + /// + /// Щоб вимкнути автоматичне повторення натискання кнопки, викличте цей метод з параметрами `delay = 0` та `rate = 0`. + /// + /// \param button Кнопка, для якої налаштовується автоматичне повторення натискання. + /// \param rate Частота автоматичного повторення натискання (кількість натискань на секунду). + /// \param delay Затримка перед початком автоматичного повторення натискання (в мілісекундах). + /// \code + /// // Натискання кнопки "Вгору" буде повторюватись з частотою 5 натискань на секунду після початкової затримки 500 мс: + /// lilka::controller.setAutoRepeat(lilka::Button::UP, 5, 500); + /// \endcode + void setAutoRepeat(Button button, uint32_t rate, uint32_t delay); private: // Input task FreeRTOS semaphore diff --git a/sdk/lib/lilka/src/lilka/display.cpp b/sdk/lib/lilka/src/lilka/display.cpp index 81839f5f..bee42145 100644 --- a/sdk/lib/lilka/src/lilka/display.cpp +++ b/sdk/lib/lilka/src/lilka/display.cpp @@ -8,6 +8,9 @@ namespace lilka { +template class GFX; +template class GFX; + #if LILKA_VERSION == 1 Arduino_ESP32SPI displayBus(LILKA_DISPLAY_DC, LILKA_DISPLAY_CS, LILKA_SPI_SCK, LILKA_SPI_MOSI); #else @@ -152,17 +155,20 @@ uint16_t Display::color565hsv(uint16_t h, uint8_t s, uint8_t v) { return (red << 11) | (green << 5) | blue; } -void Display::drawImage(Image* image, int16_t x, int16_t y) { +template +void GFX::drawImage(Image* image, int16_t x, int16_t y) { + Arduino_GFX* base = static_cast(this); if (image->transparentColor == -1) { - draw16bitRGBBitmap(x - image->pivotX, y - image->pivotY, image->pixels, image->width, image->height); + base->draw16bitRGBBitmap(x - image->pivotX, y - image->pivotY, image->pixels, image->width, image->height); } else { - draw16bitRGBBitmapWithTranColor( + base->draw16bitRGBBitmapWithTranColor( x - image->pivotX, y - image->pivotY, image->pixels, image->transparentColor, image->width, image->height ); } } -void Display::drawImageTransformed(Image* image, int16_t destX, int16_t destY, Transform transform) { +template +void GFX::drawImageTransformed(Image* image, int16_t destX, int16_t destY, Transform transform) { // Transform image around its pivot. // Draw the rotated image at the specified position. @@ -219,8 +225,22 @@ void Display::draw16bitRGBBitmapWithTranColor( Arduino_ST7789::draw16bitRGBBitmapWithTranColor(x, y, const_cast(bitmap), transparent_color, w, h); } -void Display::drawCanvas(Canvas* canvas) { - draw16bitRGBBitmap(canvas->x(), canvas->y(), canvas->getFramebuffer(), canvas->width(), canvas->height()); +uint8_t* Display::getFont() { + return u8g2Font; +} + +void Canvas::draw16bitRGBBitmapWithTranColor( + int16_t x, int16_t y, const uint16_t bitmap[], uint16_t transparent_color, int16_t w, int16_t h +) { + // Цей cast безпечний, оскільки Arduino_GFX.draw16bitRGBBitmapWithTranColor не змінює bitmap. + Arduino_Canvas::draw16bitRGBBitmapWithTranColor(x, y, const_cast(bitmap), transparent_color, w, h); +} + +template +void GFX::drawCanvas(Canvas* canvas) { + static_cast(this)->draw16bitRGBBitmap( + canvas->x(), canvas->y(), canvas->getFramebuffer(), canvas->width(), canvas->height() + ); } Canvas::Canvas() : Arduino_Canvas(display.width(), display.height(), NULL) { @@ -242,87 +262,17 @@ Canvas::Canvas(uint16_t x, uint16_t y, uint16_t width, uint16_t height) : begin(); } -void Canvas::drawImage(Image* image, int16_t x, int16_t y) { - if (image->transparentColor == -1) { - draw16bitRGBBitmap(x - image->pivotX, y - image->pivotY, image->pixels, image->width, image->height); - } else { - draw16bitRGBBitmapWithTranColor( - x - image->pivotX, y - image->pivotY, image->pixels, image->transparentColor, image->width, image->height - ); - } -} - -void Canvas::drawImageTransformed(Image* image, int16_t destX, int16_t destY, Transform transform) { - // Transform image around its pivot. - // Draw the rotated image at the specified position. - - // Calculate the coordinates of the four corners of the destination rectangle. - int32_t imageWidth = image->width; - int32_t imageHeight = image->height; - - // Calculate the coordinates of the four corners of the destination rectangle. - int_vector_t v1 = transform.transform(int_vector_t{-image->pivotX, -image->pivotY}); - int_vector_t v2 = transform.transform(int_vector_t{imageWidth - image->pivotX, -image->pivotY}); - int_vector_t v3 = transform.transform(int_vector_t{-image->pivotX, imageHeight - image->pivotY}); - int_vector_t v4 = transform.transform(int_vector_t{imageWidth - image->pivotX, imageHeight - image->pivotY}); - - // Find the bounding box of the transformed image. - int_vector_t topLeft = int_vector_t{min(min(v1.x, v2.x), min(v3.x, v4.x)), min(min(v1.y, v2.y), min(v3.y, v4.y))}; - int_vector_t bottomRight = - int_vector_t{max(max(v1.x, v2.x), max(v3.x, v4.x)), max(max(v1.y, v2.y), max(v3.y, v4.y))}; - - if (bottomRight.x - topLeft.x == 0 || bottomRight.y - topLeft.y == 0) { - // The transformed image is empty. - lilka::serial_err("Transform leads to image with zero width or height"); - return; - } - - // Create a new image to hold the transformed image. - Image destImage(bottomRight.x - topLeft.x, bottomRight.y - topLeft.y, image->transparentColor, 0, 0); - - // Draw the transformed image to the new image. - Transform inverse = transform.inverse(); - int_vector_t point{0, 0}; - for (point.y = topLeft.y; point.y < bottomRight.y; point.y++) { - for (point.x = topLeft.x; point.x < bottomRight.x; point.x++) { - int_vector_t v = inverse.transform(point); - // Apply pivot offset - v.x += image->pivotX; - v.y += image->pivotY; - if (v.x >= 0 && v.x < image->width && v.y >= 0 && v.y < image->height) { - destImage.pixels[point.x - topLeft.x + (point.y - topLeft.y) * destImage.width] = - image->pixels[v.x + v.y * image->width]; - } else { - destImage.pixels[point.x - topLeft.x + (point.y - topLeft.y) * destImage.width] = - image->transparentColor; - } - } - } - - // TODO: Draw directly to the canvas? - drawImage(&destImage, destX + topLeft.x, destY + topLeft.y); -} - -void Canvas::draw16bitRGBBitmapWithTranColor( - int16_t x, int16_t y, const uint16_t bitmap[], uint16_t transparent_color, int16_t w, int16_t h -) { - // Цей cast безпечний, оскільки Arduino_GFX.draw16bitRGBBitmapWithTranColor не змінює bitmap. - Arduino_Canvas::draw16bitRGBBitmapWithTranColor(x, y, const_cast(bitmap), transparent_color, w, h); - // Arduino_Canvas::draw16bitRGBBitmapWithTranColor(x, y, (uint16_t *)(bitmap), transparent_color, w, h); -} - -void Canvas::drawCanvas(Canvas* canvas) { - draw16bitRGBBitmap(canvas->x(), canvas->y(), canvas->getFramebuffer(), canvas->width(), canvas->height()); -} - -int Canvas::drawTextAligned(const char* text, int16_t x, int16_t y, Alignment hAlign, Alignment vAlign) { +template +int GFX::drawTextAligned(const char* text, int16_t x, int16_t y, Alignment hAlign, Alignment vAlign) { // TODO: WARNING: This will break if we're not using U8g2 fonts. int16_t _x1, _y1; uint16_t w, _h; // U8g2 is a can of worms. - const int8_t ascent = u8g2Font[13]; // >0 (above the baseline, character 'A') - const int8_t descent = u8g2Font[14]; // <0 (below the baseline, character 'g') - getTextBounds(text, 0, 0, &_x1, &_y1, &w, &_h); + T* base = static_cast(this); + const uint8_t* font = base->getFont(); + const int8_t ascent = font[13]; // >0 (above the baseline, character 'A') + const int8_t descent = font[14]; // <0 (below the baseline, character 'g') + base->getTextBounds(text, 0, 0, &_x1, &_y1, &w, &_h); switch (hAlign) { case Alignment::ALIGN_START: break; @@ -344,11 +294,46 @@ int Canvas::drawTextAligned(const char* text, int16_t x, int16_t y, Alignment hA y += descent; break; } - setCursor(x, y); - this->print(text); + base->setCursor(x, y); + base->print(text); return w; } +template +void GFX::getTextBoundsAligned( + const char* text, int16_t x, int16_t y, Alignment hAlign, Alignment vAlign, int16_t* x1, int16_t* y1, uint16_t* w, + uint16_t* h +) { + // TODO: WARNING: This will break if we're not using U8g2 fonts. + // U8g2 is a can of worms. + T* base = static_cast(this); + const uint8_t* font = base->getFont(); + const int8_t ascent = font[13]; // >0 (above the baseline, character 'A') + const int8_t descent = font[14]; // <0 (below the baseline, character 'g') + base->getTextBounds(text, x, y, x1, y1, w, h); + switch (hAlign) { + case Alignment::ALIGN_START: + break; + case Alignment::ALIGN_CENTER: + *x1 -= *w / 2; + break; + case Alignment::ALIGN_END: + *x1 -= *w; + break; + } + switch (vAlign) { + case Alignment::ALIGN_START: + *y1 += ascent; + break; + case Alignment::ALIGN_CENTER: + *y1 += (ascent - descent) / 2; + break; + case Alignment::ALIGN_END: + *y1 += descent; + break; + } +} + int16_t Canvas::x() { return _output_x; } @@ -357,6 +342,10 @@ int16_t Canvas::y() { return _output_y; } +uint8_t* Canvas::getFont() { + return u8g2Font; +} + int16_t getTextWidth(const uint8_t* font, const char* text) { lilka::Canvas canvas(4096, 1); canvas.setFont(font); diff --git a/sdk/lib/lilka/src/lilka/display.h b/sdk/lib/lilka/src/lilka/display.h index cfd18e50..1ef86661 100644 --- a/sdk/lib/lilka/src/lilka/display.h +++ b/sdk/lib/lilka/src/lilka/display.h @@ -30,53 +30,16 @@ typedef struct int_vector_t { int32_t y; } int_vector_t; -/// Клас для роботи з дисплеєм. -/// -/// Використовується для відображення графічних об'єктів. -/// -/// Цей клас є підкласом `Arduino_GFX` з бібліотеки `Arduino_GFX_Library`. -/// Детальніше про доступні методи можна дізнатися в документації бібліотеки ``Arduino_GFX_Library`` - -/// https://github.com/moononournation/Arduino_GFX. -/// -/// Приклад використання: -/// -/// @code -/// #include -/// -/// void setup() { -/// lilka.begin(); -/// } -/// -/// void loop() { -/// lilka::display.fillScreen(lilka::colors::Red); // Заповнити екран червоним кольором -/// lilka::display.setCursor(32, 32); -/// lilka::display.setTextColor(lilka::colors::Green); // Зелений текст -/// lilka::display.print("Привіт, Лілка!"); -/// } -/// @endcode -class Display : public Arduino_ST7789 { +typedef enum { + ALIGN_START, + ALIGN_CENTER, + ALIGN_END, +} Alignment; + +/// Цей клас описує спільні методи для класів `Display` та `Canvas`, оскільки вони обидва є підкласами `GFX`. +template +class GFX { public: - Display(); - /// Почати роботу з дисплеєм. - /// \warning Цей метод викликається автоматично при виклику `lilka::begin()`. - void begin(); - /// Встановити зображення, яке буде відображатися при запуску. - /// - /// За замовчуванням відображається вітальний екран Лілки. - /// - /// @note Якщо викликати цей метод, то вітальний екран буде відображатись навіть якщо `LILKA_NO_SPLASH` встановлено в `true`. - /// - /// Його потрібно викликати перед викликом `lilka::begin()` або не викликати взагалі. - /// @param splash Масив 16-бітних кольорів (5-6-5) з розміром 280*240 (або масив байтів, закодованих алгоритмом RLE, з довжиною rleLength). - /// @param rleLength Якщо використовується RLE-кодування, цей аргумент вказує довжину масиву splash. Зображення повинне бути згенероване за допомогою утиліти `sdk/tools/image2code` з прапорцем `--rle`. - void setSplash(const void* splash, uint32_t rleLength = 0); - /// Перетворити HSV колір в 16-бітний формат. - /// - /// @param hue Тон (0-360). - /// @param sat Насиченість (0-100). - /// @param val Яскравість (0-100). - /// @return 16-бітний колір. - uint16_t color565hsv(uint16_t hue, uint8_t sat, uint8_t val); #ifdef DOXYGEN // `Arduino_GFX_Library` має купу гарних методів, але вони погано документовані. // Ця секція - лише для документації цих методів. Вона буде прочитана інструментом `doxygen` при генерації @@ -109,8 +72,6 @@ class Display : public Arduino_ST7789 { /// /// Також можна використати будь-який інший шрифт з бібліотеки `U8g2`: https://github.com/olikraus/u8g2/wiki/fntlistallplain /// - /// Наприклад: - /// /// @code /// lilka::display.setFont(FONT_6x12); /// lilka::display.setCursor(0, 32); @@ -136,11 +97,10 @@ class Display : public Arduino_ST7789 { /// Відобразити текст. /// @param ... Текст. /// - /// Наприклад: /// @code /// lilka::display.setCursor(0, 32); /// lilka::display.setTextColor(lilka::colors::Black); // Чорний текст - /// lilka::display.print("Привіт,j "); + /// lilka::display.print("Привіт, "); /// lilka::display.print(String("Лілка!\n")); /// lilka::display.print(42); /// @endcode @@ -187,36 +147,6 @@ class Display : public Arduino_ST7789 { /// Намалювати заповнену дугу. /// @see drawArc void fillArc(int16_t x, int16_t y, int16_t r1, int16_t r2, int16_t start, int16_t end, uint16_t color); -#endif - - /// Намалювати зображення. - /// @param image Вказівник на зображення (об'єкт класу `lilka::Image`). - /// @param x Координата X осі зображення. - /// @param y Координата Y осі зображення. - /// - /// Приклад використання: - /// - /// @code - /// lilka::Image *image = lilka::resources.loadImage("image.bmp"); - /// if (!image) { - /// Serial.println("Failed to load image"); - /// return; - /// } - /// lilka::display.drawImage(image, 32, 64); - /// // Звільнюємо пам'ять - /// delete image; - /// @endcode - void drawImage(Image* image, int16_t x, int16_t y); - /// Намалювати зображення з афінними перетвореннями. - /// @param image Вказівник на зображення (об'єкт класу `lilka::Image`). - /// @param x Координата X осі зображення. - /// @param y Координата Y осі зображення. - /// @param transform Об'єкт класу `lilka::Transform`, який містить матрицю перетворення. - /// @note Зверніть увагу, що перетворення - це повільніше, ніж звичайне малювання зображення, оскільки обчислює координати пікселів "на льоту". Використовуйте його лише тоді, коли не можете заздалегідь створити обернені копії зображеня за допомогою методів `lilka::Image::rotate`, `lilka::Image::flipX` та `lilka::Image::flipY`. - /// @see lilka::Transform - void drawImageTransformed(Image* image, int16_t x, int16_t y, Transform transform); - -#ifdef DOXYGEN /// Намалювати зображення з масиву 16-бітних точок. /// @param x Координата X лівого верхнього кута зображення. /// @param y Координата Y лівого верхнього кута зображення. @@ -224,7 +154,6 @@ class Display : public Arduino_ST7789 { /// @param w Ширина зображення. /// @param h Висота зображення. /// - /// Приклад використання: /// @code /// lilka::Image *image = lilka::resources.loadImage("image.bmp"); /// lilka::display.drawBitmap(0, 0, image->pixels, image->width, image->height); @@ -232,7 +161,6 @@ class Display : public Arduino_ST7789 { void draw16bitRGBBitmap(int16_t x, int16_t y, uint16_t* bitmap, int16_t w, int16_t h); /// @see draw16bitRGBBitmap void draw16bitRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[], int16_t w, int16_t h); - /// Намалювати зображення з масиву 16-бітних точок і вказати колір, який буде вважатися прозорим. /// @param x Координата X лівого верхнього кута зображення. /// @param y Координата Y лівого верхнього кута зображення. @@ -241,7 +169,6 @@ class Display : public Arduino_ST7789 { /// @param w Ширина зображення. /// @param h Висота зображення. /// - /// Приклад використання: /// @code /// // Завантажити зображення з файлу "image.bmp", використовуючи білий колір як прозорий. /// lilka::Image *image = lilka::resources.loadImage("image.bmp", lilka::colors::White); @@ -253,32 +180,108 @@ class Display : public Arduino_ST7789 { int16_t x, int16_t y, uint16_t* bitmap, uint16_t transparent_color, int16_t w, int16_t h ); #endif - /// @see draw16bitRGBBitmapWithTranColor + /// Відобразити буфер на екрані (див. `lilka::Canvas`). + void drawCanvas(Canvas* canvas); + + /// Намалювати зображення. + /// @param image Вказівник на зображення (об'єкт класу `lilka::Image`). + /// @param x Координата X осі зображення. + /// @param y Координата Y осі зображення. + /// + /// @code + /// lilka::Image *image = lilka::resources.loadImage("image.bmp"); + /// if (!image) { + /// Serial.println("Failed to load image"); + /// return; + /// } + /// lilka::display.drawImage(image, 32, 64); + /// // Звільнюємо пам'ять + /// delete image; + /// @endcode + void drawImage(Image* image, int16_t x, int16_t y); + /// Намалювати зображення з афінними перетвореннями. + /// @param image Вказівник на зображення (об'єкт класу `lilka::Image`). + /// @param x Координата X осі зображення. + /// @param y Координата Y осі зображення. + /// @param transform Об'єкт класу `lilka::Transform`, який містить матрицю перетворення. + /// @note Зверніть увагу, що перетворення - це повільніше, ніж звичайне малювання зображення, оскільки обчислює координати пікселів "на льоту". Використовуйте його лише тоді, коли не можете заздалегідь створити обернені копії зображеня за допомогою методів `lilka::Image::rotate`, `lilka::Image::flipX` та `lilka::Image::flipY`. + /// @see lilka::Transform + void drawImageTransformed(Image* image, int16_t x, int16_t y, Transform transform); + int drawTextAligned(const char* text, int16_t x, int16_t y, Alignment hAlign, Alignment vAlign); + void getTextBoundsAligned( + const char* text, int16_t x, int16_t y, Alignment hAlign, Alignment vAlign, int16_t* x1, int16_t* y1, + uint16_t* w, uint16_t* h + ); +}; + +/// @see GFX +/// +/// Клас для роботи з дисплеєм. +/// +/// Використовується для відображення графічних об'єктів. +/// +/// Цей клас наслідує `Arduino_GFX` з бібліотеки `Arduino_GFX_Library`, а також клас `GFX`. +/// +/// Детальніше про доступні методи можна дізнатися в документації бібліотеки ``Arduino_GFX_Library`` - +/// https://github.com/moononournation/Arduino_GFX. +/// +/// @code +/// #include +/// +/// void setup() { +/// lilka.begin(); +/// } +/// +/// void loop() { +/// lilka::display.fillScreen(lilka::colors::Red); // Заповнити екран червоним кольором +/// lilka::display.setCursor(32, 32); +/// lilka::display.setTextColor(lilka::colors::Green); // Зелений текст +/// lilka::display.print("Привіт, Лілка!"); +/// } +/// @endcode +class Display : public Arduino_ST7789, public GFX { +public: + Display(); + /// Почати роботу з дисплеєм. + /// \warning Цей метод викликається автоматично при виклику `lilka::begin()`. + void begin(); + /// Встановити зображення, яке буде відображатися при запуску. + /// + /// За замовчуванням відображається вітальний екран Лілки. + /// + /// @note Якщо викликати цей метод, то вітальний екран буде відображатись навіть якщо `LILKA_NO_SPLASH` встановлено в `true`. + /// + /// Його потрібно викликати перед викликом `lilka::begin()` або не викликати взагалі. + /// @param splash Масив 16-бітних кольорів (5-6-5) з розміром 280*240 (або масив байтів, закодованих алгоритмом RLE, з довжиною rleLength). + /// @param rleLength Якщо використовується RLE-кодування, цей аргумент вказує довжину масиву splash. Зображення повинне бути згенероване за допомогою утиліти `sdk/tools/image2code` з прапорцем `--rle`. + void setSplash(const void* splash, uint32_t rleLength = 0); + /// Перетворити HSV колір в 16-бітний формат. + /// + /// @param hue Тон (0-360). + /// @param sat Насиченість (0-100). + /// @param val Яскравість (0-100). + /// @return 16-бітний колір. + uint16_t color565hsv(uint16_t hue, uint8_t sat, uint8_t val); void draw16bitRGBBitmapWithTranColor( int16_t x, int16_t y, const uint16_t bitmap[], uint16_t transparent_color, int16_t w, int16_t h ); - /// Відобразити буфер на екрані (див. `lilka::Canvas`). - void drawCanvas(Canvas* canvas); + uint8_t* getFont(); private: const void* splash; uint32_t rleLength; }; -typedef enum { - ALIGN_START, - ALIGN_CENTER, - ALIGN_END, -} Alignment; - -/// Клас для роботи з графічним буфером. +/// @see GFX +/// +/// Клас для роботи з графічним буфером. Він наслідує клас `Arduino_Canvas` з бібліотеки `Arduino_GFX_Library`, а також клас `GFX`. /// /// При частому перемальовуванні екрану без використання буфера може спостерігатися мерехтіння. /// Наприклад, якщо використовувати метод `fillScreen` для очищення екрану перед кожним викликом `print`, /// то текст буде мерехтіти. /// -/// Щоб уникнути цього, можна використовувати буфер. Цей клас дозволяє малювати графічні об'єкти на буфері, -/// а потім відобразити його на екрані за допомогою методу `lilka::display.drawCanvas`. +/// Щоб уникнути цього, можна використовувати графічний буфер. Цей клас дозволяє малювати графічні об'єкти на буфері, +/// а потім відобразити його на екрані за допомогою методу `lilka::display.drawCanvas`. Фактично, цей клас і є графічним буфером. /// /// Такий підхід дозволяє зменшити мерехтіння, але збільшує використання пам'яті. Він називається "буферизація", /// оскільки ми спершу малюємо на буфері, а тоді відображаємо буфер на екрані. @@ -286,8 +289,6 @@ typedef enum { /// Цей клас, як і `Display`, є підкласом `Arduino_GFX` з бібліотеки `Arduino_GFX_Library`. /// Це означає, що майже всі методи, які доступні в `Display`, також доступні в `Canvas`. /// -/// Приклад використання: -/// /// @code /// #include /// @@ -311,24 +312,26 @@ typedef enum { /// } /// } /// @endcode -class Canvas : public Arduino_Canvas { +class Canvas : public Arduino_Canvas, public GFX { public: + /// Створити буфер зі стандартним розміром (який дорівнює розміру дисплею). Canvas(); + /// Створити буфер з заданими розмірами. + /// @param w Ширина буфера. + /// @param h Висота буфера. Canvas(uint16_t w, uint16_t h); + /// Створити буфер з заданими розмірами та позицією. + /// @param x Координата X лівого верхнього кута буфера. + /// @param y Координата Y лівого верхнього кута буфера. + /// @param w Ширина буфера. + /// @param h Висота буфера. Canvas(uint16_t x, uint16_t y, uint16_t w, uint16_t h); - /// Намалювати зображення. - /// @see Display::drawImage - void drawImage(Image* image, int16_t x, int16_t y); - /// Намалювати зображення з афінними перетвореннями. - /// @see Display::drawImageTransformed - void drawImageTransformed(Image* image, int16_t x, int16_t y, Transform transform); + int16_t x(); + int16_t y(); void draw16bitRGBBitmapWithTranColor( int16_t x, int16_t y, const uint16_t bitmap[], uint16_t transparent_color, int16_t w, int16_t h ); - void drawCanvas(Canvas* canvas); - int drawTextAligned(const char* text, int16_t x, int16_t y, Alignment hAlign, Alignment vAlign); - int16_t x(); - int16_t y(); + uint8_t* getFont(); }; // Dirty (and painfully slow!) workaround to calculate text width (since getTextBounds clips result to canvas width) @@ -340,7 +343,7 @@ int16_t getTextWidth(const uint8_t* font, const char* text); /// Містить розміри, прозорий колір та пікселі зображення (в 16-бітному форматі, 5-6-5). /// Пікселі зберігаються в рядку зліва направо, зверху вниз. /// -/// Вісь зображення - це точка, яка вказує на центр зображення. Це дозволяє вам встановити точку, відносно якої буде відображатися зображення, а також навколо якої буде відбуватися перетворення зображення. +/// Вісь зображення (pivot) - це точка, яка вказує на центр зображення. Це дозволяє вам встановити точку, відносно якої буде відображатися зображення, а також навколо якої буде відбуватися перетворення зображення. /// /// @note Основна відмінність Image від поняття "bitmap" погялає в тому, що Image містить масив пікселів, розміри зображення і прозорий колір, в той час як "bitmap" - це просто масив пікселів. class Image { @@ -348,6 +351,12 @@ class Image { /// Створити зображення з заданими розмірами та прозорим кольором. /// /// Якщо `transparentColor` встановлено в `-1`, то прозорість відсутня. + /// + /// @param width Ширина зображення. + /// @param height Висота зображення. + /// @param transparentColor 16-бітний колір (5-6-5), який буде вважатися прозорим. За замовчуванням -1 (прозорість відсутня). + /// @param pivotX Координата X центральної осі зображення. За замовчуванням 0. + /// @param pivotY Координата Y центральної осі зображення. За замовчуванням 0. Image(uint32_t width, uint32_t height, int32_t transparentColor = -1, int16_t pivotX = 0, int16_t pivotY = 0); ~Image(); /// Створити зображення з масиву 16-бітних точок, стисненого алгоритмом RLE. @@ -366,8 +375,6 @@ class Image { /// @param blankColor 16-бітний колір (5-6-5), який буде використаний для заповнення пікселів, які виходять за межі зображення. /// @warning `dest` повинен бути ініціалізований заздалегідь. /// - /// Приклад: - /// /// @code /// lilka::Image *image = lilka::resources.loadImage("image.bmp"); /// if (!image) { @@ -408,9 +415,8 @@ class Image { /// /// Перетворення - це всього лиш матриця 2x2. Застосування перетворення до вектора - це множення цього вектора на матрицю перетворення. Магія! /// -/// Наприклад, ось цей код обертає зображення на 30 градусів і тоді віддзеркалює його по горизонталі: -/// /// @code +/// // Цей код обертає зображення на 30 градусів і тоді віддзеркалює його по горизонталі /// lilka::Transform transform = lilka::Transform().rotate(30).flipX(); /// lilka::display.drawImageTransformed(image, 32, 64, transform); /// @endcode diff --git a/sdk/lib/lilka/src/lilka/fileutils.cpp b/sdk/lib/lilka/src/lilka/fileutils.cpp index 952e8857..06124d19 100644 --- a/sdk/lib/lilka/src/lilka/fileutils.cpp +++ b/sdk/lib/lilka/src/lilka/fileutils.cpp @@ -241,9 +241,8 @@ bool FileUtils::createSDPartTable() { std::unique_ptr workbufPtr(workbuf); // init without mount - SPI1.beginTransaction(SPISettings(LILKA_SD_FREQUENCY, MSBFIRST, SPI_MODE0)); uint8_t pdrv = sdcard_init(LILKA_SDCARD_CS, &SPI1, LILKA_SD_FREQUENCY); - SPI1.endTransaction(); + if (pdrv == 0xFF) { xSemaphoreGive(sdMutex); return false; @@ -252,9 +251,7 @@ bool FileUtils::createSDPartTable() { // SD card uninitializer (RAII) std::unique_ptr sdcardUninit(nullptr, [](void* pdrv) { // C++ is beautiful and ugly at the same time - SPI1.beginTransaction(SPISettings(LILKA_SD_FREQUENCY, MSBFIRST, SPI_MODE0)); sdcard_uninit(*static_cast(pdrv)); - SPI1.endTransaction(); }); // Create partition table diff --git a/sdk/lib/lilka/src/lilka/icons/backspace.h b/sdk/lib/lilka/src/lilka/icons/backspace.h index 79fc4ae7..cce0e624 100644 --- a/sdk/lib/lilka/src/lilka/icons/backspace.h +++ b/sdk/lib/lilka/src/lilka/icons/backspace.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t backspace_width = 20; -const uint16_t backspace_height = 20; -const uint16_t backspace[] = { +const uint16_t backspace_img_width = 20; +const uint16_t backspace_img_height = 20; +const uint16_t backspace_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/sdk/lib/lilka/src/lilka/icons/shift.h b/sdk/lib/lilka/src/lilka/icons/shift.h index b6042d5c..5ba1c6ba 100644 --- a/sdk/lib/lilka/src/lilka/icons/shift.h +++ b/sdk/lib/lilka/src/lilka/icons/shift.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t shift_width = 20; -const uint16_t shift_height = 20; -const uint16_t shift[] = { +const uint16_t shift_img_width = 20; +const uint16_t shift_img_height = 20; +const uint16_t shift_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/sdk/lib/lilka/src/lilka/icons/shifted.h b/sdk/lib/lilka/src/lilka/icons/shifted.h index a34df4c7..c7103f80 100644 --- a/sdk/lib/lilka/src/lilka/icons/shifted.h +++ b/sdk/lib/lilka/src/lilka/icons/shifted.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t shifted_width = 20; -const uint16_t shifted_height = 20; -const uint16_t shifted[] = { +const uint16_t shifted_img_width = 20; +const uint16_t shifted_img_height = 20; +const uint16_t shifted_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/sdk/lib/lilka/src/lilka/icons/whitespace.h b/sdk/lib/lilka/src/lilka/icons/whitespace.h index 7b829d27..d3d617e4 100644 --- a/sdk/lib/lilka/src/lilka/icons/whitespace.h +++ b/sdk/lib/lilka/src/lilka/icons/whitespace.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t whitespace_width = 20; -const uint16_t whitespace_height = 20; -const uint16_t whitespace[] = { +const uint16_t whitespace_img_width = 20; +const uint16_t whitespace_img_height = 20; +const uint16_t whitespace_img[] = { 0x0000, 0x0000, 0x0000, diff --git a/sdk/lib/lilka/src/lilka/inputdialog.cpp b/sdk/lib/lilka/src/lilka/inputdialog.cpp index 8719cc8a..87e9664d 100644 --- a/sdk/lib/lilka/src/lilka/inputdialog.cpp +++ b/sdk/lib/lilka/src/lilka/inputdialog.cpp @@ -130,7 +130,7 @@ void InputDialog::draw(Arduino_GFX* canvas) { canvas->setFont(FONT_10x20); canvas->setTextBound(4, 4, canvas->width() - 8, canvas->height() - 8); - canvas->setCursor(4, 20); + canvas->setCursor(16, 20); canvas->println(title); canvas->setTextBound(16, 16, canvas->width() - 32, canvas->height() - 32); @@ -172,11 +172,11 @@ void InputDialog::draw(Arduino_GFX* canvas) { const uint16_t iconWidth = 20; const uint16_t iconHeight = 20; if (key == K_L0 || key == K_L1) { - icon = layer == 0 ? shift : shifted; + icon = layer == 0 ? shift_img : shifted_img; } else if (key == K_BS) { - icon = backspace; + icon = backspace_img; } else if (key == ' ') { - icon = whitespace; + icon = whitespace_img; } if (icon) { canvas->draw16bitRGBBitmapWithTranColor( diff --git a/sdk/lib/lilka/src/lilka/menu.cpp b/sdk/lib/lilka/src/lilka/menu.cpp index 191711f4..1b217623 100644 --- a/sdk/lib/lilka/src/lilka/menu.cpp +++ b/sdk/lib/lilka/src/lilka/menu.cpp @@ -301,10 +301,10 @@ bool Menu::setItem(int16_t index, String title, const menu_icon_t* icon, uint16_ } } bool Menu::getItem(int16_t index, MenuItem* menuItem) { - if ((menuItem == NULL) || index > items.size() - 1) { + if ((menuItem == NULL) || index > items.size() - 1 || index < 0) { return false; } else { - memcpy(menuItem, &(items[index]), sizeof(MenuItem)); + *menuItem = items[index]; return true; } } @@ -312,6 +312,9 @@ void Menu::clearItems() { setCursor(0); items.clear(); } +int16_t Menu::getItemCount() { + return items.size(); +} void Menu::addActivationButton(Button activationButton) { activationButtons.push_back(activationButton); } diff --git a/sdk/lib/lilka/src/lilka/ui.h b/sdk/lib/lilka/src/lilka/ui.h index a0976c78..527face3 100644 --- a/sdk/lib/lilka/src/lilka/ui.h +++ b/sdk/lib/lilka/src/lilka/ui.h @@ -38,13 +38,14 @@ typedef struct { /// dreams.addItem("Смерть русні"); /// dreams.addItem("Ядерка на червону площу"); /// dreams.addItem("Повернення Криму"); -/// int index = -1; -/// while (index == -1) { +/// while (!dreams.isFinished()) { /// dreams.update(); /// dreams.draw(&lilka::display); -/// index = dreams.getSelectedIndex(); /// } -/// Serial.println("Ви обрали пункт номер " + String(index)); +/// int index = dreams.getCursor(); +/// lilka::MenuItem item; +/// dreams.getItem(index, &item); +/// Serial.println(String("Ви обрали пункт ") + item.title); /// } /// @endcode class Menu { @@ -85,7 +86,7 @@ class Menu { void draw(Arduino_GFX* canvas); /// Перевірити, чи обрано пункт меню. /// - /// Якщо пункт обрано (користувач натиснув кнопку "A"), повертається ``true``, інакше ``false``. Після виклику цієї функції пункт перестає бути обраним. + /// Якщо пункт обрано, тобто користувач натиснув кнопку "A" (або іншу кнопку, яка була додана за допомогою ``addActivationButton()``), повертається ``true``, інакше ``false``. bool isFinished(); /// Змінити пункт меню /// @param index Індекс пункту. @@ -105,6 +106,9 @@ class Menu { int16_t getCursor(); /// Очистити меню і зробити його доступним для повторного використання void clearItems(); + /// Отримати кількість пунктів меню. + /// @return Кількість пунктів меню. + int16_t getItemCount(); /// Дозволити вибір пункту меню за допомогою інших кнопок. /// /// За замовчуванням вибір пункту можливий тільки за допомогою кнопки "A". Після виклику цієї функції можна вибирати пункт за допомогою додаткових кнопок. @@ -182,7 +186,7 @@ class Alert { void draw(Arduino_GFX* canvas); /// Перевірити, чи користувач закрив сповіщення. /// - /// Якщо сповіщення закрито (користувач натиснув кнопку "A" або "Start"), повертається ``true``, інакше ``false``. + /// Якщо сповіщення закрито, тобто користувач натиснув кнопку "A" (або іншу кнопку, яка була додана за допомогою ``addActivationButton()``), повертається ``true``, інакше ``false``. bool isFinished(); /// Дозволити закриття сповіщення за допомогою інших кнопок. /// @@ -262,13 +266,42 @@ class ProgressDialog { /// Клас для відображення діалогового вікна введення. /// /// Малює вікно введення та екранну клавіатуру, дозволяє вводити текст та підтверджувати введення. +/// +/// Приклад використання: +/// +/// @code +/// InputDialog dialog("Введіть пароль"); +/// dialog.setMasked(true); +/// dialog.setValue("1234"); +/// while (!dialog.isFinished()) { +/// dialog.update(); +/// dialog.draw(&lilka::display); +/// } +/// String password = dialog.getValue(); +/// @endcode class InputDialog { public: + /// Конструктор класу. + /// + /// @param title Заголовок діалогового вікна введення. explicit InputDialog(String title); + /// Встановити маскування введеного тексту. Якщо встановлено ``true``, введений текст буде відображатися як зірочки. + /// @param masked Чи маскувати введений текст. void setMasked(bool masked); + /// Встановити початкове значення введеного тексту. + /// @param value Текст. void setValue(String value); + /// Оновити стан діалогового вікна введення. + /// + /// Цю функцію потрібно викликати, щоб діалогове вікно введення опрацювало вхідні дані від користувача та оновило свій стан. void update(); + /// Намалювати діалогове вікно введення на Display або Canvas. + /// + /// @param canvas Вказівник на Display або Canvas, на якому потрібно намалювати діалогове вікно введення. void draw(Arduino_GFX* canvas); + /// Перевірити, чи користувач завершив введення тексту. + /// + /// Якщо введення завершено, тобто користувач натиснув кнопку "START", повертається ``true``, інакше ``false``. bool isFinished(); String getValue(); diff --git a/sdk/tools/image2code/image2code.py b/sdk/tools/image2code/image2code.py index 9b9b304f..ad21d76b 100755 --- a/sdk/tools/image2code/image2code.py +++ b/sdk/tools/image2code/image2code.py @@ -91,9 +91,9 @@ print("// This is a generated file, do not edit.", file=f) print("// clang-format off", file=f) print(f"#include ", file=f) - print(f"const uint16_t {var_name}_width = {img.width};", file=f) - print(f"const uint16_t {var_name}_height = {img.height};", file=f) - print(f"const uint16_t {var_name}[] = {{", file=f) + print(f"const uint16_t {var_name}_img_width = {img.width};", file=f) + print(f"const uint16_t {var_name}_img_height = {img.height};", file=f) + print(f"const uint16_t {var_name}_img[] = {{", file=f) for pixel in pixels: print(f" 0x{pixel:04x},", file=f) print("};", file=f) diff --git a/sdk/tools/image2code/ship.h b/sdk/tools/image2code/ship.h index 248e5869..bf3f9754 100644 --- a/sdk/tools/image2code/ship.h +++ b/sdk/tools/image2code/ship.h @@ -1,9 +1,9 @@ // This is a generated file, do not edit. // clang-format off #include -const uint16_t ship_width = 32; -const uint16_t ship_height = 32; -const uint16_t ship[] = { +const uint16_t ship_img_width = 32; +const uint16_t ship_img_height = 32; +const uint16_t ship_img[] = { 0xffff, 0xffff, 0xffff,