From 75a01817e7d10799940823be626732c2eed87734 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 12:11:59 +0200 Subject: [PATCH 01/13] docs(pcb): add main-control-board README --- hardware/README.md | 4 ++++ hardware/boards/main-control-board/README.md | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 hardware/boards/main-control-board/README.md diff --git a/hardware/README.md b/hardware/README.md index 34f7935..d79d913 100644 --- a/hardware/README.md +++ b/hardware/README.md @@ -4,6 +4,10 @@ KiCad PCB projects for Tiny Engineer. Boards live under `boards//`. Prefer the same name for the directory and the KiCad project. +| Board | Role | +| --- | --- | +| [`main-control-board`](boards/main-control-board/) | Draft interconnect / carrier (header sockets for existing modules) | + Contribution rules, KiCad version, what to commit, ERC/DRC, and PR expectations: [docs/pcb.md](../docs/pcb.md). Pre-PR checklist: [docs/pcb.md#checklist](../docs/pcb.md#checklist). This tree is KiCad source only. Robot electrical reference (pinout, wiring, BOM) is [`docs/hardware/`](../docs/hardware/README.md). Firmware drivers are `src/hardware/`. diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md new file mode 100644 index 0000000..9ab955d --- /dev/null +++ b/hardware/boards/main-control-board/README.md @@ -0,0 +1,17 @@ +# main-control-board + +Carrier PCB that reducing jumper wiring: existing modules plug in on pin headers. + +- **Status:** draft +- **KiCad:** 10 +- **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, Adafruit 5993 USB-C breakout, and five servo 3-pin plugs; shared I2C, I2S, +5V, 3V3, and GND +- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). No schematic or layout yet. KiCad project name will match this directory. +- **Built:** not manufactured + +## Direction + +First revision is sockets only. Design in KiCad 10, then fabricate, so the robot is wired on a board instead of Dupont harnesses. + +Later revisions may integrate some or all of those functions onto this PCB and drop the plug-in modules. Electrical reference stays in `docs/hardware/` until a schematic is merged. + +Contribution rules: [`docs/pcb.md`](../../../docs/pcb.md). From 79470fecc01ae4ec9cf4e14e36e8686af9d54611 Mon Sep 17 00:00:00 2001 From: "coderabbitai[bot]" <136622811+coderabbitai[bot]@users.noreply.github.com> Date: Sun, 13 Sep 2026 11:55:54 +0000 Subject: [PATCH 02/13] docs(pcb): document control board connections and test status --- hardware/boards/main-control-board/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md index 9ab955d..fa1f984 100644 --- a/hardware/boards/main-control-board/README.md +++ b/hardware/boards/main-control-board/README.md @@ -4,9 +4,10 @@ Carrier PCB that reducing jumper wiring: existing modules plug in on pin headers - **Status:** draft - **KiCad:** 10 -- **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, Adafruit 5993 USB-C breakout, and five servo 3-pin plugs; shared I2C, I2S, +5V, 3V3, and GND +- **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, Adafruit 5993 USB-C breakout, and five servo 3-pin plugs; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); MAX98357A SPK+/SPK− → speaker; +5V, 3V3, and GND - **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). No schematic or layout yet. KiCad project name will match this directory. - **Built:** not manufactured +- **Tested:** not tested ## Direction From 588f8a9833b8410849058603da9ae26cb93662a7 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 16:27:21 +0200 Subject: [PATCH 03/13] feat(pcb): add kicad project and symbols of modules --- hardware/.gitignore | 1 + hardware/boards/main-control-board/README.md | 5 +- .../symbols/tiny_engineer_modules.kicad_sym | 955 ++++++++++++++++++ .../main-control-board.kicad_pcb | 2 + .../main-control-board.kicad_pro | 448 ++++++++ .../main-control-board.kicad_sch | 14 + .../boards/main-control-board/sym-lib-table | 4 + 7 files changed, 1427 insertions(+), 2 deletions(-) create mode 100644 hardware/.gitignore create mode 100644 hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym create mode 100644 hardware/boards/main-control-board/main-control-board.kicad_pcb create mode 100644 hardware/boards/main-control-board/main-control-board.kicad_pro create mode 100644 hardware/boards/main-control-board/main-control-board.kicad_sch create mode 100644 hardware/boards/main-control-board/sym-lib-table diff --git a/hardware/.gitignore b/hardware/.gitignore new file mode 100644 index 0000000..7664704 --- /dev/null +++ b/hardware/.gitignore @@ -0,0 +1 @@ +*.bak \ No newline at end of file diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md index fa1f984..00b7f3a 100644 --- a/hardware/boards/main-control-board/README.md +++ b/hardware/boards/main-control-board/README.md @@ -1,11 +1,12 @@ # main-control-board -Carrier PCB that reducing jumper wiring: existing modules plug in on pin headers. +Carrier PCB that reduces jumper wiring: existing modules plug in on pin headers. - **Status:** draft - **KiCad:** 10 - **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, Adafruit 5993 USB-C breakout, and five servo 3-pin plugs; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); MAX98357A SPK+/SPK− → speaker; +5V, 3V3, and GND -- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). No schematic or layout yet. KiCad project name will match this directory. +- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). Schematic and PCB are empty KiCad 10 stubs. Custom module symbols live in [`libraries/symbols/tiny_engineer_modules.kicad_sym`](libraries/symbols/tiny_engineer_modules.kicad_sym). ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. +- **ERC / DRC:** empty schematic and PCB; both checks clean (no nets, no copper). Re-run when schematic and layout land. - **Built:** not manufactured - **Tested:** not tested diff --git a/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym new file mode 100644 index 0000000..56c95f7 --- /dev/null +++ b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym @@ -0,0 +1,955 @@ +(kicad_symbol_lib + (version 20251024) + (generator "kicad_symbol_editor") + (generator_version "10.0") + (symbol "Adafruit_PCA9685_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 5.334 9.144 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Adafruit_PCA9685_Module_1_1" + (rectangle + (start -12.7 7.62) + (end 12.7 -7.62) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "Adafruit PCA9685" + (at -3.556 0.254 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin power_in line + (at 0 -10.16 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 3.81 180) + (length 2.54) + (name "OE" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 15.24 1.27 180) + (length 2.54) + (name "SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 15.24 -1.27 180) + (length 2.54) + (name "SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 15.24 -3.81 180) + (length 2.54) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 10.16 270) + (length 2.54) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "ESP32_C3_Zero_Dev_Board" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at 0.508 -3.302 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB. Pad 1=5V, 2=GND, 3=3V3, 4-14=GP0-GP10, 15=USB_DM (GPIO18), 16=USB_DP (GPIO19), 17=RX (GPIO20), 18=TX (GPIO21). Not the ESP32-C3 QFN package pinout." + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "ESP32_C3_Zero_Dev_Board_1_1" + (rectangle + (start -15.24 11.43) + (end 15.24 -11.43) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 13.97 270) + (length 2.54) + (name "5V" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -13.97 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_out line + (at -17.78 10.16 0) + (length 2.54) + (name "3V3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 2.54 0) + (length 2.54) + (name "GP0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 0 0) + (length 2.54) + (name "GP1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -2.54 0) + (length 2.54) + (name "GP2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -5.08 0) + (length 2.54) + (name "GP3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -7.62 0) + (length 2.54) + (name "GP4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -10.16 0) + (length 2.54) + (name "GP5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -10.16 180) + (length 2.54) + (name "GP6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -7.62 180) + (length 2.54) + (name "GP7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -5.08 180) + (length 2.54) + (name "GP8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -2.54 180) + (length 2.54) + (name "GP9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 0 180) + (length 2.54) + (name "GP10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 2.54 180) + (length 2.54) + (name "USB_DM" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "15" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 5.08 180) + (length 2.54) + (name "USB_DP" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "16" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 7.62 180) + (length 2.54) + (name "RX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "17" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 10.16 180) + (length 2.54) + (name "TX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "18" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "MAX98357_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 12.446 -4.572 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "MAX98357_Module_1_1" + (rectangle + (start -11.4299 6.35) + (end 11.43 -6.35) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "MAX98357" + (at 6.858 7.366 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin bidirectional line + (at -13.97 5.08 0) + (length 2.54) + (name "LRC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -13.97 2.54 0) + (length 2.54) + (name "BCLK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -13.97 0 0) + (length 2.54) + (name "DIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -13.97 -2.54 0) + (length 2.54) + (name "GAIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -13.97 -5.08 0) + (length 2.54) + (name "SD" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -8.89 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 8.89 270) + (length 2.54) + (name "Vin" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Waceshare_OLED_09_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 9.144 9.398 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Waceshare_OLED_09_Module_1_1" + (rectangle + (start -17.78 5.08) + (end 17.78 -5.08) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "OLED 0.9 I2C" + (at 14.732 6.604 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin power_in line + (at 0 7.62 270) + (length 2.54) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -7.62 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 20.32 1.27 180) + (length 2.54) + (name "SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 20.32 -1.27 180) + (length 2.54) + (name "SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) +) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pcb b/hardware/boards/main-control-board/main-control-board.kicad_pcb new file mode 100644 index 0000000..ccd82d6 --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_pcb @@ -0,0 +1,2 @@ +(kicad_pcb (version 20260206) (generator "pcbnew") (generator_version "10.0") +) \ No newline at end of file diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pro b/hardware/boards/main-control-board/main-control-board.kicad_pro new file mode 100644 index 0000000..c4e9089 --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_pro @@ -0,0 +1,448 @@ +{ + "board": { + "3dviewports": [], + "ipc2581": { + "bom_rev": "", + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "", + "sch_revision": "" + }, + "layer_pairs": [], + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "component_class_settings": { + "assignments": [], + "meta": { + "version": 0 + }, + "sheet_component_classes": { + "enabled": false + } + }, + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "field_name_whitespace": "warning", + "footprint_filter": "ignore", + "footprint_link_issues": "warning", + "four_way_junction": "ignore", + "ground_pin_not_ground": "warning", + "hier_label_mismatch": "error", + "isolated_pin_label": "warning", + "label_dangling": "error", + "label_multiple_wires": "warning", + "lib_symbol_issues": "warning", + "lib_symbol_mismatch": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "error", + "same_local_global_label": "warning", + "similar_label_and_power": "warning", + "similar_labels": "warning", + "similar_power": "warning", + "simulation_model_issue": "ignore", + "single_global_label": "ignore", + "stacked_pin_name": "warning", + "unannotated": "error", + "unconnected_wire_endpoint": "warning", + "undefined_netclass": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "main-control-board.kicad_pro", + "version": 3 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "priority": 2147483647, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "tuning_profile": "", + "via_diameter": 0.6, + "via_drill": 0.3, + "wire_width": 6 + } + ], + "meta": { + "version": 5 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "idf": "", + "netlist": "", + "plot": "", + "specctra_dsn": "", + "step": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "annotation": { + "method": 0, + "sort_order": 0 + }, + "bom_export_filename": "${PROJECTNAME}.csv", + "bom_fmt_presets": [], + "bom_fmt_settings": { + "field_delimiter": ",", + "keep_line_breaks": false, + "keep_tabs": false, + "name": "CSV", + "ref_delimiter": ",", + "ref_range_delimiter": "", + "string_delimiter": "\"" + }, + "bom_presets": [], + "bom_settings": { + "exclude_dnp": false, + "fields_ordered": [ + { + "group_by": false, + "label": "Reference", + "name": "Reference", + "show": true + }, + { + "group_by": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from BOM", + "name": "${EXCLUDE_FROM_BOM}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Board", + "name": "${EXCLUDE_FROM_BOARD}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Simulation", + "name": "${EXCLUDE_FROM_SIM}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Position Files", + "name": "${EXCLUDE_FROM_POS_FILES}", + "show": true + }, + { + "group_by": true, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + } + ], + "filter_string": "", + "group_symbols": true, + "include_excluded_from_bom": true, + "name": "Default Editing", + "sort_asc": true, + "sort_field": "Reference" + }, + "bus_aliases": {}, + "connection_grid_size": 50.0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "hop_over_size_choice": 0, + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~A", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "overbar_offset_ratio": 1.23, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "page_layout_descr_file": "", + "plot_directory": "", + "reuse_designators": true, + "subpart_first_id": 65, + "subpart_id_separator": 0, + "top_level_sheets": [ + { + "filename": "main-control-board.kicad_sch", + "name": "main-control-board", + "uuid": "82a78d11-58ff-455c-a94e-f7463ce9fc2e" + } + ], + "used_designators": "", + "variants": [] + }, + "sheets": [ + [ + "82a78d11-58ff-455c-a94e-f7463ce9fc2e", + "main-control-board" + ] + ], + "text_variables": {}, + "tuning_profiles": { + "meta": { + "version": 0 + }, + "tuning_profiles_impedance_geometric": [] + } +} diff --git a/hardware/boards/main-control-board/main-control-board.kicad_sch b/hardware/boards/main-control-board/main-control-board.kicad_sch new file mode 100644 index 0000000..cbbfd86 --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_sch @@ -0,0 +1,14 @@ +(kicad_sch + (version 20260306) + (generator "eeschema") + (generator_version "10.0") + (uuid "82a78d11-58ff-455c-a94e-f7463ce9fc2e") + (paper "A4") + (lib_symbols) + (sheet_instances + (path "/" + (page "1") + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/sym-lib-table b/hardware/boards/main-control-board/sym-lib-table new file mode 100644 index 0000000..f975faf --- /dev/null +++ b/hardware/boards/main-control-board/sym-lib-table @@ -0,0 +1,4 @@ +(sym_lib_table + (version 7) + (lib (name "TinyEngineerModules") (type "KiCad") (uri "${KIPRJMOD}/libraries/symbols/tiny_engineer_modules.kicad_sym") (options "") (descr "")) +) From 5c9d919c4e2ee01e0ce871200e1f097c959f4e7c Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 17:38:57 +0200 Subject: [PATCH 04/13] fix(pcb): update properties and pin types in tiny_engineer_modules.kicad_sym --- .../symbols/tiny_engineer_modules.kicad_sym | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym index 56c95f7..46a2e2d 100644 --- a/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym +++ b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym @@ -18,8 +18,8 @@ ) ) ) - (property "Value" "" - (at 0 0 0) + (property "Value" "Adafruit PCA9685" + (at -1.778 0 0) (show_name no) (do_not_autoplace no) (effects @@ -73,14 +73,6 @@ (type background) ) ) - (text "Adafruit PCA9685" - (at -3.556 0.254 0) - (effects - (font - (size 1.27 1.27) - ) - ) - ) (pin power_in line (at 0 -10.16 90) (length 2.54) @@ -117,7 +109,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at 15.24 1.27 180) (length 2.54) (name "SCL" @@ -199,7 +191,7 @@ (in_pos_files yes) (duplicate_pin_numbers_are_jumpers no) (property "Reference" "U" - (at 0 0 0) + (at -0.254 2.286 0) (show_name no) (do_not_autoplace no) (effects @@ -209,7 +201,7 @@ ) ) (property "Value" "ESP32-C3-ZERO" - (at 0.508 -3.302 0) + (at 0.254 -1.016 0) (show_name no) (do_not_autoplace no) (effects @@ -230,7 +222,7 @@ ) ) (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" - (at 0 0 0) + (at 30.734 -19.304 0) (show_name no) (do_not_autoplace no) (hide yes) @@ -240,8 +232,8 @@ ) ) ) - (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB. Pad 1=5V, 2=GND, 3=3V3, 4-14=GP0-GP10, 15=USB_DM (GPIO18), 16=USB_DP (GPIO19), 17=RX (GPIO20), 18=TX (GPIO21). Not the ESP32-C3 QFN package pinout." - (at 0 0 0) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB" + (at 46.736 -16.002 0) (show_name no) (do_not_autoplace no) (hide yes) @@ -606,7 +598,7 @@ ) ) ) - (property "Value" "" + (property "Value" "MAX98357A" (at 0 0 0) (show_name no) (do_not_autoplace no) @@ -669,7 +661,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at -13.97 5.08 0) (length 2.54) (name "LRC" @@ -687,7 +679,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at -13.97 2.54 0) (length 2.54) (name "BCLK" @@ -705,7 +697,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at -13.97 0 0) (length 2.54) (name "DIN" @@ -723,7 +715,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at -13.97 -2.54 0) (length 2.54) (name "GAIN" @@ -741,7 +733,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at -13.97 -5.08 0) (length 2.54) (name "SD" @@ -814,7 +806,7 @@ ) ) ) - (property "Value" "" + (property "Value" "Waveshare 0.91 OLED" (at 0 0 0) (show_name no) (do_not_autoplace no) @@ -931,7 +923,7 @@ ) ) ) - (pin bidirectional line + (pin input line (at 20.32 -1.27 180) (length 2.54) (name "SCL" From c4cb630d8cd991c1057bb42e9b928b1c4eb52deb Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 17:53:53 +0200 Subject: [PATCH 05/13] feat(pcb): add footprints for Tiny Engineer modules - Introduced new KiCad footprints for the Adafruit PCA9685 Module, ESP32 C3 Zero Dev Board, and MAX98357 Module. --- .../boards/main-control-board/fp-lib-table | 4 + .../Adafruit_PCA9685_Module.kicad_mod | 407 ++++++++++++ .../ESP32_C3_Zero_Dev_Board.kicad_mod | 628 ++++++++++++++++++ .../MAX98357_Module.kicad_mod | 340 ++++++++++ 4 files changed, 1379 insertions(+) create mode 100644 hardware/boards/main-control-board/fp-lib-table create mode 100644 hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/Adafruit_PCA9685_Module.kicad_mod create mode 100644 hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod create mode 100644 hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/MAX98357_Module.kicad_mod diff --git a/hardware/boards/main-control-board/fp-lib-table b/hardware/boards/main-control-board/fp-lib-table new file mode 100644 index 0000000..e05f5c0 --- /dev/null +++ b/hardware/boards/main-control-board/fp-lib-table @@ -0,0 +1,4 @@ +(fp_lib_table + (version 7) + (lib (name "TinyEngineerModules") (type "KiCad") (uri "${KIPRJMOD}/libraries/footprints/tiny_engineer_modules.pretty") (options "") (descr "")) +) diff --git a/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/Adafruit_PCA9685_Module.kicad_mod b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/Adafruit_PCA9685_Module.kicad_mod new file mode 100644 index 0000000..1c77541 --- /dev/null +++ b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/Adafruit_PCA9685_Module.kicad_mod @@ -0,0 +1,407 @@ +(footprint "Adafruit_PCA9685_Module" + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (layer "F.Cu") + (property "Reference" "REF**" + (at 0 -0.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "0b8816e1-16d9-4b9f-9f5e-90f83a1a1480") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (property "Value" "Adafruit_PCA9685_Module" + (at 0 1 0) + (unlocked yes) + (layer "F.Fab") + (uuid "52c98522-0380-44b9-aec2-b0f3215ec781") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "6fd55ec6-aa45-402f-82dc-c2f4ed1300fe") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "48788a5f-d18b-497d-87c9-867175dd81bb") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -31.85 -11.4) + (end 30.65 -11.4) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "f3f98697-6dd4-4a43-a929-879ef6bda2c6") + ) + (fp_line + (start -31.85 14) + (end -31.85 -11.4) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "65a58129-01c2-4bb6-a558-1c42f92a8291") + ) + (fp_line + (start 30.65 -11.4) + (end 30.65 14) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "7e34bde9-cefa-407b-9b87-625c718425f7") + ) + (fp_line + (start 30.65 14) + (end -31.85 14) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "d221ba25-345c-45fc-b0e3-ef7e954260fd") + ) + (fp_poly + (pts + (xy 30.65 -11.4) (xy -31.85 -11.4) (xy -31.85 14) (xy 30.65 14) + ) + (stroke + (width 0.1) + (type solid) + ) + (fill no) + (layer "F.CrtYd") + (uuid "cb9a72dc-25e2-46c9-a75f-9dc2574af40e") + ) + (fp_text user "GND" + (at -29.21 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "fcf22a4f-0ff5-4627-8a2f-85c56ac28ddf") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "OE" + (at -29.21 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "de4ed263-7541-4f5a-9654-5d9ac6b1d58a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "SCL" + (at -29.21 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "a66f5a74-eecf-4bad-8c27-e08cd06bca0b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "SDA" + (at -29.21 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "6cd64e89-4ee3-48a5-b529-d7c5e4b86e1a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "VCC" + (at -29.21 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "8ff170b8-60d8-4839-a29a-33fa5420332b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "V+" + (at -29.21 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "c6a4a51c-e4bf-455a-9e84-892ad40b6ce0") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GND" + (at 26.67 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "6290b4c5-5522-4068-b8d2-e8a0bb6e3842") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "OE" + (at 26.67 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "b449d352-8e2b-42b9-af7f-0a42b24b63ce") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "SCL" + (at 26.67 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "220f35e9-cac2-49bc-adf1-3a36e0290248") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "SDA" + (at 26.67 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "24f7ac0c-2128-4f34-ace0-89ac395f8a47") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "VCC" + (at 26.67 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "4e45ce56-db8b-45fa-8b1a-44821bf812b0") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "V+" + (at 26.67 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "c0440ac9-6234-4ae3-9bd7-6fe690e552c5") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "${REFERENCE}" + (at 0 2.5 0) + (unlocked yes) + (layer "F.Fab") + (uuid "d1cef346-0bcc-4e78-a0df-872c733082e5") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole roundrect + (at -30.48 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.1470588235) + (uuid "5d3dbc88-6786-4e60-bd1a-76eb5c397f48") + ) + (pad "1" thru_hole roundrect + (at 27.94 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.1470588235) + (uuid "79b29996-10c3-4556-b6f6-f58a8d35d569") + ) + (pad "2" thru_hole circle + (at -30.48 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "b0ddd118-3925-4e42-a9eb-2e23b10fe40a") + ) + (pad "2" thru_hole circle + (at 27.94 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "78b1bd3d-b770-4185-ae00-de539f6f3c42") + ) + (pad "3" thru_hole circle + (at -30.48 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "b3dd9cae-4c9c-41e8-976c-469b913a29f5") + ) + (pad "3" thru_hole circle + (at 27.94 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "26903363-3659-4ad3-929a-9b800be35e9f") + ) + (pad "4" thru_hole circle + (at -30.48 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "a7d8cc71-ff4f-46b0-8c35-f4b492fe3bce") + ) + (pad "4" thru_hole circle + (at 27.94 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "126decff-533e-4886-87d4-2f1ee37ae6ff") + ) + (pad "5" thru_hole circle + (at -30.48 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "a829b0f5-7ef4-4600-a982-0c84eaa7f1bd") + ) + (pad "5" thru_hole circle + (at 27.94 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "d957b0dc-75bc-4dd9-ae1a-c6ca2741904e") + ) + (pad "6" thru_hole circle + (at -30.48 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "ce4783c0-5fbf-4c5a-a506-7ed8c2e96835") + ) + (pad "6" thru_hole circle + (at 27.94 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "d1464df3-fe2b-4268-93f4-317d7dfbd664") + ) + (zone + (layer "F.Fab") + (uuid "4ac4ff56-a25b-4226-8669-2f728de7735f") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy -31.85 -11.4) (xy 30.65 -11.4) (xy 30.65 14) (xy -31.85 14) + ) + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod new file mode 100644 index 0000000..a0c9f4e --- /dev/null +++ b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod @@ -0,0 +1,628 @@ +(footprint "ESP32_C3_Zero_Dev_Board" + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (layer "F.Cu") + (property "Reference" "REF**" + (at 0 13 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "a95cfa09-ddb9-466c-b267-8c72eaf2dabe") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (property "Value" "ESP32_C3_Zero_Dev_Board" + (at -0.1 15.24 0) + (unlocked yes) + (layer "F.Fab") + (uuid "0f3b6c68-ceda-4f93-9dec-87ba1c36146b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "6957737b-2974-483e-85d5-147bbca40e79") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "abe504cb-9d73-40b2-b0db-b930bf56d13f") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -9.5 -11.9) + (end 9.3 -11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "84e6b9fc-a114-4f1e-a61d-839b923e533c") + ) + (fp_line + (start -9.5 11.9) + (end -9.5 -11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "1bd345a8-686d-422f-ac0a-3f5a6a77bad5") + ) + (fp_line + (start -4.6 -13.4) + (end -4.6 -11.9) + (stroke + (width 0.1) + (type dot) + ) + (layer "F.SilkS") + (uuid "d1cc8e22-abda-4da3-b578-aca76aea90a3") + ) + (fp_line + (start -4.6 -13.4) + (end 4.4 -13.4) + (stroke + (width 0.1) + (type dot) + ) + (layer "F.SilkS") + (uuid "8116e6b2-6e96-4675-a2a2-1b96244020df") + ) + (fp_line + (start 4.4 -13.4) + (end 4.4 -11.9) + (stroke + (width 0.1) + (type dot) + ) + (layer "F.SilkS") + (uuid "d4a824f1-1236-4bdc-aca3-365b4731e405") + ) + (fp_line + (start 9.3 -11.9) + (end 9.3 11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "60a447f4-40da-4141-b7ee-092e4e21acbb") + ) + (fp_line + (start 9.3 11.9) + (end -9.5 11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "951d0944-c9f9-4335-9d5d-e3b3007a0785") + ) + (fp_rect + (start -6.6 6.5) + (end 6.6 11.4) + (stroke + (width 0.1) + (type dot) + ) + (fill no) + (layer "F.SilkS") + (uuid "3b59eb34-e2d8-4bd6-82e5-54751ac754ee") + ) + (fp_poly + (pts + (xy -9.5 -11.9) (xy -9.5 11.9) (xy 9.3 11.9) (xy 9.3 -11.9) + ) + (stroke + (width 0.1) + (type solid) + ) + (fill no) + (layer "F.CrtYd") + (uuid "119b2070-6014-4041-9e0a-0554078a90d0") + ) + (fp_text user "5V" + (at -6.35 -10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "61489827-f509-4d13-990c-695810878311") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GND" + (at -6.35 -7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "c081275b-49b5-42ed-b156-c8a1c883019a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "3V3" + (at -6.35 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "fbd7f3cd-45a9-4dc5-9f72-95b505968f22") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP0" + (at -6.35 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "bce3a55f-7668-4ccf-8e75-c57e1e0f52ad") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP1" + (at -6.35 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "eda1c0ab-cd9a-4474-893e-f9bf19ce7f9a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP2" + (at -6.35 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "7f11e3a6-bf22-4c6a-8f52-e37304c25690") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP3" + (at -6.35 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "1d29365e-6b15-408c-a7fc-09bec74a0541") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP4" + (at -6.35 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "f1df89b4-6e0b-4161-a173-e125c6b1f4fd") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GP5" + (at -6.35 10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "870f9f0c-95c7-4fcb-bdf6-05443daab73c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "USB" + (at -1.3 -12.2 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "143c54ff-0885-453f-bbbb-cc4e490c8fe8") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left bottom) + ) + ) + (fp_text user "ANT" + (at 0 9.1 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "ab1ef04d-f505-4d28-b24a-bae6ad41c17c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + ) + ) + (fp_text user "TX" + (at 6.35 -10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "c9d0889f-891b-4d87-9e02-fc622e8072ae") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "RX" + (at 6.35 -7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "13f832c7-0875-45cd-854d-44035c81681c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "USB DP" + (at 6.35 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "d6c283f1-3429-43b6-9c51-b6bef48d94f2") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "USB DM" + (at 6.35 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "0813f3a5-a5cf-4d2e-a471-0251a44bd386") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP10" + (at 6.35 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "cc1a992c-87f1-47b3-b514-6dd34db8afad") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP9" + (at 6.35 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "8305b386-4289-4efb-9ec8-972772729b59") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP8" + (at 6.35 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "45c74698-ea31-4c8e-bb23-414d6a0f2760") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP7" + (at 6.35 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "8ad47244-9deb-48f3-a1cf-7da3443b479b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GP6" + (at 6.35 10.16 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "88207855-d7df-4dc3-afec-63635f60ec6e") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "${REFERENCE}" + (at -0.1 17.78 0) + (unlocked yes) + (layer "F.Fab") + (uuid "37b52785-0181-4240-95fe-f9098cad7577") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole roundrect + (at -7.62 -10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.15) + (uuid "6f29c076-3c73-4adf-97d2-279f25b7f65f") + ) + (pad "2" thru_hole circle + (at -7.62 -7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "a9310cf3-8605-4a2d-80ee-6d8937f20f43") + ) + (pad "3" thru_hole circle + (at -7.62 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "752ec01f-6030-4206-9096-d681374b35a4") + ) + (pad "4" thru_hole circle + (at -7.62 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "a5906c90-4a6e-47f4-9711-3b5b90b6561f") + ) + (pad "5" thru_hole circle + (at -7.62 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "3b346b86-1a5c-4c85-8dfd-c411e17683ca") + ) + (pad "6" thru_hole circle + (at -7.62 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "81efee36-9116-41f4-85e7-f544f285c22b") + ) + (pad "7" thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "353ed785-cece-4f85-822a-f26fe068750a") + ) + (pad "8" thru_hole circle + (at -7.62 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "e6f15655-8075-4df8-bc22-901ef1afcd05") + ) + (pad "9" thru_hole circle + (at -7.62 10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "9fcaa4d3-595b-4656-90ab-bfb55a709d52") + ) + (pad "10" thru_hole circle + (at 7.62 10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "993209ad-644d-4a61-a039-7dd8de580dc9") + ) + (pad "11" thru_hole circle + (at 7.62 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "943c5432-45b0-4a15-94f6-8e49feb41fe8") + ) + (pad "12" thru_hole circle + (at 7.62 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "08c0b910-01a5-4201-ab9e-647a695bdef7") + ) + (pad "13" thru_hole circle + (at 7.62 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "97c34e51-01ac-4f08-bb62-3839c62ea2d0") + ) + (pad "14" thru_hole circle + (at 7.62 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "6c424ae0-a3b2-4c5f-a607-6f8bc4aee769") + ) + (pad "15" thru_hole circle + (at 7.62 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "c522fbb7-cf60-4ddc-ba37-5fe2795cfa3c") + ) + (pad "16" thru_hole circle + (at 7.62 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "1a3ce6af-c811-42aa-b27d-b7283b2e021d") + ) + (pad "17" thru_hole circle + (at 7.62 -7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "c81dd2b7-0498-49d6-8cc3-de248b51e0ad") + ) + (pad "18" thru_hole circle + (at 7.62 -10.16) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "d2089de2-ce0c-43f2-86f0-5bfa3d62d5f2") + ) + (zone + (layers "F.Cu" "B.Cu") + (uuid "0c8d1ec9-a649-4a8b-9391-140bc1075aee") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks not_allowed) + (vias not_allowed) + (pads not_allowed) + (copperpour not_allowed) + (footprints allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy -6.66 5) (xy 6.4 5) (xy 6.4 12.8) (xy -6.66 12.8) + ) + ) + ) + (zone + (layer "F.Fab") + (uuid "61ab9364-dcd8-45f6-b9fc-bff55e725ba0") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy -9.5 -11.9) (xy 9.3 -11.9) (xy 9.3 11.9) (xy -9.5 11.9) + ) + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/MAX98357_Module.kicad_mod b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/MAX98357_Module.kicad_mod new file mode 100644 index 0000000..ebb6664 --- /dev/null +++ b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/MAX98357_Module.kicad_mod @@ -0,0 +1,340 @@ +(footprint "MAX98357_Module" + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (layer "F.Cu") + (property "Reference" "REF**" + (at 2.5 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "28491e90-7f4a-4d78-bca4-3ec86b4d4116") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (property "Value" "MAX98357_Module" + (at 0 10 0) + (unlocked yes) + (layer "F.Fab") + (uuid "b5002ee8-3da0-4c80-bc98-165b192a79c7") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "2b93341e-5299-4b09-a866-c10ae0f613e0") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "9c2d7593-a453-44f7-b6bd-a47d226029fe") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -9.35 -8.95) + (end 9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "de7ef516-122b-4260-af79-e713f585ec12") + ) + (fp_line + (start -9.35 8.75) + (end -9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "23a3855d-1c76-4dd6-acb5-cec4c8ffd687") + ) + (fp_line + (start 9.35 -8.95) + (end 9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "ae43a8f8-7518-4e9d-8b3d-2760a01be468") + ) + (fp_line + (start 9.35 8.75) + (end -9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "4c9c1ecc-e569-46c2-beb5-3bd05e687f68") + ) + (fp_rect + (start -9.35 -8.95) + (end 9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "F.SilkS") + (uuid "14acfdb1-6436-4711-8f40-902eeebc3a01") + ) + (fp_line + (start -9.35 -8.95) + (end 9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "763ac5a5-2ea3-4ffc-978d-28213a5af370") + ) + (fp_line + (start -9.35 8.75) + (end -9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "98b5389e-f869-4570-a658-6c85a4c22dff") + ) + (fp_line + (start 9.35 -8.95) + (end 9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "7b5799cb-3dd0-4f6d-997b-4d00d2180819") + ) + (fp_line + (start 9.35 8.75) + (end -9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "d13a7f36-dc22-497a-bea7-5b2c120ae031") + ) + (fp_text user "LRC" + (at -6.35 -7.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "93d3de84-bd66-4441-a345-b3c23a0eaecc") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "BCLK" + (at -6.35 -5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "d66f2a0d-b05a-4c60-a5fa-9c48f9715227") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "DIN" + (at -6.35 -2.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "05280327-8c86-434d-a932-9f30a65c9e39") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GAIN" + (at -6.35 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "8a7b4ab8-9fc5-453d-b192-ffcb23976158") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "SD" + (at -6.35 2.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "338031ba-3c3b-4ff3-912b-f0c29c9723ec") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GND" + (at -6.35 5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "edfa28e6-0dab-4912-9e85-c6ebe3150d39") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "Vin" + (at -6.35 7.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "9fb2035b-33ca-4743-8778-6046de7691dd") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "${REFERENCE}" + (at 0 12.5 0) + (unlocked yes) + (layer "F.Fab") + (uuid "5e465cfc-8527-4219-b2f2-68cf2a55be8a") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole roundrect + (at -7.5 -7.5) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.1470588235) + (uuid "34f10d78-02f8-4ff4-bd01-35ae4e3c8516") + ) + (pad "2" thru_hole circle + (at -7.5 -5) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "6c87f91e-dff1-4d5a-8c0c-ed51b5b5bfc3") + ) + (pad "3" thru_hole circle + (at -7.5 -2.5) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "c62ded49-c077-410c-8c4c-903330ce14c3") + ) + (pad "4" thru_hole circle + (at -7.5 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "a4271a54-d33c-4773-883c-4d119697f072") + ) + (pad "5" thru_hole circle + (at -7.5 2.5) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "ed708f78-1adc-492f-830e-b64f169d567c") + ) + (pad "6" thru_hole circle + (at -7.5 5) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "1b8a2713-4f8f-46de-ac8f-547544a7a2ac") + ) + (pad "7" thru_hole circle + (at -7.5 7.5) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "d3e11af6-2e30-4e13-a063-c4e25a9507b4") + ) + (zone + (layer "F.Fab") + (uuid "3cc5f05d-230d-47df-9563-e152c53013cb") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy -9.35 -8.95) (xy 9.35 -8.95) (xy 9.35 8.75) (xy -9.35 8.75) + ) + ) + ) + (embedded_fonts no) +) From 8097c16ed1a47eb2f3582390078a32bf3acd55ec Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 19:53:04 +0200 Subject: [PATCH 06/13] feat(pcb): add pcb schematic --- REUSE.toml | 5 + docs/hardware/components.md | 2 +- docs/hardware/interfaces.md | 4 +- docs/hardware/pinout.md | 5 +- docs/hardware/servos.md | 4 +- docs/hardware/testing.md | 2 +- docs/hardware/wiring.md | 6 +- hardware/boards/main-control-board/README.md | 9 +- .../symbols/tiny_engineer_modules.kicad_sym | 4 +- .../main-control-board.kicad_pro | 234 +- .../main-control-board.kicad_sch | 3769 ++++++++++++++++- include/pins.h | 4 +- 12 files changed, 4025 insertions(+), 23 deletions(-) diff --git a/REUSE.toml b/REUSE.toml index 309f2a9..2bb5b58 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -26,6 +26,11 @@ path = "hardware/boards/**" SPDX-FileCopyrightText = "2026 Krzysztof Jamroz" SPDX-License-Identifier = "CERN-OHL-S-2.0" +[[annotations]] +path = "hardware/boards/main-control-board/**" +SPDX-FileCopyrightText = "2026 Krzysztof Jamroz" +SPDX-License-Identifier = "CERN-OHL-S-2.0" + [[annotations]] path = "hardware/LICENSE" SPDX-License-Identifier = "CERN-OHL-S-2.0" diff --git a/docs/hardware/components.md b/docs/hardware/components.md index ed1d68f..774617b 100644 --- a/docs/hardware/components.md +++ b/docs/hardware/components.md @@ -52,7 +52,7 @@ Constants cited below match [`include/pins.h`](../../include/pins.h). | Interface | I2C | | Address | `0x40` (`PCA9685_ADDRESS` in firmware). A0–A5 pads can change this | | PWM | 12-bit, firmware `setPWMFreq(50)` | -| Important pins | As drawn: **5V** (servo-rail in), **V+** (to servo 5V), **VCC** (3V3 logic), **GND**, **SDA**, **SCL**, **PWM**. OE not drawn | +| Important pins | As drawn: **5V** (servo-rail in), **V+** (to servo 5V), **VCC** (3V3 logic), **GND**, **SDA**, **SCL**, **PWM**, **OE** (GP5) | | Channels used | 0–4 (five servos). 5–15 unused | | Limits | **V+** and **VCC** must stay separate. Do not jumper servo power onto logic VCC on this robot | | Firmware note | Detection at `0x40` is a **hard fail** in the bring-up test | diff --git a/docs/hardware/interfaces.md b/docs/hardware/interfaces.md index 3348aed..77ca118 100644 --- a/docs/hardware/interfaces.md +++ b/docs/hardware/interfaces.md @@ -57,13 +57,13 @@ Generated by **PCA9685**, not by ESP32 LEDC/MCPWM. ESP32 GPIO is not wired to servo SIG lines. -### PCA9685 output enable (optional) +### PCA9685 output enable | Signal | ESP32 GPIO | Notes | | --- | --- | --- | | OE | GPIO5 / GP5 | **Active LOW** — outputs enabled. Firmware drives **HIGH** during PCA9685 init, then **LOW** after neutral PWM is written | -Controlled only when `PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h). Default `false`: OE pin unused (Adafruit breakout pull-down keeps outputs enabled). Wire GP5 → PCA9685 **OE** and set the flag to block invalid PWM during boot and flash resets. +Wired on main-control-board (`PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h)). Blocks invalid PWM during boot and flash resets. ## USB diff --git a/docs/hardware/pinout.md b/docs/hardware/pinout.md index eafa914..27f197a 100644 --- a/docs/hardware/pinout.md +++ b/docs/hardware/pinout.md @@ -11,7 +11,7 @@ Source of truth: [`include/pins.h`](../../include/pins.h). This file must match | I2S BCLK | **GPIO2** (diagram **GP2**) | `I2S_BCLK` | MAX98357A BCLK | | I2S LRCLK / WS | **GPIO3** (diagram **GP3**) | `I2S_LRC` | MAX98357A **LRC** | | I2S DATA OUT | **GPIO4** (diagram **GP4**) | `I2S_DIN` | MAX98357A DIN | -| PCA9685 OE (optional) | **GPIO5** (diagram **GP5**) | `PCA9685_OE_PIN` | PCA9685 **OE** when `PCA9685_OE_WIRED` | +| PCA9685 OE | **GPIO5** (diagram **GP5**) | `PCA9685_OE_PIN` | PCA9685 **OE** (`PCA9685_OE_WIRED`) | | Built-in WS2812 RGB | **GPIO10** | `RGB_LED_PIN` | onboard LED only | Logic level: **3.3 V**. @@ -30,7 +30,6 @@ Logic level: **3.3 V**. | GPIO | Status | Notes | | --- | --- | --- | -| GPIO5 | **Optional** | PCA9685 **OE** when wired; set `PCA9685_OE_WIRED = true` in `pins.h` | | GPIO6 | Free | Unused | | GPIO7 | Free | Unused | | GPIO8 | Free | Unused | @@ -60,7 +59,7 @@ Power pads (not GPIO): **5V**, **GND**, **3V3**. | `OLED_WIDTH` / `OLED_HEIGHT` | 128 / 32 | Display | | `SERVO_MIN_US` / `SERVO_MAX_US` | 800 / 2200 | Electrical PWM span | | `SERVO_BOOT_SPEED_DEG_S` | 35 | Boot centering / sleep-pose rate (deg/s) | -| `PCA9685_OE_WIRED` | `false` | Set `true` after wiring GP5 → PCA9685 OE | +| `PCA9685_OE_WIRED` | `true` | GP5 → PCA9685 OE on main-control-board | ## Pin allocation rules diff --git a/docs/hardware/servos.md b/docs/hardware/servos.md index 843aee1..abc985d 100644 --- a/docs/hardware/servos.md +++ b/docs/hardware/servos.md @@ -47,12 +47,12 @@ Verified in [`include/pins.h`](../../include/pins.h) and [`include/servos.h`](.. On every boot (and after each flash reset): -1. **Optional OE** — if `PCA9685_OE_WIRED`, GP5 disables PCA9685 outputs before I2C init. +1. **OE** — `PCA9685_OE_WIRED` is true on main-control-board: GP5 disables PCA9685 outputs before I2C init. 2. **Early init** — PCA9685 is probed and configured immediately after `Wire.begin`, before OLED, settings, or Wi-Fi. 3. **Neutral park** — all channels receive mid-pulse PWM while OE is still disabled (if wired), then outputs enable. 4. **Smooth boot moves** — `centerAllServos()` and sleep-inertia pose use `servoMoveAllSmoothTo()` at `SERVO_BOOT_SPEED_DEG_S` (35°/s), not instant snaps. -Set `PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h) after wiring GP5 → PCA9685 **OE**. OE is **active LOW** on the Adafruit breakout. +GP5 → PCA9685 **OE** is wired on main-control-board (`PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h)). OE is **active LOW** on the Adafruit breakout. ## Motion modes diff --git a/docs/hardware/testing.md b/docs/hardware/testing.md index ee35ad4..55d1290 100644 --- a/docs/hardware/testing.md +++ b/docs/hardware/testing.md @@ -19,7 +19,7 @@ Build/flash: project root README (`pio run`, `pio run -t upload`, serial 115200) | --- | --- | | Built-in WS2812 | Green ready (GPIO10) | | I2C init | `Wire.begin` on GPIO0/GPIO1 | -| PCA9685 | Probe `0x40` early; park neutral; optional OE on GP5 | +| PCA9685 | Probe `0x40` early; park neutral; OE on GP5 (`PCA9685_OE_WIRED`) | | OLED | Probe `0x3C`, init (optional) | | Wi-Fi | STA connect from saved NVS credentials, or setup AP `TinyEngineer-XXXX` when unset/failed; mDNS `{hostname}.local` after STA connect | | MAX98357A / I2S | `I2S.begin` 44.1 kHz 16-bit stereo | diff --git a/docs/hardware/wiring.md b/docs/hardware/wiring.md index 4d984e0..bb65981 100644 --- a/docs/hardware/wiring.md +++ b/docs/hardware/wiring.md @@ -49,7 +49,7 @@ On Adafruit PCA9685, header/terminal **V+** is normally the same servo rail as t | ESP32-C3-Zero | GP2 | MAX98357A | BCLK | I2S bit clock | | ESP32-C3-Zero | GP3 | MAX98357A | LRC | I2S word select | | ESP32-C3-Zero | GP4 | MAX98357A | DIN | I2S data | -| ESP32-C3-Zero | GP5 | PCA9685 | OE | Optional output enable (see [interfaces.md](interfaces.md)) | +| ESP32-C3-Zero | GP5 | PCA9685 | OE | Output enable (see [interfaces.md](interfaces.md)) | | PCA9685 | PWM | Servo | SIG | Servo PWM | | PCA9685 | V+ | Servo | 5V | Servo power | | PCA9685 | GND (servo side) | Servo | GND | Servo ground | @@ -127,9 +127,9 @@ ESP32-C3-Zero, unused in the PNG: **GP6, GP7, GP8, GP9, GP10, GP20, GP21** -GP5 = optional PCA9685 OE (not in PNG). GP9 = BOOT, GP10 = onboard WS2812. GP18/GP19 = native USB — wire from 5993 D−/D+ even if the base PNG omits them. See [pinout.md](pinout.md). +GP5 = PCA9685 OE on main-control-board (`PCA9685_OE_WIRED`). GP9 = BOOT, GP10 = onboard WS2812. GP18/GP19 = native USB — wire from 5993 D−/D+ even if the base PNG omits them. See [pinout.md](pinout.md). -PCA9685 **OE** optional on GP5 — not drawn on base PNG. MAX98357A **GAIN** / **SD** not wired (breakout defaults). **SPK+** / **SPK-** not drawn. +PCA9685 **OE** is GP5 on this board. MAX98357A **GAIN** / **SD** not wired (breakout defaults). **SPK+** / **SPK-** not drawn. ## Not on the drawing diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md index 00b7f3a..97923c6 100644 --- a/hardware/boards/main-control-board/README.md +++ b/hardware/boards/main-control-board/README.md @@ -2,11 +2,12 @@ Carrier PCB that reduces jumper wiring: existing modules plug in on pin headers. +- **Purpose:** interconnect / carrier with header sockets for the existing modules - **Status:** draft - **KiCad:** 10 -- **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, Adafruit 5993 USB-C breakout, and five servo 3-pin plugs; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); MAX98357A SPK+/SPK− → speaker; +5V, 3V3, and GND -- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). Schematic and PCB are empty KiCad 10 stubs. Custom module symbols live in [`libraries/symbols/tiny_engineer_modules.kicad_sym`](libraries/symbols/tiny_engineer_modules.kicad_sym). ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. -- **ERC / DRC:** empty schematic and PCB; both checks clean (no nets, no copper). Re-run when schematic and layout land. +- **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, and Adafruit 5993 USB-C breakout; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); PCA9685 OE ← GP5; +5V, 3V3, and GND. Servo 3-pin plugs and speaker terminals stay on the modules this revision. +- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). Custom module symbols live in [`libraries/symbols/tiny_engineer_modules.kicad_sym`](libraries/symbols/tiny_engineer_modules.kicad_sym). ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. +- **ERC / DRC:** schematic ERC after this pass; PCB is still an empty stub (DRC N/A until layout). - **Built:** not manufactured - **Tested:** not tested @@ -14,6 +15,6 @@ Carrier PCB that reduces jumper wiring: existing modules plug in on pin headers. First revision is sockets only. Design in KiCad 10, then fabricate, so the robot is wired on a board instead of Dupont harnesses. -Later revisions may integrate some or all of those functions onto this PCB and drop the plug-in modules. Electrical reference stays in `docs/hardware/` until a schematic is merged. +Later revisions may integrate some or all of those functions onto this PCB and drop the plug-in modules. Contribution rules: [`docs/pcb.md`](../../../docs/pcb.md). diff --git a/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym index 46a2e2d..6213431 100644 --- a/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym +++ b/hardware/boards/main-control-board/libraries/symbols/tiny_engineer_modules.kicad_sym @@ -790,7 +790,7 @@ ) (embedded_fonts no) ) - (symbol "Waceshare_OLED_09_Module" + (symbol "Waveshare_OLED_09_Module" (exclude_from_sim no) (in_bom yes) (on_board yes) @@ -849,7 +849,7 @@ ) ) ) - (symbol "Waceshare_OLED_09_Module_1_1" + (symbol "Waveshare_OLED_09_Module_1_1" (rectangle (start -17.78 5.08) (end 17.78 -5.08) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pro b/hardware/boards/main-control-board/main-control-board.kicad_pro index c4e9089..829d605 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_pro +++ b/hardware/boards/main-control-board/main-control-board.kicad_pro @@ -1,6 +1,238 @@ { "board": { "3dviewports": [], + "design_settings": { + "defaults": { + "apply_defaults_to_fp_barcodes": false, + "apply_defaults_to_fp_dimensions": false, + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": true, + "text_position": 0, + "units_format": 0 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.8, + "height": 1.27, + "width": 1.27 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "border_display_style": 2, + "border_hatch_pitch": 0.5, + "corner_radius": 0.0, + "corner_smoothing": 0, + "fill_mode": 0, + "hatch_gap": 1.5, + "hatch_orientation": 0.0, + "hatch_smoothing_level": 0, + "hatch_smoothing_value": 0.1, + "hatch_thickness": 1.0, + "min_clearance": 0.5, + "min_island_area": 10.0, + "min_thickness": 0.25, + "pad_connection": 1, + "remove_islands": 0, + "thermal_relief_gap": 0.5, + "thermal_relief_spoke_width": 0.5 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "creepage": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_filters_mismatch": "ignore", + "footprint_symbol_field_mismatch": "warning", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_to_hole": "warning", + "holes_co_located": "warning", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "mirrored_text_on_front_layer": "warning", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "missing_tuning_profile": "warning", + "net_conflict": "warning", + "nonmirrored_text_on_back_layer": "warning", + "npth_inside_courtyard": "error", + "padstack": "warning", + "pth_inside_courtyard": "error", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_on_edge_cuts": "error", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_angle": "error", + "track_dangling": "warning", + "track_not_centered_on_via": "ignore", + "track_on_post_machined_layer": "error", + "track_segment_length": "error", + "track_width": "error", + "tracks_crossing": "error", + "tuning_profile_track_geometries": "ignore", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_groove_width": 0.0, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.2, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpthpad": true, + "td_onroundshapesonly": false, + "td_onsmdpad": true, + "td_ontrackend": false, + "td_onvia": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [], + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [], + "zones_allow_external_fillets": false + }, "ipc2581": { "bom_rev": "", "dist": "", @@ -8,7 +240,7 @@ "internal_id": "", "mfg": "", "mpn": "", - "sch_revision": "" + "sch_revision": "v1" }, "layer_pairs": [], "layer_presets": [], diff --git a/hardware/boards/main-control-board/main-control-board.kicad_sch b/hardware/boards/main-control-board/main-control-board.kicad_sch index cbbfd86..e2fc443 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_sch +++ b/hardware/boards/main-control-board/main-control-board.kicad_sch @@ -2,9 +2,3774 @@ (version 20260306) (generator "eeschema") (generator_version "10.0") - (uuid "82a78d11-58ff-455c-a94e-f7463ce9fc2e") + (uuid "ede99216-bb86-4aec-876e-63688c114483") (paper "A4") - (lib_symbols) + (title_block + (title "TinyEngineer PCB") + (date "2026-09-12") + (rev "v1") + ) + (lib_symbols + (symbol "Connector:Conn_01x04_Socket" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "J" + (at 0 5.08 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x04_Socket" + (at 0 -7.62 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Conn_01x04_Socket_1_1" + (polyline + (pts + (xy -1.27 2.54) (xy -0.508 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy -0.508 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -2.54) (xy -0.508 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -0.508 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 2.032) + (mid -0.5058 2.54) + (end 0 3.048) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -0.508) + (mid -0.5058 0) + (end 0 0.508) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -3.048) + (mid -0.5058 -2.54) + (end 0 -2.032) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -5.588) + (mid -0.5058 -5.08) + (end 0 -4.572) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 2.54 0) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -2.54 0) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -5.08 -5.08 0) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:Adafruit_PCA9685_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 5.334 9.144 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Adafruit PCA9685" + (at -1.778 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Adafruit_PCA9685_Module_1_1" + (rectangle + (start -12.7 7.62) + (end 12.7 -7.62) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 -10.16 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 3.81 180) + (length 2.54) + (name "OE" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 15.24 1.27 180) + (length 2.54) + (name "SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 15.24 -1.27 180) + (length 2.54) + (name "SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 15.24 -3.81 180) + (length 2.54) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 10.16 270) + (length 2.54) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:ESP32_C3_Zero_Dev_Board" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at -0.254 2.286 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at 0.254 -1.016 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" + (at 30.734 -19.304 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB" + (at 46.736 -16.002 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "ESP32_C3_Zero_Dev_Board_1_1" + (rectangle + (start -15.24 11.43) + (end 15.24 -11.43) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (pin power_in line + (at 0 13.97 270) + (length 2.54) + (name "5V" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -13.97 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_out line + (at -17.78 10.16 0) + (length 2.54) + (name "3V3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 2.54 0) + (length 2.54) + (name "GP0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 0 0) + (length 2.54) + (name "GP1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -2.54 0) + (length 2.54) + (name "GP2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -5.08 0) + (length 2.54) + (name "GP3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -7.62 0) + (length 2.54) + (name "GP4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at -17.78 -10.16 0) + (length 2.54) + (name "GP5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -10.16 180) + (length 2.54) + (name "GP6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -7.62 180) + (length 2.54) + (name "GP7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -5.08 180) + (length 2.54) + (name "GP8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 -2.54 180) + (length 2.54) + (name "GP9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 0 180) + (length 2.54) + (name "GP10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 2.54 180) + (length 2.54) + (name "USB_DM" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "15" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 5.08 180) + (length 2.54) + (name "USB_DP" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "16" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 7.62 180) + (length 2.54) + (name "RX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "17" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 17.78 10.16 180) + (length 2.54) + (name "TX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "18" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:MAX98357_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 12.446 -4.572 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MAX98357A" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "MAX98357_Module_1_1" + (rectangle + (start -11.4299 6.35) + (end 11.43 -6.35) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "MAX98357" + (at 6.858 7.366 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin input line + (at -13.97 5.08 0) + (length 2.54) + (name "LRC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 2.54 0) + (length 2.54) + (name "BCLK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 0 0) + (length 2.54) + (name "DIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 -2.54 0) + (length 2.54) + (name "GAIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -13.97 -5.08 0) + (length 2.54) + (name "SD" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -8.89 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 8.89 270) + (length 2.54) + (name "Vin" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "TinyEngineerModules:Waveshare_OLED_09_Module" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "U" + (at 9.144 9.398 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Waveshare 0.91 OLED" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "Waveshare_OLED_09_Module_1_1" + (rectangle + (start -17.78 5.08) + (end 17.78 -5.08) + (stroke + (width 0) + (type solid) + ) + (fill + (type background) + ) + ) + (text "OLED 0.9 I2C" + (at 14.732 6.604 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin power_in line + (at 0 7.62 270) + (length 2.54) + (name "VCC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -7.62 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 20.32 1.27 180) + (length 2.54) + (name "SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 20.32 -1.27 180) + (length 2.54) + (name "SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:+3.3V" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 0 3.556 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "+3.3V_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "+3.3V_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:+5V" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 0 3.556 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "+5V_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:GND" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#PWR" + (at 0 -6.35 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 0 -3.81 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "GND_1_1" + (pin power_in line + (at 0 0 270) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:PWR_FLAG" + (power global) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "#FLG" + (at 0 1.905 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "PWR_FLAG" + (at 0 3.81 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "flag power" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "PWR_FLAG_0_0" + (pin power_out line + (at 0 0 90) + (length 0) + (name "" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "PWR_FLAG_0_1" + (polyline + (pts + (xy 0 0) (xy 0 1.27) (xy -1.016 1.905) (xy 0 2.54) (xy 1.016 1.905) (xy 0 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (embedded_fonts no) + ) + ) + (junction + (at 227.33 92.71) + (diameter 0) + (color 0 0 0 0) + (uuid "2a6fdd7d-5846-42c4-911d-20bbeac9f8e3") + ) + (junction + (at 217.17 90.17) + (diameter 0) + (color 0 0 0 0) + (uuid "95517e64-94e3-4176-889a-1f8d362e5d4a") + ) + (junction + (at 100.33 87.63) + (diameter 0) + (color 0 0 0 0) + (uuid "b6908943-26b6-4393-9531-c298a41db6bb") + ) + (junction + (at 92.71 90.17) + (diameter 0) + (color 0 0 0 0) + (uuid "b7dbe18b-1f18-4a58-8313-4973c518bff1") + ) + (no_connect + (at 138.43 137.16) + (uuid "0be2d26f-9570-4d66-8f11-62ccd655ec9e") + ) + (no_connect + (at 173.99 92.71) + (uuid "5f09b727-0712-4ce9-8a68-309759f95975") + ) + (no_connect + (at 173.99 95.25) + (uuid "6ffc117c-5c4b-41a4-be44-04eaa006788a") + ) + (no_connect + (at 173.99 97.79) + (uuid "7218efb9-5e63-4409-8a3a-7c703d4b1ff8") + ) + (no_connect + (at 173.99 100.33) + (uuid "9da25426-07fd-47a8-99d8-50eae430ae38") + ) + (no_connect + (at 138.43 139.7) + (uuid "c5d1b4a2-8fcf-444f-9263-eae5ec8a7662") + ) + (no_connect + (at 173.99 80.01) + (uuid "d1e02bb4-e881-4365-b6aa-08797a65587e") + ) + (no_connect + (at 173.99 90.17) + (uuid "e82179fc-3b08-4bd6-8706-2d59a5ecfc63") + ) + (no_connect + (at 173.99 82.55) + (uuid "f0c1e006-3bc2-44ba-b103-3279944d9cc4") + ) + (wire + (pts + (xy 173.99 85.09) (xy 227.33 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "002024f3-5a63-48fa-994f-8fd9ac3f483b") + ) + (wire + (pts + (xy 92.71 55.88) (xy 92.71 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1252d2e9-3b77-47c7-887a-d79254c75e16") + ) + (wire + (pts + (xy 133.35 97.79) (xy 138.43 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "12f063ee-9ebb-4b40-a859-18ee9683f87f") + ) + (wire + (pts + (xy 227.33 99.06) (xy 227.33 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "135f6f17-0276-46ac-a64e-1d7f26c4a0b9") + ) + (wire + (pts + (xy 96.52 92.71) (xy 81.28 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1c8c1d7d-2407-4473-adcc-a0ef17c94ad5") + ) + (wire + (pts + (xy 100.33 53.34) (xy 100.33 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "23067120-70b0-4941-b743-9108b8fbcb62") + ) + (wire + (pts + (xy 217.17 90.17) (xy 227.33 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "273b64a6-c832-4e4f-989e-e082c485adbc") + ) + (wire + (pts + (xy 133.35 134.62) (xy 133.35 97.79) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3840acad-f6b7-4adb-88de-e3abe019237e") + ) + (wire + (pts + (xy 223.52 92.71) (xy 227.33 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "509b00bb-e49f-44fe-856c-4ae08b570393") + ) + (wire + (pts + (xy 86.36 55.88) (xy 92.71 55.88) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5264cfbe-137c-486b-816f-fd045d61ac90") + ) + (wire + (pts + (xy 217.17 99.06) (xy 217.17 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "527eb20f-fc07-40bf-981e-e3cf15bf80b1") + ) + (wire + (pts + (xy 128.27 92.71) (xy 138.43 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5b73faf0-4e2f-483e-a37b-fa85803880d9") + ) + (wire + (pts + (xy 138.43 100.33) (xy 88.9 100.33) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5e78f923-0316-493f-acc1-acabdbb270f4") + ) + (wire + (pts + (xy 138.43 129.54) (xy 130.81 129.54) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6ca120fc-98dd-43e0-9af3-856d5bcf12ed") + ) + (wire + (pts + (xy 214.63 90.17) (xy 217.17 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "86ba20b3-0e27-48fd-a5ca-d71f04d1ee18") + ) + (wire + (pts + (xy 138.43 134.62) (xy 133.35 134.62) + ) + (stroke + (width 0) + (type default) + ) + (uuid "873840cf-86af-4470-b6b1-4f084ba320a0") + ) + (wire + (pts + (xy 100.33 87.63) (xy 96.52 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9cab3d55-d052-427a-ba62-6490318d8bab") + ) + (wire + (pts + (xy 92.71 90.17) (xy 138.43 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9f72b453-2431-42a2-9be0-149e9394b10f") + ) + (wire + (pts + (xy 88.9 100.33) (xy 88.9 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a3bf5889-e68e-4673-ac77-9f82fb959370") + ) + (wire + (pts + (xy 138.43 132.08) (xy 128.27 132.08) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a84ccbbd-0f52-4b51-ac77-632a50c919be") + ) + (wire + (pts + (xy 81.28 90.17) (xy 92.71 90.17) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ada2bdf0-5579-4b7a-a3a3-e05fa6b02a8a") + ) + (wire + (pts + (xy 86.36 53.34) (xy 100.33 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b29ac79c-eb53-4250-a816-7dd1ba1031b2") + ) + (wire + (pts + (xy 138.43 87.63) (xy 100.33 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b4022011-602d-4e94-a734-65a92f43d546") + ) + (wire + (pts + (xy 88.9 87.63) (xy 81.28 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b40f499a-92c1-4bdd-bcce-109f780db419") + ) + (wire + (pts + (xy 130.81 129.54) (xy 130.81 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b54b6e35-0123-474c-a3d8-c052fc021c13") + ) + (wire + (pts + (xy 128.27 132.08) (xy 128.27 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c3b20870-fce8-41ee-b23c-56b7effc5c58") + ) + (wire + (pts + (xy 81.28 101.6) (xy 81.28 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "da7781cb-5435-4271-aeff-c98d779eb73a") + ) + (wire + (pts + (xy 130.81 95.25) (xy 138.43 95.25) + ) + (stroke + (width 0) + (type default) + ) + (uuid "dab8bce2-6753-43ec-bc7e-9fa0305a13e0") + ) + (wire + (pts + (xy 173.99 87.63) (xy 227.33 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "db47f8f0-4bc5-405e-960e-88258571ce80") + ) + (wire + (pts + (xy 96.52 87.63) (xy 96.52 92.71) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f20702be-ed06-4b37-be3d-b34e9b54eb99") + ) + (label "I2S_BCLK" + (at 128.27 119.38 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "09452212-c79c-4bf5-9f29-c9a25df5cae9") + ) + (label "I2S_DIN" + (at 133.35 119.38 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "1f92fe3d-a4d9-4b80-9f67-9def316a4f1f") + ) + (label "I2S_LRC" + (at 130.81 119.38 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "3669a922-1b83-42ae-b2f9-f6d2e6f55b1e") + ) + (label "I2C_SDA" + (at 86.36 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "5441f028-b52c-4019-92c7-054e7c06b9f4") + ) + (label "USB_D+" + (at 196.85 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "6b2308f9-33fa-4a70-b08d-eb4283397724") + ) + (label "I2C_SCL" + (at 86.36 55.88 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "85f492c8-39dd-4674-a532-fbc41a0c013d") + ) + (label "USB_D-" + (at 196.85 87.63 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + (uuid "a76883ce-1b88-4131-8f57-88670c23096b") + ) + (symbol + (lib_id "power:+5V") + (at 152.4 125.73 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "1e70915d-648a-4ba3-bfcb-6578a48359ac") + (property "Reference" "#PWR07" + (at 152.4 129.54 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 152.4 120.65 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 152.4 125.73 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 152.4 125.73 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 152.4 125.73 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "aa547513-bbff-4823-9d56-7a056f6d8258") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR07") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 81.28 101.6 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "28a8df45-b413-46f6-8379-ede9277e82b2") + (property "Reference" "#PWR05" + (at 81.28 97.79 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 81.28 106.68 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 81.28 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 81.28 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 81.28 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "24b86346-b2df-48fa-89dc-ae648dd7cef8") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR05") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:MAX98357_Module") + (at 152.4 134.62 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "36531e2b-a362-4cd5-9344-6709539e35aa") + (property "Reference" "MAX1" + (at 165.1 132.3311 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MAX98357A" + (at 165.1 134.8711 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "TinyEngineerModules:MAX98357_Module" + (at 152.4 134.62 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 152.4 134.62 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 152.4 134.62 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "7" + (uuid "adfd1584-26d6-433f-a957-9c345b0bde39") + ) + (pin "6" + (uuid "d67056a2-fc9f-48ac-84b6-0b51ae88a29c") + ) + (pin "5" + (uuid "1d4c947a-58cc-4eab-98a7-6c7f52abcc27") + ) + (pin "1" + (uuid "75a96ac8-308a-4834-ab61-f93956e214e5") + ) + (pin "4" + (uuid "6405be18-6cee-478f-8d1b-5514d92f7e80") + ) + (pin "2" + (uuid "8f302ff6-5da7-40b8-9122-3e83b3eec81b") + ) + (pin "3" + (uuid "cd17607c-22dc-4e91-9343-2cc38c6c95eb") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "MAX1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 214.63 90.17 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "444296ff-792b-4539-ae99-bd3ecf801b93") + (property "Reference" "#PWR011" + (at 218.44 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 210.82 90.1699 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 214.63 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 214.63 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 214.63 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "46462983-cecd-4511-baa3-ae6bb39ba6bd") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR011") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:Waveshare_OLED_09_Module") + (at 66.04 54.61 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "4df93a1e-042d-4c49-a44e-af77e7aabde4") + (property "Reference" "OLED1" + (at 46.99 52.0671 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "Waveshare 0.91 OLED" + (at 46.99 54.6071 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" + (at 66.04 54.61 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 54.61 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 66.04 54.61 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 66.04 54.61 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "6c34246e-0998-417b-9292-50ade7e35b3b") + ) + (pin "2" + (uuid "061713c8-6964-44c3-8590-5efebfbca31a") + ) + (pin "3" + (uuid "f52165cf-2e64-4e01-8dd4-950ad22c6bf3") + ) + (pin "4" + (uuid "f3173bdb-e536-4e7c-af99-e4a4f6685fbf") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "OLED1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:Adafruit_PCA9685_Module") + (at 66.04 91.44 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "6391d22f-15dc-41a6-9172-b77d075a6c9e") + (property "Reference" "PCA1" + (at 52.07 90.1699 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "Adafruit PCA9685" + (at 52.07 92.7099 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "TinyEngineerModules:Adafruit_PCA9685_Module" + (at 66.04 91.44 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 91.44 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 66.04 91.44 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "2" + (uuid "7c74a8fa-ab21-4093-81cb-f4631d1cf85f") + ) + (pin "1" + (uuid "935d63e1-f1f3-487d-94af-1c5c103a4a62") + ) + (pin "4" + (uuid "71f04be1-a56d-4747-80a9-b898ec63c81a") + ) + (pin "3" + (uuid "8180417d-f95b-4253-9f87-6ebc00a83d83") + ) + (pin "5" + (uuid "cde79735-4137-41af-a4fa-909f4c19d194") + ) + (pin "6" + (uuid "d4ef052f-3247-46db-9679-0a7dd7fb0258") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "PCA1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 223.52 92.71 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "7a7a2d30-281d-4ea9-b605-7400cd5ce566") + (property "Reference" "#PWR012" + (at 223.52 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 223.52 97.79 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 223.52 92.71 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 223.52 92.71 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 223.52 92.71 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "6c09f720-e9d9-4026-8d3e-ede9402f9792") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR012") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "TinyEngineerModules:ESP32_C3_Zero_Dev_Board") + (at 156.21 90.17 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "830dbdd4-4215-415a-a843-81c8ec435273") + (property "Reference" "ESP1" + (at 158.3533 73.66 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at 158.3533 76.2 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "TinyEngineerModules:ESP32_C3_Zero_Dev_Board" + (at 156.21 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "https://www.waveshare.com/wiki/ESP32-C3-Zero" + (at 156.21 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Waveshare ESP32-C3-Zero module header, pads numbered anticlockwise from USB" + (at 156.21 90.17 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "4" + (uuid "fc2a9e0c-b317-4dc6-8124-603a6230cb75") + ) + (pin "5" + (uuid "d3a77671-4988-43c3-8b54-2504a732da19") + ) + (pin "1" + (uuid "29d84231-b1c5-46c2-88b9-1403ede41324") + ) + (pin "2" + (uuid "8e91d964-ed39-4b4b-8f75-f9b93ba6ef91") + ) + (pin "3" + (uuid "5f62bd83-491b-4cdf-9be3-44c9ccb7e1a9") + ) + (pin "12" + (uuid "607c1438-a129-4904-bf22-c28ec0854243") + ) + (pin "13" + (uuid "09a8931c-0799-4b8a-8d99-fb80957f9db7") + ) + (pin "6" + (uuid "2f678b9d-39d1-43c1-bbe8-dc08f4f5a920") + ) + (pin "7" + (uuid "39063a94-b645-4ded-9c80-99c8e247dd03") + ) + (pin "8" + (uuid "f22f5460-611a-4b76-ad4d-d0c5fa298c58") + ) + (pin "9" + (uuid "3b2b3aa7-bb47-453a-984a-85de84254089") + ) + (pin "10" + (uuid "930a9963-0d74-4a17-9cbc-67a4cd77465c") + ) + (pin "14" + (uuid "bd2eafed-45f3-4c52-8fd9-4986d83f9a5a") + ) + (pin "15" + (uuid "91fefff7-3319-4381-8757-64384f6425ee") + ) + (pin "16" + (uuid "3369ab32-c0b3-43c4-857f-d8b40b7a8f5a") + ) + (pin "17" + (uuid "d5c05741-4d42-457a-a4ee-a8be655daf31") + ) + (pin "18" + (uuid "fbdc5fe9-61fa-47de-b2fc-10c02a2b5bad") + ) + (pin "11" + (uuid "7e360e3b-04dc-4f3c-8bf1-5db5e7406e0c") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "ESP1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x04_Socket") + (at 232.41 87.63 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "892d2d19-23bd-4928-9797-558c2f8336b9") + (property "Reference" "USB1" + (at 233.68 87.6299 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "Conn_01x04_Socket" + (at 233.68 90.1699 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" + (at 232.41 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 232.41 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Generic connector, single row, 01x04, script generated" + (at 232.41 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 232.41 87.63 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "b068347e-252a-40b0-b170-b4b59c0032bd") + ) + (pin "2" + (uuid "8b4e3e8a-74f1-497d-931b-3b79b7185a0a") + ) + (pin "3" + (uuid "22eb9229-e651-4a16-ad53-42c7d0b183ff") + ) + (pin "4" + (uuid "3583e291-274b-436c-a74f-784307b4caca") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "USB1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 156.21 76.2 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a07f9255-817b-4460-b680-8046a3632154") + (property "Reference" "#PWR09" + (at 156.21 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 156.21 71.12 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 156.21 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 156.21 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 156.21 76.2 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "d2c163c6-b8ee-4af8-b18a-720034eb93aa") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR09") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 156.21 104.14 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a3fb58c7-21c9-4e7d-9344-c5a6126637b7") + (property "Reference" "#PWR010" + (at 156.21 110.49 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 156.21 109.22 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 156.21 104.14 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 156.21 104.14 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 156.21 104.14 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "ddd6d60b-5bf6-4ff2-a314-3312609e8a47") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR010") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 66.04 101.6 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a695565c-c157-4a19-8115-24200542a25f") + (property "Reference" "#PWR04" + (at 66.04 107.95 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 66.04 106.68 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 66.04 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 66.04 101.6 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "6b419dd3-d301-46c7-8c50-fc648bd2a5e7") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR04") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 152.4 143.51 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "b892aaa2-371f-4d1a-ba83-f308b6df54e7") + (property "Reference" "#PWR08" + (at 152.4 149.86 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 152.4 148.59 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 152.4 143.51 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 152.4 143.51 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 152.4 143.51 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "f59f4f50-250b-43e9-8c59-ccdc0fbd5407") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR08") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 138.43 80.01 90) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "c33cf18b-f25e-4f3c-8211-186d18b308c2") + (property "Reference" "#PWR06" + (at 142.24 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 134.62 80.0099 90) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 138.43 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 138.43 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 138.43 80.01 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "fb95eaf8-32e0-4338-b339-431c1805b0a7") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR06") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+5V") + (at 66.04 81.28 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "e78c725d-cb72-44f7-a714-f7dc8f172b82") + (property "Reference" "#PWR03" + (at 66.04 85.09 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+5V" + (at 66.04 76.2 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 66.04 81.28 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 81.28 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 66.04 81.28 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "5c766759-a293-43eb-b059-86d917363697") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR03") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 66.04 62.23 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "ebdb650c-0dcd-40a8-87d6-18f8fd7362fd") + (property "Reference" "#PWR02" + (at 66.04 68.58 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "GND" + (at 66.04 67.31 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 66.04 62.23 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 62.23 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 66.04 62.23 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "4a013899-d2bd-4778-b888-40e78f383107") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:+3.3V") + (at 66.04 46.99 0) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f80cd6fd-9b41-420e-a461-cc6729152f73") + (property "Reference" "#PWR01" + (at 66.04 50.8 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "+3.3V" + (at 66.04 41.91 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 66.04 46.99 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 66.04 46.99 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+3.3V\"" + (at 66.04 46.99 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "b4ff7387-b5e7-44be-8245-7cce4899e4cf") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#PWR01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 217.17 99.06 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (fields_autoplaced yes) + (uuid "fa2b1a66-9db6-4dd6-a827-f3cb68f8dd64") + (property "Reference" "#FLG01" + (at 217.17 100.965 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "PWR_FLAG" + (at 217.17 104.14 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 217.17 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 217.17 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 217.17 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "03554afc-456d-46d3-8e23-3a33296f46b5") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#FLG01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 227.33 99.06 180) + (unit 1) + (body_style 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (dnp no) + (uuid "ffc6aa5c-99c8-43b1-ad59-4ef994381e01") + (property "Reference" "#FLG02" + (at 227.33 100.965 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "PWR_FLAG" + (at 227.33 104.14 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 227.33 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Datasheet" "" + (at 227.33 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 227.33 99.06 0) + (hide yes) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (pin "1" + (uuid "8a86b872-0ed9-4b42-bed0-df5dd3c4f057") + ) + (instances + (project "main-control-board" + (path "/82a78d11-58ff-455c-a94e-f7463ce9fc2e" + (reference "#FLG02") + (unit 1) + ) + ) + ) + ) (sheet_instances (path "/" (page "1") diff --git a/include/pins.h b/include/pins.h index edc0df4..bf61ab3 100644 --- a/include/pins.h +++ b/include/pins.h @@ -18,8 +18,8 @@ constexpr int I2S_DIN = 4; // GP4 // Built-in WS2812 RGB constexpr int RGB_LED_PIN = 10; -// PCA9685 output enable (active LOW). Optional: wire OE → GP5. -constexpr bool PCA9685_OE_WIRED = false; +// PCA9685 output enable (active LOW). Wired GP5 → OE on main-control-board. +constexpr bool PCA9685_OE_WIRED = true; constexpr int PCA9685_OE_PIN = 5; // ===================================================== From 664f50397dc1e917fa89ea6f4d1b35f15c84becb Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 21:43:47 +0200 Subject: [PATCH 07/13] fix(pcb): update PCA9685 OE wiring status and related documentation - Changed PCA9685 OE wiring status to pending in multiple documentation files, indicating that GP5 is not yet implemented for output enable. - Clarified that the firmware behavior regarding OE is conditional on the wiring status. - Updated references in the pinout, interfaces, and testing documentation to reflect the current state of the PCA9685 OE connection. --- docs/hardware/components.md | 2 +- docs/hardware/interfaces.md | 2 +- docs/hardware/pinout.md | 4 ++-- docs/hardware/servos.md | 6 +++--- docs/hardware/testing.md | 2 +- docs/hardware/wiring.md | 7 +++---- include/pins.h | 4 ++-- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/docs/hardware/components.md b/docs/hardware/components.md index 774617b..b242f54 100644 --- a/docs/hardware/components.md +++ b/docs/hardware/components.md @@ -52,7 +52,7 @@ Constants cited below match [`include/pins.h`](../../include/pins.h). | Interface | I2C | | Address | `0x40` (`PCA9685_ADDRESS` in firmware). A0–A5 pads can change this | | PWM | 12-bit, firmware `setPWMFreq(50)` | -| Important pins | As drawn: **5V** (servo-rail in), **V+** (to servo 5V), **VCC** (3V3 logic), **GND**, **SDA**, **SCL**, **PWM**, **OE** (GP5) | +| Important pins | As drawn: **5V** (servo-rail in), **V+** (to servo 5V), **VCC** (3V3 logic), **GND**, **SDA**, **SCL**, **PWM**. **OE** (GP5) is pending, not implemented | | Channels used | 0–4 (five servos). 5–15 unused | | Limits | **V+** and **VCC** must stay separate. Do not jumper servo power onto logic VCC on this robot | | Firmware note | Detection at `0x40` is a **hard fail** in the bring-up test | diff --git a/docs/hardware/interfaces.md b/docs/hardware/interfaces.md index 77ca118..ef30784 100644 --- a/docs/hardware/interfaces.md +++ b/docs/hardware/interfaces.md @@ -63,7 +63,7 @@ ESP32 GPIO is not wired to servo SIG lines. | --- | --- | --- | | OE | GPIO5 / GP5 | **Active LOW** — outputs enabled. Firmware drives **HIGH** during PCA9685 init, then **LOW** after neutral PWM is written | -Wired on main-control-board (`PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h)). Blocks invalid PWM during boot and flash resets. +Not wired (`PCA9685_OE_WIRED = false` in [`include/pins.h`](../../include/pins.h)). Firmware keeps OE helpers behind that flag. Blocks invalid PWM during boot and flash resets when the net exists. ## USB diff --git a/docs/hardware/pinout.md b/docs/hardware/pinout.md index 27f197a..5e228e9 100644 --- a/docs/hardware/pinout.md +++ b/docs/hardware/pinout.md @@ -11,7 +11,7 @@ Source of truth: [`include/pins.h`](../../include/pins.h). This file must match | I2S BCLK | **GPIO2** (diagram **GP2**) | `I2S_BCLK` | MAX98357A BCLK | | I2S LRCLK / WS | **GPIO3** (diagram **GP3**) | `I2S_LRC` | MAX98357A **LRC** | | I2S DATA OUT | **GPIO4** (diagram **GP4**) | `I2S_DIN` | MAX98357A DIN | -| PCA9685 OE | **GPIO5** (diagram **GP5**) | `PCA9685_OE_PIN` | PCA9685 **OE** (`PCA9685_OE_WIRED`) | +| PCA9685 OE | **GPIO5** (diagram **GP5**) | `PCA9685_OE_PIN` | reserved for PCA9685 **OE**; net pending (`PCA9685_OE_WIRED`) | | Built-in WS2812 RGB | **GPIO10** | `RGB_LED_PIN` | onboard LED only | Logic level: **3.3 V**. @@ -59,7 +59,7 @@ Power pads (not GPIO): **5V**, **GND**, **3V3**. | `OLED_WIDTH` / `OLED_HEIGHT` | 128 / 32 | Display | | `SERVO_MIN_US` / `SERVO_MAX_US` | 800 / 2200 | Electrical PWM span | | `SERVO_BOOT_SPEED_DEG_S` | 35 | Boot centering / sleep-pose rate (deg/s) | -| `PCA9685_OE_WIRED` | `true` | GP5 → PCA9685 OE on main-control-board | +| `PCA9685_OE_WIRED` | `false` | pending GP5 → PCA9685 OE (not on schematic/PCB yet) | ## Pin allocation rules diff --git a/docs/hardware/servos.md b/docs/hardware/servos.md index abc985d..6db83d5 100644 --- a/docs/hardware/servos.md +++ b/docs/hardware/servos.md @@ -47,12 +47,12 @@ Verified in [`include/pins.h`](../../include/pins.h) and [`include/servos.h`](.. On every boot (and after each flash reset): -1. **OE** — `PCA9685_OE_WIRED` is true on main-control-board: GP5 disables PCA9685 outputs before I2C init. +1. **OE** — `PCA9685_OE_WIRED` is false until a tested GP5→OE board exists; firmware skips the OE pin. 2. **Early init** — PCA9685 is probed and configured immediately after `Wire.begin`, before OLED, settings, or Wi-Fi. -3. **Neutral park** — all channels receive mid-pulse PWM while OE is still disabled (if wired), then outputs enable. +3. **Neutral park** — all channels receive mid-pulse PWM (OE enable is skipped while unwired). 4. **Smooth boot moves** — `centerAllServos()` and sleep-inertia pose use `servoMoveAllSmoothTo()` at `SERVO_BOOT_SPEED_DEG_S` (35°/s), not instant snaps. -GP5 → PCA9685 **OE** is wired on main-control-board (`PCA9685_OE_WIRED = true` in [`include/pins.h`](../../include/pins.h)). OE is **active LOW** on the Adafruit breakout. +GP5 → PCA9685 **OE** is planned, not implemented (`PCA9685_OE_WIRED = false` in [`include/pins.h`](../../include/pins.h)). OE is **active LOW** on the Adafruit breakout when that net exists. ## Motion modes diff --git a/docs/hardware/testing.md b/docs/hardware/testing.md index 55d1290..f0c6711 100644 --- a/docs/hardware/testing.md +++ b/docs/hardware/testing.md @@ -19,7 +19,7 @@ Build/flash: project root README (`pio run`, `pio run -t upload`, serial 115200) | --- | --- | | Built-in WS2812 | Green ready (GPIO10) | | I2C init | `Wire.begin` on GPIO0/GPIO1 | -| PCA9685 | Probe `0x40` early; park neutral; OE on GP5 (`PCA9685_OE_WIRED`) | +| PCA9685 | Probe `0x40` early; park neutral; OE skipped (`PCA9685_OE_WIRED` is false until GP5→OE is implemented) | | OLED | Probe `0x3C`, init (optional) | | Wi-Fi | STA connect from saved NVS credentials, or setup AP `TinyEngineer-XXXX` when unset/failed; mDNS `{hostname}.local` after STA connect | | MAX98357A / I2S | `I2S.begin` 44.1 kHz 16-bit stereo | diff --git a/docs/hardware/wiring.md b/docs/hardware/wiring.md index bb65981..b80c1e0 100644 --- a/docs/hardware/wiring.md +++ b/docs/hardware/wiring.md @@ -49,7 +49,6 @@ On Adafruit PCA9685, header/terminal **V+** is normally the same servo rail as t | ESP32-C3-Zero | GP2 | MAX98357A | BCLK | I2S bit clock | | ESP32-C3-Zero | GP3 | MAX98357A | LRC | I2S word select | | ESP32-C3-Zero | GP4 | MAX98357A | DIN | I2S data | -| ESP32-C3-Zero | GP5 | PCA9685 | OE | Output enable (see [interfaces.md](interfaces.md)) | | PCA9685 | PWM | Servo | SIG | Servo PWM | | PCA9685 | V+ | Servo | 5V | Servo power | | PCA9685 | GND (servo side) | Servo | GND | Servo ground | @@ -125,11 +124,11 @@ Firmware drives **channels 0–4** (`SERVO_CHANNELS`). The drawing does not numb ESP32-C3-Zero, unused in the PNG: -**GP6, GP7, GP8, GP9, GP10, GP20, GP21** +**GP5, GP6, GP7, GP8, GP9, GP10, GP20, GP21** -GP5 = PCA9685 OE on main-control-board (`PCA9685_OE_WIRED`). GP9 = BOOT, GP10 = onboard WS2812. GP18/GP19 = native USB — wire from 5993 D−/D+ even if the base PNG omits them. See [pinout.md](pinout.md). +GP5 is reserved for PCA9685 OE (`PCA9685_OE_PIN`) but that net is **pending**: schematic and PCB do not implement or validate GP5→OE yet (`PCA9685_OE_WIRED = false`). GP9 = BOOT, GP10 = onboard WS2812. GP18/GP19 = native USB — wire from 5993 D−/D+ even if the base PNG omits them. See [pinout.md](pinout.md). -PCA9685 **OE** is GP5 on this board. MAX98357A **GAIN** / **SD** not wired (breakout defaults). **SPK+** / **SPK-** not drawn. +PCA9685 **OE** is not wired on this board. MAX98357A **GAIN** / **SD** not wired (breakout defaults). **SPK+** / **SPK-** not drawn. ## Not on the drawing diff --git a/include/pins.h b/include/pins.h index bf61ab3..47cdd72 100644 --- a/include/pins.h +++ b/include/pins.h @@ -18,8 +18,8 @@ constexpr int I2S_DIN = 4; // GP4 // Built-in WS2812 RGB constexpr int RGB_LED_PIN = 10; -// PCA9685 output enable (active LOW). Wired GP5 → OE on main-control-board. -constexpr bool PCA9685_OE_WIRED = true; +// PCA9685 output enable (active LOW). GP5 → OE pending; schematic/PCB do not implement that net. +constexpr bool PCA9685_OE_WIRED = false; constexpr int PCA9685_OE_PIN = 5; // ===================================================== From 7fec90bf2a0b2aebd6f8bb579e8da6c9a905b370 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Sun, 13 Sep 2026 22:56:09 +0200 Subject: [PATCH 08/13] feat(pcb): add design rules and update PCB layout - Introduced design rules for track widths and via dimensions specific to Power5V and Power3V3 net classes in `main-control-board.kicad_dru`. - Updated the PCB layout in `main-control-board.kicad_pcb` to include detailed layer configurations and footprint placements for the Tiny Engineer modules. - Updated the schematic UUID in `main-control-board.kicad_sch` for consistency across project files. - Revised the README to reflect the current status and assumptions regarding the design and connections. --- hardware/boards/main-control-board/README.md | 10 +- .../ESP32_C3_Zero_Dev_Board.kicad_mod | 110 +- .../main-control-board.kicad_dru | 14 + .../main-control-board.kicad_pcb | 4666 ++++++++++++++++- .../main-control-board.kicad_pro | 122 +- .../main-control-board.kicad_sch | 2 +- 6 files changed, 4853 insertions(+), 71 deletions(-) create mode 100644 hardware/boards/main-control-board/main-control-board.kicad_dru diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md index 97923c6..1f276f2 100644 --- a/hardware/boards/main-control-board/README.md +++ b/hardware/boards/main-control-board/README.md @@ -3,18 +3,20 @@ Carrier PCB that reduces jumper wiring: existing modules plug in on pin headers. - **Purpose:** interconnect / carrier with header sockets for the existing modules -- **Status:** draft +- **Status:** draft (schematic + routed layout, rev v1 / 2026-09-12) - **KiCad:** 10 - **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, and Adafruit 5993 USB-C breakout; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); PCA9685 OE ← GP5; +5V, 3V3, and GND. Servo 3-pin plugs and speaker terminals stay on the modules this revision. -- **Assumptions:** nets follow [`docs/hardware/`](../../../docs/hardware/README.md) (keep servo **+5V** off logic **3V3**; common GND). Custom module symbols live in [`libraries/symbols/tiny_engineer_modules.kicad_sym`](libraries/symbols/tiny_engineer_modules.kicad_sym). ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. -- **ERC / DRC:** schematic ERC after this pass; PCB is still an empty stub (DRC N/A until layout). +- **Assumptions:** nets follow `[docs/hardware/](../../../docs/hardware/README.md)` (keep servo **+5V** off logic **3V3**; common GND). Custom module symbols live in `[libraries/symbols/tiny_engineer_modules.kicad_sym](libraries/symbols/tiny_engineer_modules.kicad_sym)`; footprints in `[libraries/footprints/tiny_engineer_modules.pretty](libraries/footprints/tiny_engineer_modules.pretty)`. ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. Two-layer FR4 ~1.6 mm; ESP32-C3-Zero on the back, other modules on the front. OLED uses a 1×04 pin header; USB-C breakout uses a 1×04 pin socket. Netclasses: `GND`, `Power5V` (`+5V`, 1.5 mm), `Power3V3` (`+3.3V`, 0.4 mm), `USB` (`/USB_`*), `Default` (I2C/I2S and other signals). +- **ERC / DRC:** schematic ERC after the symbol pass. PCB is routed with custom power DRC in `[main-control-board.kicad_dru](main-control-board.kicad_dru)`; DRC not signed off for fab. - **Built:** not manufactured - **Tested:** not tested + + ## Direction First revision is sockets only. Design in KiCad 10, then fabricate, so the robot is wired on a board instead of Dupont harnesses. Later revisions may integrate some or all of those functions onto this PCB and drop the plug-in modules. -Contribution rules: [`docs/pcb.md`](../../../docs/pcb.md). +Contribution rules: `[docs/pcb.md](../../../docs/pcb.md)`. \ No newline at end of file diff --git a/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod index a0c9f4e..a4fa8ea 100644 --- a/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod +++ b/hardware/boards/main-control-board/libraries/footprints/tiny_engineer_modules.pretty/ESP32_C3_Zero_Dev_Board.kicad_mod @@ -7,7 +7,7 @@ (at 0 13 0) (unlocked yes) (layer "F.SilkS") - (uuid "a95cfa09-ddb9-466c-b267-8c72eaf2dabe") + (uuid "67158926-b292-4f65-a109-848aae5bc929") (effects (font (size 1 1) @@ -19,7 +19,7 @@ (at -0.1 15.24 0) (unlocked yes) (layer "F.Fab") - (uuid "0f3b6c68-ceda-4f93-9dec-87ba1c36146b") + (uuid "e8ffb888-95ec-4a1e-a86b-ac20f9a6e75a") (effects (font (size 1 1) @@ -32,7 +32,7 @@ (unlocked yes) (layer "F.Fab") (hide yes) - (uuid "6957737b-2974-483e-85d5-147bbca40e79") + (uuid "236e36c4-46ba-414a-bcd1-37c543e02b91") (effects (font (size 1 1) @@ -45,7 +45,7 @@ (unlocked yes) (layer "F.Fab") (hide yes) - (uuid "abe504cb-9d73-40b2-b0db-b930bf56d13f") + (uuid "eb66ab46-0f2a-49fc-932e-26d732d45109") (effects (font (size 1 1) @@ -63,7 +63,7 @@ (type default) ) (layer "F.SilkS") - (uuid "84e6b9fc-a114-4f1e-a61d-839b923e533c") + (uuid "34e3000d-1e83-44f1-a4ab-4110ee711d2b") ) (fp_line (start -9.5 11.9) @@ -73,7 +73,7 @@ (type default) ) (layer "F.SilkS") - (uuid "1bd345a8-686d-422f-ac0a-3f5a6a77bad5") + (uuid "69445495-519d-4210-8a7f-8ca153b131cf") ) (fp_line (start -4.6 -13.4) @@ -83,7 +83,7 @@ (type dot) ) (layer "F.SilkS") - (uuid "d1cc8e22-abda-4da3-b578-aca76aea90a3") + (uuid "0d7a8112-068f-4923-90f0-804b54f44a32") ) (fp_line (start -4.6 -13.4) @@ -93,7 +93,7 @@ (type dot) ) (layer "F.SilkS") - (uuid "8116e6b2-6e96-4675-a2a2-1b96244020df") + (uuid "935fb6a1-35f4-45ff-a214-d837c81b406d") ) (fp_line (start 4.4 -13.4) @@ -103,7 +103,7 @@ (type dot) ) (layer "F.SilkS") - (uuid "d4a824f1-1236-4bdc-aca3-365b4731e405") + (uuid "a8a10797-554b-41a0-b8cc-943af2dfaa7c") ) (fp_line (start 9.3 -11.9) @@ -113,7 +113,7 @@ (type default) ) (layer "F.SilkS") - (uuid "60a447f4-40da-4141-b7ee-092e4e21acbb") + (uuid "43c44519-55e3-4dff-84e8-3dcd84b8f3c9") ) (fp_line (start 9.3 11.9) @@ -123,7 +123,7 @@ (type default) ) (layer "F.SilkS") - (uuid "951d0944-c9f9-4335-9d5d-e3b3007a0785") + (uuid "8573d8b3-8362-4362-8e39-1a7f6fc6fc7b") ) (fp_rect (start -6.6 6.5) @@ -134,7 +134,7 @@ ) (fill no) (layer "F.SilkS") - (uuid "3b59eb34-e2d8-4bd6-82e5-54751ac754ee") + (uuid "c1b73b2c-bb16-4b55-a767-c1b5659b1508") ) (fp_poly (pts @@ -146,13 +146,13 @@ ) (fill no) (layer "F.CrtYd") - (uuid "119b2070-6014-4041-9e0a-0554078a90d0") + (uuid "776f451f-172d-4858-b6fa-5ea06bbee9dd") ) (fp_text user "5V" (at -6.35 -10.16 0) (unlocked yes) (layer "F.SilkS") - (uuid "61489827-f509-4d13-990c-695810878311") + (uuid "4dedc7ad-45d4-4678-9095-9b2e78d493b8") (effects (font (size 0.8 0.8) @@ -165,7 +165,7 @@ (at -6.35 -7.62 0) (unlocked yes) (layer "F.SilkS") - (uuid "c081275b-49b5-42ed-b156-c8a1c883019a") + (uuid "2787ab48-337b-48a9-b174-eeda0e9656db") (effects (font (size 0.8 0.8) @@ -178,7 +178,7 @@ (at -6.35 -5.08 0) (unlocked yes) (layer "F.SilkS") - (uuid "fbd7f3cd-45a9-4dc5-9f72-95b505968f22") + (uuid "92887545-e8f2-4703-b5e5-a832f460ef59") (effects (font (size 0.8 0.8) @@ -191,7 +191,7 @@ (at -6.35 -2.54 0) (unlocked yes) (layer "F.SilkS") - (uuid "bce3a55f-7668-4ccf-8e75-c57e1e0f52ad") + (uuid "4c314571-97fd-47fa-9a3f-fbdfebbf3aed") (effects (font (size 0.8 0.8) @@ -204,7 +204,7 @@ (at -6.35 0 0) (unlocked yes) (layer "F.SilkS") - (uuid "eda1c0ab-cd9a-4474-893e-f9bf19ce7f9a") + (uuid "2b8a6e5e-b227-4a36-bfee-2249e44f7e46") (effects (font (size 0.8 0.8) @@ -217,7 +217,7 @@ (at -6.35 2.54 0) (unlocked yes) (layer "F.SilkS") - (uuid "7f11e3a6-bf22-4c6a-8f52-e37304c25690") + (uuid "7916cb9a-5f38-455f-8367-960b80e5642b") (effects (font (size 0.8 0.8) @@ -230,7 +230,7 @@ (at -6.35 5.08 0) (unlocked yes) (layer "F.SilkS") - (uuid "1d29365e-6b15-408c-a7fc-09bec74a0541") + (uuid "d32fa86f-d366-48b1-aaf7-42ef14070b11") (effects (font (size 0.8 0.8) @@ -243,7 +243,7 @@ (at -6.35 7.62 0) (unlocked yes) (layer "F.SilkS") - (uuid "f1df89b4-6e0b-4161-a173-e125c6b1f4fd") + (uuid "2fc31eee-e787-47ef-86c5-ba1df77626b5") (effects (font (size 0.8 0.8) @@ -256,7 +256,7 @@ (at -6.35 10.16 0) (unlocked yes) (layer "F.SilkS") - (uuid "870f9f0c-95c7-4fcb-bdf6-05443daab73c") + (uuid "3721c142-a315-4f15-ab98-842eb1982f53") (effects (font (size 0.8 0.8) @@ -269,7 +269,7 @@ (at -1.3 -12.2 0) (unlocked yes) (layer "F.SilkS") - (uuid "143c54ff-0885-453f-bbbb-cc4e490c8fe8") + (uuid "149524f8-b5f8-407e-a771-0ca41ea7e2f3") (effects (font (size 0.8 0.8) @@ -282,7 +282,7 @@ (at 0 9.1 0) (unlocked yes) (layer "F.SilkS") - (uuid "ab1ef04d-f505-4d28-b24a-bae6ad41c17c") + (uuid "25bbe8e7-ecd7-4d35-afa5-7825822e5153") (effects (font (size 0.8 0.8) @@ -294,7 +294,7 @@ (at 6.35 -10.16 0) (unlocked yes) (layer "F.SilkS") - (uuid "c9d0889f-891b-4d87-9e02-fc622e8072ae") + (uuid "04d53a20-2399-42a9-ac38-dde86f9103ad") (effects (font (size 0.8 0.8) @@ -307,7 +307,7 @@ (at 6.35 -7.62 0) (unlocked yes) (layer "F.SilkS") - (uuid "13f832c7-0875-45cd-854d-44035c81681c") + (uuid "ab72257f-c46d-490a-a17c-2569b87913ad") (effects (font (size 0.8 0.8) @@ -320,7 +320,7 @@ (at 6.35 -5.08 0) (unlocked yes) (layer "F.SilkS") - (uuid "d6c283f1-3429-43b6-9c51-b6bef48d94f2") + (uuid "dee8783b-5acf-4d6f-a957-ed17c1b181c1") (effects (font (size 0.8 0.8) @@ -333,7 +333,7 @@ (at 6.35 -2.54 0) (unlocked yes) (layer "F.SilkS") - (uuid "0813f3a5-a5cf-4d2e-a471-0251a44bd386") + (uuid "624d1427-3118-4b0f-9b89-932f22924a76") (effects (font (size 0.8 0.8) @@ -346,7 +346,7 @@ (at 6.35 0 0) (unlocked yes) (layer "F.SilkS") - (uuid "cc1a992c-87f1-47b3-b514-6dd34db8afad") + (uuid "2233f98f-cb54-40b5-80fc-7b97020d1cf1") (effects (font (size 0.8 0.8) @@ -359,7 +359,7 @@ (at 6.35 2.54 0) (unlocked yes) (layer "F.SilkS") - (uuid "8305b386-4289-4efb-9ec8-972772729b59") + (uuid "800a1516-f745-4688-abe1-981233b7a747") (effects (font (size 0.8 0.8) @@ -372,7 +372,7 @@ (at 6.35 5.08 0) (unlocked yes) (layer "F.SilkS") - (uuid "45c74698-ea31-4c8e-bb23-414d6a0f2760") + (uuid "dc54778f-788f-41e5-a782-c7743f461760") (effects (font (size 0.8 0.8) @@ -385,7 +385,7 @@ (at 6.35 7.62 0) (unlocked yes) (layer "F.SilkS") - (uuid "8ad47244-9deb-48f3-a1cf-7da3443b479b") + (uuid "1ede5b0a-b3da-4231-bf6c-eadc5b57a8e5") (effects (font (size 0.8 0.8) @@ -398,7 +398,7 @@ (at 6.35 10.16 0) (unlocked yes) (layer "F.SilkS") - (uuid "88207855-d7df-4dc3-afec-63635f60ec6e") + (uuid "d169d8e5-233a-4829-a98d-f3a415ff49eb") (effects (font (size 0.8 0.8) @@ -411,7 +411,7 @@ (at -0.1 17.78 0) (unlocked yes) (layer "F.Fab") - (uuid "37b52785-0181-4240-95fe-f9098cad7577") + (uuid "79c36b70-660b-43f0-b905-103773c51193") (effects (font (size 1 1) @@ -426,7 +426,7 @@ (layers "*.Cu" "*.Mask") (remove_unused_layers no) (roundrect_rratio 0.15) - (uuid "6f29c076-3c73-4adf-97d2-279f25b7f65f") + (uuid "d1bb63a2-29cd-4970-9056-d8fb47ccbff1") ) (pad "2" thru_hole circle (at -7.62 -7.62) @@ -434,7 +434,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "a9310cf3-8605-4a2d-80ee-6d8937f20f43") + (uuid "b56c7c16-6fd5-4d88-b20b-25d30423c421") ) (pad "3" thru_hole circle (at -7.62 -5.08) @@ -442,7 +442,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "752ec01f-6030-4206-9096-d681374b35a4") + (uuid "636e829c-46bc-4dca-b361-a1ee91c589fb") ) (pad "4" thru_hole circle (at -7.62 -2.54) @@ -450,7 +450,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "a5906c90-4a6e-47f4-9711-3b5b90b6561f") + (uuid "26b8db50-5d0d-4027-9f92-22632c380724") ) (pad "5" thru_hole circle (at -7.62 0) @@ -458,7 +458,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "3b346b86-1a5c-4c85-8dfd-c411e17683ca") + (uuid "882374e3-caff-4217-a4df-64d3ccf956c3") ) (pad "6" thru_hole circle (at -7.62 2.54) @@ -466,7 +466,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "81efee36-9116-41f4-85e7-f544f285c22b") + (uuid "8a71f3b2-6957-4fbb-a00f-545025ab6e12") ) (pad "7" thru_hole circle (at -7.62 5.08) @@ -474,7 +474,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "353ed785-cece-4f85-822a-f26fe068750a") + (uuid "ee51e7e7-4d37-466d-8d96-161b42df1896") ) (pad "8" thru_hole circle (at -7.62 7.62) @@ -482,7 +482,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "e6f15655-8075-4df8-bc22-901ef1afcd05") + (uuid "d5831d60-80d8-4a8c-818a-827e37160a17") ) (pad "9" thru_hole circle (at -7.62 10.16) @@ -490,7 +490,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "9fcaa4d3-595b-4656-90ab-bfb55a709d52") + (uuid "76cacfd2-77b3-469f-a48b-dd77ea38b55c") ) (pad "10" thru_hole circle (at 7.62 10.16) @@ -498,7 +498,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "993209ad-644d-4a61-a039-7dd8de580dc9") + (uuid "35af9cda-97f6-4d81-b704-42712098b756") ) (pad "11" thru_hole circle (at 7.62 7.62) @@ -506,7 +506,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "943c5432-45b0-4a15-94f6-8e49feb41fe8") + (uuid "e5d0acf7-5cc3-40cc-95ab-c18859836ab1") ) (pad "12" thru_hole circle (at 7.62 5.08) @@ -514,7 +514,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "08c0b910-01a5-4201-ab9e-647a695bdef7") + (uuid "78aed1d1-b180-4d7e-8ea2-bfeab948cd70") ) (pad "13" thru_hole circle (at 7.62 2.54) @@ -522,7 +522,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "97c34e51-01ac-4f08-bb62-3839c62ea2d0") + (uuid "37f89ad5-d51f-4ff1-8de5-e714c1608a67") ) (pad "14" thru_hole circle (at 7.62 0) @@ -530,7 +530,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "6c424ae0-a3b2-4c5f-a607-6f8bc4aee769") + (uuid "bbe9133d-b11c-4951-b00e-3f298b38f4e0") ) (pad "15" thru_hole circle (at 7.62 -2.54) @@ -538,7 +538,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "c522fbb7-cf60-4ddc-ba37-5fe2795cfa3c") + (uuid "5eed437a-ec57-4650-8aa9-ae59d3402b98") ) (pad "16" thru_hole circle (at 7.62 -5.08) @@ -546,7 +546,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "1a3ce6af-c811-42aa-b27d-b7283b2e021d") + (uuid "48ee4904-1fee-4766-851b-4bd967e910df") ) (pad "17" thru_hole circle (at 7.62 -7.62) @@ -554,7 +554,7 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "c81dd2b7-0498-49d6-8cc3-de248b51e0ad") + (uuid "dd16cc99-5358-40c5-bf07-dd968253b967") ) (pad "18" thru_hole circle (at 7.62 -10.16) @@ -562,11 +562,11 @@ (drill 1) (layers "*.Cu" "*.Mask") (remove_unused_layers no) - (uuid "d2089de2-ce0c-43f2-86f0-5bfa3d62d5f2") + (uuid "86152640-255f-47a3-928c-33fc8834df32") ) (zone (layers "F.Cu" "B.Cu") - (uuid "0c8d1ec9-a649-4a8b-9391-140bc1075aee") + (uuid "b7b5d213-60cd-486f-bfc9-24388b5e256c") (hatch edge 0.5) (connect_pads (clearance 0) @@ -595,8 +595,8 @@ ) ) (zone - (layer "F.Fab") - (uuid "61ab9364-dcd8-45f6-b9fc-bff55e725ba0") + (layer "F.CrtYd") + (uuid "e2eaa247-ccd4-4b12-87ce-c50b2db9ddc0") (hatch edge 0.5) (connect_pads (clearance 0) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_dru b/hardware/boards/main-control-board/main-control-board.kicad_dru new file mode 100644 index 0000000..02bad03 --- /dev/null +++ b/hardware/boards/main-control-board/main-control-board.kicad_dru @@ -0,0 +1,14 @@ +(version 1) + +(rule "5V min width" + (constraint track_width (min 1.5mm)) + (condition "A.NetClass == 'Power5V'")) + +(rule "5V via min" + (constraint via_diameter (min 0.8mm)) + (constraint hole_size (min 0.4mm)) + (condition "A.NetClass == 'Power5V' && A.Type == 'Via'")) + +(rule "3V3 min width" + (constraint track_width (min 0.4mm)) + (condition "A.NetClass == 'Power3V3'")) \ No newline at end of file diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pcb b/hardware/boards/main-control-board/main-control-board.kicad_pcb index ccd82d6..40bf7cb 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_pcb +++ b/hardware/boards/main-control-board/main-control-board.kicad_pcb @@ -1,2 +1,4664 @@ -(kicad_pcb (version 20260206) (generator "pcbnew") (generator_version "10.0") -) \ No newline at end of file +(kicad_pcb + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (general + (thickness 1.6002) + (legacy_teardrops no) + ) + (paper "A4") + (layers + (0 "F.Cu" signal "Front") + (2 "B.Cu" signal "Back") + (13 "F.Paste" user) + (15 "B.Paste" user) + (5 "F.SilkS" user "F.Silkscreen") + (7 "B.SilkS" user "B.Silkscreen") + (1 "F.Mask" user) + (3 "B.Mask" user) + (25 "Edge.Cuts" user) + (27 "Margin" user) + (31 "F.CrtYd" user "F.Courtyard") + (29 "B.CrtYd" user "B.Courtyard") + (35 "F.Fab" user) + (33 "B.Fab" user) + ) + (setup + (stackup + (layer "F.SilkS" + (type "Top Silk Screen") + ) + (layer "F.Paste" + (type "Top Solder Paste") + ) + (layer "F.Mask" + (type "Top Solder Mask") + (thickness 0.01) + ) + (layer "F.Cu" + (type "copper") + (thickness 0.035) + ) + (layer "dielectric 1" + (type "core") + (thickness 1.5102) + (material "FR4") + (epsilon_r 4.5) + (loss_tangent 0.02) + ) + (layer "B.Cu" + (type "copper") + (thickness 0.035) + ) + (layer "B.Mask" + (type "Bottom Solder Mask") + (thickness 0.01) + ) + (layer "B.Paste" + (type "Bottom Solder Paste") + ) + (layer "B.SilkS" + (type "Bottom Silk Screen") + ) + (copper_finish "None") + (dielectric_constraints no) + ) + (pad_to_mask_clearance 0) + (solder_mask_min_width 0.1) + (allow_soldermask_bridges_in_footprints no) + (tenting + (front yes) + (back yes) + ) + (covering + (front no) + (back no) + ) + (plugging + (front no) + (back no) + ) + (capping no) + (filling no) + (zone_defaults) + (pcbplotparams + (layerselection 0x00000000_00000000_55555555_5755f5ff) + (plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000) + (disableapertmacros no) + (usegerberextensions no) + (usegerberattributes yes) + (usegerberadvancedattributes yes) + (creategerberjobfile yes) + (dashed_line_dash_ratio 12) + (dashed_line_gap_ratio 3) + (svgprecision 4) + (plotframeref no) + (mode 1) + (useauxorigin no) + (pdf_front_fp_property_popups yes) + (pdf_back_fp_property_popups yes) + (pdf_metadata yes) + (pdf_single_document no) + (dxfpolygonmode yes) + (dxfimperialunits yes) + (dxfusepcbnewfont yes) + (psnegative no) + (psa4output no) + (plot_black_and_white yes) + (sketchpadsonfab no) + (plotpadnumbers no) + (hidednponfab no) + (sketchdnponfab yes) + (crossoutdnponfab yes) + (subtractmaskfromsilk no) + (outputformat 1) + (mirror no) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + (footprint "TinyEngineerModules:Adafruit_PCA9685_Module" + (layer "F.Cu") + (uuid "1cf25c3a-e938-4c8a-8003-b87c04f6c5f0") + (at 183.98 44.58) + (property "Reference" "PCA1" + (at 0 -0.5 0) + (unlocked yes) + (layer "F.SilkS") + (hide yes) + (uuid "3ca4b5c6-f6a6-4bea-9a5f-eb83217e4d6d") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (property "Value" "PCA9685" + (at 0 1 0) + (unlocked yes) + (layer "F.Fab") + (uuid "d06dfd76-4b19-4d51-a115-d256f5358948") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "ce092e3e-5e72-4d2f-8954-c4ae09d7718f") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "8e1feeed-52e2-42c8-99b1-c91be116080d") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (path "/6391d22f-15dc-41a6-9172-b77d075a6c9e") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -31.85 -11.4) + (end 30.65 -11.4) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "370a4ab7-a624-4f02-beb5-77d11692b852") + ) + (fp_line + (start -31.85 14) + (end -31.85 -11.4) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "e225579f-ed5a-44e3-b57d-00c1e2d3c56a") + ) + (fp_line + (start 30.65 -11.4) + (end 30.65 14) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "d346277c-9ba1-44e5-a1da-09add34397d2") + ) + (fp_line + (start 30.65 14) + (end -31.85 14) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "f86f8eb1-2dd8-42f0-b54c-e54252897d25") + ) + (fp_poly + (pts + (xy 30.65 -11.4) (xy -31.85 -11.4) (xy -31.85 14) (xy 30.65 14) + ) + (stroke + (width 0.1) + (type solid) + ) + (fill no) + (layer "F.CrtYd") + (uuid "ca36fb18-eb7e-4632-9663-901b41c8c079") + ) + (fp_text user "GND" + (at -29.21 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "fd7f0ad6-5eea-473d-ad59-619a25ab474b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "OE" + (at -29.21 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "a30f90ad-7805-469b-afa7-da16c38ee14e") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "SCL" + (at -29.21 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "c876105f-f684-4329-92ab-d3d3943e1e6b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "SDA" + (at -29.21 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "142d42e5-df6d-4fae-aa90-d1636c33cd74") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "VCC" + (at -29.21 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "a622a7ae-249f-4a7d-9a9f-9e3d84f50494") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "V+" + (at -29.21 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "3bbd39c0-119e-4bad-8937-eddeae81b014") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (fp_text user "GND" + (at 26.67 -5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "bcc4971e-8258-451d-993b-9041b7627d19") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "OE" + (at 26.67 -2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "44e7e3a7-d538-4a24-8b25-03755c73f697") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "SCL" + (at 26.67 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "257b5320-42ae-42dd-8484-5f1d5a51d62e") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "SDA" + (at 26.67 2.54 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "aa7762f7-d524-4e35-8922-5943ea06d71d") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "VCC" + (at 26.67 5.08 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "be7e31f1-3085-47a0-8d37-bac15dc3a164") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "V+" + (at 26.67 7.62 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "143932d4-e96a-420e-a9d6-a2556100dc24") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "${REFERENCE}" + (at 0 2.5 0) + (unlocked yes) + (layer "F.Fab") + (uuid "1e07c56d-5bb6-468b-87ce-2d2b1eaa2d7f") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole roundrect + (at -30.48 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.1470588235) + (net "GND") + (pinfunction "GND_1") + (pintype "power_in") + (uuid "194a8b9a-e519-42ea-9ca9-b1b6b6dd1b49") + ) + (pad "1" thru_hole roundrect + (at 27.94 -5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.1470588235) + (net "GND") + (pinfunction "GND_1") + (pintype "power_in") + (uuid "66cc0945-ae65-40bc-9102-6f2cdffe2b72") + ) + (pad "2" thru_hole circle + (at -30.48 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(ESP1-GP5)") + (pinfunction "OE_2") + (pintype "input") + (uuid "58fbb6d6-bf53-4164-aefd-cc9a4ea1b03b") + ) + (pad "2" thru_hole circle + (at 27.94 -2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(ESP1-GP5)") + (pinfunction "OE_2") + (pintype "input") + (uuid "ea8df7ae-c2f6-4fbc-89e8-c6becb133f73") + ) + (pad "3" thru_hole circle + (at -30.48 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "SCL_3") + (pintype "bidirectional") + (uuid "f013e112-91e4-41d6-a005-dc259e65c7d1") + ) + (pad "3" thru_hole circle + (at 27.94 0) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "SCL_3") + (pintype "bidirectional") + (uuid "77ffa5dc-6840-49a0-9683-bce37c275924") + ) + (pad "4" thru_hole circle + (at -30.48 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "SDA_4") + (pintype "bidirectional") + (uuid "d9357d41-f83c-4a58-a51b-deaecf13841f") + ) + (pad "4" thru_hole circle + (at 27.94 2.54) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "SDA_4") + (pintype "bidirectional") + (uuid "113abf7c-f964-4083-9573-c07c5f5cf1e4") + ) + (pad "5" thru_hole circle + (at -30.48 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "VCC_5") + (pintype "power_in") + (uuid "9f70253a-6514-4415-bc89-4ea58d2b9c22") + ) + (pad "5" thru_hole circle + (at 27.94 5.08) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "VCC_5") + (pintype "power_in") + (uuid "1dab7595-3f44-473d-aa1d-e45a7a9c143b") + ) + (pad "6" thru_hole circle + (at -30.48 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "V+_6") + (pintype "power_in") + (uuid "8cde51f2-1104-44d4-88fa-79ff5f412232") + ) + (pad "6" thru_hole circle + (at 27.94 7.62) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "V+_6") + (pintype "power_in") + (uuid "25c61f07-51ab-49b1-a067-dc7dc5be28ae") + ) + (zone + (layer "F.Fab") + (uuid "3ca67a1d-5fa4-4f46-8fdd-de4ae5106067") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy 152.13 33.18) (xy 214.63 33.18) (xy 214.63 58.58) (xy 152.13 58.58) + ) + ) + ) + (embedded_fonts no) + ) + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "35cd7b00-f4f4-4329-95b0-28af0837033c") + (at 235.88 57.5 90) + (descr "Through hole straight socket strip, 1x04, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x04 2.54mm single row") + (property "Reference" "USB1" + (at 0 -2.77 90) + (layer "F.SilkS") + (hide yes) + (uuid "e18d6987-f9df-45bf-9b8a-6a4c30339e13") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "USB" + (at -3.15 -0.09 180) + (layer "F.Fab") + (uuid "47854d5d-c43e-420b-8638-8b1141b06711") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 90) + (layer "F.Fab") + (hide yes) + (uuid "d09227fb-ccf9-49e2-9bf8-640e1c7d919a") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 90) + (layer "F.Fab") + (hide yes) + (uuid "3b1d56ef-2438-4d11-b9c9-0ae6e9c8b3b7") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 90) + (layer "F.SilkS") + (hide yes) + (uuid "6e2540e2-94bc-451e-aea8-1d8ea239cf60") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "Connector*:*_1x??_*") + (path "/892d2d19-23bd-4928-9797-558c2f8336b9") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.33 -1.33) + (end 1.33 0) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "246b6301-cb04-42c6-9185-130a9bb1d3a3") + ) + (fp_line + (start 0 -1.33) + (end 1.33 -1.33) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "5500b17b-0b2a-4daa-99bd-b9ae481f9030") + ) + (fp_line + (start 1.33 1.27) + (end 1.33 8.95) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d905690f-46ed-4ff5-88c2-c4cba2678e9a") + ) + (fp_line + (start -1.33 1.27) + (end 1.33 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "670c5834-9299-4500-9d72-21f815ccf7ab") + ) + (fp_line + (start -1.33 1.27) + (end -1.33 8.95) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0f3626e6-0d7b-452f-9124-93a5f1a4797c") + ) + (fp_line + (start -1.33 8.95) + (end 1.33 8.95) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d27b304a-fc91-4c44-ae83-cbd46c1eff47") + ) + (fp_line + (start 1.77 -1.77) + (end 1.77 9.39) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "f0025064-b615-4a2a-ba5c-2d8f0557883b") + ) + (fp_line + (start -1.77 -1.77) + (end 1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "6b46e851-b704-4379-88ce-8cead7ca0ae8") + ) + (fp_line + (start 1.77 9.39) + (end -1.77 9.39) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "17cc1e35-cc47-4490-b465-b2820ecb9785") + ) + (fp_line + (start -1.77 9.39) + (end -1.77 -1.77) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "deb6aef6-2de0-4b97-af37-217feec807be") + ) + (fp_line + (start 0.635 -1.27) + (end 1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "5c9d3fcd-edde-4f2f-8205-6399e3eb8a4d") + ) + (fp_line + (start -1.27 -1.27) + (end 0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "96aa6760-979f-4462-aceb-3299bf625c9c") + ) + (fp_line + (start 1.27 -0.635) + (end 1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "4d0c7582-7e3f-4e03-b688-c2552d7dabc0") + ) + (fp_line + (start 1.27 8.89) + (end -1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "f335540c-811c-4c87-8015-b27ff1eb891c") + ) + (fp_line + (start -1.27 8.89) + (end -1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "24ac51d2-4fdf-4c17-b519-11b411f9b2dc") + ) + (fp_text user "${REFERENCE}" + (at 0 3.81 180) + (layer "F.Fab") + (uuid "2fc5d409-8e3e-413b-bc2d-7e4d1e009075") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D+") + (pinfunction "Pin_1_1") + (pintype "passive") + (uuid "2c58756a-4ea8-4443-9d0b-39853d0cab56") + ) + (pad "2" thru_hole circle + (at 0 2.54 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D-") + (pinfunction "Pin_2_2") + (pintype "passive") + (uuid "5cef7094-b417-4355-9c49-a224194ec056") + ) + (pad "3" thru_hole circle + (at 0 5.08 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Pin_3_3") + (pintype "passive") + (uuid "2e450e1c-8984-4ed0-bac8-8dd295857b77") + ) + (pad "4" thru_hole circle + (at 0 7.62 90) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "Pin_4_4") + (pintype "passive") + (uuid "f2b7169b-2584-447c-80a7-97d8bca9c7fe") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x04_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "TinyEngineerModules:MAX98357_Module" + (layer "F.Cu") + (uuid "a365f461-1c77-44ad-b967-8291f3f14810") + (at 239.5 42 180) + (property "Reference" "MAX1" + (at 2.5 0 180) + (unlocked yes) + (layer "F.SilkS") + (hide yes) + (uuid "895041d2-7a94-41ce-a94f-28df26ea3fc6") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (property "Value" "MAX98357" + (at 0 10 180) + (unlocked yes) + (layer "F.Fab") + (uuid "6eb6a287-206e-4932-b015-aaea8f026895") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "698df864-dd15-4c15-9d4b-2111ff2c8156") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 180) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "3f1b229a-11c9-4aa1-808c-78d553e8cda9") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (path "/36531e2b-a362-4cd5-9344-6709539e35aa") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 9.35 8.75) + (end -9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "8fae1b8b-8e3a-4e35-bec4-6c22532d9cf7") + ) + (fp_line + (start 9.35 -8.95) + (end 9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "85c50e62-0cab-41ba-b5cb-17dc0a59ed7a") + ) + (fp_line + (start -9.35 8.75) + (end -9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "c65a6e0c-9a1d-4e7e-9e5b-c90f9f5ec56d") + ) + (fp_line + (start -9.35 -8.95) + (end 9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.SilkS") + (uuid "6d51b3d5-f47e-4855-8838-fe511fba674e") + ) + (fp_rect + (start -9.35 -8.95) + (end 9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (fill no) + (layer "F.SilkS") + (uuid "f2ad4059-e0cc-43ec-a0d0-8e88de911db9") + ) + (fp_line + (start 9.35 8.75) + (end -9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "c4b93df9-81e3-4156-ba87-59467fd9e5d5") + ) + (fp_line + (start 9.35 -8.95) + (end 9.35 8.75) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "81ffaab9-82e9-463b-8f9b-350e7dad8a8e") + ) + (fp_line + (start -9.35 8.75) + (end -9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "baae025c-c47f-4e4e-979b-c3eeb54b72af") + ) + (fp_line + (start -9.35 -8.95) + (end 9.35 -8.95) + (stroke + (width 0.1) + (type default) + ) + (layer "F.CrtYd") + (uuid "70af2232-da69-4b7c-8450-02638b28e353") + ) + (fp_text user "Vin" + (at -6.35 7.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "74fdcb99-6e0c-42ec-b422-d90ac9743009") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GND" + (at -6.35 5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "30ef265c-f1ed-4f85-9fb2-6dc0d76fbecd") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "SD" + (at -6.35 2.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "8d0420dd-ca79-4c71-8a2b-adebcca24a28") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "GAIN" + (at -6.35 0 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "1ab7141d-d815-42c2-b6c1-e2d9dcd4606c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "DIN" + (at -6.35 -2.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "eb6d8c64-bf0f-45b9-b55b-d6b0c52995fe") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "BCLK" + (at -6.35 -5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "b1dcd3fc-efdc-45b7-ba13-01dd1918221a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "LRC" + (at -6.35 -7.5 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "03d5bd16-91e6-4f5c-b298-3cca1f872060") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right) + ) + ) + (fp_text user "${REFERENCE}" + (at 0 12.5 180) + (unlocked yes) + (layer "F.Fab") + (uuid "7c1d2696-2016-4b4c-abc4-97b9f58f4eaf") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole roundrect + (at -7.5 -7.5 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.1470588235) + (net "/I2S_LRC") + (pinfunction "LRC_1") + (pintype "bidirectional") + (uuid "bac83806-9801-452c-89c3-e9b10d0270ab") + ) + (pad "2" thru_hole circle + (at -7.5 -5 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_BCLK") + (pinfunction "BCLK_2") + (pintype "bidirectional") + (uuid "35be6f7c-471d-4e9d-91c4-2d8d01e03899") + ) + (pad "3" thru_hole circle + (at -7.5 -2.5 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_DIN") + (pinfunction "DIN_3") + (pintype "bidirectional") + (uuid "d2579328-5e00-47e9-b665-e53ce7372787") + ) + (pad "4" thru_hole circle + (at -7.5 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(MAX1-GAIN-Pad4)") + (pinfunction "GAIN_4") + (pintype "bidirectional+no_connect") + (uuid "28876361-9b99-427f-8540-0b63c65ad81f") + ) + (pad "5" thru_hole circle + (at -7.5 2.5 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(MAX1-SD-Pad5)") + (pinfunction "SD_5") + (pintype "bidirectional+no_connect") + (uuid "df7d059b-b445-44f6-862d-12cedfc3c96e") + ) + (pad "6" thru_hole circle + (at -7.5 5 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "GND_6") + (pintype "power_in") + (uuid "1e3f4c46-abd9-4e91-837b-82d9989c5b3c") + ) + (pad "7" thru_hole circle + (at -7.5 7.5 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+5V") + (pinfunction "Vin_7") + (pintype "power_in") + (uuid "03a32a78-a4a7-4e30-b0f7-c2721cf50605") + ) + (zone + (layer "F.Fab") + (uuid "9fee1b0c-3011-4fe2-b828-b29ecf94443a") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy 248.85 50.95) (xy 230.15 50.95) (xy 230.15 33.25) (xy 248.85 33.25) + ) + ) + ) + (embedded_fonts no) + ) + (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" + (layer "F.Cu") + (uuid "a7b6f5ea-fd39-4a06-951c-e2fa493a7f6e") + (at 221.4 48.08 180) + (descr "Through hole straight pin header, 1x04, 2.54mm pitch, single row") + (tags "Through hole pin header THT 1x04 2.54mm single row") + (property "Reference" "OLED1" + (at 0 -2.38 0) + (layer "F.SilkS") + (hide yes) + (uuid "198ecb0f-8a10-49da-8626-bd1840207c07") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "OLED" + (at 2.65 7.46 90) + (layer "F.Fab") + (uuid "b2e280ed-ad2c-4ebf-837e-7bb0a4880ed8") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "afb98e53-6a8e-4bbc-ad63-185b8009f90e") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "57ce26e0-76c4-442a-831d-e95f70897913") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "connector/pin_header_socket" + (at 0 0 0) + (layer "F.SilkS") + (hide yes) + (uuid "7e4776da-7665-4c95-a8bb-31f76dc57a95") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (path "/4df93a1e-042d-4c49-a44e-af77e7aabde4") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (units + (unit + (name "A") + (pins "1" "2" "3" "4") + ) + ) + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 1.38 1.27) + (end 1.38 9) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "cea827aa-595c-44c7-8f83-282f526b954a") + ) + (fp_line + (start -1.38 9) + (end 1.38 9) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "ebeecd40-fe3a-4fc0-9548-74a22478a5ac") + ) + (fp_line + (start -1.38 1.27) + (end 1.38 1.27) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "b6ee2047-b33a-453b-aefd-2f7961974e2e") + ) + (fp_line + (start -1.38 1.27) + (end -1.38 9) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "084dae95-5ec1-4f19-980a-5719e53238c0") + ) + (fp_line + (start -1.38 0) + (end -1.38 -1.38) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0512901a-7ccc-4017-8e42-3202329b3bb9") + ) + (fp_line + (start -1.38 -1.38) + (end 0 -1.38) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "4ef9d0b4-1093-490c-a21f-5c3e6f9cd4b9") + ) + (fp_rect + (start -1.77 -1.77) + (end 1.77 9.39) + (stroke + (width 0.05) + (type solid) + ) + (fill no) + (layer "F.CrtYd") + (uuid "1e31b69d-853d-4cba-a117-6dca6add557a") + ) + (fp_line + (start 1.27 8.89) + (end -1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "3e070bc3-2015-4bbb-aad4-e21fe1552826") + ) + (fp_line + (start 1.27 -1.27) + (end 1.27 8.89) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "e050a31b-53ff-43b3-9cbf-7f0489bad166") + ) + (fp_line + (start -0.635 -1.27) + (end 1.27 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "af9210c0-81b9-48d3-8251-1dd63c3e316f") + ) + (fp_line + (start -1.27 8.89) + (end -1.27 -0.635) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "1a671d4e-d0e0-4eee-a067-c8da70cb39e4") + ) + (fp_line + (start -1.27 -0.635) + (end -0.635 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "6d7313f9-9247-4020-a475-9db537fe4571") + ) + (fp_text user "${REFERENCE}" + (at 0 3.81 90) + (layer "F.Fab") + (uuid "8c9edbd5-6937-4f74-95c9-ffff2c96b9c1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" thru_hole rect + (at 0 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "VCC_1") + (pintype "power_in") + (uuid "09a85a4d-a3ef-4d62-8591-cea61af45d82") + ) + (pad "2" thru_hole circle + (at 0 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "GND_2") + (pintype "power_in") + (uuid "6b9c7537-42ae-4207-b08c-21873553617b") + ) + (pad "3" thru_hole circle + (at 0 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "SDA_3") + (pintype "bidirectional") + (uuid "8fee2071-ff59-4508-bc5e-1d1da720d2a9") + ) + (pad "4" thru_hole circle + (at 0 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "SCL_4") + (pintype "bidirectional") + (uuid "0741a587-a504-4963-81ae-17c8e1fa43ae") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x04_P2.54mm_Vertical.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "TinyEngineerModules:ESP32_C3_Zero_Dev_Board" + (layer "B.Cu") + (uuid "f36ce200-0897-4526-8479-7c85c92e6620") + (at 135.98 46.12 180) + (property "Reference" "ESP1" + (at 0 -13 0) + (unlocked yes) + (layer "B.SilkS") + (hide yes) + (uuid "df145312-111b-45a1-9f94-6c7d65f51f8e") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + (justify mirror) + ) + ) + (property "Value" "ESP32-C3-ZERO" + (at -0.1 -15.24 0) + (unlocked yes) + (layer "B.Fab") + (uuid "c01bbf37-d065-4425-99f2-64628fd99f25") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "B.Fab") + (hide yes) + (uuid "a95bd327-7588-4114-841f-0f4d086d1734") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (property "Description" "" + (at 0 0 0) + (unlocked yes) + (layer "B.Fab") + (hide yes) + (uuid "4a36a5e4-1dd0-4592-8174-3908031b0b09") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (path "/830dbdd4-4215-415a-a843-81c8ec435273") + (sheetname "/") + (sheetfile "main-control-board.kicad_sch") + (attr through_hole) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start 9.3 11.9) + (end 9.3 -11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "B.SilkS") + (uuid "328fc9e0-0e8f-41bc-91d9-bac146d7d967") + ) + (fp_line + (start 9.3 -11.9) + (end -9.5 -11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "B.SilkS") + (uuid "291cbb94-7e70-40cf-b489-e732a350afd3") + ) + (fp_line + (start 4.4 13.4) + (end 4.4 11.9) + (stroke + (width 0.1) + (type dot) + ) + (layer "B.SilkS") + (uuid "5f96e149-b3bf-40d8-959b-508008f78270") + ) + (fp_line + (start -4.6 13.4) + (end 4.4 13.4) + (stroke + (width 0.1) + (type dot) + ) + (layer "B.SilkS") + (uuid "5582b0b6-8376-4943-95e9-c0c733dc8fc1") + ) + (fp_line + (start -4.6 13.4) + (end -4.6 11.9) + (stroke + (width 0.1) + (type dot) + ) + (layer "B.SilkS") + (uuid "78f5f3e8-a333-43a5-9e55-a6883bb831b9") + ) + (fp_line + (start -9.5 11.9) + (end 9.3 11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "B.SilkS") + (uuid "0f1dab84-c45d-42ba-b747-64fcd5cd9030") + ) + (fp_line + (start -9.5 -11.9) + (end -9.5 11.9) + (stroke + (width 0.1) + (type default) + ) + (layer "B.SilkS") + (uuid "49e3ed13-6899-4544-90d8-9479be90419a") + ) + (fp_rect + (start -6.6 -6.5) + (end 6.6 -11.4) + (stroke + (width 0.1) + (type dot) + ) + (fill no) + (layer "B.SilkS") + (uuid "b8ccf47c-5c2a-4671-918b-8a6feab76e00") + ) + (fp_poly + (pts + (xy -9.5 11.9) (xy -9.5 -11.9) (xy 9.3 -11.9) (xy 9.3 11.9) + ) + (stroke + (width 0.1) + (type solid) + ) + (fill no) + (layer "B.CrtYd") + (uuid "b8ba6241-540e-47d7-a775-75eb656a8e75") + ) + (fp_text user "TX" + (at 6.35 10.16 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "94df90b8-7617-460b-930f-77d1fe559649") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "RX" + (at 6.35 7.62 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "672c5690-1b29-41b9-a5bc-d95e17236b6f") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "USB DP" + (at 6.35 5.08 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "9c7ad69f-12a6-4349-847d-e772b90e3325") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "USB DM" + (at 6.35 2.54 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "5cd6f378-951c-4de0-92ba-5308f5243973") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "GP10" + (at 6.35 0 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "1b0e6929-99b4-4328-b531-cedfd7ca607c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "GP9" + (at 6.35 -2.54 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "9981159a-2a5f-4e2c-b7c1-ad35f5c7db9c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "GP8" + (at 6.35 -5.08 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "2374589c-ad49-4b72-b9e5-cc7dd761155c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "GP7" + (at 6.35 -7.62 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "5d47f9e9-f61c-4cbc-a0d5-222b83fa37d4") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "GP6" + (at 6.35 -10.16 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "91a08118-2f46-4cce-96fc-c09c35a1f359") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify right mirror) + ) + ) + (fp_text user "ANT" + (at 0 -9.1 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "e2e6f67e-4492-4997-8f08-17c1765c4e97") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify mirror) + ) + ) + (fp_text user "USB" + (at -1.3 12.2 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "3666efe1-5eec-4534-a209-fc71ef4ea196") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left bottom mirror) + ) + ) + (fp_text user "5V" + (at -6.35 10.16 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "b48f3cd7-3d70-46e4-9bf8-54e829617829") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GND" + (at -6.35 7.62 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "6f273698-94bd-489b-a44e-36a6643b8a44") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "3V3" + (at -6.35 5.08 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "62b1ec49-0579-4a38-b9a4-bd56a3abed6d") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GP0" + (at -6.35 2.54 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "0dbb2a23-9740-4dc5-b20a-ffbade2c8a3d") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GP1" + (at -6.35 0 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "a9dac915-a0fe-4226-9e5c-870303965ca1") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GP2" + (at -6.35 -2.54 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "e082c57b-2e8a-4249-b427-baf584f5c055") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GP3" + (at -6.35 -5.08 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "e19a65d3-46f0-4e45-b0d4-a7c4de36f45b") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GP4" + (at -6.35 -7.62 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "6ad14453-cfd7-4e4a-a592-47cf1f30df65") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "GP5" + (at -6.35 -10.16 0) + (unlocked yes) + (layer "B.SilkS") + (uuid "4ed83151-3518-4961-ad14-3c27e6d4b03a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left mirror) + ) + ) + (fp_text user "${REFERENCE}" + (at -0.1 -17.78 0) + (unlocked yes) + (layer "B.Fab") + (uuid "64561b89-482f-409b-8b9a-ca8660826a5d") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + (justify mirror) + ) + ) + (pad "1" thru_hole roundrect + (at -7.62 10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (roundrect_rratio 0.15) + (net "+5V") + (pinfunction "5V_1") + (pintype "power_in") + (uuid "a17ea410-0bd7-4dab-966b-fd174fbfd7ed") + ) + (pad "2" thru_hole circle + (at -7.62 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "GND") + (pinfunction "GND_2") + (pintype "power_in") + (uuid "92aad9c5-fa0d-4214-8ea6-b9b9e970a511") + ) + (pad "3" thru_hole circle + (at -7.62 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "+3.3V") + (pinfunction "3V3_3") + (pintype "power_out") + (uuid "141a71d0-cfb1-4d1a-b393-c1859ea37988") + ) + (pad "4" thru_hole circle + (at -7.62 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SDA") + (pinfunction "GP0_4") + (pintype "bidirectional") + (uuid "3f2b544d-afed-42c1-8c62-31402182adbf") + ) + (pad "5" thru_hole circle + (at -7.62 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2C_SCL") + (pinfunction "GP1_5") + (pintype "bidirectional") + (uuid "5220d2f2-6503-4c7c-bd21-6d7246d28dbe") + ) + (pad "6" thru_hole circle + (at -7.62 -2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_BCLK") + (pinfunction "GP2_6") + (pintype "bidirectional") + (uuid "605e0f8e-d42a-4207-8ff0-555ab94a3297") + ) + (pad "7" thru_hole circle + (at -7.62 -5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_LRC") + (pinfunction "GP3_7") + (pintype "bidirectional") + (uuid "d894526c-92ff-4179-9bb5-84d6ed8ac186") + ) + (pad "8" thru_hole circle + (at -7.62 -7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/I2S_DIN") + (pinfunction "GP4_8") + (pintype "bidirectional") + (uuid "24efb83c-fa17-4e3d-8732-1b7b9be84945") + ) + (pad "9" thru_hole circle + (at -7.62 -10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "Net-(ESP1-GP5)") + (pinfunction "GP5_9") + (pintype "bidirectional") + (uuid "07faf1c2-0cae-4587-8fd1-0dfdb9c7aa3c") + ) + (pad "10" thru_hole circle + (at 7.62 -10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-GP6-Pad10)") + (pinfunction "GP6_10") + (pintype "bidirectional+no_connect") + (uuid "724c2088-1c89-4e62-a0b4-c7d895fcb121") + ) + (pad "11" thru_hole circle + (at 7.62 -7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-GP7-Pad11)") + (pinfunction "GP7_11") + (pintype "bidirectional+no_connect") + (uuid "63cdc181-3e1d-4dbd-8635-7447c7fee78e") + ) + (pad "12" thru_hole circle + (at 7.62 -5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-GP8-Pad12)") + (pinfunction "GP8_12") + (pintype "bidirectional+no_connect") + (uuid "fecf710b-37d1-491e-8e46-5a8ea0221441") + ) + (pad "13" thru_hole circle + (at 7.62 -2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-GP9-Pad13)") + (pinfunction "GP9_13") + (pintype "bidirectional+no_connect") + (uuid "936c7b47-0e6f-4b6b-b73b-09e2e3e9e5c0") + ) + (pad "14" thru_hole circle + (at 7.62 0 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-GP10-Pad14)") + (pinfunction "GP10_14") + (pintype "bidirectional+no_connect") + (uuid "40f8679f-d984-496d-b636-d3720ceea9c5") + ) + (pad "15" thru_hole circle + (at 7.62 2.54 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D-") + (pinfunction "USB_DM_15") + (pintype "bidirectional") + (uuid "05855b5b-b590-413d-86ad-75a5e50814b5") + ) + (pad "16" thru_hole circle + (at 7.62 5.08 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "/USB_D+") + (pinfunction "USB_DP_16") + (pintype "bidirectional") + (uuid "061f5830-cc1b-4560-846f-2eb8955b9a69") + ) + (pad "17" thru_hole circle + (at 7.62 7.62 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-RX-Pad17)") + (pinfunction "RX_17") + (pintype "bidirectional+no_connect") + (uuid "9cc82926-0959-4792-8194-9d2070dc683d") + ) + (pad "18" thru_hole circle + (at 7.62 10.16 180) + (size 1.7 1.7) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net "unconnected-(ESP1-TX-Pad18)") + (pinfunction "TX_18") + (pintype "bidirectional+no_connect") + (uuid "92f8f283-8d3f-4dc3-9af5-2a7f9b7cb757") + ) + (zone + (layers "F.Cu" "B.Cu") + (uuid "c7f9b3f6-2443-48a3-92cf-4aa43b757406") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks not_allowed) + (vias not_allowed) + (pads not_allowed) + (copperpour not_allowed) + (footprints allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy 142.64 51.12) (xy 129.58 51.12) (xy 129.58 58.92) (xy 142.64 58.92) + ) + ) + ) + (zone + (layer "B.CrtYd") + (uuid "28c97b2f-e8d1-41d1-a71a-086cbc06a4c5") + (hatch edge 0.5) + (connect_pads + (clearance 0) + ) + (min_thickness 0.25) + (keepout + (tracks allowed) + (vias allowed) + (pads not_allowed) + (copperpour allowed) + (footprints not_allowed) + ) + (placement + (enabled no) + (sheetname "") + ) + (fill + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy 145.48 34.22) (xy 126.68 34.22) (xy 126.68 58.02) (xy 145.48 58.02) + ) + ) + ) + (embedded_fonts no) + ) + (gr_poly + (pts + (xy 179.607495 46.092044) (xy 179.702049 46.184993) (xy 179.743688 46.225412) (xy 179.782883 46.261379) + (xy 179.819246 46.29412) (xy 179.853598 46.323603) (xy 179.885935 46.35029) (xy 179.91746 46.374134) + (xy 179.947355 46.395556) (xy 179.977272 46.414939) (xy 180.00676 46.43233) (xy 180.036679 46.448484) + (xy 180.067393 46.463453) (xy 180.099303 46.477591) (xy 180.132448 46.490927) (xy 180.167601 46.504262) + (xy 180.275523 46.543451) (xy 181.364237 46.543052) (xy 182.287262 46.542645) (xy 182.386695 46.448078) + (xy 182.488135 46.351908) (xy 182.591585 46.254902) (xy 182.696654 46.156708) (xy 182.666741 45.993851) + (xy 182.637236 45.830992) (xy 181.074477 45.830992) (xy 179.346823 45.830992) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "a3e07924-64cf-4259-9231-0855b76b3901") + ) + (gr_poly + (pts + (xy 189.411253 45.837443) (xy 189.410452 45.839059) (xy 189.40924 45.841896) (xy 189.4064 45.852005) + (xy 189.402367 45.866956) (xy 189.397516 45.886342) (xy 189.392256 45.909798) (xy 189.386207 45.93606) + (xy 189.380133 45.964741) (xy 189.373667 45.995065) (xy 189.342952 46.1462) (xy 189.436719 46.233102) + (xy 189.537337 46.327256) (xy 189.647663 46.431521) (xy 189.765262 46.543451) (xy 190.636979 46.542243) + (xy 191.162751 46.540629) (xy 191.509897 46.536994) (xy 191.709943 46.530527) (xy 191.764903 46.52568) + (xy 191.795203 46.520011) (xy 191.832798 46.507492) (xy 191.86957 46.492941) (xy 191.906341 46.477191) + (xy 191.942711 46.459001) (xy 191.979075 46.439185) (xy 192.015878 46.41696) (xy 192.053052 46.392715) + (xy 192.090625 46.365644) (xy 192.129412 46.336131) (xy 192.169032 46.303415) (xy 192.210245 46.268251) + (xy 192.252676 46.229851) (xy 192.296734 46.187834) (xy 192.343209 46.142568) (xy 192.391303 46.094082) + (xy 192.442211 46.041532) (xy 192.634584 45.839461) (xy 190.915826 45.835429) (xy 189.810527 45.834214) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "31bb577f-334e-4c7f-afe7-8b637cde890d") + ) + (gr_poly + (pts + (xy 184.299432 44.262969) (xy 184.299432 44.417338) (xy 184.385106 44.457757) (xy 184.402896 44.466237) + (xy 184.42026 44.474725) (xy 184.436826 44.483623) (xy 184.452189 44.492508) (xy 184.46592 44.500588) + (xy 184.477645 44.507868) (xy 184.486541 44.514335) (xy 184.490166 44.517156) (xy 184.492994 44.519583) + (xy 184.494609 44.521602) (xy 184.495843 44.524834) (xy 184.497448 44.529293) (xy 184.498668 44.534531) + (xy 184.501486 44.549096) (xy 184.503915 44.569288) (xy 184.505924 44.595566) (xy 184.507558 44.628694) + (xy 184.50917 44.668708) (xy 184.510377 44.71679) (xy 184.512398 44.838451) (xy 184.514015 44.997659) + (xy 184.514416 45.199733) (xy 184.514825 45.448685) (xy 184.514825 46.355944) (xy 184.41136 46.396362) + (xy 184.307505 46.43717) (xy 184.303063 46.606103) (xy 184.29821 46.775444) (xy 184.846214 46.775444) + (xy 185.393804 46.775444) (xy 185.389362 46.607723) (xy 185.38451 46.440419) (xy 185.281063 46.397976) + (xy 185.177607 46.355541) (xy 185.177607 45.441404) (xy 185.177607 44.527266) (xy 185.284693 44.47918) + (xy 185.391778 44.43148) (xy 185.392187 44.269831) (xy 185.392593 44.108583) (xy 184.846214 44.108583) + (xy 184.299432 44.108583) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "39db4e56-5dfe-474a-bbaf-8206d75a5eac") + ) + (gr_poly + (pts + (xy 190.060287 43.847926) (xy 189.731741 43.854376) (xy 189.667467 43.85884) (xy 189.649682 43.864888) + (xy 189.650082 43.867312) (xy 189.651311 43.871365) (xy 189.652931 43.876607) (xy 189.65575 43.882281) + (xy 189.658982 43.889547) (xy 189.662624 43.897219) (xy 189.671912 43.915419) (xy 189.683223 43.936012) + (xy 189.696155 43.95864) (xy 189.710312 43.982489) (xy 189.725262 44.007558) (xy 189.801245 44.12919) + (xy 189.729701 44.205989) (xy 189.690912 44.246792) (xy 189.637963 44.302568) (xy 189.517538 44.427443) + (xy 189.3769 44.572132) (xy 191.522025 44.571303) (xy 193.364845 44.566057) (xy 193.762105 44.559184) + (xy 193.861535 44.554742) (xy 193.907181 44.549502) (xy 193.945988 44.537781) (xy 193.984379 44.524024) + (xy 194.022356 44.508674) (xy 194.060364 44.491296) (xy 194.098746 44.471493) (xy 194.137537 44.449272) + (xy 194.176741 44.424216) (xy 194.217152 44.396315) (xy 194.258372 44.366023) (xy 194.301219 44.332069) + (xy 194.345675 44.295298) (xy 194.391723 44.254478) (xy 194.440235 44.210423) (xy 194.490753 44.162739) + (xy 194.544095 44.110607) (xy 194.599872 44.054836) (xy 194.787784 43.864888) (xy 194.607135 43.853977) + (xy 194.342426 43.84994) (xy 193.754021 43.846311) (xy 191.955644 43.843469) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "996cc6c8-b7b2-4eee-8c7f-eef086a553bf") + ) + (gr_poly + (pts + (xy 178.007541 43.849133) (xy 177.212216 43.859242) (xy 177.213829 43.862064) (xy 177.217877 43.866907) + (xy 177.23202 43.883485) (xy 177.253844 43.907324) (xy 177.282127 43.937243) (xy 177.315678 43.972806) + (xy 177.354458 44.012806) (xy 177.396494 44.056046) (xy 177.441757 44.10171) (xy 177.522186 44.181741) + (xy 177.594514 44.250839) (xy 177.628053 44.281551) (xy 177.660396 44.309841) (xy 177.691115 44.336105) + (xy 177.721006 44.35995) (xy 177.749708 44.382172) (xy 177.777186 44.402388) (xy 177.804254 44.421377) + (xy 177.830938 44.438352) (xy 177.85721 44.453702) (xy 177.883471 44.468263) (xy 177.909347 44.481189) + (xy 177.935604 44.493322) (xy 177.967537 44.507868) (xy 177.982486 44.514335) (xy 177.997036 44.519985) + (xy 178.012401 44.525654) (xy 178.028553 44.530898) (xy 178.046335 44.53574) (xy 178.066137 44.539792) + (xy 178.088773 44.543827) (xy 178.11382 44.547462) (xy 178.142925 44.550708) (xy 178.176068 44.553926) + (xy 178.213645 44.55676) (xy 178.256494 44.559184) (xy 178.304984 44.561212) (xy 178.359541 44.563233) + (xy 178.420552 44.564848) (xy 178.488868 44.566057) (xy 178.649307 44.568479) (xy 178.844908 44.570099) + (xy 179.079291 44.570901) (xy 179.356523 44.571727) (xy 179.681446 44.571727) (xy 180.489293 44.572132) + (xy 182.634419 44.572132) (xy 182.419425 44.356312) (xy 182.204423 44.140111) (xy 182.27555 44.006345) + (xy 182.289688 43.979257) (xy 182.302614 43.953805) (xy 182.313526 43.929963) (xy 182.322825 43.908947) + (xy 182.330103 43.891173) (xy 182.334949 43.877013) (xy 182.336566 43.871365) (xy 182.336958 43.867312) + (xy 182.336958 43.864084) (xy 182.336958 43.862871) (xy 182.336566 43.862472) (xy 181.527097 43.851553) + (xy 179.765088 43.846713) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "374ccecc-dbf1-49fe-a999-6f9e8a768c4d") + ) + (gr_poly + (pts + (xy 185.885226 42.798405) (xy 185.710247 42.812146) (xy 185.536466 42.836384) (xy 185.364301 42.871544) + (xy 185.194567 42.91681) (xy 185.026859 42.972172) (xy 184.861965 43.038057) (xy 184.700716 43.114019) + (xy 184.543117 43.20011) (xy 184.389945 43.296284) (xy 184.242045 43.402161) (xy 184.144239 43.480571) + (xy 184.049669 43.565031) (xy 183.958743 43.655149) (xy 183.871447 43.750123) (xy 183.788198 43.849541) + (xy 183.708984 43.953398) (xy 183.634631 44.060899) (xy 183.564716 44.172027) (xy 183.499647 44.286398) + (xy 183.439842 44.402791) (xy 183.38568 44.522006) (xy 183.337191 44.642447) (xy 183.294347 44.764481) + (xy 183.257983 44.88775) (xy 183.227683 45.011413) (xy 183.204238 45.135469) (xy 183.198574 45.176292) + (xy 183.193332 45.221154) (xy 183.186452 45.32096) (xy 183.182421 45.430496) (xy 183.182015 45.543654) + (xy 183.185247 45.655579) (xy 183.191306 45.761081) (xy 183.200591 45.854426) (xy 183.206262 45.894834) + (xy 183.213114 45.93039) (xy 183.2305 46.008796) (xy 183.249096 46.085594) (xy 183.269295 46.159938) + (xy 183.290315 46.232279) (xy 183.312146 46.302198) (xy 183.335176 46.368871) (xy 183.359015 46.433135) + (xy 183.38367 46.493747) (xy 183.459652 46.657422) (xy 183.545318 46.814634) (xy 183.640685 46.96497) + (xy 183.744961 47.108425) (xy 183.857706 47.244226) (xy 183.97936 47.372729) (xy 184.108676 47.49317) + (xy 184.245678 47.60552) (xy 184.390346 47.70978) (xy 184.541509 47.804751) (xy 184.69951 47.891221) + (xy 184.86358 47.968014) (xy 185.03372 48.035506) (xy 185.209115 48.092895) (xy 185.389771 48.140577) + (xy 185.574852 48.177759) (xy 185.660539 48.189475) (xy 185.759542 48.198369) (xy 185.867034 48.204825) + (xy 185.978581 48.208477) (xy 186.089719 48.209281) (xy 186.195202 48.20686) (xy 186.29016 48.201194) + (xy 186.332198 48.197557) (xy 186.370179 48.192704) (xy 186.499088 48.171302) (xy 186.626802 48.145023) + (xy 186.75248 48.113917) (xy 186.87575 48.077929) (xy 186.995769 48.037524) (xy 187.111751 47.992667) + (xy 187.16833 47.968821) (xy 187.22371 47.943771) (xy 187.277859 47.917507) (xy 187.330794 47.890824) + (xy 187.476285 47.809592) (xy 187.615306 47.721905) (xy 187.747861 47.628553) (xy 187.873535 47.529137) + (xy 187.992361 47.424058) (xy 188.104697 47.313317) (xy 188.209381 47.197333) (xy 188.307175 47.07571) + (xy 188.397702 46.949619) (xy 188.48095 46.818259) (xy 188.556123 46.682069) (xy 188.624004 46.541436) + (xy 188.684234 46.396764) (xy 188.735945 46.247242) (xy 188.780004 46.094082) (xy 188.815975 45.936867) + (xy 188.823648 45.892411) (xy 188.830508 45.843922) (xy 188.836172 45.791775) (xy 188.84022 45.736414) + (xy 188.845884 45.619217) (xy 188.846685 45.535558) (xy 188.405385 45.535558) (xy 188.402534 45.641844) + (xy 188.399317 45.693178) (xy 188.395281 45.742474) (xy 188.389614 45.789352) (xy 188.383151 45.833002) + (xy 188.367383 45.916251) (xy 188.347997 46.001519) (xy 188.324557 46.087607) (xy 188.298276 46.173265) + (xy 188.269599 46.256948) (xy 188.238467 46.337365) (xy 188.205731 46.41293) (xy 188.18917 46.448078) + (xy 188.171789 46.482031) (xy 188.101064 46.617828) (xy 188.096221 46.53417) (xy 188.091362 46.450498) + (xy 187.988712 46.399592) (xy 187.885655 46.348273) (xy 187.791503 46.077499) (xy 187.582964 45.483042) + (xy 187.065686 45.483042) (xy 187.065686 45.484249) (xy 187.064881 45.485055) (xy 187.063259 45.485857) + (xy 187.06124 45.486662) (xy 187.055994 45.488682) (xy 187.048306 45.490301) (xy 187.039011 45.491511) + (xy 187.027297 45.493122) (xy 187.013564 45.494347) (xy 186.998204 45.495561) (xy 186.980417 45.496372) + (xy 186.961011 45.497177) (xy 186.91696 45.498788) (xy 186.865644 45.499591) (xy 186.80785 45.5) + (xy 186.728643 45.499591) (xy 186.667623 45.499194) (xy 186.622363 45.497581) (xy 186.605379 45.49677) + (xy 186.59124 45.495561) (xy 186.579925 45.493927) (xy 186.571449 45.491918) (xy 186.564973 45.489484) + (xy 186.560934 45.486662) (xy 186.558501 45.483439) (xy 186.557687 45.479785) (xy 186.557687 45.475752) + (xy 186.558903 45.470892) (xy 186.680955 45.075661) (xy 186.760174 44.829147) (xy 186.786431 44.754373) + (xy 186.805433 44.707903) (xy 186.812291 44.694567) (xy 186.817557 44.686896) (xy 186.821588 44.684865) + (xy 186.824015 44.688114) (xy 186.873323 44.841678) (xy 186.954963 45.108396) (xy 187.031737 45.363402) + (xy 187.065686 45.483042) (xy 187.582964 45.483042) (xy 187.47104 45.163361) (xy 187.313021 44.707497) + (xy 187.266144 44.56767) (xy 187.25401 44.529293) (xy 187.250774 44.515148) (xy 187.251593 44.514335) + (xy 187.253616 44.513111) (xy 187.259665 44.509473) (xy 187.268564 44.504635) (xy 187.280283 44.498566) + (xy 187.308963 44.483623) (xy 187.343316 44.466237) (xy 187.430213 44.422599) (xy 187.430213 44.265388) + (xy 187.430213 44.108583) (xy 186.784417 44.108583) (xy 186.13821 44.108583) (xy 186.13821 44.262157) + (xy 186.13821 44.416129) (xy 186.229142 44.460989) (xy 186.247725 44.470284) (xy 186.264704 44.479582) + (xy 186.280054 44.488865) (xy 186.293798 44.497758) (xy 186.299459 44.501796) (xy 186.304706 44.505847) + (xy 186.309569 44.509473) (xy 186.313191 44.512705) (xy 186.316425 44.515953) (xy 186.318457 44.518776) + (xy 186.320071 44.521199) (xy 186.320477 44.522006) (xy 186.320477 44.523219) (xy 186.31683 44.537373) + (xy 186.305931 44.571303) (xy 186.266322 44.689716) (xy 186.208128 44.860267) (xy 186.136598 45.065561) + (xy 186.013338 45.422804) (xy 185.886435 45.798654) (xy 185.779754 46.121956) (xy 185.716697 46.321988) + (xy 185.715893 46.32442) (xy 185.715079 46.326446) (xy 185.713876 46.328465) (xy 185.712664 46.330892) + (xy 185.711453 46.332909) (xy 185.70984 46.335329) (xy 185.708225 46.33776) (xy 185.706202 46.339783) + (xy 185.704176 46.342202) (xy 185.70215 46.344629) (xy 185.699733 46.346641) (xy 185.697311 46.349085) + (xy 185.691643 46.353925) (xy 185.685594 46.358362) (xy 185.679114 46.363228) (xy 185.671855 46.368062) + (xy 185.663767 46.372924) (xy 185.655276 46.377761) (xy 185.646379 46.382628) (xy 185.636693 46.38706) + (xy 185.626591 46.391903) (xy 185.616078 46.396764) (xy 185.52596 46.435967) (xy 185.525558 46.605696) + (xy 185.525155 46.775444) (xy 186.022222 46.775444) (xy 186.519303 46.775444) (xy 186.519303 46.611751) + (xy 186.519303 46.448484) (xy 186.415447 46.411312) (xy 186.394424 46.403624) (xy 186.374625 46.395962) + (xy 186.356035 46.38868) (xy 186.339461 46.381807) (xy 186.325326 46.37575) (xy 186.314001 46.370488) + (xy 186.305931 46.366447) (xy 186.303498 46.364835) (xy 186.301882 46.363624) (xy 186.301476 46.357553) + (xy 186.303893 46.343414) (xy 186.314813 46.295326) (xy 186.332198 46.228643) (xy 186.353621 46.153084) + (xy 186.375848 46.076694) (xy 186.396444 46.009606) (xy 186.413018 45.960709) (xy 186.419076 45.945757) + (xy 186.423127 45.938885) (xy 186.428775 45.937679) (xy 186.442915 45.93606) (xy 186.492639 45.933637) + (xy 186.653482 45.92918) (xy 186.849887 45.926763) (xy 186.944451 45.926763) (xy 187.027698 45.927573) + (xy 187.213194 45.93039) (xy 187.281083 46.14013) (xy 187.298876 46.195503) (xy 187.313021 46.241575) + (xy 187.323524 46.278765) (xy 187.330382 46.308252) (xy 187.332818 46.31998) (xy 187.334439 46.330483) + (xy 187.335255 46.33898) (xy 187.335255 46.346242) (xy 187.334439 46.352307) (xy 187.333226 46.356747) + (xy 187.331189 46.3604) (xy 187.328368 46.362822) (xy 187.325951 46.364028) (xy 187.322318 46.366052) + (xy 187.31221 46.370086) (xy 187.298876 46.374937) (xy 187.283109 46.380587) (xy 187.264933 46.386661) + (xy 187.245522 46.392715) (xy 187.224507 46.399189) (xy 187.203089 46.405665) (xy 187.09882 46.435556) + (xy 187.09882 46.605289) (xy 187.09882 46.775444) (xy 187.537705 46.775444) (xy 187.708253 46.776243) + (xy 187.848081 46.778667) (xy 187.942233 46.781892) (xy 187.967712 46.783911) (xy 187.974573 46.785121) + (xy 187.976991 46.786348) (xy 187.976586 46.789176) (xy 187.975377 46.792407) (xy 187.970538 46.801704) + (xy 187.963259 46.813824) (xy 187.953154 46.827973) (xy 187.940623 46.84454) (xy 187.926478 46.863127) + (xy 187.90992 46.883329) (xy 187.89213 46.904758) (xy 187.852129 46.95042) (xy 187.80808 46.998514) + (xy 187.785441 47.02276) (xy 187.7624 47.046602) (xy 187.739373 47.069638) (xy 187.716745 47.092266) + (xy 187.641967 47.161773) (xy 187.564391 47.228054) (xy 187.483973 47.290693) (xy 187.400705 47.350497) + (xy 187.315041 47.406677) (xy 187.227332 47.459215) (xy 187.13763 47.50852) (xy 187.045482 47.553775) + (xy 186.952137 47.595413) (xy 186.856747 47.633396) (xy 186.760174 47.667343) (xy 186.662363 47.697242) + (xy 186.563761 47.723116) (xy 186.463945 47.744945) (xy 186.363307 47.762317) (xy 186.262285 47.775242) + (xy 186.235199 47.77767) (xy 186.202075 47.7793) (xy 186.122456 47.780099) (xy 186.029504 47.778892) + (xy 185.929679 47.775242) (xy 185.828649 47.769599) (xy 185.733278 47.762714) (xy 185.649223 47.754224) + (xy 185.583345 47.744945) (xy 185.525558 47.733633) (xy 185.467358 47.720281) (xy 185.408364 47.70533) + (xy 185.348543 47.688363) (xy 185.288728 47.669765) (xy 185.228917 47.649158) (xy 185.169108 47.62733) + (xy 185.109305 47.603489) (xy 185.049897 47.578434) (xy 184.991296 47.552165) (xy 184.933113 47.524272) + (xy 184.876127 47.495185) (xy 184.819949 47.464873) (xy 184.764976 47.433764) (xy 184.711232 47.401026) + (xy 184.659506 47.367882) (xy 184.619895 47.340415) (xy 184.578279 47.308888) (xy 184.534628 47.274538) + (xy 184.489768 47.236953) (xy 184.444107 47.196535) (xy 184.398035 47.154493) (xy 184.351553 47.110865) + (xy 184.305888 47.065602) (xy 184.260627 47.019529) (xy 184.216577 46.973054) (xy 184.174146 46.926989) + (xy 184.133734 46.880917) (xy 184.09615 46.835648) (xy 184.060986 46.792004) (xy 184.029462 46.749963) + (xy 184.001183 46.709964) (xy 183.932886 46.60124) (xy 183.871043 46.490927) (xy 183.815686 46.378572) + (xy 183.767581 46.264605) (xy 183.725969 46.149436) (xy 183.691619 46.033039) (xy 183.663722 45.915447) + (xy 183.643124 45.797034) (xy 183.628966 45.678205) (xy 183.622107 45.558596) (xy 183.622107 45.438985) + (xy 183.629373 45.319346) (xy 183.643525 45.199733) (xy 183.66455 45.080121) (xy 183.692825 44.961291) + (xy 183.728395 44.842884) (xy 183.783358 44.693764) (xy 183.848406 44.549502) (xy 183.922779 44.410873) + (xy 184.006031 44.278315) (xy 184.097771 44.15182) (xy 184.197589 44.031799) (xy 184.305479 43.918249) + (xy 184.420659 43.812369) (xy 184.543117 43.713748) (xy 184.672027 43.623219) (xy 184.807422 43.540378) + (xy 184.948864 43.466024) (xy 185.095967 43.400952) (xy 185.247918 43.344375) (xy 185.404707 43.297502) + (xy 185.566363 43.260324) (xy 185.612839 43.251831) (xy 185.662967 43.244552) (xy 185.715489 43.238489) + (xy 185.77045 43.233223) (xy 185.885226 43.225969) (xy 186.004034 43.223145) (xy 186.122864 43.22436) + (xy 186.23844 43.230007) (xy 186.293798 43.234458) (xy 186.346746 43.239707) (xy 186.397247 43.246185) + (xy 186.444545 43.253844) (xy 186.540727 43.27325) (xy 186.635286 43.295885) (xy 186.728643 43.322549) + (xy 186.820383 43.352457) (xy 186.910903 43.385601) (xy 186.999412 43.422779) (xy 187.086698 43.463182) + (xy 187.171979 43.507229) (xy 187.25563 43.554518) (xy 187.337261 43.605045) (xy 187.417276 43.658785) + (xy 187.495285 43.716166) (xy 187.571253 43.776802) (xy 187.645217 43.840644) (xy 187.717148 43.907734) + (xy 187.786657 43.977645) (xy 187.838786 44.033823) (xy 187.888093 44.090805) (xy 187.935374 44.148996) + (xy 187.980641 44.208402) (xy 188.023464 44.269019) (xy 188.064291 44.331264) (xy 188.10268 44.394304) + (xy 188.139048 44.459371) (xy 188.1734 44.525654) (xy 188.205731 44.593131) (xy 188.236048 44.662635) + (xy 188.264326 44.733786) (xy 188.290612 44.806515) (xy 188.315265 44.881269) (xy 188.337896 44.957655) + (xy 188.358487 45.036055) (xy 188.367383 45.076465) (xy 188.375875 45.12012) (xy 188.383151 45.166589) + (xy 188.389211 45.215489) (xy 188.394466 45.266414) (xy 188.398911 45.318939) (xy 188.404158 45.426855) + (xy 188.405385 45.535558) (xy 188.846685 45.535558) (xy 188.847091 45.49677) (xy 188.843457 45.374313) + (xy 188.835779 45.256718) (xy 188.830508 45.201346) (xy 188.824054 45.148824) (xy 188.81637 45.099505) + (xy 188.80788 45.055049) (xy 188.775968 44.922099) (xy 188.73918 44.791977) (xy 188.697159 44.665078) + (xy 188.649879 44.541813) (xy 188.597737 44.421377) (xy 188.540348 44.304175) (xy 188.478124 44.191037) + (xy 188.41104 44.080701) (xy 188.339103 43.974412) (xy 188.262317 43.871762) (xy 188.180683 43.773148) + (xy 188.094608 43.677782) (xy 188.003669 43.586847) (xy 187.908293 43.49997) (xy 187.80808 43.416711) + (xy 187.703402 43.337917) (xy 187.669463 43.314477) (xy 187.629848 43.289001) (xy 187.538915 43.234059) + (xy 187.435457 43.176263) (xy 187.325951 43.118072) (xy 187.21481 43.063111) (xy 187.108526 43.013392) + (xy 187.011947 42.971769) (xy 186.969102 42.955192) (xy 186.930712 42.941455) (xy 186.758964 42.89014) + (xy 186.585988 42.850121) (xy 186.411403 42.821031) (xy 186.236003 42.802841) (xy 186.060619 42.795175) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "3dcbd66b-932b-4202-8100-17260a6280b0") + ) + (gr_poly + (pts + (xy 185.956753 41.875374) (xy 185.900981 41.876583) (xy 185.848046 41.877786) (xy 185.79996 41.880215) + (xy 185.58052 41.891934) (xy 185.500102 42.1429) (xy 185.457655 42.274244) (xy 185.425723 42.371643) + (xy 185.411993 42.40922) (xy 185.399469 42.44075) (xy 185.38775 42.466205) (xy 185.376434 42.486814) + (xy 185.365115 42.503384) (xy 185.352588 42.515907) (xy 185.339257 42.526012) (xy 185.324692 42.533701) + (xy 185.308135 42.540155) (xy 185.288728 42.545816) (xy 185.241851 42.557541) (xy 185.21478 42.56482) + (xy 185.18406 42.573299) (xy 185.116973 42.593103) (xy 185.049096 42.614518) (xy 185.017156 42.625031) + (xy 184.988455 42.634728) (xy 184.857533 42.680807) (xy 184.611017 42.474291) (xy 184.364888 42.267379) + (xy 184.220222 42.354253) (xy 184.141017 42.402342) (xy 184.058979 42.454492) (xy 183.977747 42.507029) + (xy 183.902161 42.557541) (xy 183.835887 42.602801) (xy 183.783358 42.640384) (xy 183.748602 42.667455) + (xy 183.739298 42.675946) (xy 183.736078 42.680807) (xy 183.738095 42.68888) (xy 183.742932 42.707469) + (xy 183.760725 42.770507) (xy 183.78699 42.861037) (xy 183.818924 42.968946) (xy 183.85125 43.076845) + (xy 183.877515 43.167774) (xy 183.895303 43.232018) (xy 183.900148 43.251018) (xy 183.901763 43.259511) + (xy 183.901763 43.260725) (xy 183.900952 43.262332) (xy 183.898528 43.265973) (xy 183.89448 43.271634) + (xy 183.889231 43.278501) (xy 183.882352 43.286579) (xy 183.874286 43.296284) (xy 183.854475 43.318106) + (xy 183.830634 43.343969) (xy 183.803167 43.37267) (xy 183.77325 43.403779) (xy 183.740511 43.436517) + (xy 183.579669 43.597771) (xy 183.281014 43.537148) (xy 183.062785 43.492289) (xy 182.956495 43.469261) + (xy 182.954894 43.468853) (xy 182.952869 43.468853) (xy 182.95086 43.468853) (xy 182.948819 43.469658) + (xy 182.946799 43.47046) (xy 182.944383 43.471677) (xy 182.941961 43.472884) (xy 182.939533 43.474503) + (xy 182.936697 43.476536) (xy 182.934274 43.478958) (xy 182.931043 43.48178) (xy 182.928221 43.484601) + (xy 182.924969 43.487855) (xy 182.921749 43.49148) (xy 182.918518 43.495519) (xy 182.914891 43.49997) + (xy 182.907612 43.509258) (xy 182.899515 43.520167) (xy 182.891024 43.532288) (xy 182.881746 43.546045) + (xy 182.872052 43.561394) (xy 182.861542 43.577954) (xy 182.850219 43.59574) (xy 182.838501 43.615547) + (xy 182.714432 43.824483) (xy 182.66634 43.907734) (xy 182.627555 43.976842) (xy 182.598046 44.032208) + (xy 182.577423 44.073825) (xy 182.566112 44.10212) (xy 182.56369 44.111017) (xy 182.563281 44.116671) + (xy 182.564095 44.118279) (xy 182.5649 44.120291) (xy 182.569348 44.125966) (xy 182.575414 44.134051) + (xy 182.583899 44.144143) (xy 182.606532 44.170017) (xy 182.636025 44.202756) (xy 182.671184 44.241141) + (xy 182.711602 44.283986) (xy 182.755659 44.330461) (xy 182.802942 44.378955) (xy 183.037329 44.619413) + (xy 182.987224 44.790343) (xy 182.931858 44.980697) (xy 182.931043 44.981901) (xy 182.929425 44.982718) + (xy 182.922962 44.984727) (xy 182.913659 44.98635) (xy 182.901539 44.98757) (xy 182.87083 44.990394) + (xy 182.835676 44.992012) (xy 182.799706 44.993218) (xy 182.767379 44.993621) (xy 182.741928 44.99282) + (xy 182.733427 44.992418) (xy 182.728169 44.991603) (xy 182.725745 44.990803) (xy 182.723331 44.990394) + (xy 182.721307 44.989592) (xy 182.719286 44.988386) (xy 182.717258 44.98757) (xy 182.715235 44.98635) + (xy 182.71362 44.985134) (xy 182.712003 44.983926) (xy 182.7104 44.982718) (xy 182.708782 44.981099) + (xy 182.707164 44.979885) (xy 182.70594 44.977868) (xy 182.704322 44.976251) (xy 182.703118 44.974212) + (xy 182.701895 44.97221) (xy 182.700687 44.970185) (xy 182.699882 44.967763) (xy 182.698676 44.965343) + (xy 182.69786 44.962903) (xy 182.696654 44.960084) (xy 182.695849 44.957251) (xy 182.695025 44.954032) + (xy 182.694619 44.950785) (xy 182.693815 44.947552) (xy 182.693011 44.943924) (xy 182.692606 44.940273) + (xy 182.691394 44.932207) (xy 182.690585 44.923712) (xy 182.689778 44.914012) (xy 182.684933 44.845703) + (xy 180.576592 44.841267) (xy 178.970991 44.84208) (xy 178.482385 44.845311) (xy 178.302974 44.850168) + (xy 178.303365 44.850975) (xy 178.304177 44.852588) (xy 178.308212 44.857838) (xy 178.314282 44.865115) + (xy 178.323155 44.874816) (xy 178.346611 44.899876) (xy 178.377715 44.932207) (xy 178.415303 44.970185) + (xy 178.458145 45.013835) (xy 178.505826 45.060715) (xy 178.557166 45.11082) (xy 178.648093 45.198923) + (xy 178.688905 45.236913) (xy 178.727304 45.271667) (xy 178.762868 45.302789) (xy 178.796815 45.331474) + (xy 178.829135 45.357352) (xy 178.860259 45.380783) (xy 178.890566 45.402204) (xy 178.920463 45.421597) + (xy 178.949975 45.439381) (xy 178.98027 45.455944) (xy 179.010993 45.471316) (xy 179.042527 45.486265) + (xy 179.075652 45.500409) (xy 179.110816 45.514548) (xy 179.222352 45.557792) (xy 181.070852 45.562231) + (xy 182.919725 45.566686) (xy 182.929425 45.705306) (xy 182.934682 45.765507) (xy 182.942366 45.823304) + (xy 182.952065 45.879482) (xy 182.957311 45.906552) (xy 182.96378 45.933637) (xy 182.970241 45.959906) + (xy 182.977521 45.985757) (xy 182.985204 46.011219) (xy 182.993675 46.036272) (xy 183.002567 46.060934) + (xy 183.011871 46.084778) (xy 183.021573 46.108629) (xy 183.032084 46.132064) (xy 183.040558 46.150231) + (xy 183.048243 46.168829) (xy 183.055118 46.186622) (xy 183.061165 46.203997) (xy 183.066438 46.219342) + (xy 183.070065 46.233102) (xy 183.071677 46.238751) (xy 183.07248 46.243998) (xy 183.073299 46.248858) + (xy 183.073701 46.25248) (xy 183.073299 46.254497) (xy 183.072083 46.257349) (xy 183.06845 46.264205) + (xy 183.062376 46.273499) (xy 183.054303 46.28522) (xy 183.0434 46.298554) (xy 183.030871 46.314325) + (xy 183.015907 46.331696) (xy 182.998941 46.350692) (xy 182.959729 46.393927) (xy 182.91326 46.443645) + (xy 182.859921 46.499011) (xy 182.800916 46.558824) (xy 182.528128 46.833226) (xy 182.640479 47.032052) + (xy 182.719286 47.169463) (xy 182.806176 47.317778) (xy 182.878904 47.440623) (xy 182.903575 47.480641) + (xy 182.916503 47.500441) (xy 182.918518 47.500441) (xy 182.923758 47.50003) (xy 182.943576 47.497208) + (xy 182.974291 47.492361) (xy 183.014702 47.485482) (xy 183.119369 47.467305) (xy 183.24626 47.443865) + (xy 183.57241 47.382427) (xy 183.737286 47.546499) (xy 183.77043 47.580051) (xy 183.801134 47.611571) + (xy 183.829027 47.641077) (xy 183.853671 47.667751) (xy 183.873877 47.690381) (xy 183.888834 47.708562) + (xy 183.89448 47.715836) (xy 183.898528 47.721499) (xy 183.900952 47.725936) (xy 183.901763 47.728366) + (xy 183.901353 47.732006) (xy 183.900148 47.738066) (xy 183.895303 47.758676) (xy 183.877113 47.827783) + (xy 183.850447 47.925576) (xy 183.817706 48.041968) (xy 183.801134 48.101388) (xy 183.786579 48.157543) + (xy 183.77325 48.208477) (xy 183.762744 48.253336) (xy 183.754651 48.290915) (xy 183.749001 48.320011) + (xy 183.746988 48.339409) (xy 183.746988 48.344678) (xy 183.747794 48.347091) (xy 183.836687 48.408919) + (xy 183.933285 48.473185) (xy 184.032288 48.537433) (xy 184.128081 48.597251) (xy 184.215356 48.650187) + (xy 184.288122 48.692223) (xy 184.340644 48.720098) (xy 184.357625 48.727376) (xy 184.367712 48.730203) + (xy 184.368941 48.729799) (xy 184.370556 48.728994) (xy 184.375799 48.725756) (xy 184.383485 48.720504) + (xy 184.393182 48.713644) (xy 184.418249 48.694236) (xy 184.450168 48.668782) (xy 184.487752 48.638055) + (xy 184.530197 48.602498) (xy 184.576256 48.563707) (xy 184.62475 48.522072) (xy 184.864401 48.313951) + (xy 184.975529 48.35072) (xy 185.000588 48.358815) (xy 185.029687 48.368102) (xy 185.095166 48.387488) + (xy 185.163869 48.406491) (xy 185.227305 48.423059) (xy 185.367936 48.458622) (xy 185.474212 48.782742) + (xy 185.580924 49.106455) (xy 185.714678 49.116961) (xy 185.782988 49.121002) (xy 185.866222 49.123417) + (xy 185.958368 49.124626) (xy 186.053752 49.124626) (xy 186.146703 49.123417) (xy 186.230761 49.121002) + (xy 186.301077 49.11736) (xy 186.351586 49.112512) (xy 186.423937 49.102803) (xy 186.527394 48.780312) + (xy 186.630855 48.457811) (xy 186.719743 48.4364) (xy 186.767844 48.423865) (xy 186.832502 48.405689) + (xy 186.905665 48.384677) (xy 186.978398 48.362443) (xy 187.148142 48.31072) (xy 187.276652 48.425085) + (xy 187.438697 48.568142) (xy 187.499727 48.620693) (xy 187.54902 48.662303) (xy 187.587422 48.693029) + (xy 187.615713 48.714043) (xy 187.634704 48.726168) (xy 187.64116 48.728994) (xy 187.646023 48.730203) + (xy 187.648447 48.729799) (xy 187.652074 48.728994) (xy 187.660562 48.726168) (xy 187.671881 48.721301) + (xy 187.68602 48.714854) (xy 187.7026 48.705957) (xy 187.721985 48.695448) (xy 187.744226 48.682515) + (xy 187.769272 48.667977) (xy 187.827464 48.632411) (xy 187.897385 48.589172) (xy 187.979031 48.537027) + (xy 188.072777 48.476816) (xy 188.123694 48.443275) (xy 188.166545 48.414179) (xy 188.200894 48.389512) + (xy 188.227963 48.368513) (xy 188.238871 48.359616) (xy 188.247774 48.351534) (xy 188.255039 48.343861) + (xy 188.260702 48.337387) (xy 188.265144 48.331721) (xy 188.267574 48.326478) (xy 188.268785 48.322039) + (xy 188.268376 48.317985) (xy 188.193611 48.048441) (xy 188.166136 47.951037) (xy 188.141483 47.864967) + (xy 188.122085 47.79989) (xy 188.110769 47.764729) (xy 188.109551 47.761098) (xy 188.108348 47.757473) + (xy 188.107539 47.754224) (xy 188.106728 47.750999) (xy 188.106328 47.747774) (xy 188.106328 47.74414) + (xy 188.106328 47.740889) (xy 188.106728 47.737256) (xy 188.107539 47.734027) (xy 188.108751 47.729974) + (xy 188.110363 47.72635) (xy 188.11198 47.721905) (xy 188.114399 47.717858) (xy 188.116832 47.71301) + (xy 188.12006 47.70815) (xy 188.123694 47.702907) (xy 188.12813 47.697666) (xy 188.132588 47.691589) + (xy 188.137847 47.685114) (xy 188.143504 47.678657) (xy 188.14996 47.671381) (xy 188.156837 47.663717) + (xy 188.172594 47.646329) (xy 188.19079 47.62733) (xy 188.211802 47.60552) (xy 188.236048 47.580845) + (xy 188.263523 47.552979) (xy 188.431646 47.382831) (xy 188.758584 47.446697) (xy 188.886282 47.471341) + (xy 188.99176 47.489937) (xy 189.064106 47.50124) (xy 189.084708 47.503669) (xy 189.090374 47.503669) + (xy 189.092796 47.503271) (xy 189.115023 47.468513) (xy 189.160693 47.390918) (xy 189.287997 47.16581) + (xy 189.410452 46.943546) (xy 189.449648 46.869194) (xy 189.460562 46.847772) (xy 189.463788 46.838879) + (xy 189.437117 46.808963) (xy 189.370839 46.739456) (xy 189.171197 46.535784) (xy 188.97237 46.336552) + (xy 188.906095 46.272288) (xy 188.887092 46.254497) (xy 188.880236 46.249255) (xy 188.878616 46.25289) + (xy 188.875374 46.261379) (xy 188.864059 46.291292) (xy 188.848705 46.334119) (xy 188.83011 46.386265) + (xy 188.776772 46.525275) (xy 188.717374 46.660664) (xy 188.651493 46.792004) (xy 188.579159 46.918901) + (xy 188.500756 47.041755) (xy 188.416281 47.16017) (xy 188.325766 47.274132) (xy 188.22957 47.383634) + (xy 188.12733 47.488308) (xy 188.019429 47.58854) (xy 187.906268 47.683901) (xy 187.787062 47.774031) + (xy 187.662589 47.859715) (xy 187.532464 47.940137) (xy 187.397072 48.015301) (xy 187.256841 48.085213) + (xy 187.142067 48.135316) (xy 187.024471 48.180582) (xy 186.904033 48.220592) (xy 186.780786 48.25535) + (xy 186.655501 48.284843) (xy 186.528606 48.308694) (xy 186.40009 48.327289) (xy 186.270355 48.340617) + (xy 186.139825 48.348308) (xy 186.008898 48.35072) (xy 185.877544 48.347499) (xy 185.746613 48.339006) + (xy 185.616078 48.324865) (xy 185.48635 48.305055) (xy 185.357838 48.280004) (xy 185.23053 48.248881) + (xy 185.022409 48.185444) (xy 184.821565 48.108252) (xy 184.628386 48.017722) (xy 184.443291 47.914259) + (xy 184.267099 47.799084) (xy 184.100181 47.67219) (xy 183.942982 47.534784) (xy 183.796284 47.386887) + (xy 183.660489 47.229675) (xy 183.536423 47.063174) (xy 183.424086 46.88818) (xy 183.324666 46.705523) + (xy 183.238588 46.51517) (xy 183.165835 46.318771) (xy 183.107645 46.115884) (xy 183.084211 46.01243) + (xy 183.064409 45.907761) (xy 183.057541 45.862498) (xy 183.052272 45.812391) (xy 183.044611 45.699631) + (xy 183.041785 45.575578) (xy 183.042585 45.446248) (xy 183.047841 45.31773) (xy 183.057139 45.195694) + (xy 183.07047 45.085765) (xy 183.078155 45.037677) (xy 183.08703 44.994428) (xy 183.114518 44.884923) + (xy 183.145639 44.776609) (xy 183.180395 44.67032) (xy 183.21879 44.566057) (xy 183.260397 44.463407) + (xy 183.306067 44.362775) (xy 183.354576 44.264177) (xy 183.407105 44.167998) (xy 183.462476 44.073825) + (xy 183.521477 43.982084) (xy 183.583719 43.892382) (xy 183.649176 43.805086) (xy 183.717881 43.720624) + (xy 183.789812 43.638589) (xy 183.864584 43.558979) (xy 183.942584 43.482188) (xy 184.057767 43.379532) + (xy 184.178585 43.28255) (xy 184.305086 43.192019) (xy 184.436417 43.107966) (xy 184.571798 43.030366) + (xy 184.711633 42.959652) (xy 184.854303 42.895786) (xy 185.000183 42.839217) (xy 185.148092 42.789906) + (xy 185.297628 42.748275) (xy 185.448765 42.714341) (xy 185.600305 42.688066) (xy 185.752275 42.67029) + (xy 185.903823 42.660591) (xy 186.054562 42.65978) (xy 186.204087 42.667043) (xy 186.345931 42.680807) + (xy 186.478898 42.698179) (xy 186.54315 42.708678) (xy 186.606196 42.719996) (xy 186.667623 42.732926) + (xy 186.728643 42.746664) (xy 186.78885 42.762033) (xy 186.848683 42.778593) (xy 186.908483 42.79679) + (xy 186.968293 42.81658) (xy 187.089522 42.860225) (xy 187.214407 42.911159) (xy 187.334439 42.9653) + (xy 187.451631 43.024704) (xy 187.5652 43.089373) (xy 187.675915 43.158481) (xy 187.783026 43.232426) + (xy 187.88648 43.31083) (xy 187.985891 43.393672) (xy 188.081661 43.480571) (xy 188.1734 43.571902) + (xy 188.261098 43.667275) (xy 188.344344 43.766295) (xy 188.423155 43.869346) (xy 188.497525 43.975633) + (xy 188.567042 44.085546) (xy 188.631689 44.199101) (xy 188.691092 44.315496) (xy 188.721407 44.379753) + (xy 188.750098 44.443198) (xy 188.776375 44.505439) (xy 188.801026 44.56767) (xy 188.824054 44.6291) + (xy 188.845068 44.69094) (xy 188.86486 44.752363) (xy 188.882655 44.813796) (xy 188.898824 44.876026) + (xy 188.913771 44.938656) (xy 188.927109 45.002116) (xy 188.938835 45.066766) (xy 188.949333 45.132645) + (xy 188.958622 45.199327) (xy 188.966707 45.268024) (xy 188.973582 45.338345) (xy 188.993395 45.566286) + (xy 190.838228 45.566286) (xy 192.01464 45.56507) (xy 192.373532 45.561424) (xy 192.617619 45.553752) + (xy 192.77562 45.540824) (xy 192.87585 45.520619) (xy 192.946975 45.492315) (xy 193.01769 45.453928) + (xy 193.042354 45.439783) (xy 193.066603 45.425241) (xy 193.091252 45.409468) (xy 193.116306 45.392505) + (xy 193.14136 45.373909) (xy 193.16763 45.353697) (xy 193.194714 45.331868) (xy 193.223002 45.308033) + (xy 193.252501 45.282172) (xy 193.283608 45.253884) (xy 193.316753 45.222771) (xy 193.351907 45.189219) + (xy 193.429093 45.112839) (xy 193.517205 45.023537) (xy 193.698643 44.837226) (xy 191.42179 44.841267) + (xy 189.475504 44.845703) (xy 189.480768 44.924117) (xy 189.480768 44.930992) (xy 189.479957 44.937445) + (xy 189.477944 44.943113) (xy 189.475098 44.948765) (xy 189.471872 44.954032) (xy 189.467431 44.958869) + (xy 189.462577 44.963314) (xy 189.45693 44.967763) (xy 189.450856 44.971797) (xy 189.444396 44.975447) + (xy 189.437117 44.978673) (xy 189.429831 44.981501) (xy 189.413683 44.986762) (xy 189.3967 44.991204) + (xy 189.379329 44.994838) (xy 189.361944 44.997659) (xy 189.344976 44.999696) (xy 189.328405 45.000912) + (xy 189.300118 45.002519) (xy 189.280312 45.002921) (xy 189.277485 45.002921) (xy 189.274255 45.002921) + (xy 189.271426 45.002519) (xy 189.268589 45.002116) (xy 189.265763 45.00171) (xy 189.263338 45.000912) + (xy 189.260925 45.000102) (xy 189.258485 44.999284) (xy 189.256065 44.998068) (xy 189.253641 44.996859) + (xy 189.251625 44.995644) (xy 189.249202 44.994029) (xy 189.247181 44.992012) (xy 189.245143 44.989996) + (xy 189.242728 44.98757) (xy 189.240716 44.985134) (xy 189.238698 44.982305) (xy 189.236677 44.979483) + (xy 189.234645 44.976251) (xy 189.232621 44.972606) (xy 189.230613 44.968975) (xy 189.228585 44.964936) + (xy 189.226568 44.960486) (xy 189.224143 44.955646) (xy 189.21969 44.945133) (xy 189.214854 44.933408) + (xy 189.209995 44.920476) (xy 189.204341 44.905513) (xy 189.196659 44.884923) (xy 189.187362 44.863094) + (xy 189.177657 44.840871) (xy 189.167164 44.819045) (xy 189.156652 44.798023) (xy 189.146551 44.779024) + (xy 189.136851 44.761659) (xy 189.127553 44.74752) (xy 189.119459 44.734989) (xy 189.111798 44.722867) + (xy 189.104515 44.711549) (xy 189.098461 44.701046) (xy 189.093605 44.691748) (xy 189.089567 44.68406) + (xy 189.088361 44.681229) (xy 189.087144 44.678412) (xy 189.08674 44.676397) (xy 189.086341 44.674761) + (xy 189.086341 44.673952) (xy 189.08552 44.672744) (xy 189.083097 44.668708) (xy 189.075031 44.655779) + (xy 189.070173 44.646877) (xy 189.067746 44.64204) (xy 189.065726 44.636772) (xy 189.063303 44.631129) + (xy 189.061274 44.625461) (xy 189.05925 44.619413) (xy 189.057634 44.61294) (xy 189.056424 44.606073) + (xy 189.055213 44.599205) (xy 189.054817 44.591915) (xy 189.054413 44.584253) (xy 189.054817 44.57657) + (xy 189.055617 44.568887) (xy 189.057237 44.560815) (xy 189.05925 44.552315) (xy 189.061677 44.543827) + (xy 189.065318 44.53533) (xy 189.069758 44.52646) (xy 189.074618 44.517565) (xy 189.080674 44.508674) + (xy 189.087554 44.499365) (xy 189.095619 44.490077) (xy 189.104515 44.480795) (xy 189.182117 44.402791) + (xy 189.258485 44.324391) (xy 189.324364 44.255281) (xy 189.350628 44.226593) (xy 189.370839 44.203964) + (xy 189.454085 44.10898) (xy 189.286776 43.822871) (xy 189.21969 43.708904) (xy 189.160291 43.610695) + (xy 189.115023 43.537964) (xy 189.100081 43.514922) (xy 189.09078 43.501994) (xy 189.062073 43.467236) + (xy 188.742427 43.529065) (xy 188.422751 43.591306) (xy 188.265941 43.431675) (xy 188.205731 43.371447) + (xy 188.181894 43.346795) (xy 188.171789 43.335887) (xy 188.162483 43.324973) (xy 188.154008 43.314886) + (xy 188.146723 43.305173) (xy 188.140686 43.295478) (xy 188.135018 43.285778) (xy 188.13058 43.276081) + (xy 188.126922 43.265973) (xy 188.124097 43.25586) (xy 188.122485 43.244961) (xy 188.121678 43.234059) + (xy 188.121275 43.221934) (xy 188.122085 43.209388) (xy 188.123694 43.195657) (xy 188.126123 43.181106) + (xy 188.129367 43.165757) (xy 188.133396 43.148782) (xy 188.138241 43.130198) (xy 188.149553 43.08896) + (xy 188.164113 43.040876) (xy 188.201699 42.919632) (xy 188.253421 42.747874) (xy 188.269193 42.694137) + (xy 188.275242 42.673121) (xy 188.271605 42.669492) (xy 188.262317 42.661799) (xy 188.227558 42.636754) + (xy 188.175027 42.600781) (xy 188.109551 42.557541) (xy 188.036415 42.509847) (xy 187.959622 42.460953) + (xy 187.884046 42.41326) (xy 187.814131 42.37083) (xy 187.643584 42.267778) (xy 187.524367 42.363951) + (xy 187.400705 42.464186) (xy 187.270178 42.571275) (xy 187.135189 42.682819) (xy 187.037808 42.643206) + (xy 187.014775 42.634328) (xy 186.987295 42.624626) (xy 186.955767 42.614518) (xy 186.921817 42.604013) + (xy 186.885855 42.593509) (xy 186.849483 42.583399) (xy 186.813515 42.573701) (xy 186.779164 42.565227) + (xy 186.735519 42.554303) (xy 186.699556 42.545012) (xy 186.684184 42.540558) (xy 186.670853 42.536119) + (xy 186.659129 42.532084) (xy 186.64863 42.528031) (xy 186.639733 42.523993) (xy 186.632064 42.519952) + (xy 186.625592 42.515907) (xy 186.620334 42.511871) (xy 186.616289 42.507437) (xy 186.613061 42.502974) + (xy 186.610638 42.498535) (xy 186.608629 42.493675) (xy 186.575484 42.38659) (xy 186.509606 42.176438) + (xy 186.419879 41.892336) (xy 186.219441 41.880215) (xy 186.174989 41.878199) (xy 186.124475 41.876583) + (xy 186.070321 41.875773) (xy 186.013735 41.875374) + ) + (stroke + (width 0) + (type solid) + ) + (fill yes) + (layer "B.SilkS") + (uuid "3aa4ed9e-99e1-4a87-a167-935c4a0834dd") + ) + (gr_rect + (start 123.5 30) + (end 252.5 63) + (radius 2) + (stroke + (width 0.05) + (type solid) + ) + (fill no) + (layer "Edge.Cuts") + (uuid "4402ae3a-9c5f-43b4-95b9-b05c659ac475") + ) + (gr_text "1. HEAD | 2. NECK | 3. LEFT HAND | 4. RIGHT HAND | 5. BODY" + (at 164 59.5 0) + (layer "F.SilkS") + (uuid "cfa00be6-5a27-423f-8485-2f14bec28c10") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SERVO ORDER:" + (at 179.9 57.5 0) + (layer "F.SilkS") + (uuid "d8256c46-d249-41ca-8ff8-91dd6410bbbb") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SCL" + (at 223.5 40.46 0) + (layer "F.SilkS") + (uuid "2684a999-3a9a-430b-9dbc-bc66824272a2") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "SDA" + (at 223.5 43 0) + (layer "F.SilkS") + (uuid "0ca6bed9-dd1f-4e16-bf1a-4dbfd671d550") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "GND" + (at 223.5 45.54 0) + (layer "F.SilkS") + (uuid "47442e9f-2d93-489b-be21-a2cf0223aaa6") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "VCC\n" + (at 223.5 48.08 0) + (layer "F.SilkS") + (uuid "8fed1ddb-1051-4b00-bc58-460b28600c9a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "EYES\n(OLED)" + (at 221.4 37.06 0) + (layer "F.SilkS") + (uuid "b9c7937c-7135-4a97-a837-a3dcbb912356") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + ) + ) + (gr_text "D+" + (at 235.85 55.4 90) + (layer "F.SilkS") + (uuid "e777576d-29d6-430d-868f-30ba10368c13") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "D-" + (at 238.39 55.4 90) + (layer "F.SilkS") + (uuid "7a8a1a09-7615-4527-a6c7-419b223be739") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "5V" + (at 240.93 55.4 90) + (layer "F.SilkS") + (uuid "00f5a805-37f8-44d2-ab07-6c881cdb704a") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "GND\n" + (at 243.47 55.4 90) + (layer "F.SilkS") + (uuid "7b5a9312-5f7a-46d5-9bd1-dbd153a22379") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + (justify left) + ) + ) + (gr_text "POWER\n(USB)" + (at 232.2 57.3 90) + (layer "F.SilkS") + (uuid "12f6f387-5e46-4451-9e88-c54cd2cfc75c") + (effects + (font + (size 0.8 0.8) + (thickness 0.12) + ) + ) + ) + (gr_text "MOTION\n(PCA9685)" + (at 184.3 36 0) + (layer "F.SilkS") + (uuid "4f5289e3-3541-44dc-9f4d-d474f4eeec59") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (gr_text "VOICE\n(MAX98357)" + (at 233.6 41.94 90) + (layer "F.SilkS") + (uuid "6a1a3afb-3a1d-4d6f-92c0-94bed3ff3a54") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + ) + ) + (gr_text "Main Control Board\nREV #1 | 2026-09-12\ngithub.com/jamro/tiny-engineer" + (at 185.5 50.5 0) + (layer "B.SilkS") + (uuid "366bc4bb-d37f-4099-af31-758c225e0b34") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + (justify top mirror) + ) + ) + (gr_text "BRAIN (ESP32)" + (at 135.89 59.5 0) + (layer "B.SilkS") + (uuid "cae9c790-ef36-4d7c-9702-5b7bb861f9d1") + (effects + (font + (size 1 1) + (thickness 0.12) + ) + (justify mirror) + ) + ) + (gr_text "TINY SOFTWARE ENGINEER" + (at 200 40 0) + (layer "B.SilkS") + (uuid "57a87b69-54f0-46a0-a040-3a89f0e6d960") + (effects + (font + (size 1.5 1.5) + (thickness 0.3) + (bold yes) + ) + (justify left bottom mirror) + ) + ) + (segment + (start 144.107412 47.345) + (end 143.092588 47.345) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "18a1ed9c-a24f-4e17-a4e8-ff83d880562f") + ) + (segment + (start 141.875 46.127412) + (end 141.875 41.032588) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "2cf1de88-7bc0-4571-87d8-703e7f79e633") + ) + (segment + (start 143.6 56.28) + (end 144.825 55.055) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "34768fbc-9f7f-45ae-9395-5ea28b4f313b") + ) + (segment + (start 141.875 41.032588) + (end 143.092588 39.815) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "433fdd04-a63e-46a6-bc78-27191182bbfa") + ) + (segment + (start 144.825 48.062588) + (end 144.107412 47.345) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "6371a2f3-3066-4631-ad79-79db11322ae9") + ) + (segment + (start 143.092588 39.815) + (end 151.275 39.815) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "9998c307-8621-4626-8c0c-a294fe765dc5") + ) + (segment + (start 153.5 42.04) + (end 211.92 42.04) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "9af35acf-49d2-47f1-8e88-89703c6d2a55") + ) + (segment + (start 144.825 55.055) + (end 144.825 48.062588) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "bce92f55-ae92-4373-98b3-acacad495040") + ) + (segment + (start 143.092588 47.345) + (end 141.875 46.127412) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "e5e45424-6a13-4518-85f7-f943d2dd008c") + ) + (segment + (start 151.275 39.815) + (end 153.5 42.04) + (width 0.25) + (layer "F.Cu") + (net "Net-(ESP1-GP5)") + (uuid "e8c6c30a-f49b-4065-9748-45430e103885") + ) + (segment + (start 142.375 44.895) + (end 143.6 46.12) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "0143ed92-d60f-4b68-a1ad-a987fbec8e2a") + ) + (segment + (start 142.375 43.072588) + (end 142.375 44.895) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "1c29d066-ab45-41f0-9119-678c56843ed6") + ) + (segment + (start 151.375 42.355) + (end 143.092588 42.355) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "2639d09c-fcdc-48e3-a0e8-6ceaa9487fec") + ) + (segment + (start 143.092588 42.355) + (end 142.375 43.072588) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "2b3c3a00-7bc6-4de3-be72-8ff74601a423") + ) + (segment + (start 221.4 40.46) + (end 217.28 44.58) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "3902899f-cbf9-4d5a-8fd1-ef08350169dd") + ) + (segment + (start 211.92 44.58) + (end 153.6 44.58) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "6190e703-d101-480e-a982-3f1aa8ae86f2") + ) + (segment + (start 153.5 44.48) + (end 151.375 42.355) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "76003773-2cee-456b-942d-096a5d5197c1") + ) + (segment + (start 153.6 44.58) + (end 153.5 44.48) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "76c31f12-f833-4f2c-a3c0-29ae9304d8a7") + ) + (segment + (start 217.28 44.58) + (end 211.92 44.58) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SCL") + (uuid "bfa30a57-b873-4c93-86f7-aa400c117443") + ) + (segment + (start 153.5 47.12) + (end 149.96 43.58) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "2e72d2df-5888-413e-9c1f-e4d641066051") + ) + (segment + (start 221.4 43) + (end 217.28 47.12) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "34e729c1-4839-4682-8a20-788b1e3af17b") + ) + (segment + (start 217.28 47.12) + (end 211.92 47.12) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "8a474d08-be8f-4940-b423-eb7d47ace8e2") + ) + (segment + (start 211.92 47.12) + (end 153.5 47.12) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "b75d9b5d-d0fb-4b24-9740-2e16f2ec1b29") + ) + (segment + (start 149.96 43.58) + (end 143.6 43.58) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "c4152c52-cfc8-4bac-8b36-b968598d85da") + ) + (segment + (start 153.5 49.66) + (end 211.92 49.66) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "11271f16-7177-4c5f-9173-21db88e864a7") + ) + (segment + (start 211.92 49.66) + (end 213.5 48.08) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "80f23f2a-c8b6-4a12-ab1a-8a06adc07705") + ) + (segment + (start 213.5 48.08) + (end 221.4 48.08) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "f56f3b72-05c8-4127-9696-c40821409940") + ) + (segment + (start 139.5 36.94) + (end 143.6 41.04) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "2c53dd11-fa2b-4895-ba0b-01e9d03d04a7") + ) + (segment + (start 153.5 49.66) + (end 157.5 45.66) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "3e8f2f28-9ffd-4b63-b93d-3065b2122526") + ) + (segment + (start 157.5 33.5) + (end 140.5 33.5) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "8a1e1977-9771-4cd9-9b58-b327aba79799") + ) + (segment + (start 139.5 34.5) + (end 139.5 36.94) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "c988d1cf-ab3a-4e4c-b0c2-97294a671c84") + ) + (segment + (start 157.5 45.66) + (end 157.5 33.5) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "d2ef2383-c513-411f-8e0d-4e13b306c6f6") + ) + (segment + (start 140.5 33.5) + (end 139.5 34.5) + (width 0.4) + (layer "B.Cu") + (net "+3.3V") + (uuid "f3259612-855c-4738-a50b-20c472ad7d00") + ) + (segment + (start 236.8 52.2) + (end 211.92 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "0224f180-5cdc-4d2d-9f15-acc99d100e90") + ) + (segment + (start 240.96 57.5) + (end 240.96 56.297919) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "8806655e-27b2-4b4c-85e0-cc05b92e80a0") + ) + (segment + (start 211.92 52.2) + (end 153.5 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "a8d98996-3466-4765-8853-d4503f06e387") + ) + (segment + (start 240.96 56.297919) + (end 236.862081 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "da17adb4-ca21-49ed-913e-64071f057757") + ) + (via + (at 236.862081 52.2) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (net "+5V") + (uuid "12605bae-8f39-4c3a-b537-d8866fafd2f1") + ) + (segment + (start 150.5 40.5) + (end 145.96 35.96) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "0564dada-3468-4df9-8f1f-0223443a8148") + ) + (segment + (start 150.5 49.276296) + (end 150.5 40.5) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "2c7b436b-15ce-40c6-9280-cc0392d1e559") + ) + (segment + (start 153.423704 52.2) + (end 150.5 49.276296) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "34e0f49a-c152-4939-940b-f348c6e218f7") + ) + (segment + (start 145.96 35.96) + (end 143.6 35.96) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "48ffa7ec-fcad-4106-8abf-0fa19b4cee6f") + ) + (segment + (start 240.5 40.883704) + (end 246.883704 34.5) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "5fa47e1e-24c2-472e-872c-a23ead17257f") + ) + (segment + (start 246.883704 34.5) + (end 247 34.5) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "62abe9f5-623a-460c-a47d-31f20e498a83") + ) + (segment + (start 240.5 47.5) + (end 240.5 40.883704) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "9598513b-5068-49ca-994a-cd3d591acc88") + ) + (segment + (start 153.5 52.2) + (end 153.423704 52.2) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "b62ce53e-2016-4208-b0d4-cffbae612b50") + ) + (segment + (start 236.862081 51.137919) + (end 240.5 47.5) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "d52b395b-a680-4a7e-aa79-d511ea185433") + ) + (segment + (start 236.862081 52.2) + (end 236.862081 51.137919) + (width 1.5) + (layer "B.Cu") + (net "+5V") + (uuid "e7ad4bbf-720d-42bf-af92-88c69681419e") + ) + (segment + (start 234.282844 57.5) + (end 235.88 57.5) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "0e6ed789-ce91-46b1-9a03-f0bfee60428a") + ) + (segment + (start 125 60.782841) + (end 125.617159 61.4) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "1bd30e72-f42f-4127-9733-ffb9be643fdd") + ) + (segment + (start 230.382842 61.4) + (end 234.282844 57.5) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "207f3fe2-2b84-448d-8587-f165d46f4045") + ) + (segment + (start 125 44.4) + (end 125 60.782841) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "4ca4f05a-9a7b-494a-969f-4fce31a09712") + ) + (segment + (start 125.617159 61.4) + (end 230.382842 61.4) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "8193a873-3303-4879-93b6-f6f647fcb185") + ) + (segment + (start 128.36 41.04) + (end 125 44.4) + (width 0.2) + (layer "F.Cu") + (net "/USB_D+") + (uuid "bea52e67-2468-44d7-9a65-e913f44f78ec") + ) + (segment + (start 230.217156 61) + (end 234.117156 57.1) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "394c2cc6-f9e9-4dd8-a700-321ae1172c61") + ) + (segment + (start 125.5 44.465686) + (end 125.5 60.717156) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "49be936a-e1cf-40a0-879a-010858d4616c") + ) + (segment + (start 234.73 57.1) + (end 234.73 56.35) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "6355839c-c9ba-4934-b7a0-9eb4e04220b7") + ) + (segment + (start 237.03 56.35) + (end 237.03 57.1) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "69409db0-1660-43df-b08b-960ec41c7a1d") + ) + (segment + (start 234.117156 57.1) + (end 234.73 57.1) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "93886e58-3107-4e09-ad86-b406db25f37c") + ) + (segment + (start 126.385686 43.58) + (end 125.5 44.465686) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "a29b6e4f-df49-475c-a065-b3875abec358") + ) + (segment + (start 234.73 56.35) + (end 237.03 56.35) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "c6e17136-eb51-4c5b-ac00-92c5ebb7c8d9") + ) + (segment + (start 125.5 60.717156) + (end 125.782844 61) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "ce830e04-83a2-4e99-9f50-faf2db5182b5") + ) + (segment + (start 125.782844 61) + (end 230.217156 61) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "d270677f-8d46-488a-93f1-4d2b6b4da274") + ) + (segment + (start 238.02 57.1) + (end 238.42 57.5) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "dec4e84b-a928-4b1a-9c58-d768ecf1d9ab") + ) + (segment + (start 237.03 57.1) + (end 238.02 57.1) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "e2a630c8-80df-4028-ae02-571d1b5307dc") + ) + (segment + (start 128.36 43.58) + (end 126.385686 43.58) + (width 0.2) + (layer "F.Cu") + (net "/USB_D-") + (uuid "f72b0dd6-4154-447e-b720-4bbf4bea8047") + ) + (segment + (start 134 41.600001) + (end 143.6 51.2) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "005129cc-5a8b-4578-bcee-04b1ac7ff41e") + ) + (segment + (start 251 46.5) + (end 251 32.792893) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "0a729beb-2038-408d-8cd4-27cded7b9fc5") + ) + (segment + (start 247 49.5) + (end 248 49.5) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "0faef83e-3b5b-4298-8f25-621a83e35efe") + ) + (segment + (start 249.932106 31.725) + (end 134.275 31.725) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "78df1889-2bc9-41f8-8ae4-fb6915f4093f") + ) + (segment + (start 251 32.792893) + (end 249.932106 31.725) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "960dce0d-5eaf-44dd-aab0-522505cb5b43") + ) + (segment + (start 248 49.5) + (end 251 46.5) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "d6ebbcd2-265a-4143-a0fc-9b3ac9c3f500") + ) + (segment + (start 134 32) + (end 134 41.600001) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "f67139fc-59a1-4906-a962-15e537659f80") + ) + (segment + (start 134.275 31.725) + (end 134 32) + (width 0.25) + (layer "F.Cu") + (net "/I2S_LRC") + (uuid "fdabe193-b546-4daf-8375-1307abf151c4") + ) + (segment + (start 141.767106 48.66) + (end 134.5 41.392894) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "0dedafc2-4e10-4b4b-80a8-854a0018d852") + ) + (segment + (start 250.5 44.5) + (end 248 47) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "22606639-b55d-4564-95a9-904a4ea7bc2e") + ) + (segment + (start 134.5 41.392894) + (end 134.5 32.225) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "afccd9f6-51b7-4673-b38e-fa5440cb65eb") + ) + (segment + (start 249.725 32.225) + (end 250.5 33) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "b5efb90a-8206-4f82-bc2e-6aff8331f4f5") + ) + (segment + (start 250.5 33) + (end 250.5 44.5) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "b8835e6a-4316-4c72-be6e-8ee27a8b5d8f") + ) + (segment + (start 143.6 48.66) + (end 141.767106 48.66) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "c1c8a768-687e-45e6-9b2b-66911aabc47e") + ) + (segment + (start 248 47) + (end 247 47) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "cfc0559d-a539-4ddb-9c63-adf7d225655d") + ) + (segment + (start 134.5 32.225) + (end 249.725 32.225) + (width 0.25) + (layer "F.Cu") + (net "/I2S_BCLK") + (uuid "e0d242f3-7b06-43ae-82b4-c809206fc7f8") + ) + (segment + (start 250 41.5) + (end 247 44.5) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "424eb6bf-9802-4387-9985-5d281c38f2b3") + ) + (segment + (start 138 33) + (end 249.5 33) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "42c062e8-f00e-463a-b55b-29fe7e79bac6") + ) + (segment + (start 250 33.5) + (end 250 41.5) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "73975ca3-aa76-46e1-806e-3029c6a31755") + ) + (segment + (start 249.5 33) + (end 250 33.5) + (width 0.25) + (layer "F.Cu") + (net "/I2S_DIN") + (uuid "945e8750-64f4-4804-8711-3e8de03fe2f9") + ) + (via + (at 138 33) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (net "/I2S_DIN") + (uuid "609b6b0b-11de-4c47-a4ad-81b28f705084") + ) + (segment + (start 144.107412 47.435) + (end 144.825 48.152588) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "114beba8-19f7-443c-b23a-5fa1a1a5d8cc") + ) + (segment + (start 136.5 34.5) + (end 136.5 40.842412) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "24ab9c33-1c58-4188-bc05-54f02bef4937") + ) + (segment + (start 136.5 40.842412) + (end 143.092588 47.435) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "31f4d0dd-c8d7-4c74-809e-a64a34a5fced") + ) + (segment + (start 138 33) + (end 136.5 34.5) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "62918640-61a9-483d-ae7b-5cd6883d4cd7") + ) + (segment + (start 143.092588 47.435) + (end 144.107412 47.435) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "69cec695-35f6-4b4a-aec6-00cb3f9c902a") + ) + (segment + (start 144.825 52.515) + (end 143.6 53.74) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "b92b0b0e-8a4f-49d1-9fe1-97ab3350da54") + ) + (segment + (start 144.825 48.152588) + (end 144.825 52.515) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "d393ab17-274e-473d-af5e-35e460d52431") + ) + (zone + (net "GND") + (layers "F.Cu" "B.Cu") + (uuid "f7622463-09bb-4525-9d01-b451e268aeb1") + (hatch edge 0.5) + (connect_pads + (clearance 0.5) + ) + (min_thickness 0.25) + (fill yes + (thermal_gap 0.5) + (thermal_bridge_width 0.5) + (island_removal_mode 0) + ) + (polygon + (pts + (xy 120.5 29) (xy 120.5 68) (xy 257.5 68) (xy 257 27) (xy 120.5 28.5) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 219.969334 45.417769) (xy 220.025267 45.459641) (xy 220.049684 45.525105) (xy 220.05 45.533951) + (xy 220.05 45.646246) (xy 220.083242 45.856127) (xy 220.083242 45.85613) (xy 220.148904 46.058217) + (xy 220.245375 46.24755) (xy 220.284728 46.301716) (xy 220.917037 45.669408) (xy 220.934075 45.732993) + (xy 220.999901 45.847007) (xy 221.092993 45.940099) (xy 221.207007 46.005925) (xy 221.27059 46.022962) + (xy 220.60037 46.693181) (xy 220.539047 46.726666) (xy 220.512698 46.7295) (xy 220.502134 46.7295) + (xy 220.502123 46.729501) (xy 220.442516 46.735908) (xy 220.307671 46.786202) (xy 220.307664 46.786206) + (xy 220.192455 46.872452) (xy 220.192452 46.872455) (xy 220.106206 46.987664) (xy 220.106202 46.987671) + (xy 220.055908 47.122517) (xy 220.052942 47.150109) (xy 220.049501 47.182123) (xy 220.0495 47.182135) + (xy 220.0495 47.2555) (xy 220.029815 47.322539) (xy 219.977011 47.368294) (xy 219.9255 47.3795) + (xy 218.204452 47.3795) (xy 218.137413 47.359815) (xy 218.091658 47.307011) (xy 218.081714 47.237853) + (xy 218.110739 47.174297) (xy 218.116771 47.167819) (xy 218.974734 46.309856) (xy 219.838319 45.446269) + (xy 219.899642 45.412785) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 249.256587 33.645185) (xy 249.277229 33.661819) (xy 249.338181 33.722771) (xy 249.371666 33.784094) + (xy 249.3745 33.810452) (xy 249.3745 41.189546) (xy 249.354815 41.256585) (xy 249.338181 41.277227) + (xy 248.562181 42.053227) (xy 248.500858 42.086712) (xy 248.431166 42.081728) (xy 248.375233 42.039856) + (xy 248.350816 41.974392) (xy 248.3505 41.965546) (xy 248.3505 41.893713) (xy 248.342776 41.844949) + (xy 248.317246 41.683757) (xy 248.251557 41.481588) (xy 248.155051 41.292184) (xy 248.155049 41.292181) + (xy 248.155048 41.292179) (xy 248.030109 41.120213) (xy 247.879792 40.969896) (xy 247.86757 40.961016) + (xy 247.715204 40.850316) (xy 247.67254 40.794989) (xy 247.666561 40.725376) (xy 247.699166 40.66358) + (xy 247.715199 40.649686) (xy 247.879792 40.530104) (xy 248.030104 40.379792) (xy 248.030106 40.379788) + (xy 248.030109 40.379786) (xy 248.155048 40.20782) (xy 248.155047 40.20782) (xy 248.155051 40.207816) + (xy 248.251557 40.018412) (xy 248.317246 39.816243) (xy 248.3505 39.606287) (xy 248.3505 39.393713) + (xy 248.317246 39.183757) (xy 248.251557 38.981588) (xy 248.155051 38.792184) (xy 248.155049 38.792181) + (xy 248.155048 38.792179) (xy 248.030109 38.620213) (xy 247.87979 38.469894) (xy 247.879785 38.46989) + (xy 247.714781 38.350008) (xy 247.672115 38.294678) (xy 247.666136 38.225065) (xy 247.698741 38.16327) + (xy 247.714781 38.149372) (xy 247.761716 38.115271) (xy 247.761717 38.11527) (xy 247.129408 37.482962) + (xy 247.192993 37.465925) (xy 247.307007 37.400099) (xy 247.400099 37.307007) (xy 247.465925 37.192993) + (xy 247.482962 37.129408) (xy 248.11527 37.761717) (xy 248.11527 37.761716) (xy 248.154622 37.707554) + (xy 248.251095 37.518217) (xy 248.316757 37.31613) (xy 248.316757 37.316127) (xy 248.35 37.106246) + (xy 248.35 36.893753) (xy 248.316757 36.683872) (xy 248.316757 36.683869) (xy 248.251095 36.481782) + (xy 248.154624 36.292449) (xy 248.11527 36.238282) (xy 248.115269 36.238282) (xy 247.482962 36.87059) + (xy 247.465925 36.807007) (xy 247.400099 36.692993) (xy 247.307007 36.599901) (xy 247.192993 36.534075) + (xy 247.129409 36.517037) (xy 247.761716 35.884728) (xy 247.71478 35.850628) (xy 247.672114 35.795298) + (xy 247.666135 35.725685) (xy 247.69874 35.663889) (xy 247.714776 35.649994) (xy 247.879792 35.530104) + (xy 248.030104 35.379792) (xy 248.030106 35.379788) (xy 248.030109 35.379786) (xy 248.155048 35.20782) + (xy 248.155047 35.20782) (xy 248.155051 35.207816) (xy 248.251557 35.018412) (xy 248.317246 34.816243) + (xy 248.3505 34.606287) (xy 248.3505 34.393713) (xy 248.317246 34.183757) (xy 248.251557 33.981588) + (xy 248.161985 33.805794) (xy 248.14909 33.737126) (xy 248.175366 33.672385) (xy 248.232473 33.632128) + (xy 248.272471 33.6255) (xy 249.189548 33.6255) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 250.504418 30.500816) (xy 250.704561 30.51513) (xy 250.722063 30.517647) (xy 250.913795 30.559355) + (xy 250.93076 30.564336) (xy 251.114611 30.632909) (xy 251.130694 30.640253) (xy 251.247495 30.704032) + (xy 251.302908 30.73429) (xy 251.317791 30.743855) (xy 251.474864 30.861438) (xy 251.488235 30.873024) + (xy 251.626975 31.011764) (xy 251.638561 31.025135) (xy 251.756144 31.182208) (xy 251.765709 31.197091) + (xy 251.859743 31.3693) (xy 251.867093 31.385394) (xy 251.935661 31.569234) (xy 251.940645 31.586209) + (xy 251.982351 31.777931) (xy 251.984869 31.795442) (xy 251.999184 31.99558) (xy 251.9995 32.004427) + (xy 251.9995 60.995572) (xy 251.999184 61.004419) (xy 251.984869 61.204557) (xy 251.982351 61.222068) + (xy 251.940645 61.41379) (xy 251.935661 61.430765) (xy 251.867093 61.614605) (xy 251.859743 61.630699) + (xy 251.765709 61.802908) (xy 251.756144 61.817791) (xy 251.638561 61.974864) (xy 251.626975 61.988235) + (xy 251.488235 62.126975) (xy 251.474864 62.138561) (xy 251.317791 62.256144) (xy 251.302908 62.265709) + (xy 251.130699 62.359743) (xy 251.114605 62.367093) (xy 250.930765 62.435661) (xy 250.91379 62.440645) + (xy 250.722068 62.482351) (xy 250.704557 62.484869) (xy 250.523779 62.497799) (xy 250.504417 62.499184) + (xy 250.495572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) + (xy 125.295442 62.484869) (xy 125.277931 62.482351) (xy 125.086209 62.440645) (xy 125.069234 62.435661) + (xy 124.885394 62.367093) (xy 124.8693 62.359743) (xy 124.697091 62.265709) (xy 124.682208 62.256144) + (xy 124.525135 62.138561) (xy 124.511764 62.126975) (xy 124.373024 61.988235) (xy 124.361438 61.974864) + (xy 124.243855 61.817791) (xy 124.23429 61.802908) (xy 124.140256 61.630699) (xy 124.132909 61.614611) + (xy 124.064336 61.43076) (xy 124.059354 61.41379) (xy 124.028167 61.270426) (xy 124.017648 61.222066) + (xy 124.017906 61.218458) (xy 124.01513 61.204556) (xy 124.011339 61.151557) (xy 124.000816 61.004418) + (xy 124.0005 60.995572) (xy 124.0005 60.861895) (xy 124.399498 60.861895) (xy 124.440423 61.014626) + (xy 124.450041 61.031284) (xy 124.450042 61.031287) (xy 124.519475 61.15155) (xy 124.519481 61.151558) + (xy 124.638349 61.270426) (xy 124.638354 61.27043) (xy 125.248443 61.88052) (xy 125.248445 61.880521) + (xy 125.248449 61.880524) (xy 125.385368 61.959573) (xy 125.385375 61.959577) (xy 125.538102 62.000501) + (xy 125.538104 62.000501) (xy 125.703813 62.000501) (xy 125.703829 62.0005) (xy 230.296172 62.0005) + (xy 230.296188 62.000501) (xy 230.303784 62.000501) (xy 230.461896 62.000501) (xy 230.461899 62.000501) + (xy 230.614627 61.959577) (xy 230.664746 61.930639) (xy 230.751558 61.88052) (xy 230.863362 61.768716) + (xy 230.863362 61.768714) (xy 230.87357 61.758507) (xy 230.873571 61.758504) (xy 234.317861 58.314216) + (xy 234.37918 58.280734) (xy 234.448872 58.285718) (xy 234.504805 58.32759) (xy 234.529222 58.393054) + (xy 234.52936 58.395253) (xy 234.5295 58.397867) (xy 234.535908 58.457483) (xy 234.586202 58.592328) + (xy 234.586206 58.592335) (xy 234.672452 58.707544) (xy 234.672455 58.707547) (xy 234.787664 58.793793) + (xy 234.787671 58.793797) (xy 234.922517 58.844091) (xy 234.922516 58.844091) (xy 234.929444 58.844835) + (xy 234.982127 58.8505) (xy 236.777872 58.850499) (xy 236.837483 58.844091) (xy 236.972331 58.793796) + (xy 237.087546 58.707546) (xy 237.173796 58.592331) (xy 237.22281 58.460916) (xy 237.264681 58.404984) + (xy 237.330145 58.380566) (xy 237.398418 58.395417) (xy 237.426673 58.416569) (xy 237.540213 58.530109) + (xy 237.712179 58.655048) (xy 237.712181 58.655049) (xy 237.712184 58.655051) (xy 237.901588 58.751557) + (xy 238.103757 58.817246) (xy 238.313713 58.8505) (xy 238.313714 58.8505) (xy 238.526286 58.8505) + (xy 238.526287 58.8505) (xy 238.736243 58.817246) (xy 238.938412 58.751557) (xy 239.127816 58.655051) + (xy 239.214138 58.592335) (xy 239.299786 58.530109) (xy 239.299788 58.530106) (xy 239.299792 58.530104) + (xy 239.450104 58.379792) (xy 239.450106 58.379788) (xy 239.450109 58.379786) (xy 239.575048 58.20782) + (xy 239.575047 58.20782) (xy 239.575051 58.207816) (xy 239.579514 58.199054) (xy 239.627488 58.148259) + (xy 239.695308 58.131463) (xy 239.761444 58.153999) (xy 239.800486 58.199056) (xy 239.804951 58.20782) + (xy 239.92989 58.379786) (xy 240.080213 58.530109) (xy 240.252179 58.655048) (xy 240.252181 58.655049) + (xy 240.252184 58.655051) (xy 240.441588 58.751557) (xy 240.643757 58.817246) (xy 240.853713 58.8505) + (xy 240.853714 58.8505) (xy 241.066286 58.8505) (xy 241.066287 58.8505) (xy 241.276243 58.817246) + (xy 241.478412 58.751557) (xy 241.667816 58.655051) (xy 241.754138 58.592335) (xy 241.839786 58.530109) + (xy 241.839788 58.530106) (xy 241.839792 58.530104) (xy 241.990104 58.379792) (xy 241.990106 58.379788) + (xy 241.990109 58.379786) (xy 242.07589 58.261717) (xy 242.115051 58.207816) (xy 242.119793 58.198508) + (xy 242.167763 58.147711) (xy 242.235583 58.130911) (xy 242.301719 58.153445) (xy 242.340763 58.1985) + (xy 242.345373 58.207547) (xy 242.384728 58.261716) (xy 243.017037 57.629408) (xy 243.034075 57.692993) + (xy 243.099901 57.807007) (xy 243.192993 57.900099) (xy 243.307007 57.965925) (xy 243.37059 57.982962) + (xy 242.738282 58.615269) (xy 242.738282 58.61527) (xy 242.792449 58.654624) (xy 242.981782 58.751095) + (xy 243.18387 58.816757) (xy 243.393754 58.85) (xy 243.606246 58.85) (xy 243.816127 58.816757) (xy 243.81613 58.816757) + (xy 244.018217 58.751095) (xy 244.207554 58.654622) (xy 244.261716 58.61527) (xy 244.261717 58.61527) + (xy 243.629408 57.982962) (xy 243.692993 57.965925) (xy 243.807007 57.900099) (xy 243.900099 57.807007) + (xy 243.965925 57.692993) (xy 243.982962 57.629409) (xy 244.61527 58.261717) (xy 244.61527 58.261716) + (xy 244.654622 58.207554) (xy 244.751095 58.018217) (xy 244.816757 57.81613) (xy 244.816757 57.816127) + (xy 244.85 57.606246) (xy 244.85 57.393753) (xy 244.816757 57.183872) (xy 244.816757 57.183869) + (xy 244.751095 56.981782) (xy 244.654624 56.792449) (xy 244.61527 56.738282) (xy 244.615269 56.738282) + (xy 243.982962 57.37059) (xy 243.965925 57.307007) (xy 243.900099 57.192993) (xy 243.807007 57.099901) + (xy 243.692993 57.034075) (xy 243.629409 57.017037) (xy 244.261716 56.384728) (xy 244.20755 56.345375) + (xy 244.018217 56.248904) (xy 243.816129 56.183242) (xy 243.606246 56.15) (xy 243.393754 56.15) + (xy 243.183872 56.183242) (xy 243.183869 56.183242) (xy 242.981782 56.248904) (xy 242.792439 56.34538) + (xy 242.738282 56.384727) (xy 242.738282 56.384728) (xy 243.370591 57.017037) (xy 243.307007 57.034075) + (xy 243.192993 57.099901) (xy 243.099901 57.192993) (xy 243.034075 57.307007) (xy 243.017037 57.370591) + (xy 242.384728 56.738282) (xy 242.34423 56.74147) (xy 242.330618 56.73861) (xy 242.316853 56.74059) + (xy 242.297101 56.731569) (xy 242.275852 56.727106) (xy 242.265947 56.717342) (xy 242.253297 56.711565) + (xy 242.241557 56.693298) (xy 242.226095 56.678055) (xy 242.222268 56.663283) (xy 242.215523 56.652787) + (xy 242.2105 56.617852) (xy 242.2105 56.199496) (xy 242.179709 56.005096) (xy 242.179709 56.005095) + (xy 242.179709 56.005093) (xy 242.139475 55.881267) (xy 242.118884 55.817893) (xy 242.029524 55.642514) + (xy 241.913829 55.483274) (xy 237.676727 51.246172) (xy 237.517486 51.130476) (xy 237.496926 51.12) + (xy 237.342111 51.041117) (xy 237.154907 50.98029) (xy 236.960503 50.9495) (xy 236.960498 50.9495) + (xy 236.898417 50.9495) (xy 212.824397 50.9495) (xy 212.757358 50.929815) (xy 212.711603 50.877011) + (xy 212.701659 50.807853) (xy 212.730684 50.744297) (xy 212.751512 50.725181) (xy 212.799792 50.690104) + (xy 212.950104 50.539792) (xy 212.950106 50.539788) (xy 212.950109 50.539786) (xy 213.075048 50.36782) + (xy 213.075047 50.36782) (xy 213.075051 50.367816) (xy 213.171557 50.178412) (xy 213.237246 49.976243) + (xy 213.2705 49.766287) (xy 213.2705 49.553713) (xy 213.245715 49.397227) (xy 213.25467 49.327933) + (xy 213.280507 49.290148) (xy 213.753837 48.816819) (xy 213.81516 48.783334) (xy 213.841518 48.7805) + (xy 219.925501 48.7805) (xy 219.99254 48.800185) (xy 220.038295 48.852989) (xy 220.049501 48.9045) + (xy 220.049501 48.977876) (xy 220.055908 49.037483) (xy 220.106202 49.172328) (xy 220.106206 49.172335) + (xy 220.192452 49.287544) (xy 220.192455 49.287547) (xy 220.307664 49.373793) (xy 220.307671 49.373797) + (xy 220.442517 49.424091) (xy 220.442516 49.424091) (xy 220.449444 49.424835) (xy 220.502127 49.4305) + (xy 222.297872 49.430499) (xy 222.357483 49.424091) (xy 222.492331 49.373796) (xy 222.607546 49.287546) + (xy 222.693796 49.172331) (xy 222.744091 49.037483) (xy 222.7505 48.977873) (xy 222.750499 47.182128) + (xy 222.744091 47.122517) (xy 222.738037 47.106286) (xy 222.693797 46.987671) (xy 222.693793 46.987664) + (xy 222.607547 46.872455) (xy 222.607544 46.872452) (xy 222.492335 46.786206) (xy 222.492328 46.786202) + (xy 222.357482 46.735908) (xy 222.357483 46.735908) (xy 222.297883 46.729501) (xy 222.297881 46.7295) + (xy 222.297873 46.7295) (xy 222.297865 46.7295) (xy 222.287309 46.7295) (xy 222.22027 46.709815) + (xy 222.199628 46.693181) (xy 221.529408 46.022962) (xy 221.592993 46.005925) (xy 221.707007 45.940099) + (xy 221.800099 45.847007) (xy 221.865925 45.732993) (xy 221.882962 45.669408) (xy 222.51527 46.301717) + (xy 222.51527 46.301716) (xy 222.554622 46.247554) (xy 222.651095 46.058217) (xy 222.716757 45.85613) + (xy 222.716757 45.856127) (xy 222.75 45.646246) (xy 222.75 45.433753) (xy 222.716757 45.223872) + (xy 222.716757 45.223869) (xy 222.651095 45.021782) (xy 222.554624 44.832449) (xy 222.51527 44.778282) + (xy 222.515269 44.778282) (xy 221.882962 45.41059) (xy 221.865925 45.347007) (xy 221.800099 45.232993) + (xy 221.707007 45.139901) (xy 221.592993 45.074075) (xy 221.529408 45.057037) (xy 222.161716 44.424728) + (xy 222.107547 44.385373) (xy 222.107547 44.385372) (xy 222.0985 44.380763) (xy 222.047706 44.332788) + (xy 222.030912 44.264966) (xy 222.053451 44.198832) (xy 222.098508 44.159793) (xy 222.107816 44.155051) + (xy 222.189241 44.095893) (xy 222.279786 44.030109) (xy 222.279788 44.030106) (xy 222.279792 44.030104) + (xy 222.430104 43.879792) (xy 222.430106 43.879788) (xy 222.430109 43.879786) (xy 222.555048 43.70782) + (xy 222.555047 43.70782) (xy 222.555051 43.707816) (xy 222.651557 43.518412) (xy 222.717246 43.316243) + (xy 222.7505 43.106287) (xy 222.7505 42.893713) (xy 222.717246 42.683757) (xy 222.651557 42.481588) + (xy 222.555051 42.292184) (xy 222.555049 42.292181) (xy 222.555048 42.292179) (xy 222.430109 42.120213) + (xy 222.279786 41.96989) (xy 222.10782 41.844951) (xy 222.107115 41.844591) (xy 222.099054 41.840485) + (xy 222.048259 41.792512) (xy 222.031463 41.724692) (xy 222.053999 41.658556) (xy 222.099054 41.619515) + (xy 222.107816 41.615051) (xy 222.153086 41.582161) (xy 222.279786 41.490109) (xy 222.279788 41.490106) + (xy 222.279792 41.490104) (xy 222.430104 41.339792) (xy 222.430106 41.339788) (xy 222.430109 41.339786) + (xy 222.555048 41.16782) (xy 222.555047 41.16782) (xy 222.555051 41.167816) (xy 222.651557 40.978412) + (xy 222.717246 40.776243) (xy 222.7505 40.566287) (xy 222.7505 40.353713) (xy 222.717246 40.143757) + (xy 222.651557 39.941588) (xy 222.555051 39.752184) (xy 222.555049 39.752181) (xy 222.555048 39.752179) + (xy 222.430109 39.580213) (xy 222.279786 39.42989) (xy 222.10782 39.304951) (xy 221.918414 39.208444) + (xy 221.918413 39.208443) (xy 221.918412 39.208443) (xy 221.716243 39.142754) (xy 221.716241 39.142753) + (xy 221.71624 39.142753) (xy 221.553709 39.117011) (xy 221.506287 39.1095) (xy 221.293713 39.1095) + (xy 221.246291 39.117011) (xy 221.08376 39.142753) (xy 220.881585 39.208444) (xy 220.692179 39.304951) + (xy 220.520213 39.42989) (xy 220.36989 39.580213) (xy 220.244951 39.752179) (xy 220.148444 39.941585) + (xy 220.082753 40.14376) (xy 220.0495 40.353713) (xy 220.0495 40.566286) (xy 220.082753 40.776241) + (xy 220.087821 40.791837) (xy 220.089816 40.861678) (xy 220.057571 40.917837) (xy 217.057229 43.918181) + (xy 216.995906 43.951666) (xy 216.969548 43.9545) (xy 213.192981 43.9545) (xy 213.125942 43.934815) + (xy 213.082497 43.886797) (xy 213.075049 43.87218) (xy 212.950109 43.700213) (xy 212.799786 43.54989) + (xy 212.62782 43.424951) (xy 212.627115 43.424591) (xy 212.619054 43.420485) (xy 212.568259 43.372512) + (xy 212.551463 43.304692) (xy 212.573999 43.238556) (xy 212.619054 43.199515) (xy 212.627816 43.195051) + (xy 212.716171 43.130858) (xy 212.799786 43.070109) (xy 212.799788 43.070106) (xy 212.799792 43.070104) + (xy 212.950104 42.919792) (xy 212.950106 42.919788) (xy 212.950109 42.919786) (xy 213.075048 42.74782) + (xy 213.075049 42.747819) (xy 213.075051 42.747816) (xy 213.171557 42.558412) (xy 213.237246 42.356243) + (xy 213.2705 42.146287) (xy 213.2705 41.933713) (xy 213.237246 41.723757) (xy 213.171557 41.521588) + (xy 213.075051 41.332184) (xy 213.075049 41.332181) (xy 213.075048 41.332179) (xy 212.950109 41.160213) + (xy 212.79979 41.009894) (xy 212.799785 41.00989) (xy 212.794399 41.005977) (xy 212.751731 40.950649) + (xy 212.74575 40.881036) (xy 212.778354 40.81924) (xy 212.828278 40.787951) (xy 212.839117 40.784359) + (xy 212.839124 40.784356) (xy 212.988345 40.692315) (xy 213.112315 40.568345) (xy 213.204356 40.419124) + (xy 213.204358 40.419119) (xy 213.259505 40.252697) (xy 213.259506 40.25269) (xy 213.269999 40.149986) + (xy 213.27 40.149973) (xy 213.27 39.75) (xy 212.353012 39.75) (xy 212.385925 39.692993) (xy 212.42 39.565826) + (xy 212.42 39.434174) (xy 212.385925 39.307007) (xy 212.353012 39.25) (xy 213.269999 39.25) (xy 213.269999 38.850028) + (xy 213.269998 38.850013) (xy 213.259505 38.747302) (xy 213.204358 38.58088) (xy 213.204356 38.580875) + (xy 213.112315 38.431654) (xy 212.988345 38.307684) (xy 212.839124 38.215643) (xy 212.839119 38.215641) + (xy 212.672697 38.160494) (xy 212.67269 38.160493) (xy 212.569986 38.15) (xy 212.17 38.15) (xy 212.17 39.066988) + (xy 212.112993 39.034075) (xy 211.985826 39) (xy 211.854174 39) (xy 211.727007 39.034075) (xy 211.67 39.066988) + (xy 211.67 38.15) (xy 211.270028 38.15) (xy 211.270012 38.150001) (xy 211.167302 38.160494) (xy 211.00088 38.215641) + (xy 211.000875 38.215643) (xy 210.851654 38.307684) (xy 210.727684 38.431654) (xy 210.635643 38.580875) + (xy 210.635641 38.58088) (xy 210.580494 38.747302) (xy 210.580493 38.747309) (xy 210.57 38.850013) + (xy 210.57 39.25) (xy 211.486988 39.25) (xy 211.454075 39.307007) (xy 211.42 39.434174) (xy 211.42 39.565826) + (xy 211.454075 39.692993) (xy 211.486988 39.75) (xy 210.570001 39.75) (xy 210.570001 40.149986) + (xy 210.580494 40.252697) (xy 210.635641 40.419119) (xy 210.635643 40.419124) (xy 210.727684 40.568345) + (xy 210.851654 40.692315) (xy 211.000875 40.784356) (xy 211.000878 40.784357) (xy 211.011723 40.787951) + (xy 211.069167 40.827724) (xy 211.09599 40.89224) (xy 211.083675 40.961016) (xy 211.045605 41.005974) + (xy 211.040211 41.009892) (xy 210.88989 41.160213) (xy 210.76495 41.33218) (xy 210.757503 41.346797) + (xy 210.709527 41.397592) (xy 210.647019 41.4145) (xy 154.772981 41.4145) (xy 154.705942 41.394815) + (xy 154.662497 41.346797) (xy 154.655049 41.33218) (xy 154.530109 41.160213) (xy 154.37979 41.009894) + (xy 154.379785 41.00989) (xy 154.374399 41.005977) (xy 154.331731 40.950649) (xy 154.32575 40.881036) + (xy 154.358354 40.81924) (xy 154.408278 40.787951) (xy 154.419117 40.784359) (xy 154.419124 40.784356) + (xy 154.568345 40.692315) (xy 154.692315 40.568345) (xy 154.784356 40.419124) (xy 154.784358 40.419119) + (xy 154.839505 40.252697) (xy 154.839506 40.25269) (xy 154.849999 40.149986) (xy 154.85 40.149973) + (xy 154.85 39.75) (xy 153.933012 39.75) (xy 153.965925 39.692993) (xy 154 39.565826) (xy 154 39.434174) + (xy 153.965925 39.307007) (xy 153.933012 39.25) (xy 154.849999 39.25) (xy 154.849999 38.850029) + (xy 154.849998 38.850012) (xy 154.839505 38.747302) (xy 154.784358 38.58088) (xy 154.784356 38.580875) + (xy 154.692315 38.431654) (xy 154.568345 38.307684) (xy 154.419124 38.215643) (xy 154.419119 38.215641) + (xy 154.252697 38.160494) (xy 154.25269 38.160493) (xy 154.149986 38.15) (xy 153.75 38.15) (xy 153.75 39.066988) + (xy 153.692993 39.034075) (xy 153.565826 39) (xy 153.434174 39) (xy 153.307007 39.034075) (xy 153.25 39.066988) + (xy 153.25 38.15) (xy 152.850028 38.15) (xy 152.850012 38.150001) (xy 152.747302 38.160494) (xy 152.58088 38.215641) + (xy 152.580875 38.215643) (xy 152.431654 38.307684) (xy 152.307684 38.431654) (xy 152.215643 38.580875) + (xy 152.215641 38.58088) (xy 152.160494 38.747302) (xy 152.160493 38.747309) (xy 152.15 38.850013) + (xy 152.15 39.25) (xy 153.066988 39.25) (xy 153.034075 39.307007) (xy 153 39.434174) (xy 153 39.565826) + (xy 153.034075 39.692993) (xy 153.066988 39.75) (xy 152.145952 39.75) (xy 152.078913 39.730315) + (xy 152.058271 39.713681) (xy 151.765198 39.420608) (xy 151.765178 39.420586) (xy 151.673733 39.329141) + (xy 151.622509 39.294915) (xy 151.571287 39.260689) (xy 151.571286 39.260688) (xy 151.571283 39.260686) + (xy 151.57128 39.260685) (xy 151.490792 39.227347) (xy 151.457453 39.213537) (xy 151.447427 39.211543) + (xy 151.397029 39.201518) (xy 151.33661 39.1895) (xy 151.336607 39.1895) (xy 151.336606 39.1895) + (xy 144.965727 39.1895) (xy 144.938707 39.181566) (xy 144.910953 39.176747) (xy 144.905625 39.171852) + (xy 144.898688 39.169815) (xy 144.880248 39.148534) (xy 144.859504 39.129474) (xy 144.857668 39.122476) + (xy 144.852933 39.117011) (xy 144.848924 39.089131) (xy 144.84178 39.061889) (xy 144.84371 39.052872) + (xy 144.842989 39.047853) (xy 144.847818 39.027116) (xy 144.916999 38.814605) (xy 144.95 38.606246) + (xy 144.95 38.393753) (xy 144.916757 38.183872) (xy 144.916757 38.183869) (xy 144.851095 37.981782) + (xy 144.754624 37.792449) (xy 144.71527 37.738282) (xy 144.715269 37.738282) (xy 144.082962 38.370589) + (xy 144.065925 38.307007) (xy 144.000099 38.192993) (xy 143.907007 38.099901) (xy 143.792993 38.034075) + (xy 143.729409 38.017037) (xy 144.365393 37.381051) (xy 144.376871 37.326412) (xy 144.425922 37.276655) + (xy 144.447119 37.267354) (xy 144.516462 37.244377) (xy 144.666778 37.15166) (xy 144.79166 37.026778) + (xy 144.884377 36.876462) (xy 144.939929 36.708815) (xy 144.9505 36.605342) (xy 144.9505 35.314658) + (xy 144.939929 35.211185) (xy 144.884377 35.043538) (xy 144.884373 35.043532) (xy 144.884372 35.043529) + (xy 144.791662 34.893225) (xy 144.791659 34.893221) (xy 144.666778 34.76834) (xy 144.666774 34.768337) + (xy 144.51647 34.675627) (xy 144.516464 34.675624) (xy 144.516462 34.675623) (xy 144.417266 34.642753) + (xy 144.348816 34.620071) (xy 144.245349 34.6095) (xy 144.245342 34.6095) (xy 142.954658 34.6095) + (xy 142.95465 34.6095) (xy 142.851183 34.620071) (xy 142.68354 34.675622) (xy 142.683529 34.675627) + (xy 142.533225 34.768337) (xy 142.533221 34.76834) (xy 142.40834 34.893221) (xy 142.408337 34.893225) + (xy 142.315627 35.043529) (xy 142.315622 35.04354) (xy 142.260071 35.211183) (xy 142.2495 35.31465) + (xy 142.2495 36.605349) (xy 142.260071 36.708816) (xy 142.315622 36.876459) (xy 142.315627 36.87647) + (xy 142.408337 37.026774) (xy 142.40834 37.026778) (xy 142.533221 37.151659) (xy 142.533225 37.151662) + (xy 142.683529 37.244372) (xy 142.683532 37.244373) (xy 142.683538 37.244377) (xy 142.752876 37.267353) + (xy 142.810321 37.307126) (xy 142.837144 37.371642) (xy 142.837325 37.383771) (xy 143.470591 38.017037) + (xy 143.407007 38.034075) (xy 143.292993 38.099901) (xy 143.199901 38.192993) (xy 143.134075 38.307007) + (xy 143.117037 38.370591) (xy 142.484728 37.738282) (xy 142.484727 37.738282) (xy 142.44538 37.792439) + (xy 142.348904 37.981782) (xy 142.283242 38.183869) (xy 142.283242 38.183872) (xy 142.25 38.393753) + (xy 142.25 38.606246) (xy 142.283242 38.816127) (xy 142.283242 38.81613) (xy 142.348904 39.018217) + (xy 142.445376 39.207553) (xy 142.538853 39.336214) (xy 142.562332 39.402021) (xy 142.546506 39.470075) + (xy 142.526215 39.49678) (xy 141.690818 40.332179) (xy 141.476269 40.546728) (xy 141.476267 40.54673) + (xy 141.432704 40.590292) (xy 141.389142 40.633854) (xy 141.364132 40.671285) (xy 141.364131 40.671286) + (xy 141.32069 40.736297) (xy 141.32069 40.736298) (xy 141.320688 40.7363) (xy 141.320688 40.736302) + (xy 141.290901 40.808215) (xy 141.273538 40.850132) (xy 141.273535 40.850144) (xy 141.2495 40.970977) + (xy 141.2495 46.189017) (xy 141.256913 46.226287) (xy 141.256913 46.226296) (xy 141.273535 46.309856) + (xy 141.273537 46.309864) (xy 141.287205 46.342861) (xy 141.287205 46.342862) (xy 141.320685 46.423692) + (xy 141.320687 46.423695) (xy 141.320688 46.423698) (xy 141.354844 46.474815) (xy 141.354914 46.474919) + (xy 141.354915 46.474921) (xy 141.38914 46.526143) (xy 141.389141 46.526144) (xy 141.389142 46.526145) + (xy 141.476267 46.61327) (xy 141.476268 46.61327) (xy 141.483335 46.620337) (xy 141.483334 46.620337) + (xy 141.483338 46.62034) (xy 142.525858 47.662861) (xy 142.559343 47.724184) (xy 142.554359 47.793876) + (xy 142.538495 47.823427) (xy 142.44495 47.95218) (xy 142.437503 47.966797) (xy 142.389527 48.017592) + (xy 142.327019 48.0345) (xy 142.077558 48.0345) (xy 142.010519 48.014815) (xy 141.989877 47.998181) + (xy 135.161819 41.170123) (xy 135.128334 41.1088) (xy 135.1255 41.082442) (xy 135.1255 32.9745) + (xy 135.145185 32.907461) (xy 135.197989 32.861706) (xy 135.2495 32.8505) (xy 136.9755 32.8505) + (xy 137.042539 32.870185) (xy 137.088294 32.922989) (xy 137.0995 32.9745) (xy 137.0995 33.088695) + (xy 137.134103 33.262658) (xy 137.134106 33.262667) (xy 137.201983 33.42654) (xy 137.20199 33.426553) + (xy 137.300535 33.574034) (xy 137.300538 33.574038) (xy 137.425961 33.699461) (xy 137.425965 33.699464) + (xy 137.573446 33.798009) (xy 137.573459 33.798016) (xy 137.696363 33.848923) (xy 137.737334 33.865894) + (xy 137.737336 33.865894) (xy 137.737341 33.865896) (xy 137.911304 33.900499) (xy 137.911307 33.9005) + (xy 137.911309 33.9005) (xy 138.088693 33.9005) (xy 138.088694 33.900499) (xy 138.146682 33.888964) + (xy 138.262658 33.865896) (xy 138.262661 33.865894) (xy 138.262666 33.865894) (xy 138.426547 33.798013) + (xy 138.574035 33.699464) (xy 138.611679 33.66182) (xy 138.673001 33.628334) (xy 138.699361 33.6255) + (xy 245.727529 33.6255) (xy 245.794568 33.645185) (xy 245.840323 33.697989) (xy 245.850267 33.767147) + (xy 245.838014 33.805795) (xy 245.748444 33.981585) (xy 245.682753 34.18376) (xy 245.6495 34.393713) + (xy 245.6495 34.606286) (xy 245.680965 34.804951) (xy 245.682754 34.816243) (xy 245.719682 34.929896) + (xy 245.748444 35.018414) (xy 245.844951 35.20782) (xy 245.96989 35.379786) (xy 245.969896 35.379792) + (xy 246.120208 35.530104) (xy 246.285219 35.649991) (xy 246.327884 35.705319) (xy 246.333863 35.774932) + (xy 246.301258 35.836728) (xy 246.285218 35.850626) (xy 246.238282 35.884726) (xy 246.238282 35.884728) + (xy 246.870591 36.517037) (xy 246.807007 36.534075) (xy 246.692993 36.599901) (xy 246.599901 36.692993) + (xy 246.534075 36.807007) (xy 246.517037 36.87059) (xy 245.884728 36.238282) (xy 245.884727 36.238282) + (xy 245.84538 36.292439) (xy 245.748904 36.481782) (xy 245.683242 36.683869) (xy 245.683242 36.683872) + (xy 245.65 36.893753) (xy 245.65 37.106246) (xy 245.683242 37.316127) (xy 245.683242 37.31613) (xy 245.748904 37.518217) + (xy 245.845375 37.70755) (xy 245.884728 37.761716) (xy 246.517037 37.129408) (xy 246.534075 37.192993) + (xy 246.599901 37.307007) (xy 246.692993 37.400099) (xy 246.807007 37.465925) (xy 246.87059 37.482962) + (xy 246.238282 38.115269) (xy 246.238282 38.11527) (xy 246.285219 38.149371) (xy 246.327885 38.204701) + (xy 246.333864 38.274314) (xy 246.301259 38.33611) (xy 246.285219 38.350008) (xy 246.120214 38.46989) + (xy 246.120209 38.469894) (xy 245.96989 38.620213) (xy 245.844951 38.792179) (xy 245.748444 38.981585) + (xy 245.682753 39.18376) (xy 245.6495 39.393713) (xy 245.6495 39.606286) (xy 245.672508 39.751557) + (xy 245.682754 39.816243) (xy 245.723481 39.941588) (xy 245.748444 40.018414) (xy 245.844951 40.20782) + (xy 245.96989 40.379786) (xy 246.120209 40.530105) (xy 246.120214 40.530109) (xy 246.284793 40.649682) + (xy 246.327459 40.705011) (xy 246.333438 40.774625) (xy 246.300833 40.83642) (xy 246.284793 40.850318) + (xy 246.120214 40.96989) (xy 246.120209 40.969894) (xy 245.96989 41.120213) (xy 245.844951 41.292179) + (xy 245.748444 41.481585) (xy 245.682753 41.68376) (xy 245.6495 41.893713) (xy 245.6495 42.106286) + (xy 245.682753 42.316239) (xy 245.748444 42.518414) (xy 245.844951 42.70782) (xy 245.96989 42.879786) + (xy 246.120209 43.030105) (xy 246.120214 43.030109) (xy 246.284793 43.149682) (xy 246.327459 43.205011) + (xy 246.333438 43.274625) (xy 246.300833 43.33642) (xy 246.284793 43.350318) (xy 246.120214 43.46989) + (xy 246.120209 43.469894) (xy 245.96989 43.620213) (xy 245.844951 43.792179) (xy 245.748444 43.981585) + (xy 245.748443 43.981587) (xy 245.748443 43.981588) (xy 245.732296 44.031282) (xy 245.682753 44.18376) + (xy 245.6495 44.393713) (xy 245.6495 44.606286) (xy 245.676741 44.778282) (xy 245.682754 44.816243) + (xy 245.73555 44.978733) (xy 245.748444 45.018414) (xy 245.844951 45.20782) (xy 245.96989 45.379786) + (xy 246.120209 45.530105) (xy 246.120214 45.530109) (xy 246.284793 45.649682) (xy 246.327459 45.705011) + (xy 246.333438 45.774625) (xy 246.300833 45.83642) (xy 246.284793 45.850318) (xy 246.120214 45.96989) + (xy 246.120209 45.969894) (xy 245.96989 46.120213) (xy 245.844951 46.292179) (xy 245.748444 46.481585) + (xy 245.682753 46.68376) (xy 245.652867 46.872452) (xy 245.6495 46.893713) (xy 245.6495 47.106287) + (xy 245.652071 47.122517) (xy 245.681291 47.307011) (xy 245.682754 47.316243) (xy 245.744069 47.504951) + (xy 245.748444 47.518414) (xy 245.844951 47.70782) (xy 245.96989 47.879786) (xy 246.108705 48.018601) + (xy 246.14219 48.079924) (xy 246.137206 48.149616) (xy 246.095334 48.205549) (xy 246.086121 48.211821) + (xy 245.931342 48.307289) (xy 245.807289 48.431342) (xy 245.715187 48.580663) (xy 245.715186 48.580666) + (xy 245.660001 48.747203) (xy 245.660001 48.747204) (xy 245.66 48.747204) (xy 245.6495 48.849983) + (xy 245.6495 50.150001) (xy 245.649501 50.150018) (xy 245.66 50.252796) (xy 245.660001 50.252799) + (xy 245.715185 50.419331) (xy 245.715186 50.419334) (xy 245.807288 50.568656) (xy 245.931344 50.692712) + (xy 246.080666 50.784814) (xy 246.247203 50.839999) (xy 246.349991 50.8505) (xy 247.650008 50.850499) + (xy 247.752797 50.839999) (xy 247.919334 50.784814) (xy 248.068656 50.692712) (xy 248.192712 50.568656) + (xy 248.284814 50.419334) (xy 248.339999 50.252797) (xy 248.3505 50.150009) (xy 248.350499 50.08409) + (xy 248.370183 50.017052) (xy 248.395834 49.988237) (xy 248.398725 49.985863) (xy 248.398733 49.985858) + (xy 248.485858 49.898733) (xy 248.485858 49.898731) (xy 248.496062 49.888528) (xy 248.496065 49.888523) + (xy 251.485858 46.898733) (xy 251.554312 46.796285) (xy 251.601463 46.682451) (xy 251.625501 46.561606) + (xy 251.625501 46.438393) (xy 251.625501 46.433283) (xy 251.6255 46.433257) (xy 251.6255 32.731286) + (xy 251.625499 32.731282) (xy 251.601464 32.610448) (xy 251.601463 32.610441) (xy 251.554311 32.496607) + (xy 251.55431 32.496606) (xy 251.554307 32.4966) (xy 251.485859 32.394161) (xy 251.485858 32.39416) + (xy 251.398733 32.307035) (xy 251.398732 32.307034) (xy 250.425033 31.333337) (xy 250.425031 31.333334) + (xy 250.425031 31.333335) (xy 250.417964 31.326268) (xy 250.417964 31.326267) (xy 250.330839 31.239142) + (xy 250.330838 31.239141) (xy 250.330837 31.23914) (xy 250.29996 31.218509) (xy 250.28268 31.197833) + (xy 250.228394 31.170689) (xy 250.203759 31.160485) (xy 250.161709 31.143067) (xy 250.139996 31.134073) + (xy 250.114564 31.123539) (xy 250.114552 31.123535) (xy 249.993716 31.0995) (xy 249.993712 31.0995) + (xy 134.213394 31.0995) (xy 134.213389 31.0995) (xy 134.092553 31.123535) (xy 134.092541 31.123539) + (xy 134.060262 31.136909) (xy 134.045397 31.143067) (xy 133.978719 31.170685) (xy 133.978717 31.170686) + (xy 133.876266 31.239141) (xy 133.876263 31.239144) (xy 133.601269 31.51414) (xy 133.601267 31.514142) + (xy 133.56696 31.548449) (xy 133.514144 31.601264) (xy 133.514142 31.601267) (xy 133.499262 31.623537) + (xy 133.499261 31.623539) (xy 133.49926 31.623538) (xy 133.445689 31.703712) (xy 133.445685 31.703719) + (xy 133.39854 31.817538) (xy 133.398537 31.817547) (xy 133.375356 31.934094) (xy 133.375352 31.934111) + (xy 133.3745 31.938388) (xy 133.3745 31.938394) (xy 133.3745 41.661607) (xy 133.398537 41.782453) + (xy 133.398538 41.782456) (xy 133.404267 41.796287) (xy 133.445686 41.896285) (xy 133.445691 41.896293) + (xy 133.465961 41.926626) (xy 133.465963 41.926633) (xy 133.465965 41.926633) (xy 133.514138 41.998729) + (xy 133.514144 41.998737) (xy 133.605586 42.090179) (xy 133.605608 42.090199) (xy 142.257571 50.742162) + (xy 142.291056 50.803485) (xy 142.287821 50.86816) (xy 142.282754 50.883753) (xy 142.261904 51.015398) + (xy 142.231975 51.078533) (xy 142.172663 51.115464) (xy 142.139431 51.12) (xy 129.820569 51.12) + (xy 129.75353 51.100315) (xy 129.707775 51.047511) (xy 129.698096 51.015398) (xy 129.695886 51.001447) + (xy 129.677246 50.883757) (xy 129.611557 50.681588) (xy 129.515051 50.492184) (xy 129.515049 50.492181) + (xy 129.515048 50.492179) (xy 129.390109 50.320213) (xy 129.239786 50.16989) (xy 129.06782 50.044951) + (xy 129.067115 50.044591) (xy 129.059054 50.040485) (xy 129.008259 49.992512) (xy 128.991463 49.924692) + (xy 129.013999 49.858556) (xy 129.059054 49.819515) (xy 129.067816 49.815051) (xy 129.089789 49.799086) + (xy 129.239786 49.690109) (xy 129.239788 49.690106) (xy 129.239792 49.690104) (xy 129.390104 49.539792) + (xy 129.390106 49.539788) (xy 129.390109 49.539786) (xy 129.515048 49.36782) (xy 129.515047 49.36782) + (xy 129.515051 49.367816) (xy 129.611557 49.178412) (xy 129.677246 48.976243) (xy 129.7105 48.766287) + (xy 129.7105 48.553713) (xy 129.677246 48.343757) (xy 129.611557 48.141588) (xy 129.515051 47.952184) + (xy 129.515049 47.952181) (xy 129.515048 47.952179) (xy 129.390109 47.780213) (xy 129.239786 47.62989) + (xy 129.06782 47.504951) (xy 129.067115 47.504591) (xy 129.059054 47.500485) (xy 129.008259 47.452512) + (xy 128.991463 47.384692) (xy 129.013999 47.318556) (xy 129.059054 47.279515) (xy 129.067816 47.275051) + (xy 129.119015 47.237853) (xy 129.239786 47.150109) (xy 129.239788 47.150106) (xy 129.239792 47.150104) + (xy 129.390104 46.999792) (xy 129.390106 46.999788) (xy 129.390109 46.999786) (xy 129.515048 46.82782) + (xy 129.51505 46.827817) (xy 129.515051 46.827816) (xy 129.611557 46.638412) (xy 129.677246 46.436243) + (xy 129.7105 46.226287) (xy 129.7105 46.013713) (xy 129.677246 45.803757) (xy 129.611557 45.601588) + (xy 129.515051 45.412184) (xy 129.515049 45.412181) (xy 129.515048 45.412179) (xy 129.390109 45.240213) + (xy 129.239786 45.08989) (xy 129.06782 44.964951) (xy 129.067115 44.964591) (xy 129.059054 44.960485) + (xy 129.008259 44.912512) (xy 128.991463 44.844692) (xy 129.013999 44.778556) (xy 129.059054 44.739515) + (xy 129.067816 44.735051) (xy 129.118342 44.698342) (xy 129.239786 44.610109) (xy 129.239788 44.610106) + (xy 129.239792 44.610104) (xy 129.390104 44.459792) (xy 129.390106 44.459788) (xy 129.390109 44.459786) + (xy 129.515048 44.28782) (xy 129.515049 44.287819) (xy 129.515051 44.287816) (xy 129.611557 44.098412) + (xy 129.677246 43.896243) (xy 129.7105 43.686287) (xy 129.7105 43.473713) (xy 129.677246 43.263757) + (xy 129.611557 43.061588) (xy 129.515051 42.872184) (xy 129.515049 42.872181) (xy 129.515048 42.872179) + (xy 129.390109 42.700213) (xy 129.239786 42.54989) (xy 129.06782 42.424951) (xy 129.067115 42.424591) + (xy 129.059054 42.420485) (xy 129.008259 42.372512) (xy 128.991463 42.304692) (xy 129.013999 42.238556) + (xy 129.059054 42.199515) (xy 129.067816 42.195051) (xy 129.089789 42.179086) (xy 129.239786 42.070109) + (xy 129.239788 42.070106) (xy 129.239792 42.070104) (xy 129.390104 41.919792) (xy 129.390106 41.919788) + (xy 129.390109 41.919786) (xy 129.515048 41.74782) (xy 129.515047 41.74782) (xy 129.515051 41.747816) + (xy 129.611557 41.558412) (xy 129.677246 41.356243) (xy 129.7105 41.146287) (xy 129.7105 40.933713) + (xy 129.677246 40.723757) (xy 129.611557 40.521588) (xy 129.515051 40.332184) (xy 129.515049 40.332181) + (xy 129.515048 40.332179) (xy 129.390109 40.160213) (xy 129.239786 40.00989) (xy 129.06782 39.884951) + (xy 129.067115 39.884591) (xy 129.059054 39.880485) (xy 129.008259 39.832512) (xy 128.991463 39.764692) + (xy 129.013999 39.698556) (xy 129.059054 39.659515) (xy 129.067816 39.655051) (xy 129.089789 39.639086) + (xy 129.239786 39.530109) (xy 129.239788 39.530106) (xy 129.239792 39.530104) (xy 129.390104 39.379792) + (xy 129.390106 39.379788) (xy 129.390109 39.379786) (xy 129.515048 39.20782) (xy 129.515047 39.20782) + (xy 129.515051 39.207816) (xy 129.611557 39.018412) (xy 129.677246 38.816243) (xy 129.7105 38.606287) + (xy 129.7105 38.393713) (xy 129.677246 38.183757) (xy 129.611557 37.981588) (xy 129.515051 37.792184) + (xy 129.515049 37.792181) (xy 129.515048 37.792179) (xy 129.390109 37.620213) (xy 129.239786 37.46989) + (xy 129.06782 37.344951) (xy 129.067115 37.344591) (xy 129.059054 37.340485) (xy 129.008259 37.292512) + (xy 128.991463 37.224692) (xy 129.013999 37.158556) (xy 129.059054 37.119515) (xy 129.067816 37.115051) + (xy 129.135569 37.065826) (xy 129.239786 36.990109) (xy 129.239788 36.990106) (xy 129.239792 36.990104) + (xy 129.390104 36.839792) (xy 129.390106 36.839788) (xy 129.390109 36.839786) (xy 129.515048 36.66782) + (xy 129.515047 36.66782) (xy 129.515051 36.667816) (xy 129.611557 36.478412) (xy 129.677246 36.276243) + (xy 129.7105 36.066287) (xy 129.7105 35.853713) (xy 129.677246 35.643757) (xy 129.611557 35.441588) + (xy 129.515051 35.252184) (xy 129.515049 35.252181) (xy 129.515048 35.252179) (xy 129.390109 35.080213) + (xy 129.239786 34.92989) (xy 129.06782 34.804951) (xy 128.878414 34.708444) (xy 128.878413 34.708443) + (xy 128.878412 34.708443) (xy 128.676243 34.642754) (xy 128.676241 34.642753) (xy 128.67624 34.642753) + (xy 128.514957 34.617208) (xy 128.466287 34.6095) (xy 128.253713 34.6095) (xy 128.205042 34.617208) + (xy 128.04376 34.642753) (xy 127.841585 34.708444) (xy 127.652179 34.804951) (xy 127.480213 34.92989) + (xy 127.32989 35.080213) (xy 127.204951 35.252179) (xy 127.108444 35.441585) (xy 127.042753 35.64376) + (xy 127.0095 35.853713) (xy 127.0095 36.066286) (xy 127.036741 36.238282) (xy 127.042754 36.276243) + (xy 127.048016 36.292439) (xy 127.108444 36.478414) (xy 127.204951 36.66782) (xy 127.32989 36.839786) + (xy 127.480213 36.990109) (xy 127.652182 37.11505) (xy 127.660946 37.119516) (xy 127.711742 37.167491) + (xy 127.728536 37.235312) (xy 127.705998 37.301447) (xy 127.660946 37.340484) (xy 127.652182 37.344949) + (xy 127.480213 37.46989) (xy 127.32989 37.620213) (xy 127.204951 37.792179) (xy 127.108444 37.981585) + (xy 127.042753 38.18376) (xy 127.0095 38.393713) (xy 127.0095 38.606286) (xy 127.042735 38.816127) + (xy 127.042754 38.816243) (xy 127.053731 38.850028) (xy 127.108444 39.018414) (xy 127.204951 39.20782) + (xy 127.32989 39.379786) (xy 127.480213 39.530109) (xy 127.652182 39.65505) (xy 127.660946 39.659516) + (xy 127.711742 39.707491) (xy 127.728536 39.775312) (xy 127.705998 39.841447) (xy 127.660946 39.880484) + (xy 127.652182 39.884949) (xy 127.480213 40.00989) (xy 127.32989 40.160213) (xy 127.204951 40.332179) + (xy 127.108444 40.521585) (xy 127.042753 40.72376) (xy 127.0095 40.933713) (xy 127.0095 41.146286) + (xy 127.042754 41.356244) (xy 127.042754 41.356247) (xy 127.056491 41.398523) (xy 127.058486 41.468364) + (xy 127.026241 41.524522) (xy 124.631286 43.919478) (xy 124.519481 44.031282) (xy 124.51948 44.031284) + (xy 124.475185 44.108007) (xy 124.469361 44.118094) (xy 124.469359 44.118096) (xy 124.440425 44.168209) + (xy 124.440424 44.16821) (xy 124.430432 44.2055) (xy 124.399499 44.320943) (xy 124.399499 44.320945) + (xy 124.399499 44.489046) (xy 124.3995 44.489059) (xy 124.3995 60.696171) (xy 124.399499 60.696189) + (xy 124.399499 60.861895) (xy 124.399498 60.861895) (xy 124.0005 60.861895) (xy 124.0005 32.004427) + (xy 124.000816 31.995581) (xy 124.004906 31.938394) (xy 124.01513 31.795436) (xy 124.017646 31.777938) + (xy 124.059356 31.5862) (xy 124.064335 31.569242) (xy 124.132911 31.385382) (xy 124.140251 31.36931) + (xy 124.234294 31.197083) (xy 124.24385 31.182214) (xy 124.361443 31.025128) (xy 124.373017 31.011771) + (xy 124.511771 30.873017) (xy 124.525128 30.861443) (xy 124.682214 30.74385) (xy 124.697083 30.734294) + (xy 124.86931 30.640251) (xy 124.885382 30.632911) (xy 125.069242 30.564335) (xy 125.0862 30.559356) + (xy 125.277938 30.517646) (xy 125.295436 30.51513) (xy 125.495582 30.500816) (xy 125.504428 30.5005) + (xy 125.565892 30.5005) (xy 250.434108 30.5005) (xy 250.495572 30.5005) + ) + ) + (filled_polygon + (layer "B.Cu") + (pts + (xy 156.742539 34.220185) (xy 156.788294 34.272989) (xy 156.7995 34.3245) (xy 156.7995 45.31848) + (xy 156.779815 45.385519) (xy 156.763181 45.406161) (xy 155.062181 47.107161) (xy 155.000858 47.140646) + (xy 154.931166 47.135662) (xy 154.875233 47.09379) (xy 154.850816 47.028326) (xy 154.8505 47.01948) + (xy 154.8505 47.013713) (xy 154.845481 46.982026) (xy 154.817246 46.803757) (xy 154.751557 46.601588) + (xy 154.655051 46.412184) (xy 154.655049 46.412181) (xy 154.655048 46.412179) (xy 154.530109 46.240213) + (xy 154.379786 46.08989) (xy 154.20782 45.964951) (xy 154.207115 45.964591) (xy 154.199054 45.960485) + (xy 154.148259 45.912512) (xy 154.131463 45.844692) (xy 154.153999 45.778556) (xy 154.199054 45.739515) + (xy 154.207816 45.735051) (xy 154.249163 45.705011) (xy 154.379786 45.610109) (xy 154.379788 45.610106) + (xy 154.379792 45.610104) (xy 154.530104 45.459792) (xy 154.530106 45.459788) (xy 154.530109 45.459786) + (xy 154.655048 45.28782) (xy 154.655047 45.28782) (xy 154.655051 45.287816) (xy 154.751557 45.098412) + (xy 154.817246 44.896243) (xy 154.8505 44.686287) (xy 154.8505 44.473713) (xy 154.817246 44.263757) + (xy 154.751557 44.061588) (xy 154.655051 43.872184) (xy 154.655049 43.872181) (xy 154.655048 43.872179) + (xy 154.530109 43.700213) (xy 154.379786 43.54989) (xy 154.20782 43.424951) (xy 154.207115 43.424591) + (xy 154.199054 43.420485) (xy 154.148259 43.372512) (xy 154.131463 43.304692) (xy 154.153999 43.238556) + (xy 154.199054 43.199515) (xy 154.207816 43.195051) (xy 154.229789 43.179086) (xy 154.379786 43.070109) + (xy 154.379788 43.070106) (xy 154.379792 43.070104) (xy 154.530104 42.919792) (xy 154.530106 42.919788) + (xy 154.530109 42.919786) (xy 154.655048 42.74782) (xy 154.655047 42.74782) (xy 154.655051 42.747816) + (xy 154.751557 42.558412) (xy 154.817246 42.356243) (xy 154.8505 42.146287) (xy 154.8505 41.933713) + (xy 154.817246 41.723757) (xy 154.751557 41.521588) (xy 154.655051 41.332184) (xy 154.655049 41.332181) + (xy 154.655048 41.332179) (xy 154.530109 41.160213) (xy 154.37979 41.009894) (xy 154.379785 41.00989) + (xy 154.374399 41.005977) (xy 154.331731 40.950649) (xy 154.32575 40.881036) (xy 154.358354 40.81924) + (xy 154.408278 40.787951) (xy 154.419117 40.784359) (xy 154.419124 40.784356) (xy 154.568345 40.692315) + (xy 154.692315 40.568345) (xy 154.784356 40.419124) (xy 154.784358 40.419119) (xy 154.839505 40.252697) + (xy 154.839506 40.25269) (xy 154.849999 40.149986) (xy 154.85 40.149973) (xy 154.85 39.75) (xy 153.933012 39.75) + (xy 153.965925 39.692993) (xy 154 39.565826) (xy 154 39.434174) (xy 153.965925 39.307007) (xy 153.933012 39.25) + (xy 154.849999 39.25) (xy 154.849999 38.850028) (xy 154.849998 38.850013) (xy 154.839505 38.747302) + (xy 154.784358 38.58088) (xy 154.784356 38.580875) (xy 154.692315 38.431654) (xy 154.568345 38.307684) + (xy 154.419124 38.215643) (xy 154.419119 38.215641) (xy 154.252697 38.160494) (xy 154.25269 38.160493) + (xy 154.149986 38.15) (xy 153.75 38.15) (xy 153.75 39.066988) (xy 153.692993 39.034075) (xy 153.565826 39) + (xy 153.434174 39) (xy 153.307007 39.034075) (xy 153.25 39.066988) (xy 153.25 38.15) (xy 152.850028 38.15) + (xy 152.850012 38.150001) (xy 152.747302 38.160494) (xy 152.58088 38.215641) (xy 152.580875 38.215643) + (xy 152.431654 38.307684) (xy 152.307684 38.431654) (xy 152.215643 38.580875) (xy 152.215641 38.58088) + (xy 152.160494 38.747302) (xy 152.160493 38.747309) (xy 152.15 38.850013) (xy 152.15 39.25) (xy 153.066988 39.25) + (xy 153.034075 39.307007) (xy 153 39.434174) (xy 153 39.565826) (xy 153.034075 39.692993) (xy 153.066988 39.75) + (xy 152.150001 39.75) (xy 152.150001 40.149986) (xy 152.160494 40.252697) (xy 152.215641 40.419119) + (xy 152.215643 40.419124) (xy 152.307684 40.568345) (xy 152.431654 40.692315) (xy 152.580875 40.784356) + (xy 152.580878 40.784357) (xy 152.591723 40.787951) (xy 152.649167 40.827724) (xy 152.67599 40.89224) + (xy 152.663675 40.961016) (xy 152.625605 41.005974) (xy 152.620211 41.009892) (xy 152.46989 41.160213) + (xy 152.344951 41.332179) (xy 152.248444 41.521585) (xy 152.182753 41.72376) (xy 152.1495 41.933713) + (xy 152.1495 42.146286) (xy 152.176418 42.316243) (xy 152.182754 42.356243) (xy 152.223481 42.481588) + (xy 152.248444 42.558414) (xy 152.344951 42.74782) (xy 152.46989 42.919786) (xy 152.620213 43.070109) + (xy 152.792182 43.19505) (xy 152.800946 43.199516) (xy 152.851742 43.247491) (xy 152.868536 43.315312) + (xy 152.845998 43.381447) (xy 152.800946 43.420484) (xy 152.792182 43.424949) (xy 152.620213 43.54989) + (xy 152.46989 43.700213) (xy 152.344951 43.872179) (xy 152.248444 44.061585) (xy 152.182753 44.26376) + (xy 152.1495 44.473713) (xy 152.1495 44.686286) (xy 152.172508 44.831557) (xy 152.182754 44.896243) + (xy 152.240535 45.074075) (xy 152.248444 45.098414) (xy 152.344951 45.28782) (xy 152.46989 45.459786) + (xy 152.620213 45.610109) (xy 152.792182 45.73505) (xy 152.800946 45.739516) (xy 152.851742 45.787491) + (xy 152.868536 45.855312) (xy 152.845998 45.921447) (xy 152.800946 45.960484) (xy 152.792182 45.964949) + (xy 152.620213 46.08989) (xy 152.46989 46.240213) (xy 152.344951 46.412179) (xy 152.248444 46.601585) + (xy 152.182753 46.80376) (xy 152.1495 47.013713) (xy 152.1495 47.226286) (xy 152.177264 47.401584) + (xy 152.182754 47.436243) (xy 152.235449 47.598422) (xy 152.248444 47.638414) (xy 152.344951 47.82782) + (xy 152.46989 47.999786) (xy 152.620213 48.150109) (xy 152.792182 48.27505) (xy 152.800946 48.279516) + (xy 152.851742 48.327491) (xy 152.868536 48.395312) (xy 152.845998 48.461447) (xy 152.800946 48.500484) + (xy 152.792182 48.504949) (xy 152.620213 48.62989) (xy 152.46989 48.780213) (xy 152.344951 48.952179) + (xy 152.287218 49.065488) (xy 152.239244 49.116284) (xy 152.171423 49.133079) (xy 152.105288 49.110542) + (xy 152.089052 49.096874) (xy 151.786819 48.794641) (xy 151.753334 48.733318) (xy 151.7505 48.70696) + (xy 151.7505 40.401577) (xy 151.723055 40.228299) (xy 151.719709 40.207174) (xy 151.70445 40.160213) + (xy 151.702226 40.153367) (xy 151.658885 40.019976) (xy 151.658884 40.019973) (xy 151.58781 39.880484) + (xy 151.569524 39.844595) (xy 151.453829 39.685355) (xy 146.774646 35.006172) (xy 146.615405 34.890476) + (xy 146.44003 34.801117) (xy 146.252826 34.74029) (xy 146.058422 34.7095) (xy 146.058417 34.7095) + (xy 144.606551 34.7095) (xy 144.541453 34.691038) (xy 144.531172 34.684696) (xy 144.516466 34.675625) + (xy 144.516463 34.675623) (xy 144.516462 34.675623) (xy 144.417266 34.642753) (xy 144.348816 34.620071) + (xy 144.245349 34.6095) (xy 144.245342 34.6095) (xy 142.954658 34.6095) (xy 142.95465 34.6095) (xy 142.851183 34.620071) + (xy 142.68354 34.675622) (xy 142.683529 34.675627) (xy 142.533225 34.768337) (xy 142.533221 34.76834) + (xy 142.40834 34.893221) (xy 142.408337 34.893225) (xy 142.315627 35.043529) (xy 142.315622 35.04354) + (xy 142.260071 35.211183) (xy 142.2495 35.31465) (xy 142.2495 36.605349) (xy 142.260071 36.708816) + (xy 142.315622 36.876459) (xy 142.315627 36.87647) (xy 142.408337 37.026774) (xy 142.40834 37.026778) + (xy 142.533221 37.151659) (xy 142.533225 37.151662) (xy 142.683529 37.244372) (xy 142.683532 37.244373) + (xy 142.683538 37.244377) (xy 142.752876 37.267353) (xy 142.810321 37.307126) (xy 142.837144 37.371642) + (xy 142.837325 37.383771) (xy 143.470591 38.017037) (xy 143.407007 38.034075) (xy 143.292993 38.099901) + (xy 143.199901 38.192993) (xy 143.134075 38.307007) (xy 143.117037 38.370591) (xy 142.484728 37.738282) + (xy 142.484727 37.738282) (xy 142.44538 37.792439) (xy 142.348904 37.981782) (xy 142.283242 38.183869) + (xy 142.283242 38.183872) (xy 142.25 38.393753) (xy 142.25 38.399981) (xy 142.230315 38.46702) (xy 142.177511 38.512775) + (xy 142.108353 38.522719) (xy 142.044797 38.493694) (xy 142.038319 38.487662) (xy 140.236819 36.686162) + (xy 140.203334 36.624839) (xy 140.2005 36.598481) (xy 140.2005 34.841519) (xy 140.220185 34.77448) + (xy 140.236819 34.753838) (xy 140.753838 34.236819) (xy 140.815161 34.203334) (xy 140.841519 34.2005) + (xy 156.6755 34.2005) + ) + ) + (filled_polygon + (layer "B.Cu") + (pts + (xy 250.504418 30.500816) (xy 250.704561 30.51513) (xy 250.722063 30.517647) (xy 250.913795 30.559355) + (xy 250.93076 30.564336) (xy 251.114611 30.632909) (xy 251.130694 30.640253) (xy 251.247495 30.704032) + (xy 251.302908 30.73429) (xy 251.317791 30.743855) (xy 251.474864 30.861438) (xy 251.488235 30.873024) + (xy 251.626975 31.011764) (xy 251.638561 31.025135) (xy 251.756144 31.182208) (xy 251.765709 31.197091) + (xy 251.859743 31.3693) (xy 251.867093 31.385394) (xy 251.935661 31.569234) (xy 251.940645 31.586209) + (xy 251.982351 31.777931) (xy 251.984869 31.795442) (xy 251.999184 31.99558) (xy 251.9995 32.004427) + (xy 251.9995 60.995572) (xy 251.999184 61.004419) (xy 251.984869 61.204557) (xy 251.982351 61.222068) + (xy 251.940645 61.41379) (xy 251.935661 61.430765) (xy 251.867093 61.614605) (xy 251.859743 61.630699) + (xy 251.765709 61.802908) (xy 251.756144 61.817791) (xy 251.638561 61.974864) (xy 251.626975 61.988235) + (xy 251.488235 62.126975) (xy 251.474864 62.138561) (xy 251.317791 62.256144) (xy 251.302908 62.265709) + (xy 251.130699 62.359743) (xy 251.114605 62.367093) (xy 250.930765 62.435661) (xy 250.91379 62.440645) + (xy 250.722068 62.482351) (xy 250.704557 62.484869) (xy 250.523779 62.497799) (xy 250.504417 62.499184) + (xy 250.495572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) + (xy 125.295442 62.484869) (xy 125.277931 62.482351) (xy 125.086209 62.440645) (xy 125.069234 62.435661) + (xy 124.885394 62.367093) (xy 124.8693 62.359743) (xy 124.697091 62.265709) (xy 124.682208 62.256144) + (xy 124.525135 62.138561) (xy 124.511764 62.126975) (xy 124.373024 61.988235) (xy 124.361438 61.974864) + (xy 124.243855 61.817791) (xy 124.23429 61.802908) (xy 124.140256 61.630699) (xy 124.132909 61.614611) + (xy 124.064336 61.43076) (xy 124.059354 61.41379) (xy 124.017648 61.222068) (xy 124.01513 61.204556) + (xy 124.000816 61.004418) (xy 124.0005 60.995572) (xy 124.0005 35.853713) (xy 127.0095 35.853713) + (xy 127.0095 36.066286) (xy 127.042753 36.276239) (xy 127.108444 36.478414) (xy 127.204951 36.66782) + (xy 127.32989 36.839786) (xy 127.480213 36.990109) (xy 127.652182 37.11505) (xy 127.660946 37.119516) + (xy 127.711742 37.167491) (xy 127.728536 37.235312) (xy 127.705998 37.301447) (xy 127.660946 37.340484) + (xy 127.652182 37.344949) (xy 127.480213 37.46989) (xy 127.32989 37.620213) (xy 127.204951 37.792179) + (xy 127.108444 37.981585) (xy 127.042753 38.18376) (xy 127.0095 38.393713) (xy 127.0095 38.606286) + (xy 127.042735 38.816127) (xy 127.042754 38.816243) (xy 127.053731 38.850028) (xy 127.108444 39.018414) + (xy 127.204951 39.20782) (xy 127.32989 39.379786) (xy 127.480213 39.530109) (xy 127.652182 39.65505) + (xy 127.660946 39.659516) (xy 127.711742 39.707491) (xy 127.728536 39.775312) (xy 127.705998 39.841447) + (xy 127.660946 39.880484) (xy 127.652182 39.884949) (xy 127.480213 40.00989) (xy 127.32989 40.160213) + (xy 127.204951 40.332179) (xy 127.108444 40.521585) (xy 127.042753 40.72376) (xy 127.0095 40.933713) + (xy 127.0095 41.146286) (xy 127.039442 41.335337) (xy 127.042754 41.356243) (xy 127.086248 41.490104) + (xy 127.108444 41.558414) (xy 127.204951 41.74782) (xy 127.32989 41.919786) (xy 127.480213 42.070109) + (xy 127.652182 42.19505) (xy 127.660946 42.199516) (xy 127.711742 42.247491) (xy 127.728536 42.315312) + (xy 127.705998 42.381447) (xy 127.660946 42.420484) (xy 127.652182 42.424949) (xy 127.480213 42.54989) + (xy 127.32989 42.700213) (xy 127.204951 42.872179) (xy 127.108444 43.061585) (xy 127.042753 43.26376) + (xy 127.0095 43.473713) (xy 127.0095 43.686286) (xy 127.038942 43.872179) (xy 127.042754 43.896243) + (xy 127.086248 44.030104) (xy 127.108444 44.098414) (xy 127.204951 44.28782) (xy 127.32989 44.459786) + (xy 127.480213 44.610109) (xy 127.652182 44.73505) (xy 127.660946 44.739516) (xy 127.711742 44.787491) + (xy 127.728536 44.855312) (xy 127.705998 44.921447) (xy 127.660946 44.960484) (xy 127.652182 44.964949) + (xy 127.480213 45.08989) (xy 127.32989 45.240213) (xy 127.204951 45.412179) (xy 127.108444 45.601585) + (xy 127.042753 45.80376) (xy 127.0095 46.013713) (xy 127.0095 46.226286) (xy 127.042753 46.436239) + (xy 127.108444 46.638414) (xy 127.204951 46.82782) (xy 127.32989 46.999786) (xy 127.480213 47.150109) + (xy 127.652182 47.27505) (xy 127.660946 47.279516) (xy 127.711742 47.327491) (xy 127.728536 47.395312) + (xy 127.705998 47.461447) (xy 127.660946 47.500484) (xy 127.652182 47.504949) (xy 127.480213 47.62989) + (xy 127.32989 47.780213) (xy 127.204951 47.952179) (xy 127.108444 48.141585) (xy 127.042753 48.34376) + (xy 127.0095 48.553713) (xy 127.0095 48.766286) (xy 127.038942 48.952179) (xy 127.042754 48.976243) + (xy 127.106468 49.172335) (xy 127.108444 49.178414) (xy 127.204951 49.36782) (xy 127.32989 49.539786) + (xy 127.480213 49.690109) (xy 127.652182 49.81505) (xy 127.660946 49.819516) (xy 127.711742 49.867491) + (xy 127.728536 49.935312) (xy 127.705998 50.001447) (xy 127.660946 50.040484) (xy 127.652182 50.044949) + (xy 127.480213 50.16989) (xy 127.32989 50.320213) (xy 127.204951 50.492179) (xy 127.108444 50.681585) + (xy 127.042753 50.88376) (xy 127.0095 51.093713) (xy 127.0095 51.306286) (xy 127.038942 51.492179) + (xy 127.042754 51.516243) (xy 127.088129 51.655893) (xy 127.108444 51.718414) (xy 127.204951 51.90782) + (xy 127.32989 52.079786) (xy 127.480213 52.230109) (xy 127.652182 52.35505) (xy 127.660946 52.359516) + (xy 127.711742 52.407491) (xy 127.728536 52.475312) (xy 127.705998 52.541447) (xy 127.660946 52.580484) + (xy 127.652182 52.584949) (xy 127.480213 52.70989) (xy 127.32989 52.860213) (xy 127.204951 53.032179) + (xy 127.108444 53.221585) (xy 127.042753 53.42376) (xy 127.0095 53.633713) (xy 127.0095 53.846286) + (xy 127.042753 54.056239) (xy 127.108444 54.258414) (xy 127.204951 54.44782) (xy 127.32989 54.619786) + (xy 127.480213 54.770109) (xy 127.652182 54.89505) (xy 127.660946 54.899516) (xy 127.711742 54.947491) + (xy 127.728536 55.015312) (xy 127.705998 55.081447) (xy 127.660946 55.120484) (xy 127.652182 55.124949) + (xy 127.480213 55.24989) (xy 127.32989 55.400213) (xy 127.204951 55.572179) (xy 127.108444 55.761585) + (xy 127.042753 55.96376) (xy 127.0095 56.173713) (xy 127.0095 56.386286) (xy 127.040724 56.583431) + (xy 127.042754 56.596243) (xy 127.106505 56.792449) (xy 127.108444 56.798414) (xy 127.204951 56.98782) + (xy 127.32989 57.159786) (xy 127.480213 57.310109) (xy 127.652179 57.435048) (xy 127.652181 57.435049) + (xy 127.652184 57.435051) (xy 127.841588 57.531557) (xy 128.043757 57.597246) (xy 128.253713 57.6305) + (xy 128.253714 57.6305) (xy 128.466286 57.6305) (xy 128.466287 57.6305) (xy 128.676243 57.597246) + (xy 128.878412 57.531557) (xy 129.067816 57.435051) (xy 129.153973 57.372455) (xy 129.239786 57.310109) + (xy 129.239788 57.310106) (xy 129.239792 57.310104) (xy 129.368319 57.181577) (xy 129.429642 57.148092) + (xy 129.499334 57.153076) (xy 129.555267 57.194948) (xy 129.579684 57.260412) (xy 129.58 57.269258) + (xy 129.58 58.92) (xy 142.64 58.92) (xy 142.64 57.495193) (xy 142.659685 57.428154) (xy 142.712489 57.382399) + (xy 142.781647 57.372455) (xy 142.836885 57.394875) (xy 142.892179 57.435048) (xy 142.892181 57.435049) + (xy 142.892184 57.435051) (xy 143.081588 57.531557) (xy 143.283757 57.597246) (xy 143.493713 57.6305) + (xy 143.493714 57.6305) (xy 143.706286 57.6305) (xy 143.706287 57.6305) (xy 143.916243 57.597246) + (xy 144.118412 57.531557) (xy 144.307816 57.435051) (xy 144.393973 57.372455) (xy 144.479786 57.310109) + (xy 144.479788 57.310106) (xy 144.479792 57.310104) (xy 144.630104 57.159792) (xy 144.630106 57.159788) + (xy 144.630109 57.159786) (xy 144.755048 56.98782) (xy 144.755047 56.98782) (xy 144.755051 56.987816) + (xy 144.851557 56.798412) (xy 144.915332 56.602135) (xy 234.5295 56.602135) (xy 234.5295 58.39787) + (xy 234.529501 58.397876) (xy 234.535908 58.457483) (xy 234.586202 58.592328) (xy 234.586206 58.592335) + (xy 234.672452 58.707544) (xy 234.672455 58.707547) (xy 234.787664 58.793793) (xy 234.787671 58.793797) + (xy 234.922517 58.844091) (xy 234.922516 58.844091) (xy 234.929444 58.844835) (xy 234.982127 58.8505) + (xy 236.777872 58.850499) (xy 236.837483 58.844091) (xy 236.972331 58.793796) (xy 237.087546 58.707546) + (xy 237.173796 58.592331) (xy 237.22281 58.460916) (xy 237.264681 58.404984) (xy 237.330145 58.380566) + (xy 237.398418 58.395417) (xy 237.426673 58.416569) (xy 237.540213 58.530109) (xy 237.712179 58.655048) + (xy 237.712181 58.655049) (xy 237.712184 58.655051) (xy 237.901588 58.751557) (xy 238.103757 58.817246) + (xy 238.313713 58.8505) (xy 238.313714 58.8505) (xy 238.526286 58.8505) (xy 238.526287 58.8505) + (xy 238.736243 58.817246) (xy 238.938412 58.751557) (xy 239.127816 58.655051) (xy 239.214138 58.592335) + (xy 239.299786 58.530109) (xy 239.299788 58.530106) (xy 239.299792 58.530104) (xy 239.450104 58.379792) + (xy 239.450106 58.379788) (xy 239.450109 58.379786) (xy 239.575048 58.20782) (xy 239.575047 58.20782) + (xy 239.575051 58.207816) (xy 239.579514 58.199054) (xy 239.627488 58.148259) (xy 239.695308 58.131463) + (xy 239.761444 58.153999) (xy 239.800486 58.199056) (xy 239.804951 58.20782) (xy 239.92989 58.379786) + (xy 240.080213 58.530109) (xy 240.252179 58.655048) (xy 240.252181 58.655049) (xy 240.252184 58.655051) + (xy 240.441588 58.751557) (xy 240.643757 58.817246) (xy 240.853713 58.8505) (xy 240.853714 58.8505) + (xy 241.066286 58.8505) (xy 241.066287 58.8505) (xy 241.276243 58.817246) (xy 241.478412 58.751557) + (xy 241.667816 58.655051) (xy 241.754138 58.592335) (xy 241.839786 58.530109) (xy 241.839788 58.530106) + (xy 241.839792 58.530104) (xy 241.990104 58.379792) (xy 241.990106 58.379788) (xy 241.990109 58.379786) + (xy 242.07589 58.261717) (xy 242.115051 58.207816) (xy 242.119793 58.198508) (xy 242.167763 58.147711) + (xy 242.235583 58.130911) (xy 242.301719 58.153445) (xy 242.340763 58.1985) (xy 242.345373 58.207547) + (xy 242.384728 58.261716) (xy 243.017037 57.629408) (xy 243.034075 57.692993) (xy 243.099901 57.807007) + (xy 243.192993 57.900099) (xy 243.307007 57.965925) (xy 243.37059 57.982962) (xy 242.738282 58.615269) + (xy 242.738282 58.61527) (xy 242.792449 58.654624) (xy 242.981782 58.751095) (xy 243.18387 58.816757) + (xy 243.393754 58.85) (xy 243.606246 58.85) (xy 243.816127 58.816757) (xy 243.81613 58.816757) (xy 244.018217 58.751095) + (xy 244.207554 58.654622) (xy 244.261716 58.61527) (xy 244.261717 58.61527) (xy 243.629408 57.982962) + (xy 243.692993 57.965925) (xy 243.807007 57.900099) (xy 243.900099 57.807007) (xy 243.965925 57.692993) + (xy 243.982962 57.629409) (xy 244.61527 58.261717) (xy 244.61527 58.261716) (xy 244.654622 58.207554) + (xy 244.751095 58.018217) (xy 244.816757 57.81613) (xy 244.816757 57.816127) (xy 244.85 57.606246) + (xy 244.85 57.393753) (xy 244.816757 57.183872) (xy 244.816757 57.183869) (xy 244.751095 56.981782) + (xy 244.654624 56.792449) (xy 244.61527 56.738282) (xy 244.615269 56.738282) (xy 243.982962 57.37059) + (xy 243.965925 57.307007) (xy 243.900099 57.192993) (xy 243.807007 57.099901) (xy 243.692993 57.034075) + (xy 243.629409 57.017037) (xy 244.261716 56.384728) (xy 244.20755 56.345375) (xy 244.018217 56.248904) + (xy 243.816129 56.183242) (xy 243.606246 56.15) (xy 243.393754 56.15) (xy 243.183872 56.183242) + (xy 243.183869 56.183242) (xy 242.981782 56.248904) (xy 242.792439 56.34538) (xy 242.738282 56.384727) + (xy 242.738282 56.384728) (xy 243.370591 57.017037) (xy 243.307007 57.034075) (xy 243.192993 57.099901) + (xy 243.099901 57.192993) (xy 243.034075 57.307007) (xy 243.017037 57.370591) (xy 242.384728 56.738282) + (xy 242.384727 56.738282) (xy 242.34538 56.79244) (xy 242.345376 56.792446) (xy 242.34076 56.801505) + (xy 242.292781 56.852297) (xy 242.224959 56.869087) (xy 242.158826 56.846543) (xy 242.119794 56.801493) + (xy 242.115051 56.792184) (xy 242.115049 56.792181) (xy 242.115048 56.792179) (xy 241.990109 56.620213) + (xy 241.839786 56.46989) (xy 241.66782 56.344951) (xy 241.478414 56.248444) (xy 241.478413 56.248443) + (xy 241.478412 56.248443) (xy 241.276243 56.182754) (xy 241.276241 56.182753) (xy 241.27624 56.182753) + (xy 241.114957 56.157208) (xy 241.066287 56.1495) (xy 240.853713 56.1495) (xy 240.805042 56.157208) + (xy 240.64376 56.182753) (xy 240.441585 56.248444) (xy 240.252179 56.344951) (xy 240.080213 56.46989) + (xy 239.92989 56.620213) (xy 239.804949 56.792182) (xy 239.800484 56.800946) (xy 239.752509 56.851742) + (xy 239.684688 56.868536) (xy 239.618553 56.845998) (xy 239.579516 56.800946) (xy 239.57505 56.792182) + (xy 239.450109 56.620213) (xy 239.299786 56.46989) (xy 239.12782 56.344951) (xy 238.938414 56.248444) + (xy 238.938413 56.248443) (xy 238.938412 56.248443) (xy 238.736243 56.182754) (xy 238.736241 56.182753) + (xy 238.73624 56.182753) (xy 238.574957 56.157208) (xy 238.526287 56.1495) (xy 238.313713 56.1495) + (xy 238.265042 56.157208) (xy 238.10376 56.182753) (xy 237.901585 56.248444) (xy 237.712179 56.344951) + (xy 237.540215 56.469889) (xy 237.426673 56.583431) (xy 237.36535 56.616915) (xy 237.295658 56.611931) + (xy 237.239725 56.570059) (xy 237.22281 56.539082) (xy 237.173797 56.407671) (xy 237.173793 56.407664) + (xy 237.087547 56.292455) (xy 237.087544 56.292452) (xy 236.972335 56.206206) (xy 236.972328 56.206202) + (xy 236.837482 56.155908) (xy 236.837483 56.155908) (xy 236.777883 56.149501) (xy 236.777881 56.1495) + (xy 236.777873 56.1495) (xy 236.777864 56.1495) (xy 234.982129 56.1495) (xy 234.982123 56.149501) + (xy 234.922516 56.155908) (xy 234.787671 56.206202) (xy 234.787664 56.206206) (xy 234.672455 56.292452) + (xy 234.672452 56.292455) (xy 234.586206 56.407664) (xy 234.586202 56.407671) (xy 234.535908 56.542517) + (xy 234.529501 56.602116) (xy 234.5295 56.602135) (xy 144.915332 56.602135) (xy 144.917246 56.596243) + (xy 144.9505 56.386287) (xy 144.9505 56.173713) (xy 144.917246 55.963757) (xy 144.851557 55.761588) + (xy 144.755051 55.572184) (xy 144.755049 55.572181) (xy 144.755048 55.572179) (xy 144.630109 55.400213) + (xy 144.479786 55.24989) (xy 144.30782 55.124951) (xy 144.307115 55.124591) (xy 144.299054 55.120485) + (xy 144.248259 55.072512) (xy 144.231463 55.004692) (xy 144.253999 54.938556) (xy 144.299054 54.899515) + (xy 144.307816 54.895051) (xy 144.329789 54.879086) (xy 144.479786 54.770109) (xy 144.479788 54.770106) + (xy 144.479792 54.770104) (xy 144.630104 54.619792) (xy 144.630106 54.619788) (xy 144.630109 54.619786) + (xy 144.755048 54.44782) (xy 144.755047 54.44782) (xy 144.755051 54.447816) (xy 144.851557 54.258412) + (xy 144.917246 54.056243) (xy 144.9505 53.846287) (xy 144.9505 53.633713) (xy 144.917246 53.423757) + (xy 144.912177 53.408159) (xy 144.910183 53.338321) (xy 144.942428 53.282162) (xy 145.310855 52.913736) + (xy 145.310855 52.913735) (xy 145.310858 52.913733) (xy 145.379312 52.811285) (xy 145.426463 52.697451) + (xy 145.448841 52.584951) (xy 145.450501 52.576608) (xy 145.450501 52.448283) (xy 145.4505 52.448257) + (xy 145.4505 48.220329) (xy 145.450501 48.220308) (xy 145.450501 48.090979) (xy 145.426464 47.970143) + (xy 145.426463 47.970137) (xy 145.379312 47.856303) (xy 145.310858 47.753855) (xy 145.310855 47.753851) + (xy 144.674141 47.117138) (xy 144.640656 47.055815) (xy 144.64564 46.986124) (xy 144.661499 46.956579) + (xy 144.755051 46.827816) (xy 144.851557 46.638412) (xy 144.917246 46.436243) (xy 144.9505 46.226287) + (xy 144.9505 46.013713) (xy 144.917246 45.803757) (xy 144.851557 45.601588) (xy 144.755051 45.412184) + (xy 144.755049 45.412181) (xy 144.755048 45.412179) (xy 144.630109 45.240213) (xy 144.479786 45.08989) + (xy 144.30782 44.964951) (xy 144.307115 44.964591) (xy 144.299054 44.960485) (xy 144.248259 44.912512) + (xy 144.231463 44.844692) (xy 144.253999 44.778556) (xy 144.299054 44.739515) (xy 144.307816 44.735051) + (xy 144.329789 44.719086) (xy 144.479786 44.610109) (xy 144.479788 44.610106) (xy 144.479792 44.610104) + (xy 144.630104 44.459792) (xy 144.630106 44.459788) (xy 144.630109 44.459786) (xy 144.755048 44.28782) + (xy 144.755047 44.28782) (xy 144.755051 44.287816) (xy 144.851557 44.098412) (xy 144.917246 43.896243) + (xy 144.9505 43.686287) (xy 144.9505 43.473713) (xy 144.917246 43.263757) (xy 144.851557 43.061588) + (xy 144.755051 42.872184) (xy 144.755049 42.872181) (xy 144.755048 42.872179) (xy 144.630109 42.700213) + (xy 144.479786 42.54989) (xy 144.30782 42.424951) (xy 144.307115 42.424591) (xy 144.299054 42.420485) + (xy 144.248259 42.372512) (xy 144.231463 42.304692) (xy 144.253999 42.238556) (xy 144.299054 42.199515) + (xy 144.307816 42.195051) (xy 144.329789 42.179086) (xy 144.479786 42.070109) (xy 144.479788 42.070106) + (xy 144.479792 42.070104) (xy 144.630104 41.919792) (xy 144.630106 41.919788) (xy 144.630109 41.919786) + (xy 144.755048 41.74782) (xy 144.755047 41.74782) (xy 144.755051 41.747816) (xy 144.851557 41.558412) + (xy 144.917246 41.356243) (xy 144.9505 41.146287) (xy 144.9505 40.933713) (xy 144.917246 40.723757) + (xy 144.851557 40.521588) (xy 144.755051 40.332184) (xy 144.755049 40.332181) (xy 144.755048 40.332179) + (xy 144.630109 40.160213) (xy 144.479786 40.00989) (xy 144.307817 39.884949) (xy 144.298504 39.880204) + (xy 144.247707 39.83223) (xy 144.230912 39.764409) (xy 144.253449 39.698274) (xy 144.298507 39.659232) + (xy 144.307555 39.654622) (xy 144.361716 39.61527) (xy 144.361717 39.61527) (xy 143.729408 38.982962) + (xy 143.792993 38.965925) (xy 143.907007 38.900099) (xy 144.000099 38.807007) (xy 144.065925 38.692993) + (xy 144.082962 38.629408) (xy 144.71527 39.261717) (xy 144.71527 39.261716) (xy 144.754622 39.207554) + (xy 144.851095 39.018217) (xy 144.916757 38.81613) (xy 144.916757 38.816127) (xy 144.95 38.606246) + (xy 144.95 38.393753) (xy 144.916757 38.183872) (xy 144.916757 38.183869) (xy 144.851095 37.981782) + (xy 144.754624 37.792449) (xy 144.71527 37.738282) (xy 144.715269 37.738282) (xy 144.082962 38.37059) + (xy 144.065925 38.307007) (xy 144.000099 38.192993) (xy 143.907007 38.099901) (xy 143.792993 38.034075) + (xy 143.729409 38.017037) (xy 144.365393 37.381051) (xy 144.376871 37.326412) (xy 144.425922 37.276655) + (xy 144.447119 37.267354) (xy 144.516462 37.244377) (xy 144.541453 37.228961) (xy 144.606551 37.2105) + (xy 145.390664 37.2105) (xy 145.457703 37.230185) (xy 145.478345 37.246819) (xy 149.213181 40.981655) + (xy 149.246666 41.042978) (xy 149.2495 41.069336) (xy 149.2495 49.374718) (xy 149.28029 49.569122) + (xy 149.341117 49.756326) (xy 149.397759 49.867491) (xy 149.430476 49.931701) (xy 149.546172 50.090942) + (xy 149.546174 50.090944) (xy 152.31226 52.85703) (xy 152.335063 52.888415) (xy 152.344949 52.907817) + (xy 152.46989 53.079786) (xy 152.620213 53.230109) (xy 152.792179 53.355048) (xy 152.792181 53.355049) + (xy 152.792184 53.355051) (xy 152.981588 53.451557) (xy 153.183757 53.517246) (xy 153.393713 53.5505) + (xy 153.393714 53.5505) (xy 153.606286 53.5505) (xy 153.606287 53.5505) (xy 153.816243 53.517246) + (xy 154.018412 53.451557) (xy 154.207816 53.355051) (xy 154.325535 53.269524) (xy 154.379786 53.230109) + (xy 154.379788 53.230106) (xy 154.379792 53.230104) (xy 154.530104 53.079792) (xy 154.530106 53.079788) + (xy 154.530109 53.079786) (xy 154.655048 52.90782) (xy 154.65505 52.907817) (xy 154.655051 52.907816) + (xy 154.751557 52.718412) (xy 154.817246 52.516243) (xy 154.8505 52.306287) (xy 154.8505 52.093713) + (xy 154.817246 51.883757) (xy 154.751557 51.681588) (xy 154.655051 51.492184) (xy 154.655049 51.492181) + (xy 154.655048 51.492179) (xy 154.530109 51.320213) (xy 154.379786 51.16989) (xy 154.20782 51.044951) + (xy 154.207115 51.044591) (xy 154.199054 51.040485) (xy 154.148259 50.992512) (xy 154.131463 50.924692) + (xy 154.153999 50.858556) (xy 154.199054 50.819515) (xy 154.207816 50.815051) (xy 154.249437 50.784812) + (xy 154.379786 50.690109) (xy 154.379788 50.690106) (xy 154.379792 50.690104) (xy 154.530104 50.539792) + (xy 154.530106 50.539788) (xy 154.530109 50.539786) (xy 154.655048 50.36782) (xy 154.655047 50.36782) + (xy 154.655051 50.367816) (xy 154.751557 50.178412) (xy 154.817246 49.976243) (xy 154.8505 49.766287) + (xy 154.8505 49.553713) (xy 154.825715 49.397227) (xy 154.83467 49.327933) (xy 154.860504 49.290151) + (xy 158.044114 46.106543) (xy 158.120775 45.991811) (xy 158.17358 45.864329) (xy 158.185828 45.802754) + (xy 158.195114 45.756069) (xy 158.2005 45.728995) (xy 158.2005 41.933713) (xy 210.5695 41.933713) + (xy 210.5695 42.146286) (xy 210.596418 42.316243) (xy 210.602754 42.356243) (xy 210.643481 42.481588) + (xy 210.668444 42.558414) (xy 210.764951 42.74782) (xy 210.88989 42.919786) (xy 211.040213 43.070109) + (xy 211.212182 43.19505) (xy 211.220946 43.199516) (xy 211.271742 43.247491) (xy 211.288536 43.315312) + (xy 211.265998 43.381447) (xy 211.220946 43.420484) (xy 211.212182 43.424949) (xy 211.040213 43.54989) + (xy 210.88989 43.700213) (xy 210.764951 43.872179) (xy 210.668444 44.061585) (xy 210.602753 44.26376) + (xy 210.5695 44.473713) (xy 210.5695 44.686286) (xy 210.592508 44.831557) (xy 210.602754 44.896243) + (xy 210.660535 45.074075) (xy 210.668444 45.098414) (xy 210.764951 45.28782) (xy 210.88989 45.459786) + (xy 211.040213 45.610109) (xy 211.212182 45.73505) (xy 211.220946 45.739516) (xy 211.271742 45.787491) + (xy 211.288536 45.855312) (xy 211.265998 45.921447) (xy 211.220946 45.960484) (xy 211.212182 45.964949) + (xy 211.040213 46.08989) (xy 210.88989 46.240213) (xy 210.764951 46.412179) (xy 210.668444 46.601585) + (xy 210.602753 46.80376) (xy 210.5695 47.013713) (xy 210.5695 47.226286) (xy 210.597264 47.401584) + (xy 210.602754 47.436243) (xy 210.655449 47.598422) (xy 210.668444 47.638414) (xy 210.764951 47.82782) + (xy 210.88989 47.999786) (xy 211.040213 48.150109) (xy 211.212182 48.27505) (xy 211.220946 48.279516) + (xy 211.271742 48.327491) (xy 211.288536 48.395312) (xy 211.265998 48.461447) (xy 211.220946 48.500484) + (xy 211.212182 48.504949) (xy 211.040213 48.62989) (xy 210.88989 48.780213) (xy 210.764951 48.952179) + (xy 210.668444 49.141585) (xy 210.602753 49.34376) (xy 210.5695 49.553713) (xy 210.5695 49.766286) + (xy 210.592508 49.911557) (xy 210.602754 49.976243) (xy 210.659217 50.150018) (xy 210.668444 50.178414) + (xy 210.764951 50.36782) (xy 210.88989 50.539786) (xy 211.040213 50.690109) (xy 211.212182 50.81505) + (xy 211.220946 50.819516) (xy 211.271742 50.867491) (xy 211.288536 50.935312) (xy 211.265998 51.001447) + (xy 211.220946 51.040484) (xy 211.212182 51.044949) (xy 211.040213 51.16989) (xy 210.88989 51.320213) + (xy 210.764951 51.492179) (xy 210.668444 51.681585) (xy 210.602753 51.88376) (xy 210.5695 52.093713) + (xy 210.5695 52.306286) (xy 210.592798 52.453387) (xy 210.602754 52.516243) (xy 210.661632 52.697451) + (xy 210.668444 52.718414) (xy 210.764951 52.90782) (xy 210.88989 53.079786) (xy 211.040213 53.230109) + (xy 211.212179 53.355048) (xy 211.212181 53.355049) (xy 211.212184 53.355051) (xy 211.401588 53.451557) + (xy 211.603757 53.517246) (xy 211.813713 53.5505) (xy 211.813714 53.5505) (xy 212.026286 53.5505) + (xy 212.026287 53.5505) (xy 212.236243 53.517246) (xy 212.438412 53.451557) (xy 212.627816 53.355051) + (xy 212.745535 53.269524) (xy 212.799786 53.230109) (xy 212.799788 53.230106) (xy 212.799792 53.230104) + (xy 212.950104 53.079792) (xy 212.950106 53.079788) (xy 212.950109 53.079786) (xy 213.075048 52.90782) + (xy 213.07505 52.907817) (xy 213.075051 52.907816) (xy 213.171557 52.718412) (xy 213.237246 52.516243) + (xy 213.2705 52.306287) (xy 213.2705 52.093713) (xy 213.237246 51.883757) (xy 213.171557 51.681588) + (xy 213.075051 51.492184) (xy 213.075049 51.492181) (xy 213.075048 51.492179) (xy 212.950109 51.320213) + (xy 212.799792 51.169896) (xy 212.752496 51.135534) (xy 212.627816 51.044949) (xy 212.617115 51.039496) + (xy 235.611581 51.039496) (xy 235.611581 52.298422) (xy 235.642371 52.492826) (xy 235.703198 52.680029) + (xy 235.770077 52.811285) (xy 235.792557 52.855405) (xy 235.908253 53.014646) (xy 236.047435 53.153828) + (xy 236.206676 53.269524) (xy 236.23148 53.282162) (xy 236.382051 53.358882) (xy 236.382053 53.358882) + (xy 236.382056 53.358884) (xy 236.482398 53.391487) (xy 236.569254 53.419709) (xy 236.763659 53.4505) + (xy 236.763664 53.4505) (xy 236.960503 53.4505) (xy 237.154907 53.419709) (xy 237.342106 53.358884) + (xy 237.517486 53.269524) (xy 237.676727 53.153828) (xy 237.815909 53.014646) (xy 237.931605 52.855405) + (xy 238.020965 52.680025) (xy 238.08179 52.492826) (xy 238.088036 52.453393) (xy 238.112581 52.298422) + (xy 238.112581 51.707255) (xy 238.132266 51.640216) (xy 238.1489 51.619574) (xy 239.792235 49.976239) + (xy 241.453828 48.314646) (xy 241.547233 48.186086) (xy 241.569524 48.155405) (xy 241.658884 47.980025) + (xy 241.699945 47.853652) (xy 241.719709 47.792827) (xy 241.736504 47.686785) (xy 241.7505 47.598422) + (xy 241.7505 41.453039) (xy 241.770185 41.386) (xy 241.786814 41.365363) (xy 245.589427 37.56275) + (xy 245.650746 37.529268) (xy 245.720438 37.534252) (xy 245.776371 37.576124) (xy 245.787589 37.594139) + (xy 245.845375 37.70755) (xy 245.884728 37.761716) (xy 246.517037 37.129408) (xy 246.534075 37.192993) + (xy 246.599901 37.307007) (xy 246.692993 37.400099) (xy 246.807007 37.465925) (xy 246.87059 37.482962) + (xy 246.238282 38.115269) (xy 246.238282 38.11527) (xy 246.285219 38.149371) (xy 246.327885 38.204701) + (xy 246.333864 38.274314) (xy 246.301259 38.33611) (xy 246.285219 38.350008) (xy 246.120214 38.46989) + (xy 246.120209 38.469894) (xy 245.96989 38.620213) (xy 245.844951 38.792179) (xy 245.748444 38.981585) + (xy 245.682753 39.18376) (xy 245.6495 39.393713) (xy 245.6495 39.606286) (xy 245.672508 39.751557) + (xy 245.682754 39.816243) (xy 245.723481 39.941588) (xy 245.748444 40.018414) (xy 245.844951 40.20782) + (xy 245.96989 40.379786) (xy 246.120209 40.530105) (xy 246.120214 40.530109) (xy 246.284793 40.649682) + (xy 246.327459 40.705011) (xy 246.333438 40.774625) (xy 246.300833 40.83642) (xy 246.284793 40.850318) + (xy 246.120214 40.96989) (xy 246.120209 40.969894) (xy 245.96989 41.120213) (xy 245.844951 41.292179) + (xy 245.748444 41.481585) (xy 245.682753 41.68376) (xy 245.6495 41.893713) (xy 245.6495 42.106286) + (xy 245.682753 42.316239) (xy 245.748444 42.518414) (xy 245.844951 42.70782) (xy 245.96989 42.879786) + (xy 246.120209 43.030105) (xy 246.120214 43.030109) (xy 246.284793 43.149682) (xy 246.327459 43.205011) + (xy 246.333438 43.274625) (xy 246.300833 43.33642) (xy 246.284793 43.350318) (xy 246.120214 43.46989) + (xy 246.120209 43.469894) (xy 245.96989 43.620213) (xy 245.844951 43.792179) (xy 245.748444 43.981585) + (xy 245.748443 43.981587) (xy 245.748443 43.981588) (xy 245.72245 44.061585) (xy 245.682753 44.18376) + (xy 245.6495 44.393713) (xy 245.6495 44.606286) (xy 245.676741 44.778282) (xy 245.682754 44.816243) + (xy 245.731072 44.964951) (xy 245.748444 45.018414) (xy 245.844951 45.20782) (xy 245.96989 45.379786) + (xy 246.120209 45.530105) (xy 246.120214 45.530109) (xy 246.284793 45.649682) (xy 246.327459 45.705011) + (xy 246.333438 45.774625) (xy 246.300833 45.83642) (xy 246.284793 45.850318) (xy 246.120214 45.96989) + (xy 246.120209 45.969894) (xy 245.96989 46.120213) (xy 245.844951 46.292179) (xy 245.748444 46.481585) + (xy 245.682753 46.68376) (xy 245.652867 46.872452) (xy 245.6495 46.893713) (xy 245.6495 47.106287) + (xy 245.652071 47.122517) (xy 245.676936 47.279514) (xy 245.682754 47.316243) (xy 245.744069 47.504951) + (xy 245.748444 47.518414) (xy 245.844951 47.70782) (xy 245.96989 47.879786) (xy 246.108705 48.018601) + (xy 246.14219 48.079924) (xy 246.137206 48.149616) (xy 246.095334 48.205549) (xy 246.086121 48.211821) + (xy 245.931342 48.307289) (xy 245.807289 48.431342) (xy 245.715187 48.580663) (xy 245.715186 48.580666) + (xy 245.660001 48.747203) (xy 245.660001 48.747204) (xy 245.66 48.747204) (xy 245.6495 48.849983) + (xy 245.6495 50.150001) (xy 245.649501 50.150018) (xy 245.66 50.252796) (xy 245.660001 50.252799) + (xy 245.698116 50.36782) (xy 245.715186 50.419334) (xy 245.807288 50.568656) (xy 245.931344 50.692712) + (xy 246.080666 50.784814) (xy 246.247203 50.839999) (xy 246.349991 50.8505) (xy 247.650008 50.850499) + (xy 247.752797 50.839999) (xy 247.919334 50.784814) (xy 248.068656 50.692712) (xy 248.192712 50.568656) + (xy 248.284814 50.419334) (xy 248.339999 50.252797) (xy 248.3505 50.150009) (xy 248.350499 48.849992) + (xy 248.34337 48.780208) (xy 248.339999 48.747203) (xy 248.339998 48.7472) (xy 248.301125 48.62989) + (xy 248.284814 48.580666) (xy 248.192712 48.431344) (xy 248.068656 48.307288) (xy 247.919334 48.215186) + (xy 247.919333 48.215185) (xy 247.913878 48.211821) (xy 247.867154 48.159873) (xy 247.855931 48.09091) + (xy 247.883775 48.026828) (xy 247.891272 48.018623) (xy 248.030104 47.879792) (xy 248.047171 47.856302) + (xy 248.155048 47.70782) (xy 248.155047 47.70782) (xy 248.155051 47.707816) (xy 248.251557 47.518412) + (xy 248.317246 47.316243) (xy 248.3505 47.106287) (xy 248.3505 46.893713) (xy 248.317246 46.683757) + (xy 248.251557 46.481588) (xy 248.155051 46.292184) (xy 248.155049 46.292181) (xy 248.155048 46.292179) + (xy 248.030109 46.120213) (xy 247.879792 45.969896) (xy 247.866837 45.960484) (xy 247.715204 45.850316) + (xy 247.67254 45.794989) (xy 247.666561 45.725376) (xy 247.699166 45.66358) (xy 247.715199 45.649686) + (xy 247.879792 45.530104) (xy 248.030104 45.379792) (xy 248.030106 45.379788) (xy 248.030109 45.379786) + (xy 248.155048 45.20782) (xy 248.155047 45.20782) (xy 248.155051 45.207816) (xy 248.251557 45.018412) + (xy 248.317246 44.816243) (xy 248.3505 44.606287) (xy 248.3505 44.393713) (xy 248.317246 44.183757) + (xy 248.251557 43.981588) (xy 248.155051 43.792184) (xy 248.155049 43.792181) (xy 248.155048 43.792179) + (xy 248.030109 43.620213) (xy 247.879792 43.469896) (xy 247.811784 43.420486) (xy 247.715204 43.350316) + (xy 247.67254 43.294989) (xy 247.666561 43.225376) (xy 247.699166 43.16358) (xy 247.715199 43.149686) + (xy 247.879792 43.030104) (xy 248.030104 42.879792) (xy 248.030106 42.879788) (xy 248.030109 42.879786) + (xy 248.155048 42.70782) (xy 248.155047 42.70782) (xy 248.155051 42.707816) (xy 248.251557 42.518412) + (xy 248.317246 42.316243) (xy 248.3505 42.106287) (xy 248.3505 41.893713) (xy 248.317246 41.683757) + (xy 248.251557 41.481588) (xy 248.155051 41.292184) (xy 248.155049 41.292181) (xy 248.155048 41.292179) + (xy 248.030109 41.120213) (xy 247.879792 40.969896) (xy 247.86757 40.961016) (xy 247.715204 40.850316) + (xy 247.67254 40.794989) (xy 247.666561 40.725376) (xy 247.699166 40.66358) (xy 247.715199 40.649686) + (xy 247.879792 40.530104) (xy 248.030104 40.379792) (xy 248.030106 40.379788) (xy 248.030109 40.379786) + (xy 248.155048 40.20782) (xy 248.155047 40.20782) (xy 248.155051 40.207816) (xy 248.251557 40.018412) + (xy 248.317246 39.816243) (xy 248.3505 39.606287) (xy 248.3505 39.393713) (xy 248.317246 39.183757) + (xy 248.251557 38.981588) (xy 248.155051 38.792184) (xy 248.155049 38.792181) (xy 248.155048 38.792179) + (xy 248.030109 38.620213) (xy 247.87979 38.469894) (xy 247.879785 38.46989) (xy 247.714781 38.350008) + (xy 247.672115 38.294678) (xy 247.666136 38.225065) (xy 247.698741 38.16327) (xy 247.714781 38.149372) + (xy 247.761716 38.115271) (xy 247.761717 38.11527) (xy 247.129408 37.482962) (xy 247.192993 37.465925) + (xy 247.307007 37.400099) (xy 247.400099 37.307007) (xy 247.465925 37.192993) (xy 247.482962 37.129408) + (xy 248.11527 37.761717) (xy 248.11527 37.761716) (xy 248.154622 37.707554) (xy 248.251095 37.518217) + (xy 248.316757 37.31613) (xy 248.316757 37.316127) (xy 248.35 37.106246) (xy 248.35 36.893753) (xy 248.316757 36.683872) + (xy 248.316757 36.683869) (xy 248.251095 36.481782) (xy 248.154624 36.292449) (xy 248.11527 36.238282) + (xy 248.115269 36.238282) (xy 247.482962 36.87059) (xy 247.465925 36.807007) (xy 247.400099 36.692993) + (xy 247.307007 36.599901) (xy 247.192993 36.534075) (xy 247.129408 36.517037) (xy 247.761716 35.884728) + (xy 247.71478 35.850628) (xy 247.672114 35.795298) (xy 247.666135 35.725685) (xy 247.69874 35.663889) + (xy 247.714776 35.649994) (xy 247.879792 35.530104) (xy 248.030104 35.379792) (xy 248.030106 35.379788) + (xy 248.030109 35.379786) (xy 248.155048 35.20782) (xy 248.155047 35.20782) (xy 248.155051 35.207816) + (xy 248.251557 35.018412) (xy 248.317246 34.816243) (xy 248.3505 34.606287) (xy 248.3505 34.393713) + (xy 248.317246 34.183757) (xy 248.251557 33.981588) (xy 248.155051 33.792184) (xy 248.155049 33.792181) + (xy 248.155048 33.792179) (xy 248.030109 33.620213) (xy 247.879786 33.46989) (xy 247.70782 33.344951) + (xy 247.518414 33.248444) (xy 247.518413 33.248443) (xy 247.518412 33.248443) (xy 247.316243 33.182754) + (xy 247.316241 33.182753) (xy 247.31624 33.182753) (xy 247.154957 33.157208) (xy 247.106287 33.1495) + (xy 246.893713 33.1495) (xy 246.845042 33.157208) (xy 246.68376 33.182753) (xy 246.481585 33.248444) + (xy 246.292179 33.344951) (xy 246.120213 33.46989) (xy 245.969895 33.620208) (xy 245.908875 33.704194) + (xy 245.896239 33.718988) (xy 239.546174 40.069055) (xy 239.546172 40.069058) (xy 239.496485 40.137445) + (xy 239.430476 40.228298) (xy 239.341115 40.403677) (xy 239.341114 40.40368) (xy 239.309657 40.500499) + (xy 239.28029 40.59088) (xy 239.28029 40.590881) (xy 239.2495 40.785281) (xy 239.2495 46.930664) + (xy 239.229815 46.997703) (xy 239.213181 47.018345) (xy 235.908255 50.32327) (xy 235.908255 50.323271) + (xy 235.908253 50.323273) (xy 235.875888 50.36782) (xy 235.792557 50.482513) (xy 235.70275 50.65877) + (xy 235.701689 50.662531) (xy 235.642373 50.845088) (xy 235.611581 51.039496) (xy 212.617115 51.039496) + (xy 212.611294 51.03653) (xy 212.604162 51.03153) (xy 212.587581 51.010761) (xy 212.568259 50.992512) + (xy 212.56612 50.983877) (xy 212.560571 50.976926) (xy 212.557851 50.950488) (xy 212.551463 50.924692) + (xy 212.554332 50.916271) (xy 212.553422 50.907423) (xy 212.565426 50.883712) (xy 212.573999 50.858556) + (xy 212.581419 50.852126) (xy 212.584983 50.845088) (xy 212.599122 50.836786) (xy 212.619054 50.819515) + (xy 212.627816 50.815051) (xy 212.669437 50.784812) (xy 212.799786 50.690109) (xy 212.799788 50.690106) + (xy 212.799792 50.690104) (xy 212.950104 50.539792) (xy 212.950106 50.539788) (xy 212.950109 50.539786) + (xy 213.075048 50.36782) (xy 213.075047 50.36782) (xy 213.075051 50.367816) (xy 213.171557 50.178412) + (xy 213.237246 49.976243) (xy 213.2705 49.766287) (xy 213.2705 49.553713) (xy 213.237246 49.343757) + (xy 213.171557 49.141588) (xy 213.075051 48.952184) (xy 213.075049 48.952181) (xy 213.075048 48.952179) + (xy 212.950109 48.780213) (xy 212.799786 48.62989) (xy 212.62782 48.504951) (xy 212.627115 48.504591) + (xy 212.619054 48.500485) (xy 212.568259 48.452512) (xy 212.551463 48.384692) (xy 212.573999 48.318556) + (xy 212.619054 48.279515) (xy 212.627816 48.275051) (xy 212.711578 48.214195) (xy 212.799786 48.150109) + (xy 212.799788 48.150106) (xy 212.799792 48.150104) (xy 212.950104 47.999792) (xy 212.950106 47.999788) + (xy 212.950109 47.999786) (xy 213.075048 47.82782) (xy 213.075047 47.82782) (xy 213.075051 47.827816) + (xy 213.171557 47.638412) (xy 213.237246 47.436243) (xy 213.2705 47.226287) (xy 213.2705 47.013713) + (xy 213.237246 46.803757) (xy 213.171557 46.601588) (xy 213.075051 46.412184) (xy 213.075049 46.412181) + (xy 213.075048 46.412179) (xy 212.950109 46.240213) (xy 212.799786 46.08989) (xy 212.62782 45.964951) + (xy 212.627115 45.964591) (xy 212.619054 45.960485) (xy 212.568259 45.912512) (xy 212.551463 45.844692) + (xy 212.573999 45.778556) (xy 212.619054 45.739515) (xy 212.627816 45.735051) (xy 212.669163 45.705011) + (xy 212.799786 45.610109) (xy 212.799788 45.610106) (xy 212.799792 45.610104) (xy 212.950104 45.459792) + (xy 212.954704 45.45346) (xy 213.025517 45.355996) (xy 213.075048 45.28782) (xy 213.075051 45.287816) + (xy 213.171557 45.098412) (xy 213.237246 44.896243) (xy 213.2705 44.686287) (xy 213.2705 44.473713) + (xy 213.237246 44.263757) (xy 213.171557 44.061588) (xy 213.075051 43.872184) (xy 213.075049 43.872181) + (xy 213.075048 43.872179) (xy 212.950109 43.700213) (xy 212.799786 43.54989) (xy 212.62782 43.424951) + (xy 212.627115 43.424591) (xy 212.619054 43.420485) (xy 212.568259 43.372512) (xy 212.551463 43.304692) + (xy 212.573999 43.238556) (xy 212.619054 43.199515) (xy 212.627816 43.195051) (xy 212.649789 43.179086) + (xy 212.799786 43.070109) (xy 212.799788 43.070106) (xy 212.799792 43.070104) (xy 212.950104 42.919792) + (xy 212.950106 42.919788) (xy 212.950109 42.919786) (xy 213.075048 42.74782) (xy 213.075047 42.74782) + (xy 213.075051 42.747816) (xy 213.171557 42.558412) (xy 213.237246 42.356243) (xy 213.2705 42.146287) + (xy 213.2705 41.933713) (xy 213.237246 41.723757) (xy 213.171557 41.521588) (xy 213.075051 41.332184) + (xy 213.075049 41.332181) (xy 213.075048 41.332179) (xy 212.950109 41.160213) (xy 212.79979 41.009894) + (xy 212.799785 41.00989) (xy 212.794399 41.005977) (xy 212.751731 40.950649) (xy 212.74575 40.881036) + (xy 212.778354 40.81924) (xy 212.828278 40.787951) (xy 212.839117 40.784359) (xy 212.839124 40.784356) + (xy 212.988345 40.692315) (xy 213.112315 40.568345) (xy 213.204356 40.419124) (xy 213.204358 40.419119) + (xy 213.226032 40.353713) (xy 220.0495 40.353713) (xy 220.0495 40.566286) (xy 220.082497 40.774625) + (xy 220.082754 40.776243) (xy 220.145675 40.969894) (xy 220.148444 40.978414) (xy 220.244951 41.16782) + (xy 220.36989 41.339786) (xy 220.520213 41.490109) (xy 220.692182 41.61505) (xy 220.700946 41.619516) + (xy 220.751742 41.667491) (xy 220.768536 41.735312) (xy 220.745998 41.801447) (xy 220.700946 41.840484) + (xy 220.692182 41.844949) (xy 220.520213 41.96989) (xy 220.36989 42.120213) (xy 220.244951 42.292179) + (xy 220.148444 42.481585) (xy 220.082753 42.68376) (xy 220.0495 42.893713) (xy 220.0495 43.106286) + (xy 220.082606 43.315312) (xy 220.082754 43.316243) (xy 220.133919 43.473713) (xy 220.148444 43.518414) + (xy 220.244951 43.70782) (xy 220.36989 43.879786) (xy 220.520213 44.030109) (xy 220.692179 44.155048) + (xy 220.692181 44.155049) (xy 220.692184 44.155051) (xy 220.701493 44.159794) (xy 220.75229 44.207766) + (xy 220.769087 44.275587) (xy 220.746552 44.341722) (xy 220.701505 44.38076) (xy 220.692446 44.385376) + (xy 220.69244 44.38538) (xy 220.638282 44.424727) (xy 220.638282 44.424728) (xy 221.270591 45.057037) + (xy 221.207007 45.074075) (xy 221.092993 45.139901) (xy 220.999901 45.232993) (xy 220.934075 45.347007) + (xy 220.917037 45.410591) (xy 220.284728 44.778282) (xy 220.284727 44.778282) (xy 220.24538 44.832439) + (xy 220.148904 45.021782) (xy 220.083242 45.223869) (xy 220.083242 45.223872) (xy 220.05 45.433753) + (xy 220.05 45.646246) (xy 220.083242 45.856127) (xy 220.083242 45.85613) (xy 220.148904 46.058217) + (xy 220.245375 46.24755) (xy 220.284728 46.301716) (xy 220.917036 45.669407) (xy 220.934075 45.732993) + (xy 220.999901 45.847007) (xy 221.092993 45.940099) (xy 221.207007 46.005925) (xy 221.27059 46.022962) + (xy 220.60037 46.693181) (xy 220.539047 46.726666) (xy 220.512698 46.7295) (xy 220.502134 46.7295) + (xy 220.502123 46.729501) (xy 220.442516 46.735908) (xy 220.307671 46.786202) (xy 220.307664 46.786206) + (xy 220.192455 46.872452) (xy 220.192452 46.872455) (xy 220.106206 46.987664) (xy 220.106202 46.987671) + (xy 220.055908 47.122517) (xy 220.052942 47.150109) (xy 220.049501 47.182123) (xy 220.0495 47.182135) + (xy 220.0495 48.97787) (xy 220.049501 48.977876) (xy 220.055908 49.037483) (xy 220.106202 49.172328) + (xy 220.106206 49.172335) (xy 220.192452 49.287544) (xy 220.192455 49.287547) (xy 220.307664 49.373793) + (xy 220.307671 49.373797) (xy 220.442517 49.424091) (xy 220.442516 49.424091) (xy 220.449444 49.424835) + (xy 220.502127 49.4305) (xy 222.297872 49.430499) (xy 222.357483 49.424091) (xy 222.492331 49.373796) + (xy 222.607546 49.287546) (xy 222.693796 49.172331) (xy 222.744091 49.037483) (xy 222.7505 48.977873) + (xy 222.750499 47.182128) (xy 222.744091 47.122517) (xy 222.738037 47.106286) (xy 222.693797 46.987671) + (xy 222.693793 46.987664) (xy 222.607547 46.872455) (xy 222.607544 46.872452) (xy 222.492335 46.786206) + (xy 222.492328 46.786202) (xy 222.357482 46.735908) (xy 222.357483 46.735908) (xy 222.297883 46.729501) + (xy 222.297881 46.7295) (xy 222.297873 46.7295) (xy 222.297865 46.7295) (xy 222.287309 46.7295) + (xy 222.22027 46.709815) (xy 222.199628 46.693181) (xy 221.529408 46.022962) (xy 221.592993 46.005925) + (xy 221.707007 45.940099) (xy 221.800099 45.847007) (xy 221.865925 45.732993) (xy 221.882962 45.669408) + (xy 222.51527 46.301717) (xy 222.51527 46.301716) (xy 222.554622 46.247554) (xy 222.651095 46.058217) + (xy 222.716757 45.85613) (xy 222.716757 45.856127) (xy 222.75 45.646246) (xy 222.75 45.433753) (xy 222.716757 45.223872) + (xy 222.716757 45.223869) (xy 222.651095 45.021782) (xy 222.554624 44.832449) (xy 222.51527 44.778282) + (xy 222.515269 44.778282) (xy 221.882962 45.41059) (xy 221.865925 45.347007) (xy 221.800099 45.232993) + (xy 221.707007 45.139901) (xy 221.592993 45.074075) (xy 221.529409 45.057037) (xy 222.161716 44.424728) + (xy 222.107547 44.385373) (xy 222.107547 44.385372) (xy 222.0985 44.380763) (xy 222.047706 44.332788) + (xy 222.030912 44.264966) (xy 222.053451 44.198832) (xy 222.098508 44.159793) (xy 222.107816 44.155051) + (xy 222.236462 44.061585) (xy 222.279786 44.030109) (xy 222.279788 44.030106) (xy 222.279792 44.030104) + (xy 222.430104 43.879792) (xy 222.430106 43.879788) (xy 222.430109 43.879786) (xy 222.555048 43.70782) + (xy 222.555047 43.70782) (xy 222.555051 43.707816) (xy 222.651557 43.518412) (xy 222.717246 43.316243) + (xy 222.7505 43.106287) (xy 222.7505 42.893713) (xy 222.717246 42.683757) (xy 222.651557 42.481588) + (xy 222.555051 42.292184) (xy 222.555049 42.292181) (xy 222.555048 42.292179) (xy 222.430109 42.120213) + (xy 222.279786 41.96989) (xy 222.10782 41.844951) (xy 222.107115 41.844591) (xy 222.099054 41.840485) + (xy 222.048259 41.792512) (xy 222.031463 41.724692) (xy 222.053999 41.658556) (xy 222.099054 41.619515) + (xy 222.107816 41.615051) (xy 222.185771 41.558414) (xy 222.279786 41.490109) (xy 222.279788 41.490106) + (xy 222.279792 41.490104) (xy 222.430104 41.339792) (xy 222.430106 41.339788) (xy 222.430109 41.339786) + (xy 222.555048 41.16782) (xy 222.555047 41.16782) (xy 222.555051 41.167816) (xy 222.651557 40.978412) + (xy 222.717246 40.776243) (xy 222.7505 40.566287) (xy 222.7505 40.353713) (xy 222.717246 40.143757) + (xy 222.651557 39.941588) (xy 222.555051 39.752184) (xy 222.555049 39.752181) (xy 222.555048 39.752179) + (xy 222.430109 39.580213) (xy 222.279786 39.42989) (xy 222.10782 39.304951) (xy 221.918414 39.208444) + (xy 221.918413 39.208443) (xy 221.918412 39.208443) (xy 221.716243 39.142754) (xy 221.716241 39.142753) + (xy 221.71624 39.142753) (xy 221.554957 39.117208) (xy 221.506287 39.1095) (xy 221.293713 39.1095) + (xy 221.245042 39.117208) (xy 221.08376 39.142753) (xy 220.881585 39.208444) (xy 220.692179 39.304951) + (xy 220.520213 39.42989) (xy 220.36989 39.580213) (xy 220.244951 39.752179) (xy 220.148444 39.941585) + (xy 220.082753 40.14376) (xy 220.0495 40.353713) (xy 213.226032 40.353713) (xy 213.240571 40.309837) + (xy 213.259505 40.252697) (xy 213.259506 40.25269) (xy 213.269999 40.149986) (xy 213.27 40.149973) + (xy 213.27 39.75) (xy 212.353012 39.75) (xy 212.385925 39.692993) (xy 212.42 39.565826) (xy 212.42 39.434174) + (xy 212.385925 39.307007) (xy 212.353012 39.25) (xy 213.269999 39.25) (xy 213.269999 38.850028) + (xy 213.269998 38.850013) (xy 213.259505 38.747302) (xy 213.204358 38.58088) (xy 213.204356 38.580875) + (xy 213.112315 38.431654) (xy 212.988345 38.307684) (xy 212.839124 38.215643) (xy 212.839119 38.215641) + (xy 212.672697 38.160494) (xy 212.67269 38.160493) (xy 212.569986 38.15) (xy 212.17 38.15) (xy 212.17 39.066988) + (xy 212.112993 39.034075) (xy 211.985826 39) (xy 211.854174 39) (xy 211.727007 39.034075) (xy 211.67 39.066988) + (xy 211.67 38.15) (xy 211.270028 38.15) (xy 211.270012 38.150001) (xy 211.167302 38.160494) (xy 211.00088 38.215641) + (xy 211.000875 38.215643) (xy 210.851654 38.307684) (xy 210.727684 38.431654) (xy 210.635643 38.580875) + (xy 210.635641 38.58088) (xy 210.580494 38.747302) (xy 210.580493 38.747309) (xy 210.57 38.850013) + (xy 210.57 39.25) (xy 211.486988 39.25) (xy 211.454075 39.307007) (xy 211.42 39.434174) (xy 211.42 39.565826) + (xy 211.454075 39.692993) (xy 211.486988 39.75) (xy 210.570001 39.75) (xy 210.570001 40.149986) + (xy 210.580494 40.252697) (xy 210.635641 40.419119) (xy 210.635643 40.419124) (xy 210.727684 40.568345) + (xy 210.851654 40.692315) (xy 211.000875 40.784356) (xy 211.000878 40.784357) (xy 211.011723 40.787951) + (xy 211.069167 40.827724) (xy 211.09599 40.89224) (xy 211.083675 40.961016) (xy 211.045605 41.005974) + (xy 211.040211 41.009892) (xy 210.88989 41.160213) (xy 210.764951 41.332179) (xy 210.668444 41.521585) + (xy 210.602753 41.72376) (xy 210.5695 41.933713) (xy 158.2005 41.933713) (xy 158.2005 33.431004) + (xy 158.173581 33.295677) (xy 158.17358 33.295676) (xy 158.17358 33.295672) (xy 158.126808 33.182753) + (xy 158.120778 33.168195) (xy 158.120771 33.168182) (xy 158.044114 33.053458) (xy 158.044111 33.053454) + (xy 157.946545 32.955888) (xy 157.946541 32.955885) (xy 157.831817 32.879228) (xy 157.831804 32.879221) + (xy 157.704332 32.826421) (xy 157.704322 32.826418) (xy 157.568995 32.7995) (xy 157.568993 32.7995) + (xy 140.568994 32.7995) (xy 140.431006 32.7995) (xy 140.431004 32.7995) (xy 140.295677 32.826418) + (xy 140.295667 32.826421) (xy 140.168192 32.879222) (xy 140.053454 32.955887) (xy 138.955887 34.053454) + (xy 138.879222 34.168192) (xy 138.826421 34.295667) (xy 138.826418 34.295679) (xy 138.805378 34.401457) + (xy 138.805378 34.401459) (xy 138.7995 34.431007) (xy 138.7995 36.871006) (xy 138.7995 37.008994) + (xy 138.7995 37.008996) (xy 138.799499 37.008996) (xy 138.826418 37.144322) (xy 138.826421 37.144332) + (xy 138.879222 37.271807) (xy 138.955887 37.386545) (xy 138.955888 37.386546) (xy 142.239492 40.670149) + (xy 142.272977 40.731472) (xy 142.274284 40.777227) (xy 142.2495 40.933712) (xy 142.2495 41.146286) + (xy 142.279442 41.335337) (xy 142.282754 41.356243) (xy 142.326248 41.490104) (xy 142.348444 41.558414) + (xy 142.444951 41.74782) (xy 142.56989 41.919786) (xy 142.720213 42.070109) (xy 142.892182 42.19505) + (xy 142.900946 42.199516) (xy 142.951742 42.247491) (xy 142.968536 42.315312) (xy 142.945998 42.381447) + (xy 142.900946 42.420484) (xy 142.892182 42.424949) (xy 142.720213 42.54989) (xy 142.56989 42.700213) + (xy 142.444951 42.872179) (xy 142.348444 43.061585) (xy 142.282753 43.26376) (xy 142.2495 43.473713) + (xy 142.2495 43.686286) (xy 142.278942 43.872179) (xy 142.282754 43.896243) (xy 142.326248 44.030104) + (xy 142.348444 44.098414) (xy 142.444951 44.28782) (xy 142.56989 44.459786) (xy 142.720213 44.610109) + (xy 142.892182 44.73505) (xy 142.900946 44.739516) (xy 142.951742 44.787491) (xy 142.968536 44.855312) + (xy 142.945998 44.921447) (xy 142.900946 44.960484) (xy 142.892182 44.964949) (xy 142.720213 45.08989) + (xy 142.56989 45.240213) (xy 142.444951 45.41218) (xy 142.356839 45.585108) (xy 142.308864 45.635904) + (xy 142.241043 45.652699) (xy 142.174908 45.630161) (xy 142.158673 45.616494) (xy 137.161819 40.61964) + (xy 137.128334 40.558317) (xy 137.1255 40.531959) (xy 137.1255 34.810452) (xy 137.145185 34.743413) + (xy 137.161819 34.722771) (xy 137.947772 33.936819) (xy 138.009095 33.903334) (xy 138.035453 33.9005) + (xy 138.088693 33.9005) (xy 138.088694 33.900499) (xy 138.146682 33.888964) (xy 138.262658 33.865896) + (xy 138.262661 33.865894) (xy 138.262666 33.865894) (xy 138.426547 33.798013) (xy 138.574035 33.699464) + (xy 138.699464 33.574035) (xy 138.798013 33.426547) (xy 138.865894 33.262666) (xy 138.868724 33.248443) + (xy 138.900499 33.088695) (xy 138.9005 33.088693) (xy 138.9005 32.911306) (xy 138.900499 32.911304) + (xy 138.865896 32.737341) (xy 138.865893 32.737332) (xy 138.798016 32.573459) (xy 138.798009 32.573446) + (xy 138.699464 32.425965) (xy 138.699461 32.425961) (xy 138.574038 32.300538) (xy 138.574034 32.300535) + (xy 138.426553 32.20199) (xy 138.42654 32.201983) (xy 138.262667 32.134106) (xy 138.262658 32.134103) + (xy 138.088694 32.0995) (xy 138.088691 32.0995) (xy 137.911309 32.0995) (xy 137.911306 32.0995) + (xy 137.737341 32.134103) (xy 137.737332 32.134106) (xy 137.573459 32.201983) (xy 137.573446 32.20199) + (xy 137.425965 32.300535) (xy 137.425961 32.300538) (xy 137.300538 32.425961) (xy 137.300535 32.425965) + (xy 137.20199 32.573446) (xy 137.201983 32.573459) (xy 137.134106 32.737332) (xy 137.134103 32.737341) + (xy 137.0995 32.911304) (xy 137.0995 32.964547) (xy 137.079815 33.031586) (xy 137.063181 33.052228) + (xy 136.014144 34.101264) (xy 136.014138 34.101272) (xy 135.945692 34.203705) (xy 135.945684 34.20372) + (xy 135.912346 34.284207) (xy 135.907599 34.295672) (xy 135.898537 34.317549) (xy 135.881848 34.401457) + (xy 135.875972 34.430998) (xy 135.87597 34.431006) (xy 135.874501 34.438388) (xy 135.8745 34.438399) + (xy 135.8745 40.904019) (xy 135.880445 40.933913) (xy 135.898535 41.024856) (xy 135.898537 41.024864) + (xy 135.912347 41.058204) (xy 135.912347 41.058205) (xy 135.945685 41.138692) (xy 135.94569 41.138701) + (xy 135.979914 41.189919) (xy 135.979915 41.189921) (xy 136.01414 41.241143) (xy 136.014141 41.241144) + (xy 136.014142 41.241145) (xy 136.101267 41.32827) (xy 136.101268 41.32827) (xy 136.108335 41.335337) + (xy 136.108334 41.335337) (xy 136.108338 41.33534) (xy 142.487985 47.714988) (xy 142.52147 47.776311) + (xy 142.516486 47.846003) (xy 142.500623 47.875553) (xy 142.444949 47.952183) (xy 142.444948 47.952185) + (xy 142.348444 48.141585) (xy 142.282753 48.34376) (xy 142.2495 48.553713) (xy 142.2495 48.766286) + (xy 142.278942 48.952179) (xy 142.282754 48.976243) (xy 142.346468 49.172335) (xy 142.348444 49.178414) + (xy 142.444951 49.36782) (xy 142.56989 49.539786) (xy 142.720213 49.690109) (xy 142.892182 49.81505) + (xy 142.900946 49.819516) (xy 142.951742 49.867491) (xy 142.968536 49.935312) (xy 142.945998 50.001447) + (xy 142.900946 50.040484) (xy 142.892182 50.044949) (xy 142.720213 50.16989) (xy 142.56989 50.320213) + (xy 142.444951 50.492179) (xy 142.348444 50.681585) (xy 142.282753 50.88376) (xy 142.261904 51.015398) + (xy 142.231975 51.078533) (xy 142.172663 51.115464) (xy 142.139431 51.12) (xy 129.820569 51.12) + (xy 129.75353 51.100315) (xy 129.707775 51.047511) (xy 129.698096 51.015398) (xy 129.694471 50.992512) + (xy 129.677246 50.883757) (xy 129.611557 50.681588) (xy 129.515051 50.492184) (xy 129.515049 50.492181) + (xy 129.515048 50.492179) (xy 129.390109 50.320213) (xy 129.239786 50.16989) (xy 129.06782 50.044951) + (xy 129.067115 50.044591) (xy 129.059054 50.040485) (xy 129.008259 49.992512) (xy 128.991463 49.924692) + (xy 129.013999 49.858556) (xy 129.059054 49.819515) (xy 129.067816 49.815051) (xy 129.089789 49.799086) + (xy 129.239786 49.690109) (xy 129.239788 49.690106) (xy 129.239792 49.690104) (xy 129.390104 49.539792) + (xy 129.390106 49.539788) (xy 129.390109 49.539786) (xy 129.515048 49.36782) (xy 129.515047 49.36782) + (xy 129.515051 49.367816) (xy 129.611557 49.178412) (xy 129.677246 48.976243) (xy 129.7105 48.766287) + (xy 129.7105 48.553713) (xy 129.677246 48.343757) (xy 129.611557 48.141588) (xy 129.515051 47.952184) + (xy 129.515049 47.952181) (xy 129.515048 47.952179) (xy 129.390109 47.780213) (xy 129.239786 47.62989) + (xy 129.06782 47.504951) (xy 129.067115 47.504591) (xy 129.059054 47.500485) (xy 129.008259 47.452512) + (xy 128.991463 47.384692) (xy 129.013999 47.318556) (xy 129.059054 47.279515) (xy 129.067816 47.275051) + (xy 129.089789 47.259086) (xy 129.239786 47.150109) (xy 129.239788 47.150106) (xy 129.239792 47.150104) + (xy 129.390104 46.999792) (xy 129.390106 46.999788) (xy 129.390109 46.999786) (xy 129.515048 46.82782) + (xy 129.515047 46.82782) (xy 129.515051 46.827816) (xy 129.611557 46.638412) (xy 129.677246 46.436243) + (xy 129.7105 46.226287) (xy 129.7105 46.013713) (xy 129.677246 45.803757) (xy 129.611557 45.601588) + (xy 129.515051 45.412184) (xy 129.515049 45.412181) (xy 129.515048 45.412179) (xy 129.390109 45.240213) + (xy 129.239786 45.08989) (xy 129.06782 44.964951) (xy 129.067115 44.964591) (xy 129.059054 44.960485) + (xy 129.008259 44.912512) (xy 128.991463 44.844692) (xy 129.013999 44.778556) (xy 129.059054 44.739515) + (xy 129.067816 44.735051) (xy 129.089789 44.719086) (xy 129.239786 44.610109) (xy 129.239788 44.610106) + (xy 129.239792 44.610104) (xy 129.390104 44.459792) (xy 129.390106 44.459788) (xy 129.390109 44.459786) + (xy 129.515048 44.28782) (xy 129.515047 44.28782) (xy 129.515051 44.287816) (xy 129.611557 44.098412) + (xy 129.677246 43.896243) (xy 129.7105 43.686287) (xy 129.7105 43.473713) (xy 129.677246 43.263757) + (xy 129.611557 43.061588) (xy 129.515051 42.872184) (xy 129.515049 42.872181) (xy 129.515048 42.872179) + (xy 129.390109 42.700213) (xy 129.239786 42.54989) (xy 129.06782 42.424951) (xy 129.067115 42.424591) + (xy 129.059054 42.420485) (xy 129.008259 42.372512) (xy 128.991463 42.304692) (xy 129.013999 42.238556) + (xy 129.059054 42.199515) (xy 129.067816 42.195051) (xy 129.089789 42.179086) (xy 129.239786 42.070109) + (xy 129.239788 42.070106) (xy 129.239792 42.070104) (xy 129.390104 41.919792) (xy 129.390106 41.919788) + (xy 129.390109 41.919786) (xy 129.515048 41.74782) (xy 129.515047 41.74782) (xy 129.515051 41.747816) + (xy 129.611557 41.558412) (xy 129.677246 41.356243) (xy 129.7105 41.146287) (xy 129.7105 40.933713) + (xy 129.677246 40.723757) (xy 129.611557 40.521588) (xy 129.515051 40.332184) (xy 129.515049 40.332181) + (xy 129.515048 40.332179) (xy 129.390109 40.160213) (xy 129.239786 40.00989) (xy 129.06782 39.884951) + (xy 129.067115 39.884591) (xy 129.059054 39.880485) (xy 129.008259 39.832512) (xy 128.991463 39.764692) + (xy 129.013999 39.698556) (xy 129.059054 39.659515) (xy 129.067816 39.655051) (xy 129.12257 39.61527) + (xy 129.239786 39.530109) (xy 129.239788 39.530106) (xy 129.239792 39.530104) (xy 129.390104 39.379792) + (xy 129.390106 39.379788) (xy 129.390109 39.379786) (xy 129.515048 39.20782) (xy 129.515047 39.20782) + (xy 129.515051 39.207816) (xy 129.611557 39.018412) (xy 129.677246 38.816243) (xy 129.7105 38.606287) + (xy 129.7105 38.393713) (xy 129.677246 38.183757) (xy 129.611557 37.981588) (xy 129.515051 37.792184) + (xy 129.515049 37.792181) (xy 129.515048 37.792179) (xy 129.390109 37.620213) (xy 129.239786 37.46989) + (xy 129.06782 37.344951) (xy 129.067115 37.344591) (xy 129.059054 37.340485) (xy 129.008259 37.292512) + (xy 128.991463 37.224692) (xy 129.013999 37.158556) (xy 129.059054 37.119515) (xy 129.067816 37.115051) + (xy 129.135569 37.065826) (xy 129.239786 36.990109) (xy 129.239788 36.990106) (xy 129.239792 36.990104) + (xy 129.390104 36.839792) (xy 129.390106 36.839788) (xy 129.390109 36.839786) (xy 129.515048 36.66782) + (xy 129.515047 36.66782) (xy 129.515051 36.667816) (xy 129.611557 36.478412) (xy 129.677246 36.276243) + (xy 129.7105 36.066287) (xy 129.7105 35.853713) (xy 129.677246 35.643757) (xy 129.611557 35.441588) + (xy 129.515051 35.252184) (xy 129.515049 35.252181) (xy 129.515048 35.252179) (xy 129.390109 35.080213) + (xy 129.239786 34.92989) (xy 129.06782 34.804951) (xy 128.878414 34.708444) (xy 128.878413 34.708443) + (xy 128.878412 34.708443) (xy 128.676243 34.642754) (xy 128.676241 34.642753) (xy 128.67624 34.642753) + (xy 128.514957 34.617208) (xy 128.466287 34.6095) (xy 128.253713 34.6095) (xy 128.205042 34.617208) + (xy 128.04376 34.642753) (xy 127.841585 34.708444) (xy 127.652179 34.804951) (xy 127.480213 34.92989) + (xy 127.32989 35.080213) (xy 127.204951 35.252179) (xy 127.108444 35.441585) (xy 127.042753 35.64376) + (xy 127.0095 35.853713) (xy 124.0005 35.853713) (xy 124.0005 32.004427) (xy 124.000816 31.995581) + (xy 124.01513 31.795443) (xy 124.015131 31.795442) (xy 124.01513 31.795436) (xy 124.017646 31.777938) + (xy 124.059356 31.5862) (xy 124.064335 31.569242) (xy 124.132911 31.385382) (xy 124.140251 31.36931) + (xy 124.234294 31.197083) (xy 124.24385 31.182214) (xy 124.361443 31.025128) (xy 124.373017 31.011771) + (xy 124.511771 30.873017) (xy 124.525128 30.861443) (xy 124.682214 30.74385) (xy 124.697083 30.734294) + (xy 124.86931 30.640251) (xy 124.885382 30.632911) (xy 125.069242 30.564335) (xy 125.0862 30.559356) + (xy 125.277938 30.517646) (xy 125.295436 30.51513) (xy 125.495582 30.500816) (xy 125.504428 30.5005) + (xy 125.565892 30.5005) (xy 250.434108 30.5005) (xy 250.495572 30.5005) + ) + ) + ) + (group "" + (uuid "8f628516-e8da-4639-ad8c-5e4d2b395262") + (members "0ca6bed9-dd1f-4e16-bf1a-4dbfd671d550" "2684a999-3a9a-430b-9dbc-bc66824272a2" + "47442e9f-2d93-489b-be21-a2cf0223aaa6" "8fed1ddb-1051-4b00-bc58-460b28600c9a" + "a7b6f5ea-fd39-4a06-951c-e2fa493a7f6e" "b9c7937c-7135-4a97-a837-a3dcbb912356" + ) + ) + (group "" + (uuid "a86301f5-1576-4536-bc8a-6d22b8ba8e21") + (members "00f5a805-37f8-44d2-ab07-6c881cdb704a" "12f6f387-5e46-4451-9e88-c54cd2cfc75c" + "35cd7b00-f4f4-4329-95b0-28af0837033c" "7a8a1a09-7615-4527-a6c7-419b223be739" + "7b5a9312-5f7a-46d5-9bd1-dbd153a22379" "e777576d-29d6-430d-868f-30ba10368c13" + ) + ) + (group "" + (uuid "96aeba32-e3b3-46a1-b34a-3c1318c359ff") + (members "31bb577f-334e-4c7f-afe7-8b637cde890d" "374ccecc-dbf1-49fe-a999-6f9e8a768c4d" + "39db4e56-5dfe-474a-bbaf-8206d75a5eac" "3aa4ed9e-99e1-4a87-a167-935c4a0834dd" + "3dcbd66b-932b-4202-8100-17260a6280b0" "996cc6c8-b7b2-4eee-8c7f-eef086a553bf" + "a3e07924-64cf-4259-9231-0855b76b3901" + ) + ) + (embedded_fonts no) +) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pro b/hardware/boards/main-control-board/main-control-board.kicad_pro index 829d605..e14c929 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_pro +++ b/hardware/boards/main-control-board/main-control-board.kicad_pro @@ -203,7 +203,13 @@ "td_width_to_size_filter_ratio": 0.9 } ], - "track_widths": [], + "track_widths": [ + 0.0, + 0.2, + 0.4, + 1.5, + 2.0 + ], "tuning_pattern_settings": { "diff_pair_defaults": { "corner_radius_percentage": 80, @@ -230,7 +236,20 @@ "spacing": 0.6 } }, - "via_dimensions": [], + "via_dimensions": [ + { + "diameter": 0.0, + "drill": 0.0 + }, + { + "diameter": 0.6, + "drill": 0.3 + }, + { + "diameter": 0.8, + "drill": 0.4 + } + ], "zones_allow_external_fillets": false }, "ipc2581": { @@ -495,22 +514,82 @@ "classes": [ { "bus_width": 12, - "clearance": 0.2, + "clearance": 0.25, "diff_pair_gap": 0.25, "diff_pair_via_gap": 0.25, - "diff_pair_width": 0.2, + "diff_pair_width": 0.25, "line_style": 0, - "microvia_diameter": 0.3, - "microvia_drill": 0.1, + "microvia_diameter": 0.8, + "microvia_drill": 0.4, "name": "Default", "pcb_color": "rgba(0, 0, 0, 0.000)", "priority": 2147483647, "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.25, + "tuning_profile": "", + "via_diameter": 0.8, + "via_drill": 0.4, + "wire_width": 6 + }, + { + "clearance": 0.25, + "diff_pair_gap": 0.25, + "diff_pair_width": 0.25, + "microvia_diameter": 0.8, + "microvia_drill": 0.4, + "name": "GND", + "pcb_color": "rgb(132, 132, 132)", + "priority": 0, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.4, + "tuning_profile": "", + "via_diameter": 0.8, + "via_drill": 0.4 + }, + { + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_width": 0.25, + "microvia_diameter": 0.6, + "microvia_drill": 0.3, + "name": "Power3V3", + "pcb_color": "rgb(221, 133, 0)", + "priority": 2, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.4, + "tuning_profile": "", + "via_diameter": 0.6, + "via_drill": 0.3 + }, + { + "clearance": 0.25, + "diff_pair_gap": 0.25, + "diff_pair_width": 0.25, + "microvia_diameter": 0.8, + "microvia_drill": 0.4, + "name": "Power5V", + "pcb_color": "rgb(194, 0, 0)", + "priority": 3, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 1.5, + "tuning_profile": "", + "via_diameter": 0.8, + "via_drill": 0.4 + }, + { + "clearance": 0.2, + "diff_pair_gap": 0.2, + "diff_pair_width": 0.2, + "microvia_diameter": 0.6, + "microvia_drill": 0.3, + "name": "USB", + "pcb_color": "rgb(0, 0, 255)", + "priority": 1, + "schematic_color": "rgba(0, 0, 0, 0.000)", "track_width": 0.2, "tuning_profile": "", "via_diameter": 0.6, - "via_drill": 0.3, - "wire_width": 6 + "via_drill": 0.3 } ], "meta": { @@ -518,7 +597,32 @@ }, "net_colors": null, "netclass_assignments": null, - "netclass_patterns": [] + "netclass_patterns": [ + { + "netclass": "GND", + "pattern": "GND" + }, + { + "netclass": "Power5V", + "pattern": "+5V" + }, + { + "netclass": "Power3V3", + "pattern": "+3.3V" + }, + { + "netclass": "USB", + "pattern": "/USB_*" + }, + { + "netclass": "Default", + "pattern": "/I2S_*" + }, + { + "netclass": "Default", + "pattern": "/I2C_*" + } + ] }, "pcbnew": { "last_paths": { diff --git a/hardware/boards/main-control-board/main-control-board.kicad_sch b/hardware/boards/main-control-board/main-control-board.kicad_sch index e2fc443..06f657a 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_sch +++ b/hardware/boards/main-control-board/main-control-board.kicad_sch @@ -2,7 +2,7 @@ (version 20260306) (generator "eeschema") (generator_version "10.0") - (uuid "ede99216-bb86-4aec-876e-63688c114483") + (uuid "82a78d11-58ff-455c-a94e-f7463ce9fc2e") (paper "A4") (title_block (title "TinyEngineer PCB") From af52445d693e7a213d8452ba1ee522d93431844d Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Mon, 14 Sep 2026 07:08:25 +0200 Subject: [PATCH 09/13] docs(pcb): update README with ERC and DRC status --- hardware/boards/main-control-board/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hardware/boards/main-control-board/README.md b/hardware/boards/main-control-board/README.md index 1f276f2..6b1fb9f 100644 --- a/hardware/boards/main-control-board/README.md +++ b/hardware/boards/main-control-board/README.md @@ -7,7 +7,7 @@ Carrier PCB that reduces jumper wiring: existing modules plug in on pin headers. - **KiCad:** 10 - **Interfaces:** header sockets for the Waveshare ESP32-C3-Zero, Adafruit PCA9685, MAX98357A, SSD1306 OLED, and Adafruit 5993 USB-C breakout; shared I2C (ESP32 GP0/GP1 → PCA9685 and SSD1306 OLED); point-to-point I2S (ESP32 GP2/GP3/GP4 → MAX98357A BCLK/LRC/DIN); USB D+/D− (5993 → ESP32 GP19/GP18); PCA9685 OE ← GP5; +5V, 3V3, and GND. Servo 3-pin plugs and speaker terminals stay on the modules this revision. - **Assumptions:** nets follow `[docs/hardware/](../../../docs/hardware/README.md)` (keep servo **+5V** off logic **3V3**; common GND). Custom module symbols live in `[libraries/symbols/tiny_engineer_modules.kicad_sym](libraries/symbols/tiny_engineer_modules.kicad_sym)`; footprints in `[libraries/footprints/tiny_engineer_modules.pretty](libraries/footprints/tiny_engineer_modules.pretty)`. ESP32-C3-Zero symbol pin numbers are Waveshare **header pads** (pad 1 = 5V, numbered anticlockwise from USB), not the ESP32-C3 QFN package. Two-layer FR4 ~1.6 mm; ESP32-C3-Zero on the back, other modules on the front. OLED uses a 1×04 pin header; USB-C breakout uses a 1×04 pin socket. Netclasses: `GND`, `Power5V` (`+5V`, 1.5 mm), `Power3V3` (`+3.3V`, 0.4 mm), `USB` (`/USB_`*), `Default` (I2C/I2S and other signals). -- **ERC / DRC:** schematic ERC after the symbol pass. PCB is routed with custom power DRC in `[main-control-board.kicad_dru](main-control-board.kicad_dru)`; DRC not signed off for fab. +- **ERC / DRC:** ERC passed; DRC passed (custom rules in `main-control-board.kicad_dru`) - **Built:** not manufactured - **Tested:** not tested From 28b46719c09ad4431fe55c9c28f556acf2c3ff53 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Mon, 14 Sep 2026 07:41:05 +0200 Subject: [PATCH 10/13] feat(pcb): add via stitching for GND --- .../main-control-board.kicad_pcb | 91 ++++++++++++++++++- 1 file changed, 90 insertions(+), 1 deletion(-) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pcb b/hardware/boards/main-control-board/main-control-board.kicad_pcb index 40bf7cb..724d88a 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_pcb +++ b/hardware/boards/main-control-board/main-control-board.kicad_pcb @@ -80,7 +80,6 @@ ) (capping no) (filling no) - (zone_defaults) (pcbplotparams (layerselection 0x00000000_00000000_55555555_5755f5ff) (plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000) @@ -2833,6 +2832,96 @@ (justify left bottom mirror) ) ) + (via + (at 231 50) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "1ce8905f-e1e0-4a1e-ba0e-7d3cc7f05ac3") + ) + (via + (at 232.5 48.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "2aef5c2c-e4ea-4162-89e9-7d552e5e134a") + ) + (via + (at 232.5 50) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "583b41fc-44ef-4539-b9a4-04762b3eddee") + ) + (via + (at 153 35) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "632a5247-16f3-4332-a73d-0e1cffcdc621") + ) + (via + (at 164.5 39) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "955eadf8-5911-47e8-a218-359494c3c7f1") + ) + (via + (at 153 37) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "d145d3f1-9596-4f0e-81b8-03587681f881") + ) + (via + (at 204.5 39) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "d4a4b437-c08b-4803-bd3d-52a40e9e5fc3") + ) + (via + (at 155 35) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "ef4a35cd-fa26-481a-a19f-af58eb779c8e") + ) + (via + (at 155 37) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "f8f1f0ce-5c56-4205-a40d-49cf50986de6") + ) + (via + (at 231 48.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "fb708cdf-bbb3-414d-a3b4-67a29ffd0a25") + ) (segment (start 144.107412 47.345) (end 143.092588 47.345) From d1ef6f170cc59e818cd271294e5eb94a326826a6 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Mon, 14 Sep 2026 09:37:45 +0200 Subject: [PATCH 11/13] feat(pcb): add expected net memberships for main control board --- .../main-control-board/expected-nets.yml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 hardware/boards/main-control-board/expected-nets.yml diff --git a/hardware/boards/main-control-board/expected-nets.yml b/hardware/boards/main-control-board/expected-nets.yml new file mode 100644 index 0000000..90b1515 --- /dev/null +++ b/hardware/boards/main-control-board/expected-nets.yml @@ -0,0 +1,47 @@ +# Critical net → pin memberships for review. +# Tokens = KiCad netlist RefDes.PinName (symbol pin name). +# Compare with: kicad-cli sch export netlist +# See docs/pcb.md#expected-netsyml + +nets: + "+5V": + - ESP1.5V + - MAX1.Vin + - PCA1.V+ + - USB1.Pin_3 + "+3.3V": + - ESP1.3V3 + - OLED1.VCC + - PCA1.VCC + GND: + - ESP1.GND + - MAX1.GND + - OLED1.GND + - PCA1.GND + - USB1.Pin_4 + "/I2C_SDA": + - ESP1.GP0 + - OLED1.SDA + - PCA1.SDA + "/I2C_SCL": + - ESP1.GP1 + - OLED1.SCL + - PCA1.SCL + "/I2S_BCLK": + - ESP1.GP2 + - MAX1.BCLK + "/I2S_LRC": + - ESP1.GP3 + - MAX1.LRC + "/I2S_DIN": + - ESP1.GP4 + - MAX1.DIN + "Net-(ESP1-GP5)": + - ESP1.GP5 + - PCA1.OE + "/USB_D+": + - ESP1.USB_DP + - USB1.Pin_1 + "/USB_D-": + - ESP1.USB_DM + - USB1.Pin_2 From 9a798487f65a3959f787946bb51b4e0db3ba7264 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Mon, 14 Sep 2026 10:52:30 +0200 Subject: [PATCH 12/13] ci(pcb): enhance PCB validation process with automated checks - Added a new script `check_pcb.py` to run KiCad ERC, DRC, and expected-nets checks for all boards. - Updated documentation to reflect the requirement of running `python3 scripts/check_pcb.py` for PCB validation. - Modified CI workflow to include PCB checks, ensuring automated validation on every push/PR. --- .github/workflows/ci.yml | 18 + .gitignore | 1 + AGENTS.md | 5 +- CONTRIBUTING.md | 5 +- docs/pcb.md | 31 +- docs/testing.md | 12 +- hardware/README.md | 2 +- .../main-control-board/expected-nets.yml | 62 +-- scripts/check_pcb.py | 501 ++++++++++++++++++ 9 files changed, 586 insertions(+), 51 deletions(-) create mode 100755 scripts/check_pcb.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7a4870c..0e9d361 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,3 +47,21 @@ jobs: run: npm test --prefix packages/tiny-engineer-cursor - name: Antigravity package tests run: npm test --prefix packages/tiny-engineer-antigravity + + pcb: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - name: Install KiCad 10 + run: | + sudo add-apt-repository -y ppa:kicad/kicad-10.0-releases + sudo apt-get update + sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends kicad + kicad-cli version + - name: ERC / DRC / expected-nets + run: python3 scripts/check_pcb.py --report-dir artifacts/pcb + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: pcb-reports + path: artifacts/pcb/ diff --git a/.gitignore b/.gitignore index e739110..41ee376 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store +__pycache__/ # Cursor hook event log cursor_events.log diff --git a/AGENTS.md b/AGENTS.md index 29e8177..ac1aa74 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -27,9 +27,10 @@ pio run pio test -e native npm test --prefix packages/tiny-engineer-cursor npm test --prefix packages/tiny-engineer-antigravity +python3 scripts/check_pcb.py ``` -`pio test -e native` is not `pio run -e native`. Details: [docs/testing.md](docs/testing.md). +`pio test -e native` is not `pio run -e native`. PCB checks need KiCad 10 (`python3 scripts/check_pcb.py`). Details: [docs/testing.md](docs/testing.md). Do **not** flash (`pio run -t upload`) unless the user asks. @@ -66,7 +67,7 @@ Breaking rules, SemVer mapping, and examples: [CONTRIBUTING.md](CONTRIBUTING.md) - **Settings** — layer checklist in [docs/settings.md](docs/settings.md). Never log raw `access_token`. - **Integrations** — add/extend package tests; prefer short timeouts and ignore network errors so a missing robot does not stall the agent. - **CAD** — edit `.f3d` **and** export affected `3mf`. CERN-OHL-S. Do not swap `AiEmblem.3mf` as branding. -- **PCB** — [docs/pcb.md](docs/pcb.md) checklist + KiCad review rules below. New board paths need `REUSE.toml`. CERN-OHL-S. +- **PCB** — [docs/pcb.md](docs/pcb.md) checklist + KiCad review rules below. Run `python3 scripts/check_pcb.py` (KiCad 10). New board paths need `REUSE.toml`. CERN-OHL-S. - **Motion** — poses −1..1 mapped to saved min/max; see [docs/robot-movement.md](docs/robot-movement.md). Do not widen NVS servo clamps without testing on a real robot. - **Secrets** — no `.env`, tokens, or Wi-Fi passwords in logs or screenshots. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3fd2e9..7bb380f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,9 +40,10 @@ pio run pio test -e native npm test --prefix packages/tiny-engineer-cursor npm test --prefix packages/tiny-engineer-antigravity +python3 scripts/check_pcb.py ``` -`pio test -e native` is not `pio run -e native`. Details: [docs/testing.md](docs/testing.md). Flash locally with `pio run -t upload` when you have a board. Physical module is a **Waveshare ESP32-C3-Zero**; PlatformIO `board = esp32-c3-devkitm-1` is the build target name. +`pio test -e native` is not `pio run -e native`. PCB checks need KiCad 10 (`python3 scripts/check_pcb.py`). Details: [docs/testing.md](docs/testing.md). Flash locally with `pio run -t upload` when you have a board. Physical module is a **Waveshare ESP32-C3-Zero**; PlatformIO `board = esp32-c3-devkitm-1` is the build target name. ## By change type @@ -56,7 +57,7 @@ npm test --prefix packages/tiny-engineer-antigravity **CAD.** Edit [`3d_models/cad/TinyEngineer.f3d`](3d_models/cad/TinyEngineer.f3d) **and** export the affected [`3d_models/parts/{servo_id}/3mf/*.3mf`](3d_models/parts/). Keep CERN-OHL-S. Do not swap `AiEmblem.3mf` as a branding change. -**PCB.** Follow the [PCB checklist](docs/pcb.md#checklist). Keep [`expected-nets.yml`](docs/pcb.md#expected-netsyml) in sync. One board per `hardware/boards//`, KiCad 10, ERC and DRC reviewed, no generated Gerbers or other fab outputs. Keep CERN-OHL-S. New board paths need a matching `[[annotations]]` block in [REUSE.toml](REUSE.toml). +**PCB.** Follow the [PCB checklist](docs/pcb.md#checklist). Run `python3 scripts/check_pcb.py` before opening a PCB PR. Keep [`expected-nets.yml`](docs/pcb.md#expected-netsyml) in sync. One board per `hardware/boards//`, KiCad 10, ERC and DRC reviewed, no generated Gerbers or other fab outputs. Keep CERN-OHL-S. New board paths need a matching `[[annotations]]` block in [REUSE.toml](REUSE.toml). **Motion.** Animations use −1..1 poses mapped to the saved min/max in [docs/robot-movement.md](docs/robot-movement.md). Stock defaults live in [`include/servos.h`](include/servos.h). Do not widen NVS servo clamps without testing on a real robot. Setup AP `POST /setup/servo` can use 0–180° to find limits; assembled motion must not. diff --git a/docs/pcb.md b/docs/pcb.md index e5fda91..f6bc25e 100644 --- a/docs/pcb.md +++ b/docs/pcb.md @@ -4,7 +4,7 @@ Baseline for contributing KiCad PCB designs. Goal: boards that are easy to under Before opening a PR, run the [checklist](#checklist). -Workflow and automated validation are still evolving. A reference board and CI pipeline are in progress and will be used to validate these rules. +Workflow and automated validation: CI runs ERC, DRC, and `expected-nets.yml` via `python3 scripts/check_pcb.py` (see [testing.md](testing.md)). KiCad sources live in [`hardware/boards/`](../hardware/README.md). Robot electrical reference (pinout, wiring, BOM) stays in [`docs/hardware/`](hardware/README.md). Firmware drivers stay in `src/hardware/`. @@ -108,27 +108,33 @@ Before submitting or updating a hardware pull request: The project should not introduce unexplained ERC or DRC errors. -Automated ERC and DRC via GitHub Actions is planned and is being tested on a reference board. It is not required yet. +Run the same checks CI uses (KiCad 10, stdlib Python — no pip packages): + +```bash +python3 scripts/check_pcb.py +``` + +Errors fail; warnings do not. Reports go to a temp dir, or pass `--report-dir artifacts/pcb`. CI runs this on every push/PR ([`.github/workflows/ci.yml`](../.github/workflows/ci.yml)). ## expected-nets.yml Committed checklist of **critical** net → pin memberships for human/AI review. Not a full netlist dump. - **Path:** `hardware/boards//expected-nets.yml` -- **Check:** `kicad-cli sch export netlist`, then compare to this file. No `kicad-cli` → say so and skip connectivity claims ([AGENTS.md](../AGENTS.md)). +- **Check:** `python3 scripts/check_pcb.py` (exports netlist via `kicad-cli` and compares). Manual: `kicad-cli sch export netlist`, then compare to this file. No `kicad-cli` → say so and skip connectivity claims ([AGENTS.md](../AGENTS.md)). - **Do not** infer nets from `.kicad_sch` / `.kicad_pcb` coordinates or geometry. - **Update** when you intentionally change listed nets or pins. Keep the list to power and important buses (I2C, I2S, USB, …), not every net. -Minimal shape (pin tokens = KiCad netlist `RefDes.PinName`): +Minimal shape (pin tokens = KiCad netlist `RefDes.PinNum:PinName` — pin number plus symbol pin name, so duplicate names like multiple `GND` pins stay distinct): ```yaml nets: "+5V": - - ESP1.5V - - PCA1.V+ + - ESP1.1:5V + - PCA1.6:V+ GND: - - ESP1.GND - - PCA1.GND + - ESP1.2:GND + - PCA1.1:GND ``` Required for new or updated boards when claiming connectivity in a PR. @@ -211,8 +217,7 @@ Use this before opening or updating a PCB pull request. Details are in the secti **Quality and docs** -- [ ] ERC run; violations reviewed -- [ ] DRC run; violations reviewed +- [ ] ERC / DRC / expected-nets: `python3 scripts/check_pcb.py` passes (or GUI ERC+DRC reviewed and nets checked if no `kicad-cli`) - [ ] No suppressions used only to make checks pass; any intentional exception has a reason - [ ] `expected-nets.yml` present and matches current netlist for listed nets - [ ] Board `README.md` covers purpose, status, interfaces, assumptions, and whether this revision was manufactured and tested @@ -233,10 +238,8 @@ Existing in-progress PRs: align where reasonably possible. Do not redesign solel The requirements above are the current contribution baseline. -Not standardized yet (to be evaluated on the reference board): +Not standardized yet: -- automated KiCad ERC and DRC in GitHub Actions -- exact multi-board CI structure - manufacturing jobsets - automated manufacturing artifacts - release and prerelease manufacturing packages @@ -244,6 +247,6 @@ Not standardized yet (to be evaluated on the reference board): - automated PCB renders or visual diffs - manufacturer-specific output configurations -Once the reference implementation is validated, this page will be updated. Stable parts of the workflow may become required for new hardware contributions. +ERC, DRC, and `expected-nets.yml` checks run in CI via `python3 scripts/check_pcb.py`. Keep the workflow reproducible and safe. Avoid complexity until it solves a real problem. diff --git a/docs/testing.md b/docs/testing.md index ca5a958..d005cbc 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -1,6 +1,6 @@ # Tests -Host checks. Neither flashes the board. GitHub Actions on `main` and PRs runs these same commands. On-device hardware: [hardware/testing.md](hardware/testing.md). +Host checks. Neither flashes the board. GitHub Actions on `main` and PRs runs these same commands (firmware, packages, and PCB). On-device hardware: [hardware/testing.md](hardware/testing.md). ## Firmware @@ -20,3 +20,13 @@ Node 18+. No robot. npm test --prefix packages/tiny-engineer-cursor npm test --prefix packages/tiny-engineer-antigravity ``` + +## PCB + +KiCad 10 (`kicad-cli`). Stdlib Python only — no pip packages. ERC (errors), DRC (errors + schematic parity), and `expected-nets.yml` for every board under `hardware/boards/`. + +```bash +python3 scripts/check_pcb.py +``` + +Optional: `python3 scripts/check_pcb.py main-control-board --report-dir artifacts/pcb`. Details: [pcb.md](pcb.md). On-device hardware: [hardware/testing.md](hardware/testing.md). \ No newline at end of file diff --git a/hardware/README.md b/hardware/README.md index 3020220..b260461 100644 --- a/hardware/README.md +++ b/hardware/README.md @@ -8,7 +8,7 @@ Boards live under `boards//`. Prefer the same name for the directory | --- | --- | | [`main-control-board`](boards/main-control-board/) | Draft interconnect / carrier (header sockets for existing modules) | -Contribution rules, KiCad version, what to commit, ERC/DRC, and PR expectations: [docs/pcb.md](../docs/pcb.md). Pre-PR checklist: [docs/pcb.md#checklist](../docs/pcb.md#checklist). Critical net checklist: [docs/pcb.md#expected-netsyml](../docs/pcb.md#expected-netsyml). +Contribution rules, KiCad version, what to commit, ERC/DRC, and PR expectations: [docs/pcb.md](../docs/pcb.md). Pre-PR checklist: [docs/pcb.md#checklist](../docs/pcb.md#checklist). Critical net checklist: [docs/pcb.md#expected-netsyml](../docs/pcb.md#expected-netsyml). Local/CI checks: `python3 scripts/check_pcb.py` (KiCad 10) — [docs/testing.md](../docs/testing.md). This tree is KiCad source only. Robot electrical reference (pinout, wiring, BOM) is [`docs/hardware/`](../docs/hardware/README.md). Firmware drivers are `src/hardware/`. diff --git a/hardware/boards/main-control-board/expected-nets.yml b/hardware/boards/main-control-board/expected-nets.yml index 90b1515..af9f757 100644 --- a/hardware/boards/main-control-board/expected-nets.yml +++ b/hardware/boards/main-control-board/expected-nets.yml @@ -1,47 +1,47 @@ # Critical net → pin memberships for review. -# Tokens = KiCad netlist RefDes.PinName (symbol pin name). +# Tokens = KiCad netlist RefDes.PinNum:PinName (pin number + symbol pin name). # Compare with: kicad-cli sch export netlist # See docs/pcb.md#expected-netsyml nets: "+5V": - - ESP1.5V - - MAX1.Vin - - PCA1.V+ - - USB1.Pin_3 + - ESP1.1:5V + - MAX1.7:Vin + - PCA1.6:V+ + - USB1.3:Pin_3 "+3.3V": - - ESP1.3V3 - - OLED1.VCC - - PCA1.VCC + - ESP1.3:3V3 + - OLED1.1:VCC + - PCA1.5:VCC GND: - - ESP1.GND - - MAX1.GND - - OLED1.GND - - PCA1.GND - - USB1.Pin_4 + - ESP1.2:GND + - MAX1.6:GND + - OLED1.2:GND + - PCA1.1:GND + - USB1.4:Pin_4 "/I2C_SDA": - - ESP1.GP0 - - OLED1.SDA - - PCA1.SDA + - ESP1.4:GP0 + - OLED1.3:SDA + - PCA1.4:SDA "/I2C_SCL": - - ESP1.GP1 - - OLED1.SCL - - PCA1.SCL + - ESP1.5:GP1 + - OLED1.4:SCL + - PCA1.3:SCL "/I2S_BCLK": - - ESP1.GP2 - - MAX1.BCLK + - ESP1.6:GP2 + - MAX1.2:BCLK "/I2S_LRC": - - ESP1.GP3 - - MAX1.LRC + - ESP1.7:GP3 + - MAX1.1:LRC "/I2S_DIN": - - ESP1.GP4 - - MAX1.DIN + - ESP1.8:GP4 + - MAX1.3:DIN "Net-(ESP1-GP5)": - - ESP1.GP5 - - PCA1.OE + - ESP1.9:GP5 + - PCA1.2:OE "/USB_D+": - - ESP1.USB_DP - - USB1.Pin_1 + - ESP1.16:USB_DP + - USB1.1:Pin_1 "/USB_D-": - - ESP1.USB_DM - - USB1.Pin_2 + - ESP1.15:USB_DM + - USB1.2:Pin_2 diff --git a/scripts/check_pcb.py b/scripts/check_pcb.py new file mode 100755 index 0000000..2263068 --- /dev/null +++ b/scripts/check_pcb.py @@ -0,0 +1,501 @@ +#!/usr/bin/env python3 +"""Run KiCad ERC, DRC, and expected-nets checks for hardware/boards/*. + +Requires KiCad 10 (kicad-cli). Stdlib only — no pip packages. Same entrypoint +locally and in CI: + + python3 scripts/check_pcb.py + python3 scripts/check_pcb.py main-control-board + python3 scripts/check_pcb.py --report-dir artifacts/pcb +""" + +from __future__ import annotations + +import argparse +import os +import re +import shutil +import subprocess +import sys +import tempfile +from pathlib import Path +from typing import Any + +KICAD_CLI_HINT = ( + "Install KiCad 10 and ensure kicad-cli is on PATH, " + "or set KICAD_CLI to the binary. " + "macOS: /Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli" +) + + +def find_repo_root(explicit: Path | None) -> Path: + if explicit is not None: + return explicit.resolve() + return Path(__file__).resolve().parent.parent + + +def find_kicad_cli() -> Path: + env = os.environ.get("KICAD_CLI") + if env: + path = Path(env) + if path.is_file(): + return path + raise SystemExit(f"error: KICAD_CLI is set but not a file: {env}") + + which = shutil.which("kicad-cli") or shutil.which("kicad-cli.exe") + if which: + return Path(which) + + mac = Path("/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli") + if mac.is_file(): + return mac + + for base in ( + Path(os.environ.get("ProgramFiles", r"C:\Program Files")) / "KiCad", + Path(os.environ.get("ProgramFiles(x86)", r"C:\Program Files (x86)")) / "KiCad", + ): + if not base.is_dir(): + continue + matches = sorted(base.glob("*/bin/kicad-cli.exe"), reverse=True) + if matches: + return matches[0] + + raise SystemExit(f"error: kicad-cli not found. {KICAD_CLI_HINT}") + + +def discover_boards(repo_root: Path, names: list[str] | None) -> list[Path]: + boards_root = repo_root / "hardware" / "boards" + if not boards_root.is_dir(): + raise SystemExit(f"error: missing boards directory: {boards_root}") + + if names: + dirs = [boards_root / name for name in names] + else: + dirs = sorted(p for p in boards_root.iterdir() if p.is_dir()) + + boards: list[Path] = [] + for board_dir in dirs: + name = board_dir.name + sch = board_dir / f"{name}.kicad_sch" + pcb = board_dir / f"{name}.kicad_pcb" + if not board_dir.is_dir(): + raise SystemExit(f"error: board directory not found: {board_dir}") + if not sch.is_file() or not pcb.is_file(): + if names: + raise SystemExit( + f"error: {name} missing {sch.name} and/or {pcb.name}" + ) + continue + boards.append(board_dir) + + if not boards: + raise SystemExit("error: no KiCad boards found under hardware/boards/") + return boards + + +# --- minimal s-expression parser for KiCad netlists --- + + +def _tokenize(text: str) -> list[str]: + tokens: list[str] = [] + i = 0 + n = len(text) + while i < n: + c = text[i] + if c.isspace(): + i += 1 + continue + if c in "()": + tokens.append(c) + i += 1 + continue + if c == '"': + i += 1 + buf: list[str] = [] + while i < n: + if text[i] == "\\" and i + 1 < n: + buf.append(text[i + 1]) + i += 2 + continue + if text[i] == '"': + i += 1 + break + buf.append(text[i]) + i += 1 + tokens.append("".join(buf)) + continue + j = i + while j < n and not text[j].isspace() and text[j] not in "()": + j += 1 + tokens.append(text[i:j]) + i = j + return tokens + + +def _parse_tokens(tokens: list[str]) -> Any: + if not tokens: + raise ValueError("empty sexpr") + tok = tokens.pop(0) + if tok == "(": + out: list[Any] = [] + while tokens and tokens[0] != ")": + out.append(_parse_tokens(tokens)) + if not tokens: + raise ValueError("unclosed sexpr") + tokens.pop(0) + return out + if tok == ")": + raise ValueError("unexpected )") + return tok + + +def parse_sexpr(text: str) -> Any: + tokens = _tokenize(text) + tree = _parse_tokens(tokens) + if tokens: + raise ValueError("trailing tokens in sexpr") + return tree + + +def _children(node: list[Any], tag: str) -> list[list[Any]]: + return [c for c in node[1:] if isinstance(c, list) and c and c[0] == tag] + + +def _child(node: list[Any], tag: str) -> list[Any] | None: + found = _children(node, tag) + return found[0] if found else None + + +def _atom(node: list[Any], tag: str) -> str | None: + c = _child(node, tag) + if c is None or len(c) < 2: + return None + return str(c[1]) + + +def parse_netlist_pins(netlist_text: str) -> dict[str, set[str]]: + """Return net name -> set of RefDes.PinNum:PinName tokens.""" + root = parse_sexpr(netlist_text) + if not isinstance(root, list) or root[0] != "export": + raise ValueError("netlist root is not (export ...)") + + pin_names: dict[tuple[str, str, str], str] = {} + libparts = _child(root, "libparts") + if libparts: + for libpart in _children(libparts, "libpart"): + pins = _child(libpart, "pins") + if not pins: + continue + lib = _atom(libpart, "lib") or "" + part = _atom(libpart, "part") or "" + for pin in _children(pins, "pin"): + num = _atom(pin, "num") + name = _atom(pin, "name") + if num and name: + pin_names[(lib, part, num)] = name + + ref_libpart: dict[str, tuple[str, str]] = {} + components = _child(root, "components") + if components: + for comp in _children(components, "comp"): + ref = _atom(comp, "ref") + if not ref: + continue + libsource = _child(comp, "libsource") + if libsource: + lib = _atom(libsource, "lib") or "" + part = _atom(libsource, "part") or "" + ref_libpart[ref] = (lib, part) + + nets_out: dict[str, set[str]] = {} + nets = _child(root, "nets") + if not nets: + return nets_out + + for net in _children(nets, "net"): + name = _atom(net, "name") + if not name: + continue + pins: set[str] = set() + for node in _children(net, "node"): + ref = _atom(node, "ref") + pin_num = _atom(node, "pin") + if not ref or not pin_num: + continue + lib_part = ref_libpart.get(ref) + pin_name = None + if lib_part: + pin_name = pin_names.get((lib_part[0], lib_part[1], pin_num)) + if not pin_name: + pf = _atom(node, "pinfunction") + if pf and "_" in pf: + left, right = pf.rsplit("_", 1) + if right == pin_num: + pin_name = left + if not pin_name: + pin_name = pin_num + pins.add(f"{ref}.{pin_num}:{pin_name}") + nets_out[name] = pins + return nets_out + + +def load_expected_nets(path: Path) -> dict[str, list[str]]: + """Parse constrained expected-nets.yml (stdlib only). + + Accepts: # comments, blank lines, top-level `nets:`, bare or double-quoted + net keys, and `- Token` list items. Rejects anything else. + Pin tokens: RefDes.PinNum:PinName (e.g. ESP1.1:5V). + """ + text = path.read_text(encoding="utf-8") + nets: dict[str, list[str]] = {} + current: str | None = None + seen_nets = False + key_re = re.compile(r'^("(?:\\.|[^"\\])*"|[A-Za-z0-9_./+-]+)\s*:\s*$') + item_re = re.compile(r"^-\s+(\S+)\s*$") + + for lineno, raw in enumerate(text.splitlines(), start=1): + line = raw.split("#", 1)[0].rstrip() + if not line.strip(): + continue + stripped = line.strip() + indent = len(line) - len(line.lstrip(" ")) + + if indent == 0 and stripped == "nets:": + if seen_nets: + raise ValueError(f"{path}:{lineno}: duplicate 'nets:'") + seen_nets = True + current = None + continue + + if not seen_nets: + raise ValueError( + f"{path}:{lineno}: expected top-level 'nets:' before other content" + ) + + if indent == 2: + m = key_re.match(stripped) + if not m: + raise ValueError( + f"{path}:{lineno}: expected net key like GND: or \"+5V\":" + ) + key = m.group(1) + if key.startswith('"') and key.endswith('"'): + key = key[1:-1].replace(r"\"", '"').replace(r"\\", "\\") + if key in nets: + raise ValueError(f"{path}:{lineno}: duplicate net {key!r}") + nets[key] = [] + current = key + continue + + if indent == 4 and current is not None: + m = item_re.match(stripped) + if not m: + raise ValueError( + f"{path}:{lineno}: expected list item " + f"'- RefDes.PinNum:PinName'" + ) + nets[current].append(m.group(1)) + continue + + raise ValueError(f"{path}:{lineno}: unsupported line: {raw!r}") + + if not seen_nets: + raise ValueError(f"{path}: missing top-level 'nets:'") + if not nets: + raise ValueError(f"{path}: 'nets:' has no entries") + return nets + + +def check_expected_nets(expected_path: Path, netlist_path: Path) -> list[str]: + errors: list[str] = [] + try: + expected_nets = load_expected_nets(expected_path) + except ValueError as exc: + return [str(exc)] + + netlist_text = netlist_path.read_text(encoding="utf-8") + actual = parse_netlist_pins(netlist_text) + + for net_name, pins in expected_nets.items(): + want = set(pins) + got = actual.get(net_name) + if got is None: + errors.append(f"net {net_name!r}: missing from netlist") + continue + missing = sorted(want - got) + extra = sorted(got - want) + if missing: + errors.append( + f"net {net_name!r}: missing pins: {', '.join(missing)}" + ) + if extra: + errors.append( + f"net {net_name!r}: unexpected pins: {', '.join(extra)}" + ) + return errors + + +def run_kicad(kicad_cli: Path, args: list[str], *, label: str) -> int: + cmd = [str(kicad_cli), *args] + print(f" $ {' '.join(cmd)}") + proc = subprocess.run(cmd, check=False) + if proc.returncode not in (0, 5): + print( + f"error: {label} failed with unexpected exit {proc.returncode}", + file=sys.stderr, + ) + return proc.returncode + + +def check_board(kicad_cli: Path, board_dir: Path, report_dir: Path) -> bool: + name = board_dir.name + sch = board_dir / f"{name}.kicad_sch" + pcb = board_dir / f"{name}.kicad_pcb" + expected = board_dir / "expected-nets.yml" + report_dir.mkdir(parents=True, exist_ok=True) + + erc_json = report_dir / "erc.json" + drc_json = report_dir / "drc.json" + netlist = report_dir / "netlist.net" + + print(f"==> {name}") + + if not expected.is_file(): + print(f"error: missing {expected}", file=sys.stderr) + return False + + erc_rc = run_kicad( + kicad_cli, + [ + "sch", + "erc", + "--format", + "json", + "--severity-error", + "--exit-code-violations", + "-o", + str(erc_json), + str(sch), + ], + label="ERC", + ) + if erc_rc == 5: + print(f"error: ERC errors — see {erc_json}", file=sys.stderr) + return False + if erc_rc != 0: + return False + print(f" ERC OK ({erc_json})") + + drc_rc = run_kicad( + kicad_cli, + [ + "pcb", + "drc", + "--format", + "json", + "--severity-error", + "--schematic-parity", + "--refill-zones", + "--exit-code-violations", + "-o", + str(drc_json), + str(pcb), + ], + label="DRC", + ) + if drc_rc == 5: + print(f"error: DRC errors — see {drc_json}", file=sys.stderr) + return False + if drc_rc != 0: + return False + print(f" DRC OK ({drc_json})") + + net_rc = run_kicad( + kicad_cli, + ["sch", "export", "netlist", "-o", str(netlist), str(sch)], + label="netlist export", + ) + if net_rc != 0: + return False + + net_errors = check_expected_nets(expected, netlist) + if net_errors: + print(f"error: expected-nets mismatch for {name}:", file=sys.stderr) + for err in net_errors: + print(f" - {err}", file=sys.stderr) + return False + print(f" expected-nets OK ({expected.name})") + return True + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser( + description="KiCad ERC, DRC, and expected-nets for hardware/boards/" + ) + parser.add_argument( + "boards", + nargs="*", + help="Board directory names under hardware/boards/ (default: all)", + ) + parser.add_argument( + "--repo-root", + type=Path, + default=None, + help="Repository root (default: parent of scripts/)", + ) + parser.add_argument( + "--report-dir", + type=Path, + default=None, + help="Write per-board reports here (default: temp dir, or PCB_REPORT_DIR)", + ) + args = parser.parse_args(argv) + + repo_root = find_repo_root(args.repo_root) + report_root = args.report_dir + if report_root is None: + env_dir = os.environ.get("PCB_REPORT_DIR") + report_root = Path(env_dir) if env_dir else None + + kicad_cli = find_kicad_cli() + print(f"kicad-cli: {kicad_cli}") + ver = subprocess.run( + [str(kicad_cli), "version"], + check=False, + capture_output=True, + text=True, + ) + if ver.stdout.strip(): + print(f"version: {ver.stdout.strip()}") + + boards = discover_boards(repo_root, args.boards or None) + + owned_temp: Path | None = None + if report_root is None: + owned_temp = Path(tempfile.mkdtemp(prefix="tiny-engineer-pcb-")) + report_root = owned_temp + else: + report_root = report_root.resolve() + report_root.mkdir(parents=True, exist_ok=True) + + print(f"reports: {report_root}") + + ok = True + for board_dir in boards: + if not check_board(kicad_cli, board_dir, report_root / board_dir.name): + ok = False + break + + if ok: + print("All PCB checks passed.") + if owned_temp is not None: + shutil.rmtree(owned_temp, ignore_errors=True) + return 0 + + print("PCB checks failed.", file=sys.stderr) + print(f"reports kept at: {report_root}", file=sys.stderr) + return 1 + + +if __name__ == "__main__": + sys.exit(main()) From a5d02ba2866d5b11f08e38cff058c82d04062a34 Mon Sep 17 00:00:00 2001 From: Krzysztof Jamroz Date: Mon, 14 Sep 2026 23:59:43 +0200 Subject: [PATCH 13/13] feat(pcb): compact main control board layout and properties --- .../main-control-board.kicad_pcb | 2108 +++++++++-------- .../main-control-board.kicad_pro | 2 +- 2 files changed, 1076 insertions(+), 1034 deletions(-) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pcb b/hardware/boards/main-control-board/main-control-board.kicad_pcb index 724d88a..5ad7f2c 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_pcb +++ b/hardware/boards/main-control-board/main-control-board.kicad_pcb @@ -7,6 +7,9 @@ (legacy_teardrops no) ) (paper "A4") + (title_block + (comment 4 "AISLER Project ID: OVMDYZJE") + ) (layers (0 "F.Cu" signal "Front") (2 "B.Cu" signal "Back") @@ -64,7 +67,6 @@ (dielectric_constraints no) ) (pad_to_mask_clearance 0) - (solder_mask_min_width 0.1) (allow_soldermask_bridges_in_footprints no) (tenting (front yes) @@ -566,14 +568,14 @@ (footprint "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" (layer "F.Cu") (uuid "35cd7b00-f4f4-4329-95b0-28af0837033c") - (at 235.88 57.5 90) + (at 233.16 57.51 90) (descr "Through hole straight socket strip, 1x04, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") (tags "Through hole socket strip THT 1x04 2.54mm single row") (property "Reference" "USB1" (at 0 -2.77 90) (layer "F.SilkS") (hide yes) - (uuid "e18d6987-f9df-45bf-9b8a-6a4c30339e13") + (uuid "f3c8dea1-b124-4fe6-abe8-8ec0c7a2170d") (effects (font (size 1 1) @@ -584,7 +586,7 @@ (property "Value" "USB" (at -3.15 -0.09 180) (layer "F.Fab") - (uuid "47854d5d-c43e-420b-8638-8b1141b06711") + (uuid "1cf5ff3e-495e-418b-86f9-123e16217741") (effects (font (size 1 1) @@ -596,7 +598,7 @@ (at 0 0 90) (layer "F.Fab") (hide yes) - (uuid "d09227fb-ccf9-49e2-9bf8-640e1c7d919a") + (uuid "d655f774-beab-4f37-9925-9ac2b6126e4e") (effects (font (size 1.27 1.27) @@ -607,7 +609,7 @@ (at 0 0 90) (layer "F.Fab") (hide yes) - (uuid "3b1d56ef-2438-4d11-b9c9-0ae6e9c8b3b7") + (uuid "5d23a874-7aa9-40ce-b9ca-841416f0b577") (effects (font (size 1.27 1.27) @@ -859,7 +861,7 @@ (footprint "TinyEngineerModules:MAX98357_Module" (layer "F.Cu") (uuid "a365f461-1c77-44ad-b967-8291f3f14810") - (at 239.5 42 180) + (at 233.61 41.99 180) (property "Reference" "MAX1" (at 2.5 0 180) (unlocked yes) @@ -1214,7 +1216,7 @@ ) (polygon (pts - (xy 248.85 50.95) (xy 230.15 50.95) (xy 230.15 33.25) (xy 248.85 33.25) + (xy 242.96 50.94) (xy 224.26 50.94) (xy 224.26 33.24) (xy 242.96 33.24) ) ) ) @@ -1223,7 +1225,7 @@ (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" (layer "F.Cu") (uuid "a7b6f5ea-fd39-4a06-951c-e2fa493a7f6e") - (at 221.4 48.08 180) + (at 219.24 48.03 180) (descr "Through hole straight pin header, 1x04, 2.54mm pitch, single row") (tags "Through hole pin header THT 1x04 2.54mm single row") (property "Reference" "OLED1" @@ -2621,7 +2623,7 @@ ) (gr_rect (start 123.5 30) - (end 252.5 63) + (end 246.36 63) (radius 2) (stroke (width 0.05) @@ -2656,7 +2658,7 @@ ) ) (gr_text "SCL" - (at 223.5 40.46 0) + (at 221.34 40.41 0) (layer "F.SilkS") (uuid "2684a999-3a9a-430b-9dbc-bc66824272a2") (effects @@ -2668,7 +2670,7 @@ ) ) (gr_text "SDA" - (at 223.5 43 0) + (at 221.34 42.95 0) (layer "F.SilkS") (uuid "0ca6bed9-dd1f-4e16-bf1a-4dbfd671d550") (effects @@ -2680,7 +2682,7 @@ ) ) (gr_text "GND" - (at 223.5 45.54 0) + (at 221.34 45.49 0) (layer "F.SilkS") (uuid "47442e9f-2d93-489b-be21-a2cf0223aaa6") (effects @@ -2692,7 +2694,7 @@ ) ) (gr_text "VCC\n" - (at 223.5 48.08 0) + (at 221.34 48.03 0) (layer "F.SilkS") (uuid "8fed1ddb-1051-4b00-bc58-460b28600c9a") (effects @@ -2704,7 +2706,7 @@ ) ) (gr_text "EYES\n(OLED)" - (at 221.4 37.06 0) + (at 219.24 37.01 0) (layer "F.SilkS") (uuid "b9c7937c-7135-4a97-a837-a3dcbb912356") (effects @@ -2715,7 +2717,7 @@ ) ) (gr_text "D+" - (at 235.85 55.4 90) + (at 233.13 55.41 90) (layer "F.SilkS") (uuid "e777576d-29d6-430d-868f-30ba10368c13") (effects @@ -2727,7 +2729,7 @@ ) ) (gr_text "D-" - (at 238.39 55.4 90) + (at 235.67 55.41 90) (layer "F.SilkS") (uuid "7a8a1a09-7615-4527-a6c7-419b223be739") (effects @@ -2739,7 +2741,7 @@ ) ) (gr_text "5V" - (at 240.93 55.4 90) + (at 238.21 55.41 90) (layer "F.SilkS") (uuid "00f5a805-37f8-44d2-ab07-6c881cdb704a") (effects @@ -2751,7 +2753,7 @@ ) ) (gr_text "GND\n" - (at 243.47 55.4 90) + (at 240.75 55.41 90) (layer "F.SilkS") (uuid "7b5a9312-5f7a-46d5-9bd1-dbd153a22379") (effects @@ -2763,7 +2765,7 @@ ) ) (gr_text "POWER\n(USB)" - (at 232.2 57.3 90) + (at 229.48 57.31 90) (layer "F.SilkS") (uuid "12f6f387-5e46-4451-9e88-c54cd2cfc75c") (effects @@ -2785,7 +2787,7 @@ ) ) (gr_text "VOICE\n(MAX98357)" - (at 233.6 41.94 90) + (at 227 41.94 90) (layer "F.SilkS") (uuid "6a1a3afb-3a1d-4d6f-92c0-94bed3ff3a54") (effects @@ -2833,7 +2835,16 @@ ) ) (via - (at 231 50) + (at 244.5 58.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "171f04bc-594a-4eb1-9886-cbcab5a7082e") + ) + (via + (at 225.28 49.8) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") @@ -2842,7 +2853,25 @@ (uuid "1ce8905f-e1e0-4a1e-ba0e-7d3cc7f05ac3") ) (via - (at 232.5 48.5) + (at 244.5 56.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "252e5435-8fbe-45ed-9cab-ba14d0367d60") + ) + (via + (at 244.5 57.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "26b4680e-a2c3-4252-ac88-f03a8fb4d802") + ) + (via + (at 226.78 48.3) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") @@ -2851,7 +2880,16 @@ (uuid "2aef5c2c-e4ea-4162-89e9-7d552e5e134a") ) (via - (at 232.5 50) + (at 243.5 58.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "3dbda7d9-bf5e-4e75-8540-3ae83334964b") + ) + (via + (at 226.78 49.8) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") @@ -2886,6 +2924,15 @@ (net "GND") (uuid "d145d3f1-9596-4f0e-81b8-03587681f881") ) + (via + (at 243.5 57.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "d206247b-1d9c-4e34-af49-8b01358780fb") + ) (via (at 204.5 39) (size 0.8) @@ -2904,6 +2951,15 @@ (net "GND") (uuid "ef4a35cd-fa26-481a-a19f-af58eb779c8e") ) + (via + (at 243.5 56.5) + (size 0.8) + (drill 0.4) + (layers "F.Cu" "B.Cu") + (free yes) + (net "GND") + (uuid "f5d44838-b865-4c35-a1e8-ccc464486b00") + ) (via (at 155 37) (size 0.8) @@ -2914,7 +2970,7 @@ (uuid "f8f1f0ce-5c56-4205-a40d-49cf50986de6") ) (via - (at 231 48.5) + (at 225.28 48.3) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") @@ -3034,14 +3090,6 @@ (net "/I2C_SCL") (uuid "2b3c3a00-7bc6-4de3-be72-8ff74601a423") ) - (segment - (start 221.4 40.46) - (end 217.28 44.58) - (width 0.25) - (layer "F.Cu") - (net "/I2C_SCL") - (uuid "3902899f-cbf9-4d5a-8fd1-ef08350169dd") - ) (segment (start 211.92 44.58) (end 153.6 44.58) @@ -3067,36 +3115,36 @@ (uuid "76c31f12-f833-4f2c-a3c0-29ae9304d8a7") ) (segment - (start 217.28 44.58) - (end 211.92 44.58) + (start 219.24 40.41) + (end 215.07 44.58) (width 0.25) (layer "F.Cu") (net "/I2C_SCL") - (uuid "bfa30a57-b873-4c93-86f7-aa400c117443") + (uuid "84871cb9-76ff-4eb2-b8c7-b7524369d9b0") ) (segment - (start 153.5 47.12) - (end 149.96 43.58) + (start 215.07 44.58) + (end 211.92 44.58) (width 0.25) (layer "F.Cu") - (net "/I2C_SDA") - (uuid "2e72d2df-5888-413e-9c1f-e4d641066051") + (net "/I2C_SCL") + (uuid "e67c2163-7669-4e6b-98b9-7556ce9c2f00") ) (segment - (start 221.4 43) - (end 217.28 47.12) + (start 153.5 47.12) + (end 149.96 43.58) (width 0.25) (layer "F.Cu") (net "/I2C_SDA") - (uuid "34e729c1-4839-4682-8a20-788b1e3af17b") + (uuid "2e72d2df-5888-413e-9c1f-e4d641066051") ) (segment - (start 217.28 47.12) + (start 215.07 47.12) (end 211.92 47.12) (width 0.25) (layer "F.Cu") (net "/I2C_SDA") - (uuid "8a474d08-be8f-4940-b423-eb7d47ace8e2") + (uuid "514ece7f-2cf6-4e2f-9b35-0bbfadc7baed") ) (segment (start 211.92 47.12) @@ -3114,6 +3162,14 @@ (net "/I2C_SDA") (uuid "c4152c52-cfc8-4bac-8b36-b968598d85da") ) + (segment + (start 219.24 42.95) + (end 215.07 47.12) + (width 0.25) + (layer "F.Cu") + (net "/I2C_SDA") + (uuid "e446e8cb-aa43-4c6e-999e-ec0de775b17d") + ) (segment (start 153.5 49.66) (end 211.92 49.66) @@ -3122,21 +3178,29 @@ (net "+3.3V") (uuid "11271f16-7177-4c5f-9173-21db88e864a7") ) + (segment + (start 213.5 48.08) + (end 219.19 48.08) + (width 0.4) + (layer "F.Cu") + (net "+3.3V") + (uuid "1ce0d400-1884-4f0d-af4f-e1f56b555277") + ) (segment (start 211.92 49.66) (end 213.5 48.08) (width 0.4) (layer "F.Cu") (net "+3.3V") - (uuid "80f23f2a-c8b6-4a12-ab1a-8a06adc07705") + (uuid "a9242619-5301-4358-b44b-7b61b339f7bd") ) (segment - (start 213.5 48.08) - (end 221.4 48.08) + (start 219.19 48.08) + (end 219.24 48.03) (width 0.4) (layer "F.Cu") (net "+3.3V") - (uuid "f56f3b72-05c8-4127-9696-c40821409940") + (uuid "e8c3c054-2b66-4035-b0c1-691c3b8ce5e3") ) (segment (start 139.5 36.94) @@ -3187,20 +3251,36 @@ (uuid "f3259612-855c-4738-a50b-20c472ad7d00") ) (segment - (start 236.8 52.2) - (end 211.92 52.2) + (start 235.173704 36.826296) + (end 237.51 34.49) (width 1.5) (layer "F.Cu") (net "+5V") - (uuid "0224f180-5cdc-4d2d-9f15-acc99d100e90") + (uuid "193c7d38-604e-44e7-b2e5-bd9cf6dd06f6") ) (segment - (start 240.96 57.5) - (end 240.96 56.297919) + (start 235.173704 52.2) + (end 238.24 55.266296) (width 1.5) (layer "F.Cu") (net "+5V") - (uuid "8806655e-27b2-4b4c-85e0-cc05b92e80a0") + (uuid "2248d3b6-39e1-4af7-a787-1d576f6cd354") + ) + (segment + (start 237.51 34.49) + (end 241.11 34.49) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "8d0d646a-ba64-46ea-969e-2cce909089da") + ) + (segment + (start 211.92 52.2) + (end 232.93 52.2) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "983190f4-b3ef-4041-9207-2a895d9a5ee1") ) (segment (start 211.92 52.2) @@ -3211,20 +3291,28 @@ (uuid "a8d98996-3466-4765-8853-d4503f06e387") ) (segment - (start 240.96 56.297919) - (end 236.862081 52.2) + (start 235.173704 52.2) + (end 235.173704 36.826296) (width 1.5) (layer "F.Cu") (net "+5V") - (uuid "da17adb4-ca21-49ed-913e-64071f057757") + (uuid "b34beee8-a4bb-4cb4-807d-02ed07f9fda2") ) - (via - (at 236.862081 52.2) - (size 0.8) - (drill 0.4) - (layers "F.Cu" "B.Cu") + (segment + (start 238.24 55.266296) + (end 238.24 57.51) + (width 1.5) + (layer "F.Cu") + (net "+5V") + (uuid "cb565d57-69c8-41ca-835d-939131f7c912") + ) + (segment + (start 232.93 52.2) + (end 235.173704 52.2) + (width 1.5) + (layer "F.Cu") (net "+5V") - (uuid "12605bae-8f39-4c3a-b537-d8866fafd2f1") + (uuid "f78338e7-2bef-44e7-bfb0-1b8c2b7cec44") ) (segment (start 150.5 40.5) @@ -3258,30 +3346,6 @@ (net "+5V") (uuid "48ffa7ec-fcad-4106-8abf-0fa19b4cee6f") ) - (segment - (start 240.5 40.883704) - (end 246.883704 34.5) - (width 1.5) - (layer "B.Cu") - (net "+5V") - (uuid "5fa47e1e-24c2-472e-872c-a23ead17257f") - ) - (segment - (start 246.883704 34.5) - (end 247 34.5) - (width 1.5) - (layer "B.Cu") - (net "+5V") - (uuid "62abe9f5-623a-460c-a47d-31f20e498a83") - ) - (segment - (start 240.5 47.5) - (end 240.5 40.883704) - (width 1.5) - (layer "B.Cu") - (net "+5V") - (uuid "9598513b-5068-49ca-994a-cd3d591acc88") - ) (segment (start 153.5 52.2) (end 153.423704 52.2) @@ -3291,108 +3355,92 @@ (uuid "b62ce53e-2016-4208-b0d4-cffbae612b50") ) (segment - (start 236.862081 51.137919) - (end 240.5 47.5) + (start 240.993704 34.49) + (end 241.11 34.49) (width 1.5) (layer "B.Cu") (net "+5V") - (uuid "d52b395b-a680-4a7e-aa79-d511ea185433") - ) - (segment - (start 236.862081 52.2) - (end 236.862081 51.137919) - (width 1.5) - (layer "B.Cu") - (net "+5V") - (uuid "e7ad4bbf-720d-42bf-af92-88c69681419e") - ) - (segment - (start 234.282844 57.5) - (end 235.88 57.5) - (width 0.2) - (layer "F.Cu") - (net "/USB_D+") - (uuid "0e6ed789-ce91-46b1-9a03-f0bfee60428a") + (uuid "f8415b77-0eaa-4bf7-98ad-8abf0570f9fd") ) (segment - (start 125 60.782841) - (end 125.617159 61.4) + (start 128.36 41.04) + (end 125 44.4) (width 0.2) (layer "F.Cu") (net "/USB_D+") - (uuid "1bd30e72-f42f-4127-9733-ffb9be643fdd") + (uuid "2570503c-d10e-4fb1-830e-7cd0355422fd") ) (segment - (start 230.382842 61.4) - (end 234.282844 57.5) + (start 126.454315 61.4) + (end 229.27 61.4) (width 0.2) (layer "F.Cu") (net "/USB_D+") - (uuid "207f3fe2-2b84-448d-8587-f165d46f4045") + (uuid "2f29e3c8-e968-4b9f-b52c-6282183bc6f2") ) (segment - (start 125 44.4) - (end 125 60.782841) + (start 125 59.945685) + (end 126.454315 61.4) (width 0.2) (layer "F.Cu") (net "/USB_D+") - (uuid "4ca4f05a-9a7b-494a-969f-4fce31a09712") + (uuid "334be9da-f338-41e5-8bd4-310fa8cfad11") ) (segment - (start 125.617159 61.4) - (end 230.382842 61.4) + (start 229.27 61.4) + (end 233.16 57.51) (width 0.2) (layer "F.Cu") (net "/USB_D+") - (uuid "8193a873-3303-4879-93b6-f6f647fcb185") + (uuid "9a5fcd81-38ab-4bc6-898b-53e02e4ae38d") ) (segment - (start 128.36 41.04) - (end 125 44.4) + (start 125 44.4) + (end 125 59.945685) (width 0.2) (layer "F.Cu") (net "/USB_D+") - (uuid "bea52e67-2468-44d7-9a65-e913f44f78ec") + (uuid "a88dac80-9d25-47db-beec-435f1f6daa2a") ) (segment - (start 230.217156 61) - (end 234.117156 57.1) + (start 125.5 44.465686) + (end 125.5 59.879999) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "394c2cc6-f9e9-4dd8-a700-321ae1172c61") + (uuid "395778bc-9d35-48d9-97c0-e717d2404604") ) (segment - (start 125.5 44.465686) - (end 125.5 60.717156) + (start 125.5 59.879999) + (end 126.62 61) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "49be936a-e1cf-40a0-879a-010858d4616c") + (uuid "434bdd16-2236-4a56-8cdd-71dc8de2f5b1") ) (segment - (start 234.73 57.1) - (end 234.73 56.35) + (start 234.55 56.36) + (end 235.7 57.51) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "6355839c-c9ba-4934-b7a0-9eb4e04220b7") + (uuid "62a89d7e-4d14-4c74-a2d1-ec926672edfc") ) (segment - (start 237.03 56.35) - (end 237.03 57.1) + (start 224.7 61) + (end 229.34 56.36) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "69409db0-1660-43df-b08b-960ec41c7a1d") + (uuid "8a4d0e88-dac5-4ba9-b771-b4d7832be421") ) (segment - (start 234.117156 57.1) - (end 234.73 57.1) + (start 229.34 56.36) + (end 234.55 56.36) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "93886e58-3107-4e09-ad86-b406db25f37c") + (uuid "907f5d5a-5e1f-4a83-9e87-cfda02755a71") ) (segment (start 126.385686 43.58) @@ -3400,55 +3448,31 @@ (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "a29b6e4f-df49-475c-a065-b3875abec358") - ) - (segment - (start 234.73 56.35) - (end 237.03 56.35) - (width 0.2) - (layer "F.Cu") - (net "/USB_D-") - (uuid "c6e17136-eb51-4c5b-ac00-92c5ebb7c8d9") - ) - (segment - (start 125.5 60.717156) - (end 125.782844 61) - (width 0.2) - (layer "F.Cu") - (net "/USB_D-") - (uuid "ce830e04-83a2-4e99-9f50-faf2db5182b5") + (uuid "9d61195f-e8b4-4f5d-9cd8-057b895ab0ef") ) (segment - (start 125.782844 61) - (end 230.217156 61) + (start 126.62 61) + (end 224.7 61) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "d270677f-8d46-488a-93f1-4d2b6b4da274") + (uuid "bafea9e5-3047-4686-916d-3544b68d403f") ) (segment - (start 238.02 57.1) - (end 238.42 57.5) - (width 0.2) - (layer "F.Cu") - (net "/USB_D-") - (uuid "dec4e84b-a928-4b1a-9c58-d768ecf1d9ab") - ) - (segment - (start 237.03 57.1) - (end 238.02 57.1) + (start 128.36 43.58) + (end 126.385686 43.58) (width 0.2) (layer "F.Cu") (net "/USB_D-") - (uuid "e2a630c8-80df-4028-ae02-571d1b5307dc") + (uuid "bd1cacf8-bcda-4d56-a176-7c6e9eeff237") ) (segment - (start 128.36 43.58) - (end 126.385686 43.58) - (width 0.2) + (start 244.6 33.205787) + (end 243.119212 31.725) + (width 0.25) (layer "F.Cu") - (net "/USB_D-") - (uuid "f72b0dd6-4154-447e-b720-4bbf4bea8047") + (net "/I2S_LRC") + (uuid "855a48ef-db4d-4e43-9e23-79f61800e2ca") ) (segment (start 134 41.600001) @@ -3456,162 +3480,162 @@ (width 0.25) (layer "F.Cu") (net "/I2S_LRC") - (uuid "005129cc-5a8b-4578-bcee-04b1ac7ff41e") + (uuid "9bc59cbe-d93a-4306-bf1e-1ebaffcc47ea") ) (segment - (start 251 46.5) - (end 251 32.792893) + (start 244.6 46) + (end 244.6 33.205787) (width 0.25) (layer "F.Cu") (net "/I2S_LRC") - (uuid "0a729beb-2038-408d-8cd4-27cded7b9fc5") + (uuid "a5883633-bc54-4d00-b940-04c3d08f14d1") ) (segment - (start 247 49.5) - (end 248 49.5) + (start 243.119212 31.725) + (end 135.177893 31.725) (width 0.25) (layer "F.Cu") (net "/I2S_LRC") - (uuid "0faef83e-3b5b-4298-8f25-621a83e35efe") + (uuid "b2e65e25-bb8c-44e7-b3a9-929792b5102b") ) (segment - (start 249.932106 31.725) - (end 134.275 31.725) + (start 134 32.902894) + (end 134 41.600001) (width 0.25) (layer "F.Cu") (net "/I2S_LRC") - (uuid "78df1889-2bc9-41f8-8ae4-fb6915f4093f") + (uuid "b9721857-2b17-4fc2-a37d-3e340eb7efd7") ) (segment - (start 251 32.792893) - (end 249.932106 31.725) + (start 241.11 49.49) + (end 244.6 46) (width 0.25) (layer "F.Cu") (net "/I2S_LRC") - (uuid "960dce0d-5eaf-44dd-aab0-522505cb5b43") + (uuid "e11edb24-5a3e-4bd7-b8cc-0b27b221cd89") ) (segment - (start 248 49.5) - (end 251 46.5) + (start 135.177893 31.725) + (end 134 32.902894) (width 0.25) (layer "F.Cu") (net "/I2S_LRC") - (uuid "d6ebbcd2-265a-4143-a0fc-9b3ac9c3f500") + (uuid "fd297d50-6200-4867-aeb4-459758f675e4") ) (segment - (start 134 32) - (end 134 41.600001) + (start 244.1 44) + (end 241.11 46.99) (width 0.25) (layer "F.Cu") - (net "/I2S_LRC") - (uuid "f67139fc-59a1-4906-a962-15e537659f80") + (net "/I2S_BCLK") + (uuid "85772ead-0361-4b59-8c0f-cb060d77634f") ) (segment - (start 134.275 31.725) - (end 134 32) + (start 244.1 33.412894) + (end 244.1 44) (width 0.25) (layer "F.Cu") - (net "/I2S_LRC") - (uuid "fdabe193-b546-4daf-8375-1307abf151c4") + (net "/I2S_BCLK") + (uuid "96093720-2cb9-4f3f-bade-209a5fe86117") ) (segment - (start 141.767106 48.66) - (end 134.5 41.392894) + (start 143.6 48.66) + (end 141.767106 48.66) (width 0.25) (layer "F.Cu") (net "/I2S_BCLK") - (uuid "0dedafc2-4e10-4b4b-80a8-854a0018d852") + (uuid "a959fd7e-8444-4c3d-a243-5fbf028f9a9b") ) (segment - (start 250.5 44.5) - (end 248 47) + (start 135.385 32.225) + (end 134.5 33.11) (width 0.25) (layer "F.Cu") (net "/I2S_BCLK") - (uuid "22606639-b55d-4564-95a9-904a4ea7bc2e") + (uuid "c504d9ec-c3af-4fc9-a821-6a306c12aefc") ) (segment - (start 134.5 41.392894) - (end 134.5 32.225) + (start 242.912106 32.225) + (end 244.1 33.412894) (width 0.25) (layer "F.Cu") (net "/I2S_BCLK") - (uuid "afccd9f6-51b7-4673-b38e-fa5440cb65eb") + (uuid "cdbfa212-8b7d-4710-906b-81ea6c5f84bc") ) (segment - (start 249.725 32.225) - (end 250.5 33) + (start 135.385 32.225) + (end 242.912106 32.225) (width 0.25) (layer "F.Cu") (net "/I2S_BCLK") - (uuid "b5efb90a-8206-4f82-bc2e-6aff8331f4f5") + (uuid "d4a30c99-7a74-4566-8f7a-7df6344fdd13") ) (segment - (start 250.5 33) - (end 250.5 44.5) + (start 141.767106 48.66) + (end 134.5 41.392894) (width 0.25) (layer "F.Cu") (net "/I2S_BCLK") - (uuid "b8835e6a-4316-4c72-be6e-8ee27a8b5d8f") + (uuid "e1f15f9a-4772-4cac-95a8-6daf332e8086") ) (segment - (start 143.6 48.66) - (end 141.767106 48.66) + (start 134.5 41.392894) + (end 134.5 33.11) (width 0.25) (layer "F.Cu") (net "/I2S_BCLK") - (uuid "c1c8a768-687e-45e6-9b2b-66911aabc47e") + (uuid "f6473ed3-cc72-48f4-9f6a-54b83ea03e3b") ) (segment - (start 248 47) - (end 247 47) + (start 243.4 42.2) + (end 241.11 44.49) (width 0.25) (layer "F.Cu") - (net "/I2S_BCLK") - (uuid "cfc0559d-a539-4ddb-9c63-adf7d225655d") + (net "/I2S_DIN") + (uuid "1d436935-198e-42e7-9c34-ccdcc16d977a") ) (segment - (start 134.5 32.225) - (end 249.725 32.225) + (start 138.5 33) + (end 138.775 32.725) (width 0.25) (layer "F.Cu") - (net "/I2S_BCLK") - (uuid "e0d242f3-7b06-43ae-82b4-c809206fc7f8") + (net "/I2S_DIN") + (uuid "3efb5d42-60e0-4790-9f56-72b971f51d2a") ) (segment - (start 250 41.5) - (end 247 44.5) + (start 242.705 32.725) + (end 243.4 33.42) (width 0.25) (layer "F.Cu") (net "/I2S_DIN") - (uuid "424eb6bf-9802-4387-9985-5d281c38f2b3") + (uuid "4ece7891-5200-4447-9f45-43d07d54d1a2") ) (segment - (start 138 33) - (end 249.5 33) + (start 243.4 33.42) + (end 243.4 42.2) (width 0.25) (layer "F.Cu") (net "/I2S_DIN") - (uuid "42c062e8-f00e-463a-b55b-29fe7e79bac6") + (uuid "6ad14d1c-0c78-4c8a-95fe-845c74e82b9d") ) (segment - (start 250 33.5) - (end 250 41.5) + (start 138.775 32.725) + (end 242.705 32.725) (width 0.25) (layer "F.Cu") (net "/I2S_DIN") - (uuid "73975ca3-aa76-46e1-806e-3029c6a31755") + (uuid "8e3761f6-2d00-44fe-a0fc-e1e6198a42b1") ) (segment - (start 249.5 33) - (end 250 33.5) + (start 137.5 33) + (end 138.5 33) (width 0.25) (layer "F.Cu") (net "/I2S_DIN") - (uuid "945e8750-64f4-4804-8711-3e8de03fe2f9") + (uuid "e5f5b03c-4acb-4300-bef4-ecc0071b0226") ) (via - (at 138 33) + (at 137.5 33) (size 0.8) (drill 0.4) (layers "F.Cu" "B.Cu") @@ -3624,55 +3648,63 @@ (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "114beba8-19f7-443c-b23a-5fa1a1a5d8cc") + (uuid "4e41c798-6f33-4b19-9cbb-31b1a280751a") ) (segment - (start 136.5 34.5) - (end 136.5 40.842412) + (start 144.825 52.515) + (end 143.6 53.74) (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "24ab9c33-1c58-4188-bc05-54f02bef4937") + (uuid "502cedb3-1b74-4c91-b6c2-52a2a9feb417") ) (segment - (start 136.5 40.842412) - (end 143.092588 47.435) + (start 135 41.171206) + (end 141.263794 47.435) (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "31f4d0dd-c8d7-4c74-809e-a64a34a5fced") + (uuid "519ffcff-bfab-4a74-9dba-35b5057ba684") ) (segment - (start 138 33) - (end 136.5 34.5) + (start 141.263794 47.435) + (end 144.107412 47.435) (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "62918640-61a9-483d-ae7b-5cd6883d4cd7") + (uuid "6cf3f5df-4281-42fc-bc0d-e5f0a3a8b57f") ) (segment - (start 143.092588 47.435) - (end 144.107412 47.435) + (start 144.825 48.152588) + (end 144.825 52.515) (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "69cec695-35f6-4b4a-aec6-00cb3f9c902a") + (uuid "6fcb2b3c-0cfc-4026-8e6f-37296715032d") ) (segment - (start 144.825 52.515) - (end 143.6 53.74) + (start 135 34) + (end 135 41.171206) (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "b92b0b0e-8a4f-49d1-9fe1-97ab3350da54") + (uuid "707b1fdc-0fa9-4afd-942a-ecc9d8718b27") ) (segment - (start 144.825 48.152588) - (end 144.825 52.515) + (start 136 33) + (end 135 34) + (width 0.25) + (layer "B.Cu") + (net "/I2S_DIN") + (uuid "92a89837-fbd9-4656-9ae7-41a90d4383ac") + ) + (segment + (start 137.5 33) + (end 136 33) (width 0.25) (layer "B.Cu") (net "/I2S_DIN") - (uuid "d393ab17-274e-473d-af5e-35e460d52431") + (uuid "e115028d-f0ba-4f91-93b0-31a43309b406") ) (zone (net "GND") @@ -3696,185 +3728,83 @@ (filled_polygon (layer "F.Cu") (pts - (xy 219.969334 45.417769) (xy 220.025267 45.459641) (xy 220.049684 45.525105) (xy 220.05 45.533951) - (xy 220.05 45.646246) (xy 220.083242 45.856127) (xy 220.083242 45.85613) (xy 220.148904 46.058217) - (xy 220.245375 46.24755) (xy 220.284728 46.301716) (xy 220.917037 45.669408) (xy 220.934075 45.732993) - (xy 220.999901 45.847007) (xy 221.092993 45.940099) (xy 221.207007 46.005925) (xy 221.27059 46.022962) - (xy 220.60037 46.693181) (xy 220.539047 46.726666) (xy 220.512698 46.7295) (xy 220.502134 46.7295) - (xy 220.502123 46.729501) (xy 220.442516 46.735908) (xy 220.307671 46.786202) (xy 220.307664 46.786206) - (xy 220.192455 46.872452) (xy 220.192452 46.872455) (xy 220.106206 46.987664) (xy 220.106202 46.987671) - (xy 220.055908 47.122517) (xy 220.052942 47.150109) (xy 220.049501 47.182123) (xy 220.0495 47.182135) - (xy 220.0495 47.2555) (xy 220.029815 47.322539) (xy 219.977011 47.368294) (xy 219.9255 47.3795) - (xy 218.204452 47.3795) (xy 218.137413 47.359815) (xy 218.091658 47.307011) (xy 218.081714 47.237853) - (xy 218.110739 47.174297) (xy 218.116771 47.167819) (xy 218.974734 46.309856) (xy 219.838319 45.446269) - (xy 219.899642 45.412785) - ) - ) - (filled_polygon - (layer "F.Cu") - (pts - (xy 249.256587 33.645185) (xy 249.277229 33.661819) (xy 249.338181 33.722771) (xy 249.371666 33.784094) - (xy 249.3745 33.810452) (xy 249.3745 41.189546) (xy 249.354815 41.256585) (xy 249.338181 41.277227) - (xy 248.562181 42.053227) (xy 248.500858 42.086712) (xy 248.431166 42.081728) (xy 248.375233 42.039856) - (xy 248.350816 41.974392) (xy 248.3505 41.965546) (xy 248.3505 41.893713) (xy 248.342776 41.844949) - (xy 248.317246 41.683757) (xy 248.251557 41.481588) (xy 248.155051 41.292184) (xy 248.155049 41.292181) - (xy 248.155048 41.292179) (xy 248.030109 41.120213) (xy 247.879792 40.969896) (xy 247.86757 40.961016) - (xy 247.715204 40.850316) (xy 247.67254 40.794989) (xy 247.666561 40.725376) (xy 247.699166 40.66358) - (xy 247.715199 40.649686) (xy 247.879792 40.530104) (xy 248.030104 40.379792) (xy 248.030106 40.379788) - (xy 248.030109 40.379786) (xy 248.155048 40.20782) (xy 248.155047 40.20782) (xy 248.155051 40.207816) - (xy 248.251557 40.018412) (xy 248.317246 39.816243) (xy 248.3505 39.606287) (xy 248.3505 39.393713) - (xy 248.317246 39.183757) (xy 248.251557 38.981588) (xy 248.155051 38.792184) (xy 248.155049 38.792181) - (xy 248.155048 38.792179) (xy 248.030109 38.620213) (xy 247.87979 38.469894) (xy 247.879785 38.46989) - (xy 247.714781 38.350008) (xy 247.672115 38.294678) (xy 247.666136 38.225065) (xy 247.698741 38.16327) - (xy 247.714781 38.149372) (xy 247.761716 38.115271) (xy 247.761717 38.11527) (xy 247.129408 37.482962) - (xy 247.192993 37.465925) (xy 247.307007 37.400099) (xy 247.400099 37.307007) (xy 247.465925 37.192993) - (xy 247.482962 37.129408) (xy 248.11527 37.761717) (xy 248.11527 37.761716) (xy 248.154622 37.707554) - (xy 248.251095 37.518217) (xy 248.316757 37.31613) (xy 248.316757 37.316127) (xy 248.35 37.106246) - (xy 248.35 36.893753) (xy 248.316757 36.683872) (xy 248.316757 36.683869) (xy 248.251095 36.481782) - (xy 248.154624 36.292449) (xy 248.11527 36.238282) (xy 248.115269 36.238282) (xy 247.482962 36.87059) - (xy 247.465925 36.807007) (xy 247.400099 36.692993) (xy 247.307007 36.599901) (xy 247.192993 36.534075) - (xy 247.129409 36.517037) (xy 247.761716 35.884728) (xy 247.71478 35.850628) (xy 247.672114 35.795298) - (xy 247.666135 35.725685) (xy 247.69874 35.663889) (xy 247.714776 35.649994) (xy 247.879792 35.530104) - (xy 248.030104 35.379792) (xy 248.030106 35.379788) (xy 248.030109 35.379786) (xy 248.155048 35.20782) - (xy 248.155047 35.20782) (xy 248.155051 35.207816) (xy 248.251557 35.018412) (xy 248.317246 34.816243) - (xy 248.3505 34.606287) (xy 248.3505 34.393713) (xy 248.317246 34.183757) (xy 248.251557 33.981588) - (xy 248.161985 33.805794) (xy 248.14909 33.737126) (xy 248.175366 33.672385) (xy 248.232473 33.632128) - (xy 248.272471 33.6255) (xy 249.189548 33.6255) - ) - ) - (filled_polygon - (layer "F.Cu") - (pts - (xy 250.504418 30.500816) (xy 250.704561 30.51513) (xy 250.722063 30.517647) (xy 250.913795 30.559355) - (xy 250.93076 30.564336) (xy 251.114611 30.632909) (xy 251.130694 30.640253) (xy 251.247495 30.704032) - (xy 251.302908 30.73429) (xy 251.317791 30.743855) (xy 251.474864 30.861438) (xy 251.488235 30.873024) - (xy 251.626975 31.011764) (xy 251.638561 31.025135) (xy 251.756144 31.182208) (xy 251.765709 31.197091) - (xy 251.859743 31.3693) (xy 251.867093 31.385394) (xy 251.935661 31.569234) (xy 251.940645 31.586209) - (xy 251.982351 31.777931) (xy 251.984869 31.795442) (xy 251.999184 31.99558) (xy 251.9995 32.004427) - (xy 251.9995 60.995572) (xy 251.999184 61.004419) (xy 251.984869 61.204557) (xy 251.982351 61.222068) - (xy 251.940645 61.41379) (xy 251.935661 61.430765) (xy 251.867093 61.614605) (xy 251.859743 61.630699) - (xy 251.765709 61.802908) (xy 251.756144 61.817791) (xy 251.638561 61.974864) (xy 251.626975 61.988235) - (xy 251.488235 62.126975) (xy 251.474864 62.138561) (xy 251.317791 62.256144) (xy 251.302908 62.265709) - (xy 251.130699 62.359743) (xy 251.114605 62.367093) (xy 250.930765 62.435661) (xy 250.91379 62.440645) - (xy 250.722068 62.482351) (xy 250.704557 62.484869) (xy 250.523779 62.497799) (xy 250.504417 62.499184) - (xy 250.495572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) - (xy 125.295442 62.484869) (xy 125.277931 62.482351) (xy 125.086209 62.440645) (xy 125.069234 62.435661) - (xy 124.885394 62.367093) (xy 124.8693 62.359743) (xy 124.697091 62.265709) (xy 124.682208 62.256144) - (xy 124.525135 62.138561) (xy 124.511764 62.126975) (xy 124.373024 61.988235) (xy 124.361438 61.974864) - (xy 124.243855 61.817791) (xy 124.23429 61.802908) (xy 124.140256 61.630699) (xy 124.132909 61.614611) - (xy 124.064336 61.43076) (xy 124.059354 61.41379) (xy 124.028167 61.270426) (xy 124.017648 61.222066) - (xy 124.017906 61.218458) (xy 124.01513 61.204556) (xy 124.011339 61.151557) (xy 124.000816 61.004418) - (xy 124.0005 60.995572) (xy 124.0005 60.861895) (xy 124.399498 60.861895) (xy 124.440423 61.014626) - (xy 124.450041 61.031284) (xy 124.450042 61.031287) (xy 124.519475 61.15155) (xy 124.519481 61.151558) - (xy 124.638349 61.270426) (xy 124.638354 61.27043) (xy 125.248443 61.88052) (xy 125.248445 61.880521) - (xy 125.248449 61.880524) (xy 125.385368 61.959573) (xy 125.385375 61.959577) (xy 125.538102 62.000501) - (xy 125.538104 62.000501) (xy 125.703813 62.000501) (xy 125.703829 62.0005) (xy 230.296172 62.0005) - (xy 230.296188 62.000501) (xy 230.303784 62.000501) (xy 230.461896 62.000501) (xy 230.461899 62.000501) - (xy 230.614627 61.959577) (xy 230.664746 61.930639) (xy 230.751558 61.88052) (xy 230.863362 61.768716) - (xy 230.863362 61.768714) (xy 230.87357 61.758507) (xy 230.873571 61.758504) (xy 234.317861 58.314216) - (xy 234.37918 58.280734) (xy 234.448872 58.285718) (xy 234.504805 58.32759) (xy 234.529222 58.393054) - (xy 234.52936 58.395253) (xy 234.5295 58.397867) (xy 234.535908 58.457483) (xy 234.586202 58.592328) - (xy 234.586206 58.592335) (xy 234.672452 58.707544) (xy 234.672455 58.707547) (xy 234.787664 58.793793) - (xy 234.787671 58.793797) (xy 234.922517 58.844091) (xy 234.922516 58.844091) (xy 234.929444 58.844835) - (xy 234.982127 58.8505) (xy 236.777872 58.850499) (xy 236.837483 58.844091) (xy 236.972331 58.793796) - (xy 237.087546 58.707546) (xy 237.173796 58.592331) (xy 237.22281 58.460916) (xy 237.264681 58.404984) - (xy 237.330145 58.380566) (xy 237.398418 58.395417) (xy 237.426673 58.416569) (xy 237.540213 58.530109) - (xy 237.712179 58.655048) (xy 237.712181 58.655049) (xy 237.712184 58.655051) (xy 237.901588 58.751557) - (xy 238.103757 58.817246) (xy 238.313713 58.8505) (xy 238.313714 58.8505) (xy 238.526286 58.8505) - (xy 238.526287 58.8505) (xy 238.736243 58.817246) (xy 238.938412 58.751557) (xy 239.127816 58.655051) - (xy 239.214138 58.592335) (xy 239.299786 58.530109) (xy 239.299788 58.530106) (xy 239.299792 58.530104) - (xy 239.450104 58.379792) (xy 239.450106 58.379788) (xy 239.450109 58.379786) (xy 239.575048 58.20782) - (xy 239.575047 58.20782) (xy 239.575051 58.207816) (xy 239.579514 58.199054) (xy 239.627488 58.148259) - (xy 239.695308 58.131463) (xy 239.761444 58.153999) (xy 239.800486 58.199056) (xy 239.804951 58.20782) - (xy 239.92989 58.379786) (xy 240.080213 58.530109) (xy 240.252179 58.655048) (xy 240.252181 58.655049) - (xy 240.252184 58.655051) (xy 240.441588 58.751557) (xy 240.643757 58.817246) (xy 240.853713 58.8505) - (xy 240.853714 58.8505) (xy 241.066286 58.8505) (xy 241.066287 58.8505) (xy 241.276243 58.817246) - (xy 241.478412 58.751557) (xy 241.667816 58.655051) (xy 241.754138 58.592335) (xy 241.839786 58.530109) - (xy 241.839788 58.530106) (xy 241.839792 58.530104) (xy 241.990104 58.379792) (xy 241.990106 58.379788) - (xy 241.990109 58.379786) (xy 242.07589 58.261717) (xy 242.115051 58.207816) (xy 242.119793 58.198508) - (xy 242.167763 58.147711) (xy 242.235583 58.130911) (xy 242.301719 58.153445) (xy 242.340763 58.1985) - (xy 242.345373 58.207547) (xy 242.384728 58.261716) (xy 243.017037 57.629408) (xy 243.034075 57.692993) - (xy 243.099901 57.807007) (xy 243.192993 57.900099) (xy 243.307007 57.965925) (xy 243.37059 57.982962) - (xy 242.738282 58.615269) (xy 242.738282 58.61527) (xy 242.792449 58.654624) (xy 242.981782 58.751095) - (xy 243.18387 58.816757) (xy 243.393754 58.85) (xy 243.606246 58.85) (xy 243.816127 58.816757) (xy 243.81613 58.816757) - (xy 244.018217 58.751095) (xy 244.207554 58.654622) (xy 244.261716 58.61527) (xy 244.261717 58.61527) - (xy 243.629408 57.982962) (xy 243.692993 57.965925) (xy 243.807007 57.900099) (xy 243.900099 57.807007) - (xy 243.965925 57.692993) (xy 243.982962 57.629409) (xy 244.61527 58.261717) (xy 244.61527 58.261716) - (xy 244.654622 58.207554) (xy 244.751095 58.018217) (xy 244.816757 57.81613) (xy 244.816757 57.816127) - (xy 244.85 57.606246) (xy 244.85 57.393753) (xy 244.816757 57.183872) (xy 244.816757 57.183869) - (xy 244.751095 56.981782) (xy 244.654624 56.792449) (xy 244.61527 56.738282) (xy 244.615269 56.738282) - (xy 243.982962 57.37059) (xy 243.965925 57.307007) (xy 243.900099 57.192993) (xy 243.807007 57.099901) - (xy 243.692993 57.034075) (xy 243.629409 57.017037) (xy 244.261716 56.384728) (xy 244.20755 56.345375) - (xy 244.018217 56.248904) (xy 243.816129 56.183242) (xy 243.606246 56.15) (xy 243.393754 56.15) - (xy 243.183872 56.183242) (xy 243.183869 56.183242) (xy 242.981782 56.248904) (xy 242.792439 56.34538) - (xy 242.738282 56.384727) (xy 242.738282 56.384728) (xy 243.370591 57.017037) (xy 243.307007 57.034075) - (xy 243.192993 57.099901) (xy 243.099901 57.192993) (xy 243.034075 57.307007) (xy 243.017037 57.370591) - (xy 242.384728 56.738282) (xy 242.34423 56.74147) (xy 242.330618 56.73861) (xy 242.316853 56.74059) - (xy 242.297101 56.731569) (xy 242.275852 56.727106) (xy 242.265947 56.717342) (xy 242.253297 56.711565) - (xy 242.241557 56.693298) (xy 242.226095 56.678055) (xy 242.222268 56.663283) (xy 242.215523 56.652787) - (xy 242.2105 56.617852) (xy 242.2105 56.199496) (xy 242.179709 56.005096) (xy 242.179709 56.005095) - (xy 242.179709 56.005093) (xy 242.139475 55.881267) (xy 242.118884 55.817893) (xy 242.029524 55.642514) - (xy 241.913829 55.483274) (xy 237.676727 51.246172) (xy 237.517486 51.130476) (xy 237.496926 51.12) - (xy 237.342111 51.041117) (xy 237.154907 50.98029) (xy 236.960503 50.9495) (xy 236.960498 50.9495) - (xy 236.898417 50.9495) (xy 212.824397 50.9495) (xy 212.757358 50.929815) (xy 212.711603 50.877011) + (xy 136.542539 32.870185) (xy 136.588294 32.922989) (xy 136.5995 32.9745) (xy 136.5995 33.088695) + (xy 136.634103 33.262658) (xy 136.634106 33.262667) (xy 136.701983 33.42654) (xy 136.70199 33.426553) + (xy 136.800535 33.574034) (xy 136.800538 33.574038) (xy 136.925961 33.699461) (xy 136.925965 33.699464) + (xy 137.073446 33.798009) (xy 137.073459 33.798016) (xy 137.196363 33.848923) (xy 137.237334 33.865894) + (xy 137.237336 33.865894) (xy 137.237341 33.865896) (xy 137.411304 33.900499) (xy 137.411307 33.9005) + (xy 137.411309 33.9005) (xy 137.588693 33.9005) (xy 137.588694 33.900499) (xy 137.646682 33.888964) + (xy 137.762658 33.865896) (xy 137.762661 33.865894) (xy 137.762666 33.865894) (xy 137.926547 33.798013) + (xy 138.074035 33.699464) (xy 138.111679 33.66182) (xy 138.173001 33.628334) (xy 138.199361 33.6255) + (xy 138.561607 33.6255) (xy 138.622029 33.613481) (xy 138.682452 33.601463) (xy 138.682455 33.601461) + (xy 138.682458 33.601461) (xy 138.715787 33.587654) (xy 138.715786 33.587654) (xy 138.715792 33.587652) + (xy 138.796286 33.554312) (xy 138.871047 33.504357) (xy 138.898733 33.485858) (xy 138.985858 33.398733) + (xy 138.985858 33.398731) (xy 138.996066 33.388524) (xy 138.996071 33.388529) (xy 138.996092 33.388496) + (xy 138.997796 33.386792) (xy 139.059129 33.353326) (xy 139.085451 33.3505) (xy 236.581664 33.3505) + (xy 236.648703 33.370185) (xy 236.694458 33.422989) (xy 236.704402 33.492147) (xy 236.675377 33.555703) + (xy 236.669345 33.562181) (xy 234.219878 36.011647) (xy 234.219878 36.011648) (xy 234.219876 36.01165) + (xy 234.18018 36.066287) (xy 234.10418 36.17089) (xy 234.014821 36.346265) (xy 233.953994 36.533469) + (xy 233.923204 36.727873) (xy 233.923204 50.8255) (xy 233.903519 50.892539) (xy 233.850715 50.938294) + (xy 233.799204 50.9495) (xy 212.824397 50.9495) (xy 212.757358 50.929815) (xy 212.711603 50.877011) (xy 212.701659 50.807853) (xy 212.730684 50.744297) (xy 212.751512 50.725181) (xy 212.799792 50.690104) (xy 212.950104 50.539792) (xy 212.950106 50.539788) (xy 212.950109 50.539786) (xy 213.075048 50.36782) (xy 213.075047 50.36782) (xy 213.075051 50.367816) (xy 213.171557 50.178412) (xy 213.237246 49.976243) (xy 213.2705 49.766287) (xy 213.2705 49.553713) (xy 213.245715 49.397227) (xy 213.25467 49.327933) (xy 213.280507 49.290148) (xy 213.753837 48.816819) (xy 213.81516 48.783334) (xy 213.841518 48.7805) - (xy 219.925501 48.7805) (xy 219.99254 48.800185) (xy 220.038295 48.852989) (xy 220.049501 48.9045) - (xy 220.049501 48.977876) (xy 220.055908 49.037483) (xy 220.106202 49.172328) (xy 220.106206 49.172335) - (xy 220.192452 49.287544) (xy 220.192455 49.287547) (xy 220.307664 49.373793) (xy 220.307671 49.373797) - (xy 220.442517 49.424091) (xy 220.442516 49.424091) (xy 220.449444 49.424835) (xy 220.502127 49.4305) - (xy 222.297872 49.430499) (xy 222.357483 49.424091) (xy 222.492331 49.373796) (xy 222.607546 49.287546) - (xy 222.693796 49.172331) (xy 222.744091 49.037483) (xy 222.7505 48.977873) (xy 222.750499 47.182128) - (xy 222.744091 47.122517) (xy 222.738037 47.106286) (xy 222.693797 46.987671) (xy 222.693793 46.987664) - (xy 222.607547 46.872455) (xy 222.607544 46.872452) (xy 222.492335 46.786206) (xy 222.492328 46.786202) - (xy 222.357482 46.735908) (xy 222.357483 46.735908) (xy 222.297883 46.729501) (xy 222.297881 46.7295) - (xy 222.297873 46.7295) (xy 222.297865 46.7295) (xy 222.287309 46.7295) (xy 222.22027 46.709815) - (xy 222.199628 46.693181) (xy 221.529408 46.022962) (xy 221.592993 46.005925) (xy 221.707007 45.940099) - (xy 221.800099 45.847007) (xy 221.865925 45.732993) (xy 221.882962 45.669408) (xy 222.51527 46.301717) - (xy 222.51527 46.301716) (xy 222.554622 46.247554) (xy 222.651095 46.058217) (xy 222.716757 45.85613) - (xy 222.716757 45.856127) (xy 222.75 45.646246) (xy 222.75 45.433753) (xy 222.716757 45.223872) - (xy 222.716757 45.223869) (xy 222.651095 45.021782) (xy 222.554624 44.832449) (xy 222.51527 44.778282) - (xy 222.515269 44.778282) (xy 221.882962 45.41059) (xy 221.865925 45.347007) (xy 221.800099 45.232993) - (xy 221.707007 45.139901) (xy 221.592993 45.074075) (xy 221.529408 45.057037) (xy 222.161716 44.424728) - (xy 222.107547 44.385373) (xy 222.107547 44.385372) (xy 222.0985 44.380763) (xy 222.047706 44.332788) - (xy 222.030912 44.264966) (xy 222.053451 44.198832) (xy 222.098508 44.159793) (xy 222.107816 44.155051) - (xy 222.189241 44.095893) (xy 222.279786 44.030109) (xy 222.279788 44.030106) (xy 222.279792 44.030104) - (xy 222.430104 43.879792) (xy 222.430106 43.879788) (xy 222.430109 43.879786) (xy 222.555048 43.70782) - (xy 222.555047 43.70782) (xy 222.555051 43.707816) (xy 222.651557 43.518412) (xy 222.717246 43.316243) - (xy 222.7505 43.106287) (xy 222.7505 42.893713) (xy 222.717246 42.683757) (xy 222.651557 42.481588) - (xy 222.555051 42.292184) (xy 222.555049 42.292181) (xy 222.555048 42.292179) (xy 222.430109 42.120213) - (xy 222.279786 41.96989) (xy 222.10782 41.844951) (xy 222.107115 41.844591) (xy 222.099054 41.840485) - (xy 222.048259 41.792512) (xy 222.031463 41.724692) (xy 222.053999 41.658556) (xy 222.099054 41.619515) - (xy 222.107816 41.615051) (xy 222.153086 41.582161) (xy 222.279786 41.490109) (xy 222.279788 41.490106) - (xy 222.279792 41.490104) (xy 222.430104 41.339792) (xy 222.430106 41.339788) (xy 222.430109 41.339786) - (xy 222.555048 41.16782) (xy 222.555047 41.16782) (xy 222.555051 41.167816) (xy 222.651557 40.978412) - (xy 222.717246 40.776243) (xy 222.7505 40.566287) (xy 222.7505 40.353713) (xy 222.717246 40.143757) - (xy 222.651557 39.941588) (xy 222.555051 39.752184) (xy 222.555049 39.752181) (xy 222.555048 39.752179) - (xy 222.430109 39.580213) (xy 222.279786 39.42989) (xy 222.10782 39.304951) (xy 221.918414 39.208444) - (xy 221.918413 39.208443) (xy 221.918412 39.208443) (xy 221.716243 39.142754) (xy 221.716241 39.142753) - (xy 221.71624 39.142753) (xy 221.553709 39.117011) (xy 221.506287 39.1095) (xy 221.293713 39.1095) - (xy 221.246291 39.117011) (xy 221.08376 39.142753) (xy 220.881585 39.208444) (xy 220.692179 39.304951) - (xy 220.520213 39.42989) (xy 220.36989 39.580213) (xy 220.244951 39.752179) (xy 220.148444 39.941585) - (xy 220.082753 40.14376) (xy 220.0495 40.353713) (xy 220.0495 40.566286) (xy 220.082753 40.776241) - (xy 220.087821 40.791837) (xy 220.089816 40.861678) (xy 220.057571 40.917837) (xy 217.057229 43.918181) - (xy 216.995906 43.951666) (xy 216.969548 43.9545) (xy 213.192981 43.9545) (xy 213.125942 43.934815) - (xy 213.082497 43.886797) (xy 213.075049 43.87218) (xy 212.950109 43.700213) (xy 212.799786 43.54989) - (xy 212.62782 43.424951) (xy 212.627115 43.424591) (xy 212.619054 43.420485) (xy 212.568259 43.372512) - (xy 212.551463 43.304692) (xy 212.573999 43.238556) (xy 212.619054 43.199515) (xy 212.627816 43.195051) - (xy 212.716171 43.130858) (xy 212.799786 43.070109) (xy 212.799788 43.070106) (xy 212.799792 43.070104) - (xy 212.950104 42.919792) (xy 212.950106 42.919788) (xy 212.950109 42.919786) (xy 213.075048 42.74782) - (xy 213.075049 42.747819) (xy 213.075051 42.747816) (xy 213.171557 42.558412) (xy 213.237246 42.356243) - (xy 213.2705 42.146287) (xy 213.2705 41.933713) (xy 213.237246 41.723757) (xy 213.171557 41.521588) - (xy 213.075051 41.332184) (xy 213.075049 41.332181) (xy 213.075048 41.332179) (xy 212.950109 41.160213) - (xy 212.79979 41.009894) (xy 212.799785 41.00989) (xy 212.794399 41.005977) (xy 212.751731 40.950649) - (xy 212.74575 40.881036) (xy 212.778354 40.81924) (xy 212.828278 40.787951) (xy 212.839117 40.784359) - (xy 212.839124 40.784356) (xy 212.988345 40.692315) (xy 213.112315 40.568345) (xy 213.204356 40.419124) - (xy 213.204358 40.419119) (xy 213.259505 40.252697) (xy 213.259506 40.25269) (xy 213.269999 40.149986) - (xy 213.27 40.149973) (xy 213.27 39.75) (xy 212.353012 39.75) (xy 212.385925 39.692993) (xy 212.42 39.565826) - (xy 212.42 39.434174) (xy 212.385925 39.307007) (xy 212.353012 39.25) (xy 213.269999 39.25) (xy 213.269999 38.850028) + (xy 217.765501 48.7805) (xy 217.83254 48.800185) (xy 217.878295 48.852989) (xy 217.889501 48.9045) + (xy 217.889501 48.927876) (xy 217.895908 48.987483) (xy 217.946202 49.122328) (xy 217.946206 49.122335) + (xy 218.032452 49.237544) (xy 218.032455 49.237547) (xy 218.147664 49.323793) (xy 218.147671 49.323797) + (xy 218.282517 49.374091) (xy 218.282516 49.374091) (xy 218.289444 49.374835) (xy 218.342127 49.3805) + (xy 220.137872 49.380499) (xy 220.197483 49.374091) (xy 220.332331 49.323796) (xy 220.447546 49.237546) + (xy 220.533796 49.122331) (xy 220.584091 48.987483) (xy 220.5905 48.927873) (xy 220.590499 47.132128) + (xy 220.584091 47.072517) (xy 220.581291 47.065011) (xy 220.533797 46.937671) (xy 220.533793 46.937664) + (xy 220.447547 46.822455) (xy 220.447544 46.822452) (xy 220.332335 46.736206) (xy 220.332328 46.736202) + (xy 220.197482 46.685908) (xy 220.197483 46.685908) (xy 220.137883 46.679501) (xy 220.137881 46.6795) + (xy 220.137873 46.6795) (xy 220.137865 46.6795) (xy 220.127309 46.6795) (xy 220.06027 46.659815) + (xy 220.039628 46.643181) (xy 219.369408 45.972962) (xy 219.432993 45.955925) (xy 219.547007 45.890099) + (xy 219.640099 45.797007) (xy 219.705925 45.682993) (xy 219.722962 45.619408) (xy 220.35527 46.251717) + (xy 220.35527 46.251716) (xy 220.394622 46.197554) (xy 220.491095 46.008217) (xy 220.556757 45.80613) + (xy 220.556757 45.806127) (xy 220.59 45.596246) (xy 220.59 45.383753) (xy 220.556757 45.173872) + (xy 220.556757 45.173869) (xy 220.491095 44.971782) (xy 220.394624 44.782449) (xy 220.35527 44.728282) + (xy 220.355269 44.728282) (xy 219.722962 45.36059) (xy 219.705925 45.297007) (xy 219.640099 45.182993) + (xy 219.547007 45.089901) (xy 219.432993 45.024075) (xy 219.369408 45.007037) (xy 220.001716 44.374728) + (xy 219.947547 44.335373) (xy 219.947547 44.335372) (xy 219.9385 44.330763) (xy 219.887706 44.282788) + (xy 219.870912 44.214966) (xy 219.893451 44.148832) (xy 219.938508 44.109793) (xy 219.947816 44.105051) + (xy 220.049351 44.031282) (xy 220.119786 43.980109) (xy 220.119788 43.980106) (xy 220.119792 43.980104) + (xy 220.270104 43.829792) (xy 220.270106 43.829788) (xy 220.270109 43.829786) (xy 220.395048 43.65782) + (xy 220.395047 43.65782) (xy 220.395051 43.657816) (xy 220.491557 43.468412) (xy 220.557246 43.266243) + (xy 220.5905 43.056287) (xy 220.5905 42.843713) (xy 220.557246 42.633757) (xy 220.491557 42.431588) + (xy 220.395051 42.242184) (xy 220.395049 42.242181) (xy 220.395048 42.242179) (xy 220.270109 42.070213) + (xy 220.119786 41.91989) (xy 219.94782 41.794951) (xy 219.947115 41.794591) (xy 219.939054 41.790485) + (xy 219.888259 41.742512) (xy 219.871463 41.674692) (xy 219.893999 41.608556) (xy 219.939054 41.569515) + (xy 219.947816 41.565051) (xy 220.077555 41.470791) (xy 220.119786 41.440109) (xy 220.119788 41.440106) + (xy 220.119792 41.440104) (xy 220.270104 41.289792) (xy 220.270106 41.289788) (xy 220.270109 41.289786) + (xy 220.395048 41.11782) (xy 220.395047 41.11782) (xy 220.395051 41.117816) (xy 220.491557 40.928412) + (xy 220.557246 40.726243) (xy 220.5905 40.516287) (xy 220.5905 40.303713) (xy 220.557246 40.093757) + (xy 220.491557 39.891588) (xy 220.395051 39.702184) (xy 220.395049 39.702181) (xy 220.395048 39.702179) + (xy 220.270109 39.530213) (xy 220.119786 39.37989) (xy 219.94782 39.254951) (xy 219.758414 39.158444) + (xy 219.758413 39.158443) (xy 219.758412 39.158443) (xy 219.556243 39.092754) (xy 219.556241 39.092753) + (xy 219.55624 39.092753) (xy 219.36137 39.061889) (xy 219.346287 39.0595) (xy 219.133713 39.0595) + (xy 219.11863 39.061889) (xy 218.92376 39.092753) (xy 218.721585 39.158444) (xy 218.532179 39.254951) + (xy 218.360213 39.37989) (xy 218.20989 39.530213) (xy 218.084951 39.702179) (xy 217.988444 39.891585) + (xy 217.922753 40.09376) (xy 217.906272 40.19782) (xy 217.8895 40.303713) (xy 217.8895 40.516287) + (xy 217.894321 40.546728) (xy 217.922754 40.726246) (xy 217.922754 40.726247) (xy 217.927821 40.741842) + (xy 217.929814 40.811683) (xy 217.89757 40.867837) (xy 214.847229 43.918181) (xy 214.785906 43.951666) + (xy 214.759548 43.9545) (xy 213.192981 43.9545) (xy 213.125942 43.934815) (xy 213.082497 43.886797) + (xy 213.075049 43.87218) (xy 212.950109 43.700213) (xy 212.799786 43.54989) (xy 212.62782 43.424951) + (xy 212.627115 43.424591) (xy 212.619054 43.420485) (xy 212.568259 43.372512) (xy 212.551463 43.304692) + (xy 212.573999 43.238556) (xy 212.619054 43.199515) (xy 212.627816 43.195051) (xy 212.696636 43.145051) + (xy 212.799786 43.070109) (xy 212.799788 43.070106) (xy 212.799792 43.070104) (xy 212.950104 42.919792) + (xy 212.950106 42.919788) (xy 212.950109 42.919786) (xy 213.075048 42.74782) (xy 213.075049 42.747819) + (xy 213.075051 42.747816) (xy 213.171557 42.558412) (xy 213.237246 42.356243) (xy 213.2705 42.146287) + (xy 213.2705 41.933713) (xy 213.237246 41.723757) (xy 213.171557 41.521588) (xy 213.075051 41.332184) + (xy 213.075049 41.332181) (xy 213.075048 41.332179) (xy 212.950109 41.160213) (xy 212.79979 41.009894) + (xy 212.799785 41.00989) (xy 212.794399 41.005977) (xy 212.751731 40.950649) (xy 212.74575 40.881036) + (xy 212.778354 40.81924) (xy 212.828278 40.787951) (xy 212.839117 40.784359) (xy 212.839124 40.784356) + (xy 212.988345 40.692315) (xy 213.112315 40.568345) (xy 213.204356 40.419124) (xy 213.204358 40.419119) + (xy 213.259505 40.252697) (xy 213.259506 40.25269) (xy 213.269999 40.149986) (xy 213.27 40.149973) + (xy 213.27 39.75) (xy 212.353012 39.75) (xy 212.385925 39.692993) (xy 212.42 39.565826) (xy 212.42 39.434174) + (xy 212.385925 39.307007) (xy 212.353012 39.25) (xy 213.269999 39.25) (xy 213.269999 38.850028) (xy 213.269998 38.850013) (xy 213.259505 38.747302) (xy 213.204358 38.58088) (xy 213.204356 38.580875) (xy 213.112315 38.431654) (xy 212.988345 38.307684) (xy 212.839124 38.215643) (xy 212.839119 38.215641) (xy 212.672697 38.160494) (xy 212.67269 38.160493) (xy 212.569986 38.15) (xy 212.17 38.15) (xy 212.17 39.066988) @@ -3935,168 +3865,276 @@ (xy 142.348904 37.981782) (xy 142.283242 38.183869) (xy 142.283242 38.183872) (xy 142.25 38.393753) (xy 142.25 38.606246) (xy 142.283242 38.816127) (xy 142.283242 38.81613) (xy 142.348904 39.018217) (xy 142.445376 39.207553) (xy 142.538853 39.336214) (xy 142.562332 39.402021) (xy 142.546506 39.470075) - (xy 142.526215 39.49678) (xy 141.690818 40.332179) (xy 141.476269 40.546728) (xy 141.476267 40.54673) - (xy 141.432704 40.590292) (xy 141.389142 40.633854) (xy 141.364132 40.671285) (xy 141.364131 40.671286) - (xy 141.32069 40.736297) (xy 141.32069 40.736298) (xy 141.320688 40.7363) (xy 141.320688 40.736302) - (xy 141.290901 40.808215) (xy 141.273538 40.850132) (xy 141.273535 40.850144) (xy 141.2495 40.970977) - (xy 141.2495 46.189017) (xy 141.256913 46.226287) (xy 141.256913 46.226296) (xy 141.273535 46.309856) - (xy 141.273537 46.309864) (xy 141.287205 46.342861) (xy 141.287205 46.342862) (xy 141.320685 46.423692) - (xy 141.320687 46.423695) (xy 141.320688 46.423698) (xy 141.354844 46.474815) (xy 141.354914 46.474919) - (xy 141.354915 46.474921) (xy 141.38914 46.526143) (xy 141.389141 46.526144) (xy 141.389142 46.526145) - (xy 141.476267 46.61327) (xy 141.476268 46.61327) (xy 141.483335 46.620337) (xy 141.483334 46.620337) - (xy 141.483338 46.62034) (xy 142.525858 47.662861) (xy 142.559343 47.724184) (xy 142.554359 47.793876) - (xy 142.538495 47.823427) (xy 142.44495 47.95218) (xy 142.437503 47.966797) (xy 142.389527 48.017592) - (xy 142.327019 48.0345) (xy 142.077558 48.0345) (xy 142.010519 48.014815) (xy 141.989877 47.998181) - (xy 135.161819 41.170123) (xy 135.128334 41.1088) (xy 135.1255 41.082442) (xy 135.1255 32.9745) - (xy 135.145185 32.907461) (xy 135.197989 32.861706) (xy 135.2495 32.8505) (xy 136.9755 32.8505) - (xy 137.042539 32.870185) (xy 137.088294 32.922989) (xy 137.0995 32.9745) (xy 137.0995 33.088695) - (xy 137.134103 33.262658) (xy 137.134106 33.262667) (xy 137.201983 33.42654) (xy 137.20199 33.426553) - (xy 137.300535 33.574034) (xy 137.300538 33.574038) (xy 137.425961 33.699461) (xy 137.425965 33.699464) - (xy 137.573446 33.798009) (xy 137.573459 33.798016) (xy 137.696363 33.848923) (xy 137.737334 33.865894) - (xy 137.737336 33.865894) (xy 137.737341 33.865896) (xy 137.911304 33.900499) (xy 137.911307 33.9005) - (xy 137.911309 33.9005) (xy 138.088693 33.9005) (xy 138.088694 33.900499) (xy 138.146682 33.888964) - (xy 138.262658 33.865896) (xy 138.262661 33.865894) (xy 138.262666 33.865894) (xy 138.426547 33.798013) - (xy 138.574035 33.699464) (xy 138.611679 33.66182) (xy 138.673001 33.628334) (xy 138.699361 33.6255) - (xy 245.727529 33.6255) (xy 245.794568 33.645185) (xy 245.840323 33.697989) (xy 245.850267 33.767147) - (xy 245.838014 33.805795) (xy 245.748444 33.981585) (xy 245.682753 34.18376) (xy 245.6495 34.393713) - (xy 245.6495 34.606286) (xy 245.680965 34.804951) (xy 245.682754 34.816243) (xy 245.719682 34.929896) - (xy 245.748444 35.018414) (xy 245.844951 35.20782) (xy 245.96989 35.379786) (xy 245.969896 35.379792) - (xy 246.120208 35.530104) (xy 246.285219 35.649991) (xy 246.327884 35.705319) (xy 246.333863 35.774932) - (xy 246.301258 35.836728) (xy 246.285218 35.850626) (xy 246.238282 35.884726) (xy 246.238282 35.884728) - (xy 246.870591 36.517037) (xy 246.807007 36.534075) (xy 246.692993 36.599901) (xy 246.599901 36.692993) - (xy 246.534075 36.807007) (xy 246.517037 36.87059) (xy 245.884728 36.238282) (xy 245.884727 36.238282) - (xy 245.84538 36.292439) (xy 245.748904 36.481782) (xy 245.683242 36.683869) (xy 245.683242 36.683872) - (xy 245.65 36.893753) (xy 245.65 37.106246) (xy 245.683242 37.316127) (xy 245.683242 37.31613) (xy 245.748904 37.518217) - (xy 245.845375 37.70755) (xy 245.884728 37.761716) (xy 246.517037 37.129408) (xy 246.534075 37.192993) - (xy 246.599901 37.307007) (xy 246.692993 37.400099) (xy 246.807007 37.465925) (xy 246.87059 37.482962) - (xy 246.238282 38.115269) (xy 246.238282 38.11527) (xy 246.285219 38.149371) (xy 246.327885 38.204701) - (xy 246.333864 38.274314) (xy 246.301259 38.33611) (xy 246.285219 38.350008) (xy 246.120214 38.46989) - (xy 246.120209 38.469894) (xy 245.96989 38.620213) (xy 245.844951 38.792179) (xy 245.748444 38.981585) - (xy 245.682753 39.18376) (xy 245.6495 39.393713) (xy 245.6495 39.606286) (xy 245.672508 39.751557) - (xy 245.682754 39.816243) (xy 245.723481 39.941588) (xy 245.748444 40.018414) (xy 245.844951 40.20782) - (xy 245.96989 40.379786) (xy 246.120209 40.530105) (xy 246.120214 40.530109) (xy 246.284793 40.649682) - (xy 246.327459 40.705011) (xy 246.333438 40.774625) (xy 246.300833 40.83642) (xy 246.284793 40.850318) - (xy 246.120214 40.96989) (xy 246.120209 40.969894) (xy 245.96989 41.120213) (xy 245.844951 41.292179) - (xy 245.748444 41.481585) (xy 245.682753 41.68376) (xy 245.6495 41.893713) (xy 245.6495 42.106286) - (xy 245.682753 42.316239) (xy 245.748444 42.518414) (xy 245.844951 42.70782) (xy 245.96989 42.879786) - (xy 246.120209 43.030105) (xy 246.120214 43.030109) (xy 246.284793 43.149682) (xy 246.327459 43.205011) - (xy 246.333438 43.274625) (xy 246.300833 43.33642) (xy 246.284793 43.350318) (xy 246.120214 43.46989) - (xy 246.120209 43.469894) (xy 245.96989 43.620213) (xy 245.844951 43.792179) (xy 245.748444 43.981585) - (xy 245.748443 43.981587) (xy 245.748443 43.981588) (xy 245.732296 44.031282) (xy 245.682753 44.18376) - (xy 245.6495 44.393713) (xy 245.6495 44.606286) (xy 245.676741 44.778282) (xy 245.682754 44.816243) - (xy 245.73555 44.978733) (xy 245.748444 45.018414) (xy 245.844951 45.20782) (xy 245.96989 45.379786) - (xy 246.120209 45.530105) (xy 246.120214 45.530109) (xy 246.284793 45.649682) (xy 246.327459 45.705011) - (xy 246.333438 45.774625) (xy 246.300833 45.83642) (xy 246.284793 45.850318) (xy 246.120214 45.96989) - (xy 246.120209 45.969894) (xy 245.96989 46.120213) (xy 245.844951 46.292179) (xy 245.748444 46.481585) - (xy 245.682753 46.68376) (xy 245.652867 46.872452) (xy 245.6495 46.893713) (xy 245.6495 47.106287) - (xy 245.652071 47.122517) (xy 245.681291 47.307011) (xy 245.682754 47.316243) (xy 245.744069 47.504951) - (xy 245.748444 47.518414) (xy 245.844951 47.70782) (xy 245.96989 47.879786) (xy 246.108705 48.018601) - (xy 246.14219 48.079924) (xy 246.137206 48.149616) (xy 246.095334 48.205549) (xy 246.086121 48.211821) - (xy 245.931342 48.307289) (xy 245.807289 48.431342) (xy 245.715187 48.580663) (xy 245.715186 48.580666) - (xy 245.660001 48.747203) (xy 245.660001 48.747204) (xy 245.66 48.747204) (xy 245.6495 48.849983) - (xy 245.6495 50.150001) (xy 245.649501 50.150018) (xy 245.66 50.252796) (xy 245.660001 50.252799) - (xy 245.715185 50.419331) (xy 245.715186 50.419334) (xy 245.807288 50.568656) (xy 245.931344 50.692712) - (xy 246.080666 50.784814) (xy 246.247203 50.839999) (xy 246.349991 50.8505) (xy 247.650008 50.850499) - (xy 247.752797 50.839999) (xy 247.919334 50.784814) (xy 248.068656 50.692712) (xy 248.192712 50.568656) - (xy 248.284814 50.419334) (xy 248.339999 50.252797) (xy 248.3505 50.150009) (xy 248.350499 50.08409) - (xy 248.370183 50.017052) (xy 248.395834 49.988237) (xy 248.398725 49.985863) (xy 248.398733 49.985858) - (xy 248.485858 49.898733) (xy 248.485858 49.898731) (xy 248.496062 49.888528) (xy 248.496065 49.888523) - (xy 251.485858 46.898733) (xy 251.554312 46.796285) (xy 251.601463 46.682451) (xy 251.625501 46.561606) - (xy 251.625501 46.438393) (xy 251.625501 46.433283) (xy 251.6255 46.433257) (xy 251.6255 32.731286) - (xy 251.625499 32.731282) (xy 251.601464 32.610448) (xy 251.601463 32.610441) (xy 251.554311 32.496607) - (xy 251.55431 32.496606) (xy 251.554307 32.4966) (xy 251.485859 32.394161) (xy 251.485858 32.39416) - (xy 251.398733 32.307035) (xy 251.398732 32.307034) (xy 250.425033 31.333337) (xy 250.425031 31.333334) - (xy 250.425031 31.333335) (xy 250.417964 31.326268) (xy 250.417964 31.326267) (xy 250.330839 31.239142) - (xy 250.330838 31.239141) (xy 250.330837 31.23914) (xy 250.29996 31.218509) (xy 250.28268 31.197833) - (xy 250.228394 31.170689) (xy 250.203759 31.160485) (xy 250.161709 31.143067) (xy 250.139996 31.134073) - (xy 250.114564 31.123539) (xy 250.114552 31.123535) (xy 249.993716 31.0995) (xy 249.993712 31.0995) - (xy 134.213394 31.0995) (xy 134.213389 31.0995) (xy 134.092553 31.123535) (xy 134.092541 31.123539) - (xy 134.060262 31.136909) (xy 134.045397 31.143067) (xy 133.978719 31.170685) (xy 133.978717 31.170686) - (xy 133.876266 31.239141) (xy 133.876263 31.239144) (xy 133.601269 31.51414) (xy 133.601267 31.514142) - (xy 133.56696 31.548449) (xy 133.514144 31.601264) (xy 133.514142 31.601267) (xy 133.499262 31.623537) - (xy 133.499261 31.623539) (xy 133.49926 31.623538) (xy 133.445689 31.703712) (xy 133.445685 31.703719) - (xy 133.39854 31.817538) (xy 133.398537 31.817547) (xy 133.375356 31.934094) (xy 133.375352 31.934111) - (xy 133.3745 31.938388) (xy 133.3745 31.938394) (xy 133.3745 41.661607) (xy 133.398537 41.782453) - (xy 133.398538 41.782456) (xy 133.404267 41.796287) (xy 133.445686 41.896285) (xy 133.445691 41.896293) - (xy 133.465961 41.926626) (xy 133.465963 41.926633) (xy 133.465965 41.926633) (xy 133.514138 41.998729) - (xy 133.514144 41.998737) (xy 133.605586 42.090179) (xy 133.605608 42.090199) (xy 142.257571 50.742162) - (xy 142.291056 50.803485) (xy 142.287821 50.86816) (xy 142.282754 50.883753) (xy 142.261904 51.015398) - (xy 142.231975 51.078533) (xy 142.172663 51.115464) (xy 142.139431 51.12) (xy 129.820569 51.12) - (xy 129.75353 51.100315) (xy 129.707775 51.047511) (xy 129.698096 51.015398) (xy 129.695886 51.001447) - (xy 129.677246 50.883757) (xy 129.611557 50.681588) (xy 129.515051 50.492184) (xy 129.515049 50.492181) - (xy 129.515048 50.492179) (xy 129.390109 50.320213) (xy 129.239786 50.16989) (xy 129.06782 50.044951) - (xy 129.067115 50.044591) (xy 129.059054 50.040485) (xy 129.008259 49.992512) (xy 128.991463 49.924692) - (xy 129.013999 49.858556) (xy 129.059054 49.819515) (xy 129.067816 49.815051) (xy 129.089789 49.799086) - (xy 129.239786 49.690109) (xy 129.239788 49.690106) (xy 129.239792 49.690104) (xy 129.390104 49.539792) - (xy 129.390106 49.539788) (xy 129.390109 49.539786) (xy 129.515048 49.36782) (xy 129.515047 49.36782) - (xy 129.515051 49.367816) (xy 129.611557 49.178412) (xy 129.677246 48.976243) (xy 129.7105 48.766287) - (xy 129.7105 48.553713) (xy 129.677246 48.343757) (xy 129.611557 48.141588) (xy 129.515051 47.952184) - (xy 129.515049 47.952181) (xy 129.515048 47.952179) (xy 129.390109 47.780213) (xy 129.239786 47.62989) - (xy 129.06782 47.504951) (xy 129.067115 47.504591) (xy 129.059054 47.500485) (xy 129.008259 47.452512) - (xy 128.991463 47.384692) (xy 129.013999 47.318556) (xy 129.059054 47.279515) (xy 129.067816 47.275051) - (xy 129.119015 47.237853) (xy 129.239786 47.150109) (xy 129.239788 47.150106) (xy 129.239792 47.150104) - (xy 129.390104 46.999792) (xy 129.390106 46.999788) (xy 129.390109 46.999786) (xy 129.515048 46.82782) - (xy 129.51505 46.827817) (xy 129.515051 46.827816) (xy 129.611557 46.638412) (xy 129.677246 46.436243) - (xy 129.7105 46.226287) (xy 129.7105 46.013713) (xy 129.677246 45.803757) (xy 129.611557 45.601588) - (xy 129.515051 45.412184) (xy 129.515049 45.412181) (xy 129.515048 45.412179) (xy 129.390109 45.240213) - (xy 129.239786 45.08989) (xy 129.06782 44.964951) (xy 129.067115 44.964591) (xy 129.059054 44.960485) - (xy 129.008259 44.912512) (xy 128.991463 44.844692) (xy 129.013999 44.778556) (xy 129.059054 44.739515) - (xy 129.067816 44.735051) (xy 129.118342 44.698342) (xy 129.239786 44.610109) (xy 129.239788 44.610106) - (xy 129.239792 44.610104) (xy 129.390104 44.459792) (xy 129.390106 44.459788) (xy 129.390109 44.459786) - (xy 129.515048 44.28782) (xy 129.515049 44.287819) (xy 129.515051 44.287816) (xy 129.611557 44.098412) - (xy 129.677246 43.896243) (xy 129.7105 43.686287) (xy 129.7105 43.473713) (xy 129.677246 43.263757) - (xy 129.611557 43.061588) (xy 129.515051 42.872184) (xy 129.515049 42.872181) (xy 129.515048 42.872179) - (xy 129.390109 42.700213) (xy 129.239786 42.54989) (xy 129.06782 42.424951) (xy 129.067115 42.424591) - (xy 129.059054 42.420485) (xy 129.008259 42.372512) (xy 128.991463 42.304692) (xy 129.013999 42.238556) - (xy 129.059054 42.199515) (xy 129.067816 42.195051) (xy 129.089789 42.179086) (xy 129.239786 42.070109) - (xy 129.239788 42.070106) (xy 129.239792 42.070104) (xy 129.390104 41.919792) (xy 129.390106 41.919788) - (xy 129.390109 41.919786) (xy 129.515048 41.74782) (xy 129.515047 41.74782) (xy 129.515051 41.747816) - (xy 129.611557 41.558412) (xy 129.677246 41.356243) (xy 129.7105 41.146287) (xy 129.7105 40.933713) - (xy 129.677246 40.723757) (xy 129.611557 40.521588) (xy 129.515051 40.332184) (xy 129.515049 40.332181) - (xy 129.515048 40.332179) (xy 129.390109 40.160213) (xy 129.239786 40.00989) (xy 129.06782 39.884951) - (xy 129.067115 39.884591) (xy 129.059054 39.880485) (xy 129.008259 39.832512) (xy 128.991463 39.764692) - (xy 129.013999 39.698556) (xy 129.059054 39.659515) (xy 129.067816 39.655051) (xy 129.089789 39.639086) - (xy 129.239786 39.530109) (xy 129.239788 39.530106) (xy 129.239792 39.530104) (xy 129.390104 39.379792) - (xy 129.390106 39.379788) (xy 129.390109 39.379786) (xy 129.515048 39.20782) (xy 129.515047 39.20782) - (xy 129.515051 39.207816) (xy 129.611557 39.018412) (xy 129.677246 38.816243) (xy 129.7105 38.606287) - (xy 129.7105 38.393713) (xy 129.677246 38.183757) (xy 129.611557 37.981588) (xy 129.515051 37.792184) - (xy 129.515049 37.792181) (xy 129.515048 37.792179) (xy 129.390109 37.620213) (xy 129.239786 37.46989) - (xy 129.06782 37.344951) (xy 129.067115 37.344591) (xy 129.059054 37.340485) (xy 129.008259 37.292512) - (xy 128.991463 37.224692) (xy 129.013999 37.158556) (xy 129.059054 37.119515) (xy 129.067816 37.115051) - (xy 129.135569 37.065826) (xy 129.239786 36.990109) (xy 129.239788 36.990106) (xy 129.239792 36.990104) - (xy 129.390104 36.839792) (xy 129.390106 36.839788) (xy 129.390109 36.839786) (xy 129.515048 36.66782) - (xy 129.515047 36.66782) (xy 129.515051 36.667816) (xy 129.611557 36.478412) (xy 129.677246 36.276243) - (xy 129.7105 36.066287) (xy 129.7105 35.853713) (xy 129.677246 35.643757) (xy 129.611557 35.441588) - (xy 129.515051 35.252184) (xy 129.515049 35.252181) (xy 129.515048 35.252179) (xy 129.390109 35.080213) - (xy 129.239786 34.92989) (xy 129.06782 34.804951) (xy 128.878414 34.708444) (xy 128.878413 34.708443) - (xy 128.878412 34.708443) (xy 128.676243 34.642754) (xy 128.676241 34.642753) (xy 128.67624 34.642753) - (xy 128.514957 34.617208) (xy 128.466287 34.6095) (xy 128.253713 34.6095) (xy 128.205042 34.617208) - (xy 128.04376 34.642753) (xy 127.841585 34.708444) (xy 127.652179 34.804951) (xy 127.480213 34.92989) - (xy 127.32989 35.080213) (xy 127.204951 35.252179) (xy 127.108444 35.441585) (xy 127.042753 35.64376) - (xy 127.0095 35.853713) (xy 127.0095 36.066286) (xy 127.036741 36.238282) (xy 127.042754 36.276243) - (xy 127.048016 36.292439) (xy 127.108444 36.478414) (xy 127.204951 36.66782) (xy 127.32989 36.839786) - (xy 127.480213 36.990109) (xy 127.652182 37.11505) (xy 127.660946 37.119516) (xy 127.711742 37.167491) - (xy 127.728536 37.235312) (xy 127.705998 37.301447) (xy 127.660946 37.340484) (xy 127.652182 37.344949) - (xy 127.480213 37.46989) (xy 127.32989 37.620213) (xy 127.204951 37.792179) (xy 127.108444 37.981585) - (xy 127.042753 38.18376) (xy 127.0095 38.393713) (xy 127.0095 38.606286) (xy 127.042735 38.816127) - (xy 127.042754 38.816243) (xy 127.053731 38.850028) (xy 127.108444 39.018414) (xy 127.204951 39.20782) - (xy 127.32989 39.379786) (xy 127.480213 39.530109) (xy 127.652182 39.65505) (xy 127.660946 39.659516) - (xy 127.711742 39.707491) (xy 127.728536 39.775312) (xy 127.705998 39.841447) (xy 127.660946 39.880484) - (xy 127.652182 39.884949) (xy 127.480213 40.00989) (xy 127.32989 40.160213) (xy 127.204951 40.332179) - (xy 127.108444 40.521585) (xy 127.042753 40.72376) (xy 127.0095 40.933713) (xy 127.0095 41.146286) - (xy 127.042754 41.356244) (xy 127.042754 41.356247) (xy 127.056491 41.398523) (xy 127.058486 41.468364) - (xy 127.026241 41.524522) (xy 124.631286 43.919478) (xy 124.519481 44.031282) (xy 124.51948 44.031284) - (xy 124.475185 44.108007) (xy 124.469361 44.118094) (xy 124.469359 44.118096) (xy 124.440425 44.168209) - (xy 124.440424 44.16821) (xy 124.430432 44.2055) (xy 124.399499 44.320943) (xy 124.399499 44.320945) - (xy 124.399499 44.489046) (xy 124.3995 44.489059) (xy 124.3995 60.696171) (xy 124.399499 60.696189) - (xy 124.399499 60.861895) (xy 124.399498 60.861895) (xy 124.0005 60.861895) (xy 124.0005 32.004427) - (xy 124.000816 31.995581) (xy 124.004906 31.938394) (xy 124.01513 31.795436) (xy 124.017646 31.777938) - (xy 124.059356 31.5862) (xy 124.064335 31.569242) (xy 124.132911 31.385382) (xy 124.140251 31.36931) - (xy 124.234294 31.197083) (xy 124.24385 31.182214) (xy 124.361443 31.025128) (xy 124.373017 31.011771) - (xy 124.511771 30.873017) (xy 124.525128 30.861443) (xy 124.682214 30.74385) (xy 124.697083 30.734294) - (xy 124.86931 30.640251) (xy 124.885382 30.632911) (xy 125.069242 30.564335) (xy 125.0862 30.559356) - (xy 125.277938 30.517646) (xy 125.295436 30.51513) (xy 125.495582 30.500816) (xy 125.504428 30.5005) - (xy 125.565892 30.5005) (xy 250.434108 30.5005) (xy 250.495572 30.5005) + (xy 142.526215 39.49678) (xy 141.476269 40.546728) (xy 141.389144 40.633852) (xy 141.389138 40.63386) + (xy 141.32069 40.736296) (xy 141.320688 40.736301) (xy 141.291303 40.807244) (xy 141.273538 40.850131) + (xy 141.273538 40.850133) (xy 141.273537 40.850136) (xy 141.2495 40.970982) (xy 141.2495 40.970984) + (xy 141.2495 46.189023) (xy 141.273535 46.309856) (xy 141.27354 46.309873) (xy 141.320685 46.423693) + (xy 141.320689 46.423701) (xy 141.32907 46.436242) (xy 141.329073 46.436246) (xy 141.38914 46.526143) + (xy 141.389141 46.526144) (xy 141.389142 46.526145) (xy 141.476267 46.61327) (xy 141.476268 46.61327) + (xy 141.483335 46.620337) (xy 141.483334 46.620337) (xy 141.483338 46.62034) (xy 142.525858 47.662861) + (xy 142.559343 47.724184) (xy 142.554359 47.793876) (xy 142.538495 47.823427) (xy 142.44495 47.95218) + (xy 142.437503 47.966797) (xy 142.389527 48.017592) (xy 142.327019 48.0345) (xy 142.077558 48.0345) + (xy 142.010519 48.014815) (xy 141.989877 47.998181) (xy 135.161819 41.170123) (xy 135.128334 41.1088) + (xy 135.1255 41.082442) (xy 135.1255 33.420452) (xy 135.145185 33.353413) (xy 135.161819 33.332771) + (xy 135.607771 32.886819) (xy 135.669094 32.853334) (xy 135.695452 32.8505) (xy 136.4755 32.8505) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 217.809334 45.367769) (xy 217.865267 45.409641) (xy 217.889684 45.475105) (xy 217.89 45.483951) + (xy 217.89 45.596246) (xy 217.923242 45.806127) (xy 217.923242 45.80613) (xy 217.988904 46.008217) + (xy 218.085375 46.19755) (xy 218.124728 46.251716) (xy 218.757037 45.619408) (xy 218.774075 45.682993) + (xy 218.839901 45.797007) (xy 218.932993 45.890099) (xy 219.047007 45.955925) (xy 219.11059 45.972962) + (xy 218.44037 46.643181) (xy 218.379047 46.676666) (xy 218.352698 46.6795) (xy 218.342134 46.6795) + (xy 218.342123 46.679501) (xy 218.282516 46.685908) (xy 218.147671 46.736202) (xy 218.147664 46.736206) + (xy 218.032455 46.822452) (xy 218.032452 46.822455) (xy 217.946206 46.937664) (xy 217.946202 46.937671) + (xy 217.895908 47.072517) (xy 217.893353 47.096286) (xy 217.889501 47.132123) (xy 217.8895 47.132135) + (xy 217.8895 47.2555) (xy 217.869815 47.322539) (xy 217.817011 47.368294) (xy 217.7655 47.3795) + (xy 215.994452 47.3795) (xy 215.927413 47.359815) (xy 215.881658 47.307011) (xy 215.871714 47.237853) + (xy 215.900739 47.174297) (xy 215.906771 47.167819) (xy 216.792411 46.282179) (xy 217.678321 45.396268) + (xy 217.739642 45.362785) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 242.461587 33.370185) (xy 242.482229 33.386819) (xy 242.738181 33.642771) (xy 242.771666 33.704094) + (xy 242.7745 33.730452) (xy 242.7745 41.889547) (xy 242.754815 41.956586) (xy 242.738181 41.977228) + (xy 242.672181 42.043228) (xy 242.610858 42.076713) (xy 242.541166 42.071729) (xy 242.485233 42.029857) + (xy 242.460816 41.964393) (xy 242.4605 41.955547) (xy 242.4605 41.883713) (xy 242.445734 41.790486) + (xy 242.427246 41.673757) (xy 242.361557 41.471588) (xy 242.265051 41.282184) (xy 242.265049 41.282181) + (xy 242.265048 41.282179) (xy 242.140109 41.110213) (xy 241.989792 40.959896) (xy 241.989784 40.95989) + (xy 241.825204 40.840316) (xy 241.78254 40.784989) (xy 241.776561 40.715376) (xy 241.809166 40.65358) + (xy 241.825199 40.639686) (xy 241.989792 40.520104) (xy 242.140104 40.369792) (xy 242.140106 40.369788) + (xy 242.140109 40.369786) (xy 242.265048 40.19782) (xy 242.265047 40.19782) (xy 242.265051 40.197816) + (xy 242.361557 40.008412) (xy 242.427246 39.806243) (xy 242.4605 39.596287) (xy 242.4605 39.383713) + (xy 242.427246 39.173757) (xy 242.361557 38.971588) (xy 242.265051 38.782184) (xy 242.265049 38.782181) + (xy 242.265048 38.782179) (xy 242.140109 38.610213) (xy 241.98979 38.459894) (xy 241.989785 38.45989) + (xy 241.824781 38.340008) (xy 241.782115 38.284678) (xy 241.776136 38.215065) (xy 241.808741 38.15327) + (xy 241.824781 38.139372) (xy 241.871716 38.105271) (xy 241.871717 38.10527) (xy 241.239408 37.472962) + (xy 241.302993 37.455925) (xy 241.417007 37.390099) (xy 241.510099 37.297007) (xy 241.575925 37.182993) + (xy 241.592962 37.119409) (xy 242.22527 37.751717) (xy 242.22527 37.751716) (xy 242.264622 37.697554) + (xy 242.361095 37.508217) (xy 242.426757 37.30613) (xy 242.426757 37.306127) (xy 242.46 37.096246) + (xy 242.46 36.883753) (xy 242.426757 36.673872) (xy 242.426757 36.673869) (xy 242.361095 36.471782) + (xy 242.264624 36.282449) (xy 242.22527 36.228282) (xy 242.225269 36.228282) (xy 241.592962 36.86059) + (xy 241.575925 36.797007) (xy 241.510099 36.682993) (xy 241.417007 36.589901) (xy 241.302993 36.524075) + (xy 241.239409 36.507037) (xy 241.871716 35.874728) (xy 241.82478 35.840628) (xy 241.782114 35.785298) + (xy 241.776135 35.715685) (xy 241.80874 35.653889) (xy 241.824776 35.639994) (xy 241.989792 35.520104) + (xy 242.140104 35.369792) (xy 242.140106 35.369788) (xy 242.140109 35.369786) (xy 242.265048 35.19782) + (xy 242.265047 35.19782) (xy 242.265051 35.197816) (xy 242.361557 35.008412) (xy 242.427246 34.806243) + (xy 242.4605 34.596287) (xy 242.4605 34.383713) (xy 242.427246 34.173757) (xy 242.361557 33.971588) + (xy 242.265051 33.782184) (xy 242.265049 33.782181) (xy 242.265048 33.782179) (xy 242.140109 33.610213) + (xy 242.092077 33.562181) (xy 242.058592 33.500858) (xy 242.063576 33.431166) (xy 242.105448 33.375233) + (xy 242.170912 33.350816) (xy 242.179758 33.3505) (xy 242.394548 33.3505) + ) + ) + (filled_polygon + (layer "F.Cu") + (pts + (xy 244.364418 30.500816) (xy 244.564561 30.51513) (xy 244.582063 30.517647) (xy 244.773795 30.559355) + (xy 244.79076 30.564336) (xy 244.974611 30.632909) (xy 244.990694 30.640253) (xy 245.107495 30.704032) + (xy 245.162908 30.73429) (xy 245.177791 30.743855) (xy 245.334864 30.861438) (xy 245.348235 30.873024) + (xy 245.486975 31.011764) (xy 245.498561 31.025135) (xy 245.616144 31.182208) (xy 245.625709 31.197091) + (xy 245.719743 31.3693) (xy 245.727093 31.385394) (xy 245.795661 31.569234) (xy 245.800645 31.586209) + (xy 245.842351 31.777931) (xy 245.844869 31.795442) (xy 245.859184 31.99558) (xy 245.8595 32.004427) + (xy 245.8595 60.995572) (xy 245.859184 61.004419) (xy 245.844869 61.204557) (xy 245.842351 61.222068) + (xy 245.800645 61.41379) (xy 245.795661 61.430765) (xy 245.727093 61.614605) (xy 245.719743 61.630699) + (xy 245.625709 61.802908) (xy 245.616144 61.817791) (xy 245.498561 61.974864) (xy 245.486975 61.988235) + (xy 245.348235 62.126975) (xy 245.334864 62.138561) (xy 245.177791 62.256144) (xy 245.162908 62.265709) + (xy 244.990699 62.359743) (xy 244.974605 62.367093) (xy 244.790765 62.435661) (xy 244.77379 62.440645) + (xy 244.582068 62.482351) (xy 244.564557 62.484869) (xy 244.383779 62.497799) (xy 244.364417 62.499184) + (xy 244.355572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) + (xy 125.295442 62.484869) (xy 125.277931 62.482351) (xy 125.086209 62.440645) (xy 125.069234 62.435661) + (xy 124.885394 62.367093) (xy 124.8693 62.359743) (xy 124.697091 62.265709) (xy 124.682208 62.256144) + (xy 124.525135 62.138561) (xy 124.511764 62.126975) (xy 124.373024 61.988235) (xy 124.361438 61.974864) + (xy 124.243855 61.817791) (xy 124.23429 61.802908) (xy 124.140256 61.630699) (xy 124.132909 61.614611) + (xy 124.064336 61.43076) (xy 124.059354 61.41379) (xy 124.017648 61.222068) (xy 124.01513 61.204556) + (xy 124.000816 61.004418) (xy 124.0005 60.995572) (xy 124.0005 60.024739) (xy 124.399498 60.024739) + (xy 124.440423 60.17747) (xy 124.469358 60.227585) (xy 124.469359 60.227589) (xy 124.46936 60.227589) + (xy 124.519479 60.314399) (xy 124.519481 60.314402) (xy 124.638349 60.43327) (xy 124.638355 60.433275) + (xy 125.969454 61.764374) (xy 125.969464 61.764385) (xy 125.973794 61.768715) (xy 125.973795 61.768716) + (xy 126.085599 61.88052) (xy 126.17241 61.930639) (xy 126.172412 61.930641) (xy 126.210466 61.952611) + (xy 126.22253 61.959577) (xy 126.375258 62.000501) (xy 126.375261 62.000501) (xy 126.540968 62.000501) + (xy 126.540984 62.0005) (xy 229.183331 62.0005) (xy 229.183347 62.000501) (xy 229.190943 62.000501) + (xy 229.349054 62.000501) (xy 229.349057 62.000501) (xy 229.501785 61.959577) (xy 229.551904 61.930639) + (xy 229.638716 61.88052) (xy 229.75052 61.768716) (xy 229.75052 61.768714) (xy 229.760728 61.758507) + (xy 229.76073 61.758504) (xy 232.622416 58.896818) (xy 232.683739 58.863333) (xy 232.710097 58.860499) + (xy 234.057871 58.860499) (xy 234.057872 58.860499) (xy 234.117483 58.854091) (xy 234.252331 58.803796) + (xy 234.367546 58.717546) (xy 234.453796 58.602331) (xy 234.50281 58.470916) (xy 234.544681 58.414984) + (xy 234.610145 58.390566) (xy 234.678418 58.405417) (xy 234.706673 58.426569) (xy 234.820213 58.540109) + (xy 234.992179 58.665048) (xy 234.992181 58.665049) (xy 234.992184 58.665051) (xy 235.181588 58.761557) + (xy 235.383757 58.827246) (xy 235.593713 58.8605) (xy 235.593714 58.8605) (xy 235.806286 58.8605) + (xy 235.806287 58.8605) (xy 236.016243 58.827246) (xy 236.218412 58.761557) (xy 236.407816 58.665051) + (xy 236.494138 58.602335) (xy 236.579786 58.540109) (xy 236.579788 58.540106) (xy 236.579792 58.540104) + (xy 236.730104 58.389792) (xy 236.730106 58.389788) (xy 236.730109 58.389786) (xy 236.855048 58.21782) + (xy 236.855047 58.21782) (xy 236.855051 58.217816) (xy 236.859514 58.209054) (xy 236.907488 58.158259) + (xy 236.975308 58.141463) (xy 237.041444 58.163999) (xy 237.080486 58.209056) (xy 237.084951 58.21782) + (xy 237.20989 58.389786) (xy 237.360213 58.540109) (xy 237.532179 58.665048) (xy 237.532181 58.665049) + (xy 237.532184 58.665051) (xy 237.721588 58.761557) (xy 237.923757 58.827246) (xy 238.133713 58.8605) + (xy 238.133714 58.8605) (xy 238.346286 58.8605) (xy 238.346287 58.8605) (xy 238.556243 58.827246) + (xy 238.758412 58.761557) (xy 238.947816 58.665051) (xy 239.034138 58.602335) (xy 239.119786 58.540109) + (xy 239.119788 58.540106) (xy 239.119792 58.540104) (xy 239.270104 58.389792) (xy 239.270106 58.389788) + (xy 239.270109 58.389786) (xy 239.35589 58.271717) (xy 239.395051 58.217816) (xy 239.399793 58.208508) + (xy 239.447763 58.157711) (xy 239.515583 58.140911) (xy 239.581719 58.163445) (xy 239.620763 58.2085) + (xy 239.625373 58.217547) (xy 239.664728 58.271716) (xy 240.297037 57.639408) (xy 240.314075 57.702993) + (xy 240.379901 57.817007) (xy 240.472993 57.910099) (xy 240.587007 57.975925) (xy 240.65059 57.992962) + (xy 240.018282 58.625269) (xy 240.018282 58.62527) (xy 240.072449 58.664624) (xy 240.261782 58.761095) + (xy 240.46387 58.826757) (xy 240.673754 58.86) (xy 240.886246 58.86) (xy 241.096127 58.826757) (xy 241.09613 58.826757) + (xy 241.298217 58.761095) (xy 241.487554 58.664622) (xy 241.541716 58.62527) (xy 241.541717 58.62527) + (xy 240.909408 57.992962) (xy 240.972993 57.975925) (xy 241.087007 57.910099) (xy 241.180099 57.817007) + (xy 241.245925 57.702993) (xy 241.262962 57.639408) (xy 241.89527 58.271717) (xy 241.89527 58.271716) + (xy 241.934622 58.217554) (xy 242.031095 58.028217) (xy 242.096757 57.82613) (xy 242.096757 57.826127) + (xy 242.13 57.616246) (xy 242.13 57.403753) (xy 242.096757 57.193872) (xy 242.096757 57.193869) + (xy 242.031095 56.991782) (xy 241.934624 56.802449) (xy 241.89527 56.748282) (xy 241.895269 56.748282) + (xy 241.262962 57.38059) (xy 241.245925 57.317007) (xy 241.180099 57.202993) (xy 241.087007 57.109901) + (xy 240.972993 57.044075) (xy 240.909409 57.027037) (xy 241.541716 56.394728) (xy 241.48755 56.355375) + (xy 241.298217 56.258904) (xy 241.096129 56.193242) (xy 240.886246 56.16) (xy 240.673754 56.16) + (xy 240.463872 56.193242) (xy 240.463869 56.193242) (xy 240.261782 56.258904) (xy 240.072439 56.35538) + (xy 240.018282 56.394727) (xy 240.018282 56.394728) (xy 240.650591 57.027037) (xy 240.587007 57.044075) + (xy 240.472993 57.109901) (xy 240.379901 57.202993) (xy 240.314075 57.317007) (xy 240.297037 57.380591) + (xy 239.664728 56.748282) (xy 239.62423 56.75147) (xy 239.610618 56.74861) (xy 239.596853 56.75059) + (xy 239.577101 56.741569) (xy 239.555852 56.737106) (xy 239.545947 56.727342) (xy 239.533297 56.721565) + (xy 239.521557 56.703298) (xy 239.506095 56.688055) (xy 239.502268 56.673283) (xy 239.495523 56.662787) + (xy 239.4905 56.627852) (xy 239.4905 55.167873) (xy 239.468416 55.028443) (xy 239.464654 55.004692) + (xy 239.459709 54.973469) (xy 239.426917 54.872548) (xy 239.398884 54.786271) (xy 239.309524 54.610891) + (xy 239.193828 54.45165) (xy 239.054646 54.312468) (xy 236.460523 51.718345) (xy 236.427038 51.657022) + (xy 236.424204 51.630664) (xy 236.424204 37.395632) (xy 236.443889 37.328593) (xy 236.460523 37.307951) + (xy 237.991655 35.776819) (xy 238.052978 35.743334) (xy 238.079336 35.7405) (xy 240.224704 35.7405) + (xy 240.291743 35.760185) (xy 240.337498 35.812989) (xy 240.348322 35.87423) (xy 240.348282 35.874728) + (xy 240.980591 36.507037) (xy 240.917007 36.524075) (xy 240.802993 36.589901) (xy 240.709901 36.682993) + (xy 240.644075 36.797007) (xy 240.627037 36.860591) (xy 239.994728 36.228282) (xy 239.994727 36.228282) + (xy 239.95538 36.282439) (xy 239.858904 36.471782) (xy 239.793242 36.673869) (xy 239.793242 36.673872) + (xy 239.76 36.883753) (xy 239.76 37.096246) (xy 239.793242 37.306127) (xy 239.793242 37.30613) (xy 239.858904 37.508217) + (xy 239.955375 37.69755) (xy 239.994728 37.751716) (xy 240.627037 37.119408) (xy 240.644075 37.182993) + (xy 240.709901 37.297007) (xy 240.802993 37.390099) (xy 240.917007 37.455925) (xy 240.98059 37.472962) + (xy 240.348282 38.105269) (xy 240.348282 38.10527) (xy 240.395219 38.139371) (xy 240.437885 38.194701) + (xy 240.443864 38.264314) (xy 240.411259 38.32611) (xy 240.395219 38.340008) (xy 240.230214 38.45989) + (xy 240.230209 38.459894) (xy 240.07989 38.610213) (xy 239.954951 38.782179) (xy 239.858444 38.971585) + (xy 239.792753 39.17376) (xy 239.7595 39.383713) (xy 239.7595 39.596286) (xy 239.789934 39.788443) + (xy 239.792754 39.806243) (xy 239.820484 39.891588) (xy 239.858444 40.008414) (xy 239.954951 40.19782) + (xy 240.07989 40.369786) (xy 240.230209 40.520105) (xy 240.230214 40.520109) (xy 240.394793 40.639682) + (xy 240.437459 40.695011) (xy 240.443438 40.764625) (xy 240.410833 40.82642) (xy 240.394793 40.840318) + (xy 240.230214 40.95989) (xy 240.230209 40.959894) (xy 240.07989 41.110213) (xy 239.954951 41.282179) + (xy 239.858444 41.471585) (xy 239.792753 41.67376) (xy 239.7595 41.883713) (xy 239.7595 42.096286) + (xy 239.789351 42.284761) (xy 239.792754 42.306243) (xy 239.833481 42.431588) (xy 239.858444 42.508414) + (xy 239.954951 42.69782) (xy 240.07989 42.869786) (xy 240.230209 43.020105) (xy 240.230214 43.020109) + (xy 240.394793 43.139682) (xy 240.437459 43.195011) (xy 240.443438 43.264625) (xy 240.410833 43.32642) + (xy 240.394793 43.340318) (xy 240.230214 43.45989) (xy 240.230209 43.459894) (xy 240.07989 43.610213) + (xy 239.954951 43.782179) (xy 239.858444 43.971585) (xy 239.792753 44.17376) (xy 239.767156 44.335373) + (xy 239.7595 44.383713) (xy 239.7595 44.596287) (xy 239.761689 44.610109) (xy 239.788368 44.778556) + (xy 239.792754 44.806243) (xy 239.84287 44.960484) (xy 239.858444 45.008414) (xy 239.954951 45.19782) + (xy 240.07989 45.369786) (xy 240.230209 45.520105) (xy 240.230214 45.520109) (xy 240.394793 45.639682) + (xy 240.437459 45.695011) (xy 240.443438 45.764625) (xy 240.410833 45.82642) (xy 240.394793 45.840318) + (xy 240.230214 45.95989) (xy 240.230209 45.959894) (xy 240.07989 46.110213) (xy 239.954951 46.282179) + (xy 239.858444 46.471585) (xy 239.858443 46.471587) (xy 239.858443 46.471588) (xy 239.856492 46.477592) + (xy 239.792753 46.67376) (xy 239.7595 46.883713) (xy 239.7595 47.096286) (xy 239.789351 47.284761) + (xy 239.792754 47.306243) (xy 239.857318 47.504951) (xy 239.858444 47.508414) (xy 239.954951 47.69782) + (xy 240.07989 47.869786) (xy 240.218705 48.008601) (xy 240.25219 48.069924) (xy 240.247206 48.139616) + (xy 240.205334 48.195549) (xy 240.196121 48.201821) (xy 240.041342 48.297289) (xy 239.917289 48.421342) + (xy 239.825187 48.570663) (xy 239.825186 48.570666) (xy 239.770001 48.737203) (xy 239.770001 48.737204) + (xy 239.77 48.737204) (xy 239.7595 48.839983) (xy 239.7595 50.140001) (xy 239.759501 50.140018) + (xy 239.77 50.242796) (xy 239.770001 50.242799) (xy 239.825185 50.409331) (xy 239.825187 50.409336) + (xy 239.860069 50.465888) (xy 239.917288 50.558656) (xy 240.041344 50.682712) (xy 240.190666 50.774814) + (xy 240.357203 50.829999) (xy 240.459991 50.8405) (xy 241.760008 50.840499) (xy 241.862797 50.829999) + (xy 242.029334 50.774814) (xy 242.178656 50.682712) (xy 242.302712 50.558656) (xy 242.394814 50.409334) + (xy 242.449999 50.242797) (xy 242.4605 50.140009) (xy 242.460499 49.075451) (xy 242.480183 49.008413) + (xy 242.496813 48.987776) (xy 245.085857 46.398734) (xy 245.123191 46.342861) (xy 245.154311 46.296286) + (xy 245.201463 46.182452) (xy 245.2255 46.061606) (xy 245.2255 33.144181) (xy 245.201463 33.023335) + (xy 245.177093 32.964501) (xy 245.154312 32.909501) (xy 245.108732 32.841288) (xy 245.085858 32.807054) + (xy 245.085856 32.807051) (xy 244.995637 32.716832) (xy 244.995606 32.716803) (xy 243.61214 31.333338) + (xy 243.612137 31.333334) (xy 243.612137 31.333335) (xy 243.60507 31.326268) (xy 243.60507 31.326267) + (xy 243.517945 31.239142) (xy 243.517944 31.239141) (xy 243.517943 31.23914) (xy 243.487066 31.218509) + (xy 243.469786 31.197833) (xy 243.4155 31.170689) (xy 243.390865 31.160485) (xy 243.348815 31.143067) + (xy 243.327102 31.134073) (xy 243.30167 31.123539) (xy 243.301658 31.123535) (xy 243.180822 31.0995) + (xy 243.180818 31.0995) (xy 135.239499 31.0995) (xy 135.116286 31.0995) (xy 135.116282 31.0995) + (xy 135.055864 31.111518) (xy 135.018152 31.119019) (xy 134.995443 31.123536) (xy 134.995441 31.123537) + (xy 134.9621 31.137347) (xy 134.881611 31.170685) (xy 134.881607 31.170687) (xy 134.85374 31.189309) + (xy 134.853738 31.18931) (xy 134.779161 31.23914) (xy 134.735598 31.282703) (xy 134.692035 31.326267) + (xy 134.692032 31.32627) (xy 133.601269 32.417034) (xy 133.601267 32.417036) (xy 133.557703 32.460599) + (xy 133.51414 32.504162) (xy 133.463276 32.580287) (xy 133.463275 32.580289) (xy 133.445687 32.60661) + (xy 133.445685 32.606613) (xy 133.438427 32.624138) (xy 133.438426 32.624142) (xy 133.398538 32.720439) + (xy 133.398535 32.720449) (xy 133.3745 32.841283) (xy 133.3745 32.841287) (xy 133.3745 32.841288) + (xy 133.3745 41.661607) (xy 133.39417 41.7605) (xy 133.398537 41.782452) (xy 133.445688 41.896287) + (xy 133.461395 41.919792) (xy 133.461465 41.919897) (xy 133.461466 41.919899) (xy 133.514141 41.998734) + (xy 133.605586 42.090179) (xy 133.605608 42.090199) (xy 142.257571 50.742162) (xy 142.291056 50.803485) + (xy 142.287821 50.86816) (xy 142.282754 50.883753) (xy 142.261904 51.015398) (xy 142.231975 51.078533) + (xy 142.172663 51.115464) (xy 142.139431 51.12) (xy 129.820569 51.12) (xy 129.75353 51.100315) (xy 129.707775 51.047511) + (xy 129.698096 51.015398) (xy 129.695886 51.001447) (xy 129.677246 50.883757) (xy 129.611557 50.681588) + (xy 129.515051 50.492184) (xy 129.515049 50.492181) (xy 129.515048 50.492179) (xy 129.390109 50.320213) + (xy 129.239786 50.16989) (xy 129.06782 50.044951) (xy 129.067115 50.044591) (xy 129.059054 50.040485) + (xy 129.008259 49.992512) (xy 128.991463 49.924692) (xy 129.013999 49.858556) (xy 129.059054 49.819515) + (xy 129.067816 49.815051) (xy 129.089789 49.799086) (xy 129.239786 49.690109) (xy 129.239788 49.690106) + (xy 129.239792 49.690104) (xy 129.390104 49.539792) (xy 129.390106 49.539788) (xy 129.390109 49.539786) + (xy 129.515048 49.36782) (xy 129.515047 49.36782) (xy 129.515051 49.367816) (xy 129.611557 49.178412) + (xy 129.677246 48.976243) (xy 129.7105 48.766287) (xy 129.7105 48.553713) (xy 129.677246 48.343757) + (xy 129.611557 48.141588) (xy 129.515051 47.952184) (xy 129.515049 47.952181) (xy 129.515048 47.952179) + (xy 129.390109 47.780213) (xy 129.239786 47.62989) (xy 129.06782 47.504951) (xy 129.067115 47.504591) + (xy 129.059054 47.500485) (xy 129.008259 47.452512) (xy 128.991463 47.384692) (xy 129.013999 47.318556) + (xy 129.059054 47.279515) (xy 129.067816 47.275051) (xy 129.119015 47.237853) (xy 129.239786 47.150109) + (xy 129.239788 47.150106) (xy 129.239792 47.150104) (xy 129.390104 46.999792) (xy 129.390106 46.999788) + (xy 129.390109 46.999786) (xy 129.515048 46.82782) (xy 129.51505 46.827817) (xy 129.515051 46.827816) + (xy 129.611557 46.638412) (xy 129.677246 46.436243) (xy 129.7105 46.226287) (xy 129.7105 46.013713) + (xy 129.677246 45.803757) (xy 129.611557 45.601588) (xy 129.515051 45.412184) (xy 129.515049 45.412181) + (xy 129.515048 45.412179) (xy 129.390109 45.240213) (xy 129.239786 45.08989) (xy 129.06782 44.964951) + (xy 129.067115 44.964591) (xy 129.059054 44.960485) (xy 129.008259 44.912512) (xy 128.991463 44.844692) + (xy 129.013999 44.778556) (xy 129.059054 44.739515) (xy 129.067816 44.735051) (xy 129.118342 44.698342) + (xy 129.239786 44.610109) (xy 129.239788 44.610106) (xy 129.239792 44.610104) (xy 129.390104 44.459792) + (xy 129.390106 44.459788) (xy 129.390109 44.459786) (xy 129.515048 44.28782) (xy 129.515049 44.287819) + (xy 129.515051 44.287816) (xy 129.611557 44.098412) (xy 129.677246 43.896243) (xy 129.7105 43.686287) + (xy 129.7105 43.473713) (xy 129.677246 43.263757) (xy 129.611557 43.061588) (xy 129.515051 42.872184) + (xy 129.515049 42.872181) (xy 129.515048 42.872179) (xy 129.390109 42.700213) (xy 129.239786 42.54989) + (xy 129.06782 42.424951) (xy 129.067115 42.424591) (xy 129.059054 42.420485) (xy 129.008259 42.372512) + (xy 128.991463 42.304692) (xy 129.013999 42.238556) (xy 129.059054 42.199515) (xy 129.067816 42.195051) + (xy 129.089789 42.179086) (xy 129.239786 42.070109) (xy 129.239788 42.070106) (xy 129.239792 42.070104) + (xy 129.390104 41.919792) (xy 129.390106 41.919788) (xy 129.390109 41.919786) (xy 129.515048 41.74782) + (xy 129.515047 41.74782) (xy 129.515051 41.747816) (xy 129.611557 41.558412) (xy 129.677246 41.356243) + (xy 129.7105 41.146287) (xy 129.7105 40.933713) (xy 129.677246 40.723757) (xy 129.611557 40.521588) + (xy 129.515051 40.332184) (xy 129.515049 40.332181) (xy 129.515048 40.332179) (xy 129.390109 40.160213) + (xy 129.239786 40.00989) (xy 129.06782 39.884951) (xy 129.067115 39.884591) (xy 129.059054 39.880485) + (xy 129.008259 39.832512) (xy 128.991463 39.764692) (xy 129.013999 39.698556) (xy 129.059054 39.659515) + (xy 129.067816 39.655051) (xy 129.089789 39.639086) (xy 129.239786 39.530109) (xy 129.239788 39.530106) + (xy 129.239792 39.530104) (xy 129.390104 39.379792) (xy 129.390106 39.379788) (xy 129.390109 39.379786) + (xy 129.515048 39.20782) (xy 129.515047 39.20782) (xy 129.515051 39.207816) (xy 129.611557 39.018412) + (xy 129.677246 38.816243) (xy 129.7105 38.606287) (xy 129.7105 38.393713) (xy 129.677246 38.183757) + (xy 129.611557 37.981588) (xy 129.515051 37.792184) (xy 129.515049 37.792181) (xy 129.515048 37.792179) + (xy 129.390109 37.620213) (xy 129.239786 37.46989) (xy 129.06782 37.344951) (xy 129.065078 37.343554) + (xy 129.059054 37.340485) (xy 129.008259 37.292512) (xy 128.991463 37.224692) (xy 129.013999 37.158556) + (xy 129.059054 37.119515) (xy 129.067816 37.115051) (xy 129.149333 37.055826) (xy 129.239786 36.990109) + (xy 129.239788 36.990106) (xy 129.239792 36.990104) (xy 129.390104 36.839792) (xy 129.390106 36.839788) + (xy 129.390109 36.839786) (xy 129.515048 36.66782) (xy 129.515047 36.66782) (xy 129.515051 36.667816) + (xy 129.611557 36.478412) (xy 129.677246 36.276243) (xy 129.7105 36.066287) (xy 129.7105 35.853713) + (xy 129.677246 35.643757) (xy 129.611557 35.441588) (xy 129.515051 35.252184) (xy 129.515049 35.252181) + (xy 129.515048 35.252179) (xy 129.390109 35.080213) (xy 129.239786 34.92989) (xy 129.06782 34.804951) + (xy 128.878414 34.708444) (xy 128.878413 34.708443) (xy 128.878412 34.708443) (xy 128.676243 34.642754) + (xy 128.676241 34.642753) (xy 128.67624 34.642753) (xy 128.514957 34.617208) (xy 128.466287 34.6095) + (xy 128.253713 34.6095) (xy 128.205042 34.617208) (xy 128.04376 34.642753) (xy 127.841585 34.708444) + (xy 127.652179 34.804951) (xy 127.480213 34.92989) (xy 127.32989 35.080213) (xy 127.204951 35.252179) + (xy 127.108444 35.441585) (xy 127.042753 35.64376) (xy 127.0095 35.853713) (xy 127.0095 36.066286) + (xy 127.035157 36.228282) (xy 127.042754 36.276243) (xy 127.065507 36.34627) (xy 127.108444 36.478414) + (xy 127.204951 36.66782) (xy 127.32989 36.839786) (xy 127.480213 36.990109) (xy 127.652182 37.11505) + (xy 127.660946 37.119516) (xy 127.711742 37.167491) (xy 127.728536 37.235312) (xy 127.705998 37.301447) + (xy 127.660946 37.340484) (xy 127.652182 37.344949) (xy 127.480213 37.46989) (xy 127.32989 37.620213) + (xy 127.204951 37.792179) (xy 127.108444 37.981585) (xy 127.042753 38.18376) (xy 127.0095 38.393713) + (xy 127.0095 38.606286) (xy 127.042735 38.816127) (xy 127.042754 38.816243) (xy 127.053731 38.850028) + (xy 127.108444 39.018414) (xy 127.204951 39.20782) (xy 127.32989 39.379786) (xy 127.480213 39.530109) + (xy 127.652182 39.65505) (xy 127.660946 39.659516) (xy 127.711742 39.707491) (xy 127.728536 39.775312) + (xy 127.705998 39.841447) (xy 127.660946 39.880484) (xy 127.652182 39.884949) (xy 127.480213 40.00989) + (xy 127.32989 40.160213) (xy 127.204951 40.332179) (xy 127.108444 40.521585) (xy 127.042753 40.72376) + (xy 127.0095 40.933713) (xy 127.0095 41.146286) (xy 127.042754 41.356244) (xy 127.042754 41.356247) + (xy 127.056491 41.398523) (xy 127.058486 41.468364) (xy 127.026241 41.524522) (xy 124.631286 43.919478) + (xy 124.519481 44.031282) (xy 124.51948 44.031284) (xy 124.475185 44.108007) (xy 124.469361 44.118094) + (xy 124.469359 44.118096) (xy 124.440425 44.168209) (xy 124.440424 44.16821) (xy 124.431489 44.201557) + (xy 124.399499 44.320943) (xy 124.399499 44.320945) (xy 124.399499 44.489046) (xy 124.3995 44.489059) + (xy 124.3995 59.859015) (xy 124.399499 59.859033) (xy 124.399499 60.024739) (xy 124.399498 60.024739) + (xy 124.0005 60.024739) (xy 124.0005 32.004427) (xy 124.000816 31.995581) (xy 124.01513 31.795443) + (xy 124.015131 31.795442) (xy 124.01513 31.795436) (xy 124.017646 31.777938) (xy 124.059356 31.5862) + (xy 124.064335 31.569242) (xy 124.132911 31.385382) (xy 124.140251 31.36931) (xy 124.234294 31.197083) + (xy 124.24385 31.182214) (xy 124.361443 31.025128) (xy 124.373017 31.011771) (xy 124.511771 30.873017) + (xy 124.525128 30.861443) (xy 124.682214 30.74385) (xy 124.697083 30.734294) (xy 124.86931 30.640251) + (xy 124.885382 30.632911) (xy 125.069242 30.564335) (xy 125.0862 30.559356) (xy 125.277938 30.517646) + (xy 125.295436 30.51513) (xy 125.495582 30.500816) (xy 125.504428 30.5005) (xy 125.565892 30.5005) + (xy 244.294108 30.5005) (xy 244.355572 30.5005) ) ) (filled_polygon @@ -4105,11 +4143,11 @@ (xy 156.742539 34.220185) (xy 156.788294 34.272989) (xy 156.7995 34.3245) (xy 156.7995 45.31848) (xy 156.779815 45.385519) (xy 156.763181 45.406161) (xy 155.062181 47.107161) (xy 155.000858 47.140646) (xy 154.931166 47.135662) (xy 154.875233 47.09379) (xy 154.850816 47.028326) (xy 154.8505 47.01948) - (xy 154.8505 47.013713) (xy 154.845481 46.982026) (xy 154.817246 46.803757) (xy 154.751557 46.601588) + (xy 154.8505 47.013713) (xy 154.84613 46.986124) (xy 154.817246 46.803757) (xy 154.751557 46.601588) (xy 154.655051 46.412184) (xy 154.655049 46.412181) (xy 154.655048 46.412179) (xy 154.530109 46.240213) (xy 154.379786 46.08989) (xy 154.20782 45.964951) (xy 154.207115 45.964591) (xy 154.199054 45.960485) (xy 154.148259 45.912512) (xy 154.131463 45.844692) (xy 154.153999 45.778556) (xy 154.199054 45.739515) - (xy 154.207816 45.735051) (xy 154.249163 45.705011) (xy 154.379786 45.610109) (xy 154.379788 45.610106) + (xy 154.207816 45.735051) (xy 154.279468 45.682993) (xy 154.379786 45.610109) (xy 154.379788 45.610106) (xy 154.379792 45.610104) (xy 154.530104 45.459792) (xy 154.530106 45.459788) (xy 154.530109 45.459786) (xy 154.655048 45.28782) (xy 154.655047 45.28782) (xy 154.655051 45.287816) (xy 154.751557 45.098412) (xy 154.817246 44.896243) (xy 154.8505 44.686287) (xy 154.8505 44.473713) (xy 154.817246 44.263757) @@ -4141,30 +4179,31 @@ (xy 152.580878 40.784357) (xy 152.591723 40.787951) (xy 152.649167 40.827724) (xy 152.67599 40.89224) (xy 152.663675 40.961016) (xy 152.625605 41.005974) (xy 152.620211 41.009892) (xy 152.46989 41.160213) (xy 152.344951 41.332179) (xy 152.248444 41.521585) (xy 152.182753 41.72376) (xy 152.1495 41.933713) - (xy 152.1495 42.146286) (xy 152.176418 42.316243) (xy 152.182754 42.356243) (xy 152.223481 42.481588) + (xy 152.1495 42.146286) (xy 152.174834 42.306243) (xy 152.182754 42.356243) (xy 152.207235 42.431588) (xy 152.248444 42.558414) (xy 152.344951 42.74782) (xy 152.46989 42.919786) (xy 152.620213 43.070109) (xy 152.792182 43.19505) (xy 152.800946 43.199516) (xy 152.851742 43.247491) (xy 152.868536 43.315312) (xy 152.845998 43.381447) (xy 152.800946 43.420484) (xy 152.792182 43.424949) (xy 152.620213 43.54989) - (xy 152.46989 43.700213) (xy 152.344951 43.872179) (xy 152.248444 44.061585) (xy 152.182753 44.26376) - (xy 152.1495 44.473713) (xy 152.1495 44.686286) (xy 152.172508 44.831557) (xy 152.182754 44.896243) - (xy 152.240535 45.074075) (xy 152.248444 45.098414) (xy 152.344951 45.28782) (xy 152.46989 45.459786) - (xy 152.620213 45.610109) (xy 152.792182 45.73505) (xy 152.800946 45.739516) (xy 152.851742 45.787491) - (xy 152.868536 45.855312) (xy 152.845998 45.921447) (xy 152.800946 45.960484) (xy 152.792182 45.964949) - (xy 152.620213 46.08989) (xy 152.46989 46.240213) (xy 152.344951 46.412179) (xy 152.248444 46.601585) - (xy 152.182753 46.80376) (xy 152.1495 47.013713) (xy 152.1495 47.226286) (xy 152.177264 47.401584) - (xy 152.182754 47.436243) (xy 152.235449 47.598422) (xy 152.248444 47.638414) (xy 152.344951 47.82782) - (xy 152.46989 47.999786) (xy 152.620213 48.150109) (xy 152.792182 48.27505) (xy 152.800946 48.279516) - (xy 152.851742 48.327491) (xy 152.868536 48.395312) (xy 152.845998 48.461447) (xy 152.800946 48.500484) - (xy 152.792182 48.504949) (xy 152.620213 48.62989) (xy 152.46989 48.780213) (xy 152.344951 48.952179) - (xy 152.287218 49.065488) (xy 152.239244 49.116284) (xy 152.171423 49.133079) (xy 152.105288 49.110542) - (xy 152.089052 49.096874) (xy 151.786819 48.794641) (xy 151.753334 48.733318) (xy 151.7505 48.70696) - (xy 151.7505 40.401577) (xy 151.723055 40.228299) (xy 151.719709 40.207174) (xy 151.70445 40.160213) - (xy 151.702226 40.153367) (xy 151.658885 40.019976) (xy 151.658884 40.019973) (xy 151.58781 39.880484) - (xy 151.569524 39.844595) (xy 151.453829 39.685355) (xy 146.774646 35.006172) (xy 146.615405 34.890476) - (xy 146.44003 34.801117) (xy 146.252826 34.74029) (xy 146.058422 34.7095) (xy 146.058417 34.7095) - (xy 144.606551 34.7095) (xy 144.541453 34.691038) (xy 144.531172 34.684696) (xy 144.516466 34.675625) - (xy 144.516463 34.675623) (xy 144.516462 34.675623) (xy 144.417266 34.642753) (xy 144.348816 34.620071) - (xy 144.245349 34.6095) (xy 144.245342 34.6095) (xy 142.954658 34.6095) (xy 142.95465 34.6095) (xy 142.851183 34.620071) + (xy 152.46989 43.700213) (xy 152.344951 43.872179) (xy 152.248444 44.061585) (xy 152.248443 44.061587) + (xy 152.248443 44.061588) (xy 152.23278 44.109793) (xy 152.182753 44.26376) (xy 152.1495 44.473713) + (xy 152.1495 44.686286) (xy 152.172508 44.831557) (xy 152.182754 44.896243) (xy 152.224289 45.024075) + (xy 152.248444 45.098414) (xy 152.344951 45.28782) (xy 152.46989 45.459786) (xy 152.620213 45.610109) + (xy 152.792182 45.73505) (xy 152.800946 45.739516) (xy 152.851742 45.787491) (xy 152.868536 45.855312) + (xy 152.845998 45.921447) (xy 152.800946 45.960484) (xy 152.792182 45.964949) (xy 152.620213 46.08989) + (xy 152.46989 46.240213) (xy 152.344951 46.412179) (xy 152.248444 46.601585) (xy 152.182753 46.80376) + (xy 152.1495 47.013713) (xy 152.1495 47.226286) (xy 152.172508 47.371557) (xy 152.182754 47.436243) + (xy 152.206203 47.508412) (xy 152.248444 47.638414) (xy 152.344951 47.82782) (xy 152.46989 47.999786) + (xy 152.620213 48.150109) (xy 152.792182 48.27505) (xy 152.800946 48.279516) (xy 152.851742 48.327491) + (xy 152.868536 48.395312) (xy 152.845998 48.461447) (xy 152.800946 48.500484) (xy 152.792182 48.504949) + (xy 152.620213 48.62989) (xy 152.46989 48.780213) (xy 152.344951 48.952179) (xy 152.287218 49.065488) + (xy 152.239244 49.116284) (xy 152.171423 49.133079) (xy 152.105288 49.110542) (xy 152.089052 49.096874) + (xy 151.786819 48.794641) (xy 151.753334 48.733318) (xy 151.7505 48.70696) (xy 151.7505 40.401577) + (xy 151.719709 40.207177) (xy 151.719709 40.207176) (xy 151.719709 40.207174) (xy 151.690788 40.118165) + (xy 151.658884 40.019974) (xy 151.658884 40.019973) (xy 151.593468 39.891588) (xy 151.569524 39.844595) + (xy 151.453829 39.685355) (xy 146.774646 35.006172) (xy 146.615405 34.890476) (xy 146.44003 34.801117) + (xy 146.252826 34.74029) (xy 146.058422 34.7095) (xy 146.058417 34.7095) (xy 144.606551 34.7095) + (xy 144.541453 34.691038) (xy 144.531172 34.684696) (xy 144.516466 34.675625) (xy 144.516463 34.675623) + (xy 144.516462 34.675623) (xy 144.417266 34.642753) (xy 144.348816 34.620071) (xy 144.245349 34.6095) + (xy 144.245342 34.6095) (xy 142.954658 34.6095) (xy 142.95465 34.6095) (xy 142.851183 34.620071) (xy 142.68354 34.675622) (xy 142.683529 34.675627) (xy 142.533225 34.768337) (xy 142.533221 34.76834) (xy 142.40834 34.893221) (xy 142.408337 34.893225) (xy 142.315627 35.043529) (xy 142.315622 35.04354) (xy 142.260071 35.211183) (xy 142.2495 35.31465) (xy 142.2495 36.605349) (xy 142.260071 36.708816) @@ -4184,57 +4223,58 @@ (filled_polygon (layer "B.Cu") (pts - (xy 250.504418 30.500816) (xy 250.704561 30.51513) (xy 250.722063 30.517647) (xy 250.913795 30.559355) - (xy 250.93076 30.564336) (xy 251.114611 30.632909) (xy 251.130694 30.640253) (xy 251.247495 30.704032) - (xy 251.302908 30.73429) (xy 251.317791 30.743855) (xy 251.474864 30.861438) (xy 251.488235 30.873024) - (xy 251.626975 31.011764) (xy 251.638561 31.025135) (xy 251.756144 31.182208) (xy 251.765709 31.197091) - (xy 251.859743 31.3693) (xy 251.867093 31.385394) (xy 251.935661 31.569234) (xy 251.940645 31.586209) - (xy 251.982351 31.777931) (xy 251.984869 31.795442) (xy 251.999184 31.99558) (xy 251.9995 32.004427) - (xy 251.9995 60.995572) (xy 251.999184 61.004419) (xy 251.984869 61.204557) (xy 251.982351 61.222068) - (xy 251.940645 61.41379) (xy 251.935661 61.430765) (xy 251.867093 61.614605) (xy 251.859743 61.630699) - (xy 251.765709 61.802908) (xy 251.756144 61.817791) (xy 251.638561 61.974864) (xy 251.626975 61.988235) - (xy 251.488235 62.126975) (xy 251.474864 62.138561) (xy 251.317791 62.256144) (xy 251.302908 62.265709) - (xy 251.130699 62.359743) (xy 251.114605 62.367093) (xy 250.930765 62.435661) (xy 250.91379 62.440645) - (xy 250.722068 62.482351) (xy 250.704557 62.484869) (xy 250.523779 62.497799) (xy 250.504417 62.499184) - (xy 250.495572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) + (xy 244.364418 30.500816) (xy 244.564561 30.51513) (xy 244.582063 30.517647) (xy 244.773795 30.559355) + (xy 244.79076 30.564336) (xy 244.974611 30.632909) (xy 244.990694 30.640253) (xy 245.107495 30.704032) + (xy 245.162908 30.73429) (xy 245.177791 30.743855) (xy 245.334864 30.861438) (xy 245.348235 30.873024) + (xy 245.486975 31.011764) (xy 245.498561 31.025135) (xy 245.616144 31.182208) (xy 245.625709 31.197091) + (xy 245.719743 31.3693) (xy 245.727093 31.385394) (xy 245.795661 31.569234) (xy 245.800645 31.586209) + (xy 245.842351 31.777931) (xy 245.844869 31.795442) (xy 245.859184 31.99558) (xy 245.8595 32.004427) + (xy 245.8595 60.995572) (xy 245.859184 61.004419) (xy 245.844869 61.204557) (xy 245.842351 61.222068) + (xy 245.800645 61.41379) (xy 245.795661 61.430765) (xy 245.727093 61.614605) (xy 245.719743 61.630699) + (xy 245.625709 61.802908) (xy 245.616144 61.817791) (xy 245.498561 61.974864) (xy 245.486975 61.988235) + (xy 245.348235 62.126975) (xy 245.334864 62.138561) (xy 245.177791 62.256144) (xy 245.162908 62.265709) + (xy 244.990699 62.359743) (xy 244.974605 62.367093) (xy 244.790765 62.435661) (xy 244.77379 62.440645) + (xy 244.582068 62.482351) (xy 244.564557 62.484869) (xy 244.383779 62.497799) (xy 244.364417 62.499184) + (xy 244.355572 62.4995) (xy 125.504428 62.4995) (xy 125.495582 62.499184) (xy 125.473622 62.497613) (xy 125.295442 62.484869) (xy 125.277931 62.482351) (xy 125.086209 62.440645) (xy 125.069234 62.435661) (xy 124.885394 62.367093) (xy 124.8693 62.359743) (xy 124.697091 62.265709) (xy 124.682208 62.256144) (xy 124.525135 62.138561) (xy 124.511764 62.126975) (xy 124.373024 61.988235) (xy 124.361438 61.974864) (xy 124.243855 61.817791) (xy 124.23429 61.802908) (xy 124.140256 61.630699) (xy 124.132909 61.614611) (xy 124.064336 61.43076) (xy 124.059354 61.41379) (xy 124.017648 61.222068) (xy 124.01513 61.204556) (xy 124.000816 61.004418) (xy 124.0005 60.995572) (xy 124.0005 35.853713) (xy 127.0095 35.853713) - (xy 127.0095 36.066286) (xy 127.042753 36.276239) (xy 127.108444 36.478414) (xy 127.204951 36.66782) - (xy 127.32989 36.839786) (xy 127.480213 36.990109) (xy 127.652182 37.11505) (xy 127.660946 37.119516) - (xy 127.711742 37.167491) (xy 127.728536 37.235312) (xy 127.705998 37.301447) (xy 127.660946 37.340484) - (xy 127.652182 37.344949) (xy 127.480213 37.46989) (xy 127.32989 37.620213) (xy 127.204951 37.792179) - (xy 127.108444 37.981585) (xy 127.042753 38.18376) (xy 127.0095 38.393713) (xy 127.0095 38.606286) - (xy 127.042735 38.816127) (xy 127.042754 38.816243) (xy 127.053731 38.850028) (xy 127.108444 39.018414) - (xy 127.204951 39.20782) (xy 127.32989 39.379786) (xy 127.480213 39.530109) (xy 127.652182 39.65505) - (xy 127.660946 39.659516) (xy 127.711742 39.707491) (xy 127.728536 39.775312) (xy 127.705998 39.841447) - (xy 127.660946 39.880484) (xy 127.652182 39.884949) (xy 127.480213 40.00989) (xy 127.32989 40.160213) - (xy 127.204951 40.332179) (xy 127.108444 40.521585) (xy 127.042753 40.72376) (xy 127.0095 40.933713) - (xy 127.0095 41.146286) (xy 127.039442 41.335337) (xy 127.042754 41.356243) (xy 127.086248 41.490104) - (xy 127.108444 41.558414) (xy 127.204951 41.74782) (xy 127.32989 41.919786) (xy 127.480213 42.070109) - (xy 127.652182 42.19505) (xy 127.660946 42.199516) (xy 127.711742 42.247491) (xy 127.728536 42.315312) - (xy 127.705998 42.381447) (xy 127.660946 42.420484) (xy 127.652182 42.424949) (xy 127.480213 42.54989) - (xy 127.32989 42.700213) (xy 127.204951 42.872179) (xy 127.108444 43.061585) (xy 127.042753 43.26376) - (xy 127.0095 43.473713) (xy 127.0095 43.686286) (xy 127.038942 43.872179) (xy 127.042754 43.896243) - (xy 127.086248 44.030104) (xy 127.108444 44.098414) (xy 127.204951 44.28782) (xy 127.32989 44.459786) - (xy 127.480213 44.610109) (xy 127.652182 44.73505) (xy 127.660946 44.739516) (xy 127.711742 44.787491) - (xy 127.728536 44.855312) (xy 127.705998 44.921447) (xy 127.660946 44.960484) (xy 127.652182 44.964949) - (xy 127.480213 45.08989) (xy 127.32989 45.240213) (xy 127.204951 45.412179) (xy 127.108444 45.601585) - (xy 127.042753 45.80376) (xy 127.0095 46.013713) (xy 127.0095 46.226286) (xy 127.042753 46.436239) - (xy 127.108444 46.638414) (xy 127.204951 46.82782) (xy 127.32989 46.999786) (xy 127.480213 47.150109) - (xy 127.652182 47.27505) (xy 127.660946 47.279516) (xy 127.711742 47.327491) (xy 127.728536 47.395312) - (xy 127.705998 47.461447) (xy 127.660946 47.500484) (xy 127.652182 47.504949) (xy 127.480213 47.62989) - (xy 127.32989 47.780213) (xy 127.204951 47.952179) (xy 127.108444 48.141585) (xy 127.042753 48.34376) - (xy 127.0095 48.553713) (xy 127.0095 48.766286) (xy 127.038942 48.952179) (xy 127.042754 48.976243) - (xy 127.106468 49.172335) (xy 127.108444 49.178414) (xy 127.204951 49.36782) (xy 127.32989 49.539786) - (xy 127.480213 49.690109) (xy 127.652182 49.81505) (xy 127.660946 49.819516) (xy 127.711742 49.867491) - (xy 127.728536 49.935312) (xy 127.705998 50.001447) (xy 127.660946 50.040484) (xy 127.652182 50.044949) - (xy 127.480213 50.16989) (xy 127.32989 50.320213) (xy 127.204951 50.492179) (xy 127.108444 50.681585) - (xy 127.042753 50.88376) (xy 127.0095 51.093713) (xy 127.0095 51.306286) (xy 127.038942 51.492179) - (xy 127.042754 51.516243) (xy 127.088129 51.655893) (xy 127.108444 51.718414) (xy 127.204951 51.90782) + (xy 127.0095 36.066286) (xy 127.035157 36.228282) (xy 127.042754 36.276243) (xy 127.04477 36.282449) + (xy 127.108444 36.478414) (xy 127.204951 36.66782) (xy 127.32989 36.839786) (xy 127.480213 36.990109) + (xy 127.652182 37.11505) (xy 127.660946 37.119516) (xy 127.711742 37.167491) (xy 127.728536 37.235312) + (xy 127.705998 37.301447) (xy 127.660946 37.340484) (xy 127.652182 37.344949) (xy 127.480213 37.46989) + (xy 127.32989 37.620213) (xy 127.204951 37.792179) (xy 127.108444 37.981585) (xy 127.042753 38.18376) + (xy 127.0095 38.393713) (xy 127.0095 38.606286) (xy 127.042735 38.816127) (xy 127.042754 38.816243) + (xy 127.053731 38.850028) (xy 127.108444 39.018414) (xy 127.204951 39.20782) (xy 127.32989 39.379786) + (xy 127.480213 39.530109) (xy 127.652182 39.65505) (xy 127.660946 39.659516) (xy 127.711742 39.707491) + (xy 127.728536 39.775312) (xy 127.705998 39.841447) (xy 127.660946 39.880484) (xy 127.652182 39.884949) + (xy 127.480213 40.00989) (xy 127.32989 40.160213) (xy 127.204951 40.332179) (xy 127.108444 40.521585) + (xy 127.042753 40.72376) (xy 127.0095 40.933713) (xy 127.0095 41.146286) (xy 127.038942 41.332179) + (xy 127.042754 41.356243) (xy 127.078899 41.467486) (xy 127.108444 41.558414) (xy 127.204951 41.74782) + (xy 127.32989 41.919786) (xy 127.480213 42.070109) (xy 127.652182 42.19505) (xy 127.660946 42.199516) + (xy 127.711742 42.247491) (xy 127.728536 42.315312) (xy 127.705998 42.381447) (xy 127.660946 42.420484) + (xy 127.652182 42.424949) (xy 127.480213 42.54989) (xy 127.32989 42.700213) (xy 127.204951 42.872179) + (xy 127.108444 43.061585) (xy 127.042753 43.26376) (xy 127.0095 43.473713) (xy 127.0095 43.686286) + (xy 127.038942 43.872179) (xy 127.042754 43.896243) (xy 127.070002 43.980104) (xy 127.108444 44.098414) + (xy 127.204951 44.28782) (xy 127.32989 44.459786) (xy 127.480213 44.610109) (xy 127.652182 44.73505) + (xy 127.660946 44.739516) (xy 127.711742 44.787491) (xy 127.728536 44.855312) (xy 127.705998 44.921447) + (xy 127.660946 44.960484) (xy 127.652182 44.964949) (xy 127.480213 45.08989) (xy 127.32989 45.240213) + (xy 127.204951 45.412179) (xy 127.108444 45.601585) (xy 127.042753 45.80376) (xy 127.017223 45.964951) + (xy 127.0095 46.013713) (xy 127.0095 46.226287) (xy 127.018353 46.282184) (xy 127.038942 46.412179) + (xy 127.042754 46.436243) (xy 127.054238 46.471588) (xy 127.108444 46.638414) (xy 127.204951 46.82782) + (xy 127.32989 46.999786) (xy 127.480213 47.150109) (xy 127.652182 47.27505) (xy 127.660946 47.279516) + (xy 127.711742 47.327491) (xy 127.728536 47.395312) (xy 127.705998 47.461447) (xy 127.660946 47.500484) + (xy 127.652182 47.504949) (xy 127.480213 47.62989) (xy 127.32989 47.780213) (xy 127.204951 47.952179) + (xy 127.108444 48.141585) (xy 127.042753 48.34376) (xy 127.0095 48.553713) (xy 127.0095 48.766286) + (xy 127.038942 48.952179) (xy 127.042754 48.976243) (xy 127.093713 49.133079) (xy 127.108444 49.178414) + (xy 127.204951 49.36782) (xy 127.32989 49.539786) (xy 127.480213 49.690109) (xy 127.652182 49.81505) + (xy 127.660946 49.819516) (xy 127.711742 49.867491) (xy 127.728536 49.935312) (xy 127.705998 50.001447) + (xy 127.660946 50.040484) (xy 127.652182 50.044949) (xy 127.480213 50.16989) (xy 127.32989 50.320213) + (xy 127.204951 50.492179) (xy 127.108444 50.681585) (xy 127.042753 50.88376) (xy 127.0095 51.093713) + (xy 127.0095 51.306286) (xy 127.042753 51.516239) (xy 127.108444 51.718414) (xy 127.204951 51.90782) (xy 127.32989 52.079786) (xy 127.480213 52.230109) (xy 127.652182 52.35505) (xy 127.660946 52.359516) (xy 127.711742 52.407491) (xy 127.728536 52.475312) (xy 127.705998 52.541447) (xy 127.660946 52.580484) (xy 127.652182 52.584949) (xy 127.480213 52.70989) (xy 127.32989 52.860213) (xy 127.204951 53.032179) @@ -4243,159 +4283,160 @@ (xy 127.480213 54.770109) (xy 127.652182 54.89505) (xy 127.660946 54.899516) (xy 127.711742 54.947491) (xy 127.728536 55.015312) (xy 127.705998 55.081447) (xy 127.660946 55.120484) (xy 127.652182 55.124949) (xy 127.480213 55.24989) (xy 127.32989 55.400213) (xy 127.204951 55.572179) (xy 127.108444 55.761585) - (xy 127.042753 55.96376) (xy 127.0095 56.173713) (xy 127.0095 56.386286) (xy 127.040724 56.583431) - (xy 127.042754 56.596243) (xy 127.106505 56.792449) (xy 127.108444 56.798414) (xy 127.204951 56.98782) - (xy 127.32989 57.159786) (xy 127.480213 57.310109) (xy 127.652179 57.435048) (xy 127.652181 57.435049) - (xy 127.652184 57.435051) (xy 127.841588 57.531557) (xy 128.043757 57.597246) (xy 128.253713 57.6305) - (xy 128.253714 57.6305) (xy 128.466286 57.6305) (xy 128.466287 57.6305) (xy 128.676243 57.597246) - (xy 128.878412 57.531557) (xy 129.067816 57.435051) (xy 129.153973 57.372455) (xy 129.239786 57.310109) - (xy 129.239788 57.310106) (xy 129.239792 57.310104) (xy 129.368319 57.181577) (xy 129.429642 57.148092) - (xy 129.499334 57.153076) (xy 129.555267 57.194948) (xy 129.579684 57.260412) (xy 129.58 57.269258) - (xy 129.58 58.92) (xy 142.64 58.92) (xy 142.64 57.495193) (xy 142.659685 57.428154) (xy 142.712489 57.382399) - (xy 142.781647 57.372455) (xy 142.836885 57.394875) (xy 142.892179 57.435048) (xy 142.892181 57.435049) - (xy 142.892184 57.435051) (xy 143.081588 57.531557) (xy 143.283757 57.597246) (xy 143.493713 57.6305) - (xy 143.493714 57.6305) (xy 143.706286 57.6305) (xy 143.706287 57.6305) (xy 143.916243 57.597246) - (xy 144.118412 57.531557) (xy 144.307816 57.435051) (xy 144.393973 57.372455) (xy 144.479786 57.310109) - (xy 144.479788 57.310106) (xy 144.479792 57.310104) (xy 144.630104 57.159792) (xy 144.630106 57.159788) - (xy 144.630109 57.159786) (xy 144.755048 56.98782) (xy 144.755047 56.98782) (xy 144.755051 56.987816) - (xy 144.851557 56.798412) (xy 144.915332 56.602135) (xy 234.5295 56.602135) (xy 234.5295 58.39787) - (xy 234.529501 58.397876) (xy 234.535908 58.457483) (xy 234.586202 58.592328) (xy 234.586206 58.592335) - (xy 234.672452 58.707544) (xy 234.672455 58.707547) (xy 234.787664 58.793793) (xy 234.787671 58.793797) - (xy 234.922517 58.844091) (xy 234.922516 58.844091) (xy 234.929444 58.844835) (xy 234.982127 58.8505) - (xy 236.777872 58.850499) (xy 236.837483 58.844091) (xy 236.972331 58.793796) (xy 237.087546 58.707546) - (xy 237.173796 58.592331) (xy 237.22281 58.460916) (xy 237.264681 58.404984) (xy 237.330145 58.380566) - (xy 237.398418 58.395417) (xy 237.426673 58.416569) (xy 237.540213 58.530109) (xy 237.712179 58.655048) - (xy 237.712181 58.655049) (xy 237.712184 58.655051) (xy 237.901588 58.751557) (xy 238.103757 58.817246) - (xy 238.313713 58.8505) (xy 238.313714 58.8505) (xy 238.526286 58.8505) (xy 238.526287 58.8505) - (xy 238.736243 58.817246) (xy 238.938412 58.751557) (xy 239.127816 58.655051) (xy 239.214138 58.592335) - (xy 239.299786 58.530109) (xy 239.299788 58.530106) (xy 239.299792 58.530104) (xy 239.450104 58.379792) - (xy 239.450106 58.379788) (xy 239.450109 58.379786) (xy 239.575048 58.20782) (xy 239.575047 58.20782) - (xy 239.575051 58.207816) (xy 239.579514 58.199054) (xy 239.627488 58.148259) (xy 239.695308 58.131463) - (xy 239.761444 58.153999) (xy 239.800486 58.199056) (xy 239.804951 58.20782) (xy 239.92989 58.379786) - (xy 240.080213 58.530109) (xy 240.252179 58.655048) (xy 240.252181 58.655049) (xy 240.252184 58.655051) - (xy 240.441588 58.751557) (xy 240.643757 58.817246) (xy 240.853713 58.8505) (xy 240.853714 58.8505) - (xy 241.066286 58.8505) (xy 241.066287 58.8505) (xy 241.276243 58.817246) (xy 241.478412 58.751557) - (xy 241.667816 58.655051) (xy 241.754138 58.592335) (xy 241.839786 58.530109) (xy 241.839788 58.530106) - (xy 241.839792 58.530104) (xy 241.990104 58.379792) (xy 241.990106 58.379788) (xy 241.990109 58.379786) - (xy 242.07589 58.261717) (xy 242.115051 58.207816) (xy 242.119793 58.198508) (xy 242.167763 58.147711) - (xy 242.235583 58.130911) (xy 242.301719 58.153445) (xy 242.340763 58.1985) (xy 242.345373 58.207547) - (xy 242.384728 58.261716) (xy 243.017037 57.629408) (xy 243.034075 57.692993) (xy 243.099901 57.807007) - (xy 243.192993 57.900099) (xy 243.307007 57.965925) (xy 243.37059 57.982962) (xy 242.738282 58.615269) - (xy 242.738282 58.61527) (xy 242.792449 58.654624) (xy 242.981782 58.751095) (xy 243.18387 58.816757) - (xy 243.393754 58.85) (xy 243.606246 58.85) (xy 243.816127 58.816757) (xy 243.81613 58.816757) (xy 244.018217 58.751095) - (xy 244.207554 58.654622) (xy 244.261716 58.61527) (xy 244.261717 58.61527) (xy 243.629408 57.982962) - (xy 243.692993 57.965925) (xy 243.807007 57.900099) (xy 243.900099 57.807007) (xy 243.965925 57.692993) - (xy 243.982962 57.629409) (xy 244.61527 58.261717) (xy 244.61527 58.261716) (xy 244.654622 58.207554) - (xy 244.751095 58.018217) (xy 244.816757 57.81613) (xy 244.816757 57.816127) (xy 244.85 57.606246) - (xy 244.85 57.393753) (xy 244.816757 57.183872) (xy 244.816757 57.183869) (xy 244.751095 56.981782) - (xy 244.654624 56.792449) (xy 244.61527 56.738282) (xy 244.615269 56.738282) (xy 243.982962 57.37059) - (xy 243.965925 57.307007) (xy 243.900099 57.192993) (xy 243.807007 57.099901) (xy 243.692993 57.034075) - (xy 243.629409 57.017037) (xy 244.261716 56.384728) (xy 244.20755 56.345375) (xy 244.018217 56.248904) - (xy 243.816129 56.183242) (xy 243.606246 56.15) (xy 243.393754 56.15) (xy 243.183872 56.183242) - (xy 243.183869 56.183242) (xy 242.981782 56.248904) (xy 242.792439 56.34538) (xy 242.738282 56.384727) - (xy 242.738282 56.384728) (xy 243.370591 57.017037) (xy 243.307007 57.034075) (xy 243.192993 57.099901) - (xy 243.099901 57.192993) (xy 243.034075 57.307007) (xy 243.017037 57.370591) (xy 242.384728 56.738282) - (xy 242.384727 56.738282) (xy 242.34538 56.79244) (xy 242.345376 56.792446) (xy 242.34076 56.801505) - (xy 242.292781 56.852297) (xy 242.224959 56.869087) (xy 242.158826 56.846543) (xy 242.119794 56.801493) - (xy 242.115051 56.792184) (xy 242.115049 56.792181) (xy 242.115048 56.792179) (xy 241.990109 56.620213) - (xy 241.839786 56.46989) (xy 241.66782 56.344951) (xy 241.478414 56.248444) (xy 241.478413 56.248443) - (xy 241.478412 56.248443) (xy 241.276243 56.182754) (xy 241.276241 56.182753) (xy 241.27624 56.182753) - (xy 241.114957 56.157208) (xy 241.066287 56.1495) (xy 240.853713 56.1495) (xy 240.805042 56.157208) - (xy 240.64376 56.182753) (xy 240.441585 56.248444) (xy 240.252179 56.344951) (xy 240.080213 56.46989) - (xy 239.92989 56.620213) (xy 239.804949 56.792182) (xy 239.800484 56.800946) (xy 239.752509 56.851742) - (xy 239.684688 56.868536) (xy 239.618553 56.845998) (xy 239.579516 56.800946) (xy 239.57505 56.792182) - (xy 239.450109 56.620213) (xy 239.299786 56.46989) (xy 239.12782 56.344951) (xy 238.938414 56.248444) - (xy 238.938413 56.248443) (xy 238.938412 56.248443) (xy 238.736243 56.182754) (xy 238.736241 56.182753) - (xy 238.73624 56.182753) (xy 238.574957 56.157208) (xy 238.526287 56.1495) (xy 238.313713 56.1495) - (xy 238.265042 56.157208) (xy 238.10376 56.182753) (xy 237.901585 56.248444) (xy 237.712179 56.344951) - (xy 237.540215 56.469889) (xy 237.426673 56.583431) (xy 237.36535 56.616915) (xy 237.295658 56.611931) - (xy 237.239725 56.570059) (xy 237.22281 56.539082) (xy 237.173797 56.407671) (xy 237.173793 56.407664) - (xy 237.087547 56.292455) (xy 237.087544 56.292452) (xy 236.972335 56.206206) (xy 236.972328 56.206202) - (xy 236.837482 56.155908) (xy 236.837483 56.155908) (xy 236.777883 56.149501) (xy 236.777881 56.1495) - (xy 236.777873 56.1495) (xy 236.777864 56.1495) (xy 234.982129 56.1495) (xy 234.982123 56.149501) - (xy 234.922516 56.155908) (xy 234.787671 56.206202) (xy 234.787664 56.206206) (xy 234.672455 56.292452) - (xy 234.672452 56.292455) (xy 234.586206 56.407664) (xy 234.586202 56.407671) (xy 234.535908 56.542517) - (xy 234.529501 56.602116) (xy 234.5295 56.602135) (xy 144.915332 56.602135) (xy 144.917246 56.596243) - (xy 144.9505 56.386287) (xy 144.9505 56.173713) (xy 144.917246 55.963757) (xy 144.851557 55.761588) - (xy 144.755051 55.572184) (xy 144.755049 55.572181) (xy 144.755048 55.572179) (xy 144.630109 55.400213) - (xy 144.479786 55.24989) (xy 144.30782 55.124951) (xy 144.307115 55.124591) (xy 144.299054 55.120485) - (xy 144.248259 55.072512) (xy 144.231463 55.004692) (xy 144.253999 54.938556) (xy 144.299054 54.899515) - (xy 144.307816 54.895051) (xy 144.329789 54.879086) (xy 144.479786 54.770109) (xy 144.479788 54.770106) - (xy 144.479792 54.770104) (xy 144.630104 54.619792) (xy 144.630106 54.619788) (xy 144.630109 54.619786) - (xy 144.755048 54.44782) (xy 144.755047 54.44782) (xy 144.755051 54.447816) (xy 144.851557 54.258412) - (xy 144.917246 54.056243) (xy 144.9505 53.846287) (xy 144.9505 53.633713) (xy 144.917246 53.423757) - (xy 144.912177 53.408159) (xy 144.910183 53.338321) (xy 144.942428 53.282162) (xy 145.310855 52.913736) - (xy 145.310855 52.913735) (xy 145.310858 52.913733) (xy 145.379312 52.811285) (xy 145.426463 52.697451) - (xy 145.448841 52.584951) (xy 145.450501 52.576608) (xy 145.450501 52.448283) (xy 145.4505 52.448257) - (xy 145.4505 48.220329) (xy 145.450501 48.220308) (xy 145.450501 48.090979) (xy 145.426464 47.970143) - (xy 145.426463 47.970137) (xy 145.379312 47.856303) (xy 145.310858 47.753855) (xy 145.310855 47.753851) - (xy 144.674141 47.117138) (xy 144.640656 47.055815) (xy 144.64564 46.986124) (xy 144.661499 46.956579) - (xy 144.755051 46.827816) (xy 144.851557 46.638412) (xy 144.917246 46.436243) (xy 144.9505 46.226287) - (xy 144.9505 46.013713) (xy 144.917246 45.803757) (xy 144.851557 45.601588) (xy 144.755051 45.412184) - (xy 144.755049 45.412181) (xy 144.755048 45.412179) (xy 144.630109 45.240213) (xy 144.479786 45.08989) - (xy 144.30782 44.964951) (xy 144.307115 44.964591) (xy 144.299054 44.960485) (xy 144.248259 44.912512) - (xy 144.231463 44.844692) (xy 144.253999 44.778556) (xy 144.299054 44.739515) (xy 144.307816 44.735051) - (xy 144.329789 44.719086) (xy 144.479786 44.610109) (xy 144.479788 44.610106) (xy 144.479792 44.610104) - (xy 144.630104 44.459792) (xy 144.630106 44.459788) (xy 144.630109 44.459786) (xy 144.755048 44.28782) - (xy 144.755047 44.28782) (xy 144.755051 44.287816) (xy 144.851557 44.098412) (xy 144.917246 43.896243) - (xy 144.9505 43.686287) (xy 144.9505 43.473713) (xy 144.917246 43.263757) (xy 144.851557 43.061588) - (xy 144.755051 42.872184) (xy 144.755049 42.872181) (xy 144.755048 42.872179) (xy 144.630109 42.700213) - (xy 144.479786 42.54989) (xy 144.30782 42.424951) (xy 144.307115 42.424591) (xy 144.299054 42.420485) - (xy 144.248259 42.372512) (xy 144.231463 42.304692) (xy 144.253999 42.238556) (xy 144.299054 42.199515) - (xy 144.307816 42.195051) (xy 144.329789 42.179086) (xy 144.479786 42.070109) (xy 144.479788 42.070106) - (xy 144.479792 42.070104) (xy 144.630104 41.919792) (xy 144.630106 41.919788) (xy 144.630109 41.919786) - (xy 144.755048 41.74782) (xy 144.755047 41.74782) (xy 144.755051 41.747816) (xy 144.851557 41.558412) - (xy 144.917246 41.356243) (xy 144.9505 41.146287) (xy 144.9505 40.933713) (xy 144.917246 40.723757) - (xy 144.851557 40.521588) (xy 144.755051 40.332184) (xy 144.755049 40.332181) (xy 144.755048 40.332179) - (xy 144.630109 40.160213) (xy 144.479786 40.00989) (xy 144.307817 39.884949) (xy 144.298504 39.880204) - (xy 144.247707 39.83223) (xy 144.230912 39.764409) (xy 144.253449 39.698274) (xy 144.298507 39.659232) - (xy 144.307555 39.654622) (xy 144.361716 39.61527) (xy 144.361717 39.61527) (xy 143.729408 38.982962) - (xy 143.792993 38.965925) (xy 143.907007 38.900099) (xy 144.000099 38.807007) (xy 144.065925 38.692993) - (xy 144.082962 38.629408) (xy 144.71527 39.261717) (xy 144.71527 39.261716) (xy 144.754622 39.207554) - (xy 144.851095 39.018217) (xy 144.916757 38.81613) (xy 144.916757 38.816127) (xy 144.95 38.606246) - (xy 144.95 38.393753) (xy 144.916757 38.183872) (xy 144.916757 38.183869) (xy 144.851095 37.981782) - (xy 144.754624 37.792449) (xy 144.71527 37.738282) (xy 144.715269 37.738282) (xy 144.082962 38.37059) - (xy 144.065925 38.307007) (xy 144.000099 38.192993) (xy 143.907007 38.099901) (xy 143.792993 38.034075) - (xy 143.729409 38.017037) (xy 144.365393 37.381051) (xy 144.376871 37.326412) (xy 144.425922 37.276655) - (xy 144.447119 37.267354) (xy 144.516462 37.244377) (xy 144.541453 37.228961) (xy 144.606551 37.2105) - (xy 145.390664 37.2105) (xy 145.457703 37.230185) (xy 145.478345 37.246819) (xy 149.213181 40.981655) - (xy 149.246666 41.042978) (xy 149.2495 41.069336) (xy 149.2495 49.374718) (xy 149.28029 49.569122) - (xy 149.341117 49.756326) (xy 149.397759 49.867491) (xy 149.430476 49.931701) (xy 149.546172 50.090942) - (xy 149.546174 50.090944) (xy 152.31226 52.85703) (xy 152.335063 52.888415) (xy 152.344949 52.907817) - (xy 152.46989 53.079786) (xy 152.620213 53.230109) (xy 152.792179 53.355048) (xy 152.792181 53.355049) - (xy 152.792184 53.355051) (xy 152.981588 53.451557) (xy 153.183757 53.517246) (xy 153.393713 53.5505) - (xy 153.393714 53.5505) (xy 153.606286 53.5505) (xy 153.606287 53.5505) (xy 153.816243 53.517246) - (xy 154.018412 53.451557) (xy 154.207816 53.355051) (xy 154.325535 53.269524) (xy 154.379786 53.230109) - (xy 154.379788 53.230106) (xy 154.379792 53.230104) (xy 154.530104 53.079792) (xy 154.530106 53.079788) - (xy 154.530109 53.079786) (xy 154.655048 52.90782) (xy 154.65505 52.907817) (xy 154.655051 52.907816) - (xy 154.751557 52.718412) (xy 154.817246 52.516243) (xy 154.8505 52.306287) (xy 154.8505 52.093713) - (xy 154.817246 51.883757) (xy 154.751557 51.681588) (xy 154.655051 51.492184) (xy 154.655049 51.492181) - (xy 154.655048 51.492179) (xy 154.530109 51.320213) (xy 154.379786 51.16989) (xy 154.20782 51.044951) - (xy 154.207115 51.044591) (xy 154.199054 51.040485) (xy 154.148259 50.992512) (xy 154.131463 50.924692) - (xy 154.153999 50.858556) (xy 154.199054 50.819515) (xy 154.207816 50.815051) (xy 154.249437 50.784812) - (xy 154.379786 50.690109) (xy 154.379788 50.690106) (xy 154.379792 50.690104) (xy 154.530104 50.539792) - (xy 154.530106 50.539788) (xy 154.530109 50.539786) (xy 154.655048 50.36782) (xy 154.655047 50.36782) - (xy 154.655051 50.367816) (xy 154.751557 50.178412) (xy 154.817246 49.976243) (xy 154.8505 49.766287) - (xy 154.8505 49.553713) (xy 154.825715 49.397227) (xy 154.83467 49.327933) (xy 154.860504 49.290151) - (xy 158.044114 46.106543) (xy 158.120775 45.991811) (xy 158.17358 45.864329) (xy 158.185828 45.802754) - (xy 158.195114 45.756069) (xy 158.2005 45.728995) (xy 158.2005 41.933713) (xy 210.5695 41.933713) - (xy 210.5695 42.146286) (xy 210.596418 42.316243) (xy 210.602754 42.356243) (xy 210.643481 42.481588) - (xy 210.668444 42.558414) (xy 210.764951 42.74782) (xy 210.88989 42.919786) (xy 211.040213 43.070109) - (xy 211.212182 43.19505) (xy 211.220946 43.199516) (xy 211.271742 43.247491) (xy 211.288536 43.315312) - (xy 211.265998 43.381447) (xy 211.220946 43.420484) (xy 211.212182 43.424949) (xy 211.040213 43.54989) - (xy 210.88989 43.700213) (xy 210.764951 43.872179) (xy 210.668444 44.061585) (xy 210.602753 44.26376) + (xy 127.042753 55.96376) (xy 127.011751 56.1595) (xy 127.0095 56.173713) (xy 127.0095 56.386287) + (xy 127.014471 56.417671) (xy 127.042308 56.593431) (xy 127.042754 56.596243) (xy 127.047915 56.612128) + (xy 127.108444 56.798414) (xy 127.204951 56.98782) (xy 127.32989 57.159786) (xy 127.480213 57.310109) + (xy 127.652179 57.435048) (xy 127.652181 57.435049) (xy 127.652184 57.435051) (xy 127.841588 57.531557) + (xy 128.043757 57.597246) (xy 128.253713 57.6305) (xy 128.253714 57.6305) (xy 128.466286 57.6305) + (xy 128.466287 57.6305) (xy 128.676243 57.597246) (xy 128.878412 57.531557) (xy 129.067816 57.435051) + (xy 129.153973 57.372455) (xy 129.239786 57.310109) (xy 129.239788 57.310106) (xy 129.239792 57.310104) + (xy 129.368319 57.181577) (xy 129.429642 57.148092) (xy 129.499334 57.153076) (xy 129.555267 57.194948) + (xy 129.579684 57.260412) (xy 129.58 57.269258) (xy 129.58 58.92) (xy 142.64 58.92) (xy 142.64 57.495193) + (xy 142.659685 57.428154) (xy 142.712489 57.382399) (xy 142.781647 57.372455) (xy 142.836885 57.394875) + (xy 142.892179 57.435048) (xy 142.892181 57.435049) (xy 142.892184 57.435051) (xy 143.081588 57.531557) + (xy 143.283757 57.597246) (xy 143.493713 57.6305) (xy 143.493714 57.6305) (xy 143.706286 57.6305) + (xy 143.706287 57.6305) (xy 143.916243 57.597246) (xy 144.118412 57.531557) (xy 144.307816 57.435051) + (xy 144.393973 57.372455) (xy 144.479786 57.310109) (xy 144.479788 57.310106) (xy 144.479792 57.310104) + (xy 144.630104 57.159792) (xy 144.630106 57.159788) (xy 144.630109 57.159786) (xy 144.739086 57.009789) + (xy 144.755051 56.987816) (xy 144.851557 56.798412) (xy 144.912082 56.612135) (xy 231.8095 56.612135) + (xy 231.8095 58.40787) (xy 231.809501 58.407876) (xy 231.815908 58.467483) (xy 231.866202 58.602328) + (xy 231.866206 58.602335) (xy 231.952452 58.717544) (xy 231.952455 58.717547) (xy 232.067664 58.803793) + (xy 232.067671 58.803797) (xy 232.202517 58.854091) (xy 232.202516 58.854091) (xy 232.209444 58.854835) + (xy 232.262127 58.8605) (xy 234.057872 58.860499) (xy 234.117483 58.854091) (xy 234.252331 58.803796) + (xy 234.367546 58.717546) (xy 234.453796 58.602331) (xy 234.50281 58.470916) (xy 234.544681 58.414984) + (xy 234.610145 58.390566) (xy 234.678418 58.405417) (xy 234.706673 58.426569) (xy 234.820213 58.540109) + (xy 234.992179 58.665048) (xy 234.992181 58.665049) (xy 234.992184 58.665051) (xy 235.181588 58.761557) + (xy 235.383757 58.827246) (xy 235.593713 58.8605) (xy 235.593714 58.8605) (xy 235.806286 58.8605) + (xy 235.806287 58.8605) (xy 236.016243 58.827246) (xy 236.218412 58.761557) (xy 236.407816 58.665051) + (xy 236.494138 58.602335) (xy 236.579786 58.540109) (xy 236.579788 58.540106) (xy 236.579792 58.540104) + (xy 236.730104 58.389792) (xy 236.730106 58.389788) (xy 236.730109 58.389786) (xy 236.855048 58.21782) + (xy 236.855047 58.21782) (xy 236.855051 58.217816) (xy 236.859514 58.209054) (xy 236.907488 58.158259) + (xy 236.975308 58.141463) (xy 237.041444 58.163999) (xy 237.080486 58.209056) (xy 237.084951 58.21782) + (xy 237.20989 58.389786) (xy 237.360213 58.540109) (xy 237.532179 58.665048) (xy 237.532181 58.665049) + (xy 237.532184 58.665051) (xy 237.721588 58.761557) (xy 237.923757 58.827246) (xy 238.133713 58.8605) + (xy 238.133714 58.8605) (xy 238.346286 58.8605) (xy 238.346287 58.8605) (xy 238.556243 58.827246) + (xy 238.758412 58.761557) (xy 238.947816 58.665051) (xy 239.034138 58.602335) (xy 239.119786 58.540109) + (xy 239.119788 58.540106) (xy 239.119792 58.540104) (xy 239.270104 58.389792) (xy 239.270106 58.389788) + (xy 239.270109 58.389786) (xy 239.35589 58.271717) (xy 239.395051 58.217816) (xy 239.399793 58.208508) + (xy 239.447763 58.157711) (xy 239.515583 58.140911) (xy 239.581719 58.163445) (xy 239.620763 58.2085) + (xy 239.625373 58.217547) (xy 239.664728 58.271716) (xy 240.297037 57.639408) (xy 240.314075 57.702993) + (xy 240.379901 57.817007) (xy 240.472993 57.910099) (xy 240.587007 57.975925) (xy 240.65059 57.992962) + (xy 240.018282 58.625269) (xy 240.018282 58.62527) (xy 240.072449 58.664624) (xy 240.261782 58.761095) + (xy 240.46387 58.826757) (xy 240.673754 58.86) (xy 240.886246 58.86) (xy 241.096127 58.826757) (xy 241.09613 58.826757) + (xy 241.298217 58.761095) (xy 241.487554 58.664622) (xy 241.541716 58.62527) (xy 241.541717 58.62527) + (xy 240.909408 57.992962) (xy 240.972993 57.975925) (xy 241.087007 57.910099) (xy 241.180099 57.817007) + (xy 241.245925 57.702993) (xy 241.262962 57.639408) (xy 241.89527 58.271717) (xy 241.89527 58.271716) + (xy 241.934622 58.217554) (xy 242.031095 58.028217) (xy 242.096757 57.82613) (xy 242.096757 57.826127) + (xy 242.13 57.616246) (xy 242.13 57.403753) (xy 242.096757 57.193872) (xy 242.096757 57.193869) + (xy 242.031095 56.991782) (xy 241.934624 56.802449) (xy 241.89527 56.748282) (xy 241.895269 56.748282) + (xy 241.262962 57.38059) (xy 241.245925 57.317007) (xy 241.180099 57.202993) (xy 241.087007 57.109901) + (xy 240.972993 57.044075) (xy 240.909409 57.027037) (xy 241.541716 56.394728) (xy 241.48755 56.355375) + (xy 241.298217 56.258904) (xy 241.096129 56.193242) (xy 240.886246 56.16) (xy 240.673754 56.16) + (xy 240.463872 56.193242) (xy 240.463869 56.193242) (xy 240.261782 56.258904) (xy 240.072439 56.35538) + (xy 240.018282 56.394727) (xy 240.018282 56.394728) (xy 240.650591 57.027037) (xy 240.587007 57.044075) + (xy 240.472993 57.109901) (xy 240.379901 57.202993) (xy 240.314075 57.317007) (xy 240.297037 57.380591) + (xy 239.664728 56.748282) (xy 239.664727 56.748282) (xy 239.62538 56.80244) (xy 239.625376 56.802446) + (xy 239.62076 56.811505) (xy 239.572781 56.862297) (xy 239.504959 56.879087) (xy 239.438826 56.856543) + (xy 239.399794 56.811493) (xy 239.395051 56.802184) (xy 239.395049 56.802181) (xy 239.395048 56.802179) + (xy 239.270109 56.630213) (xy 239.119786 56.47989) (xy 238.94782 56.354951) (xy 238.758414 56.258444) + (xy 238.758413 56.258443) (xy 238.758412 56.258443) (xy 238.556243 56.192754) (xy 238.556241 56.192753) + (xy 238.55624 56.192753) (xy 238.394957 56.167208) (xy 238.346287 56.1595) (xy 238.133713 56.1595) + (xy 238.085042 56.167208) (xy 237.92376 56.192753) (xy 237.721585 56.258444) (xy 237.532179 56.354951) + (xy 237.360213 56.47989) (xy 237.20989 56.630213) (xy 237.084949 56.802182) (xy 237.080484 56.810946) + (xy 237.032509 56.861742) (xy 236.964688 56.878536) (xy 236.898553 56.855998) (xy 236.859516 56.810946) + (xy 236.85505 56.802182) (xy 236.730109 56.630213) (xy 236.579786 56.47989) (xy 236.40782 56.354951) + (xy 236.218414 56.258444) (xy 236.218413 56.258443) (xy 236.218412 56.258443) (xy 236.016243 56.192754) + (xy 236.016241 56.192753) (xy 236.01624 56.192753) (xy 235.854957 56.167208) (xy 235.806287 56.1595) + (xy 235.593713 56.1595) (xy 235.545042 56.167208) (xy 235.38376 56.192753) (xy 235.181585 56.258444) + (xy 234.992179 56.354951) (xy 234.820215 56.479889) (xy 234.706673 56.593431) (xy 234.64535 56.626915) + (xy 234.575658 56.621931) (xy 234.519725 56.580059) (xy 234.50281 56.549082) (xy 234.453797 56.417671) + (xy 234.453793 56.417664) (xy 234.367547 56.302455) (xy 234.367544 56.302452) (xy 234.252335 56.216206) + (xy 234.252328 56.216202) (xy 234.117482 56.165908) (xy 234.117483 56.165908) (xy 234.057883 56.159501) + (xy 234.057881 56.1595) (xy 234.057873 56.1595) (xy 234.057864 56.1595) (xy 232.262129 56.1595) + (xy 232.262123 56.159501) (xy 232.202516 56.165908) (xy 232.067671 56.216202) (xy 232.067664 56.216206) + (xy 231.952455 56.302452) (xy 231.952452 56.302455) (xy 231.866206 56.417664) (xy 231.866202 56.417671) + (xy 231.815908 56.552517) (xy 231.809501 56.612116) (xy 231.8095 56.612135) (xy 144.912082 56.612135) + (xy 144.917246 56.596243) (xy 144.9505 56.386287) (xy 144.9505 56.173713) (xy 144.917246 55.963757) + (xy 144.851557 55.761588) (xy 144.755051 55.572184) (xy 144.755049 55.572181) (xy 144.755048 55.572179) + (xy 144.630109 55.400213) (xy 144.479786 55.24989) (xy 144.30782 55.124951) (xy 144.307115 55.124591) + (xy 144.299054 55.120485) (xy 144.248259 55.072512) (xy 144.231463 55.004692) (xy 144.253999 54.938556) + (xy 144.299054 54.899515) (xy 144.307816 54.895051) (xy 144.329789 54.879086) (xy 144.479786 54.770109) + (xy 144.479788 54.770106) (xy 144.479792 54.770104) (xy 144.630104 54.619792) (xy 144.630106 54.619788) + (xy 144.630109 54.619786) (xy 144.755048 54.44782) (xy 144.755047 54.44782) (xy 144.755051 54.447816) + (xy 144.851557 54.258412) (xy 144.917246 54.056243) (xy 144.9505 53.846287) (xy 144.9505 53.633713) + (xy 144.917246 53.423757) (xy 144.912177 53.408159) (xy 144.910183 53.338321) (xy 144.942428 53.282162) + (xy 145.310855 52.913736) (xy 145.310855 52.913735) (xy 145.310858 52.913733) (xy 145.379312 52.811285) + (xy 145.426463 52.697451) (xy 145.448841 52.584951) (xy 145.450501 52.576608) (xy 145.450501 52.448283) + (xy 145.4505 52.448257) (xy 145.4505 48.220329) (xy 145.450501 48.220308) (xy 145.450501 48.090979) + (xy 145.426464 47.970143) (xy 145.426463 47.970137) (xy 145.379312 47.856303) (xy 145.310858 47.753855) + (xy 145.310855 47.753851) (xy 144.674141 47.117138) (xy 144.640656 47.055815) (xy 144.64564 46.986124) + (xy 144.661499 46.956579) (xy 144.755051 46.827816) (xy 144.851557 46.638412) (xy 144.917246 46.436243) + (xy 144.9505 46.226287) (xy 144.9505 46.013713) (xy 144.917246 45.803757) (xy 144.851557 45.601588) + (xy 144.755051 45.412184) (xy 144.755049 45.412181) (xy 144.755048 45.412179) (xy 144.630109 45.240213) + (xy 144.479786 45.08989) (xy 144.30782 44.964951) (xy 144.307115 44.964591) (xy 144.299054 44.960485) + (xy 144.248259 44.912512) (xy 144.231463 44.844692) (xy 144.253999 44.778556) (xy 144.299054 44.739515) + (xy 144.307816 44.735051) (xy 144.329789 44.719086) (xy 144.479786 44.610109) (xy 144.479788 44.610106) + (xy 144.479792 44.610104) (xy 144.630104 44.459792) (xy 144.630106 44.459788) (xy 144.630109 44.459786) + (xy 144.755048 44.28782) (xy 144.755047 44.28782) (xy 144.755051 44.287816) (xy 144.851557 44.098412) + (xy 144.917246 43.896243) (xy 144.9505 43.686287) (xy 144.9505 43.473713) (xy 144.917246 43.263757) + (xy 144.851557 43.061588) (xy 144.755051 42.872184) (xy 144.755049 42.872181) (xy 144.755048 42.872179) + (xy 144.630109 42.700213) (xy 144.479786 42.54989) (xy 144.30782 42.424951) (xy 144.307115 42.424591) + (xy 144.299054 42.420485) (xy 144.248259 42.372512) (xy 144.231463 42.304692) (xy 144.253999 42.238556) + (xy 144.299054 42.199515) (xy 144.307816 42.195051) (xy 144.329789 42.179086) (xy 144.479786 42.070109) + (xy 144.479788 42.070106) (xy 144.479792 42.070104) (xy 144.630104 41.919792) (xy 144.630106 41.919788) + (xy 144.630109 41.919786) (xy 144.755048 41.74782) (xy 144.755047 41.74782) (xy 144.755051 41.747816) + (xy 144.851557 41.558412) (xy 144.917246 41.356243) (xy 144.9505 41.146287) (xy 144.9505 40.933713) + (xy 144.917246 40.723757) (xy 144.851557 40.521588) (xy 144.755051 40.332184) (xy 144.755049 40.332181) + (xy 144.755048 40.332179) (xy 144.630109 40.160213) (xy 144.479786 40.00989) (xy 144.307817 39.884949) + (xy 144.298504 39.880204) (xy 144.247707 39.83223) (xy 144.230912 39.764409) (xy 144.253449 39.698274) + (xy 144.298507 39.659232) (xy 144.307555 39.654622) (xy 144.361716 39.61527) (xy 144.361717 39.61527) + (xy 143.729408 38.982962) (xy 143.792993 38.965925) (xy 143.907007 38.900099) (xy 144.000099 38.807007) + (xy 144.065925 38.692993) (xy 144.082962 38.629408) (xy 144.71527 39.261717) (xy 144.71527 39.261716) + (xy 144.754622 39.207554) (xy 144.851095 39.018217) (xy 144.916757 38.81613) (xy 144.916757 38.816127) + (xy 144.95 38.606246) (xy 144.95 38.393753) (xy 144.916757 38.183872) (xy 144.916757 38.183869) + (xy 144.851095 37.981782) (xy 144.754624 37.792449) (xy 144.71527 37.738282) (xy 144.715269 37.738282) + (xy 144.082962 38.37059) (xy 144.065925 38.307007) (xy 144.000099 38.192993) (xy 143.907007 38.099901) + (xy 143.792993 38.034075) (xy 143.729409 38.017037) (xy 144.365393 37.381051) (xy 144.376871 37.326412) + (xy 144.425922 37.276655) (xy 144.447119 37.267354) (xy 144.516462 37.244377) (xy 144.541453 37.228961) + (xy 144.606551 37.2105) (xy 145.390664 37.2105) (xy 145.457703 37.230185) (xy 145.478345 37.246819) + (xy 149.213181 40.981655) (xy 149.246666 41.042978) (xy 149.2495 41.069336) (xy 149.2495 49.374718) + (xy 149.28029 49.569122) (xy 149.341117 49.756326) (xy 149.397759 49.867491) (xy 149.430476 49.931701) + (xy 149.546172 50.090942) (xy 149.546174 50.090944) (xy 152.31226 52.85703) (xy 152.335063 52.888415) + (xy 152.344949 52.907817) (xy 152.46989 53.079786) (xy 152.620213 53.230109) (xy 152.792179 53.355048) + (xy 152.792181 53.355049) (xy 152.792184 53.355051) (xy 152.981588 53.451557) (xy 153.183757 53.517246) + (xy 153.393713 53.5505) (xy 153.393714 53.5505) (xy 153.606286 53.5505) (xy 153.606287 53.5505) + (xy 153.816243 53.517246) (xy 154.018412 53.451557) (xy 154.207816 53.355051) (xy 154.30814 53.282162) + (xy 154.379786 53.230109) (xy 154.379788 53.230106) (xy 154.379792 53.230104) (xy 154.530104 53.079792) + (xy 154.530106 53.079788) (xy 154.530109 53.079786) (xy 154.655048 52.90782) (xy 154.65505 52.907817) + (xy 154.655051 52.907816) (xy 154.751557 52.718412) (xy 154.817246 52.516243) (xy 154.8505 52.306287) + (xy 154.8505 52.093713) (xy 154.817246 51.883757) (xy 154.751557 51.681588) (xy 154.655051 51.492184) + (xy 154.655049 51.492181) (xy 154.655048 51.492179) (xy 154.530109 51.320213) (xy 154.379786 51.16989) + (xy 154.20782 51.044951) (xy 154.207115 51.044591) (xy 154.199054 51.040485) (xy 154.148259 50.992512) + (xy 154.131463 50.924692) (xy 154.153999 50.858556) (xy 154.199054 50.819515) (xy 154.207816 50.815051) + (xy 154.263201 50.774812) (xy 154.379786 50.690109) (xy 154.379788 50.690106) (xy 154.379792 50.690104) + (xy 154.530104 50.539792) (xy 154.530106 50.539788) (xy 154.530109 50.539786) (xy 154.655048 50.36782) + (xy 154.655047 50.36782) (xy 154.655051 50.367816) (xy 154.751557 50.178412) (xy 154.817246 49.976243) + (xy 154.8505 49.766287) (xy 154.8505 49.553713) (xy 154.825715 49.397227) (xy 154.83467 49.327933) + (xy 154.860504 49.290151) (xy 158.044114 46.106543) (xy 158.120775 45.991811) (xy 158.17358 45.864329) + (xy 158.185828 45.802754) (xy 158.198407 45.739516) (xy 158.2005 45.728995) (xy 158.2005 41.933713) + (xy 210.5695 41.933713) (xy 210.5695 42.146286) (xy 210.594834 42.306243) (xy 210.602754 42.356243) + (xy 210.627235 42.431588) (xy 210.668444 42.558414) (xy 210.764951 42.74782) (xy 210.88989 42.919786) + (xy 211.040213 43.070109) (xy 211.212182 43.19505) (xy 211.220946 43.199516) (xy 211.271742 43.247491) + (xy 211.288536 43.315312) (xy 211.265998 43.381447) (xy 211.220946 43.420484) (xy 211.212182 43.424949) + (xy 211.040213 43.54989) (xy 210.88989 43.700213) (xy 210.764951 43.872179) (xy 210.668444 44.061585) + (xy 210.668443 44.061587) (xy 210.668443 44.061588) (xy 210.65278 44.109793) (xy 210.602753 44.26376) (xy 210.5695 44.473713) (xy 210.5695 44.686286) (xy 210.592508 44.831557) (xy 210.602754 44.896243) - (xy 210.660535 45.074075) (xy 210.668444 45.098414) (xy 210.764951 45.28782) (xy 210.88989 45.459786) + (xy 210.644289 45.024075) (xy 210.668444 45.098414) (xy 210.764951 45.28782) (xy 210.88989 45.459786) (xy 211.040213 45.610109) (xy 211.212182 45.73505) (xy 211.220946 45.739516) (xy 211.271742 45.787491) (xy 211.288536 45.855312) (xy 211.265998 45.921447) (xy 211.220946 45.960484) (xy 211.212182 45.964949) (xy 211.040213 46.08989) (xy 210.88989 46.240213) (xy 210.764951 46.412179) (xy 210.668444 46.601585) - (xy 210.602753 46.80376) (xy 210.5695 47.013713) (xy 210.5695 47.226286) (xy 210.597264 47.401584) - (xy 210.602754 47.436243) (xy 210.655449 47.598422) (xy 210.668444 47.638414) (xy 210.764951 47.82782) + (xy 210.602753 46.80376) (xy 210.5695 47.013713) (xy 210.5695 47.226286) (xy 210.592508 47.371557) + (xy 210.602754 47.436243) (xy 210.626203 47.508412) (xy 210.668444 47.638414) (xy 210.764951 47.82782) (xy 210.88989 47.999786) (xy 211.040213 48.150109) (xy 211.212182 48.27505) (xy 211.220946 48.279516) (xy 211.271742 48.327491) (xy 211.288536 48.395312) (xy 211.265998 48.461447) (xy 211.220946 48.500484) (xy 211.212182 48.504949) (xy 211.040213 48.62989) (xy 210.88989 48.780213) (xy 210.764951 48.952179) (xy 210.668444 49.141585) (xy 210.602753 49.34376) (xy 210.5695 49.553713) (xy 210.5695 49.766286) - (xy 210.592508 49.911557) (xy 210.602754 49.976243) (xy 210.659217 50.150018) (xy 210.668444 50.178414) + (xy 210.592508 49.911557) (xy 210.602754 49.976243) (xy 210.655967 50.140016) (xy 210.668444 50.178414) (xy 210.764951 50.36782) (xy 210.88989 50.539786) (xy 211.040213 50.690109) (xy 211.212182 50.81505) (xy 211.220946 50.819516) (xy 211.271742 50.867491) (xy 211.288536 50.935312) (xy 211.265998 51.001447) (xy 211.220946 51.040484) (xy 211.212182 51.044949) (xy 211.040213 51.16989) (xy 210.88989 51.320213) @@ -4405,205 +4446,109 @@ (xy 211.212179 53.355048) (xy 211.212181 53.355049) (xy 211.212184 53.355051) (xy 211.401588 53.451557) (xy 211.603757 53.517246) (xy 211.813713 53.5505) (xy 211.813714 53.5505) (xy 212.026286 53.5505) (xy 212.026287 53.5505) (xy 212.236243 53.517246) (xy 212.438412 53.451557) (xy 212.627816 53.355051) - (xy 212.745535 53.269524) (xy 212.799786 53.230109) (xy 212.799788 53.230106) (xy 212.799792 53.230104) + (xy 212.72814 53.282162) (xy 212.799786 53.230109) (xy 212.799788 53.230106) (xy 212.799792 53.230104) (xy 212.950104 53.079792) (xy 212.950106 53.079788) (xy 212.950109 53.079786) (xy 213.075048 52.90782) (xy 213.07505 52.907817) (xy 213.075051 52.907816) (xy 213.171557 52.718412) (xy 213.237246 52.516243) (xy 213.2705 52.306287) (xy 213.2705 52.093713) (xy 213.237246 51.883757) (xy 213.171557 51.681588) (xy 213.075051 51.492184) (xy 213.075049 51.492181) (xy 213.075048 51.492179) (xy 212.950109 51.320213) - (xy 212.799792 51.169896) (xy 212.752496 51.135534) (xy 212.627816 51.044949) (xy 212.617115 51.039496) - (xy 235.611581 51.039496) (xy 235.611581 52.298422) (xy 235.642371 52.492826) (xy 235.703198 52.680029) - (xy 235.770077 52.811285) (xy 235.792557 52.855405) (xy 235.908253 53.014646) (xy 236.047435 53.153828) - (xy 236.206676 53.269524) (xy 236.23148 53.282162) (xy 236.382051 53.358882) (xy 236.382053 53.358882) - (xy 236.382056 53.358884) (xy 236.482398 53.391487) (xy 236.569254 53.419709) (xy 236.763659 53.4505) - (xy 236.763664 53.4505) (xy 236.960503 53.4505) (xy 237.154907 53.419709) (xy 237.342106 53.358884) - (xy 237.517486 53.269524) (xy 237.676727 53.153828) (xy 237.815909 53.014646) (xy 237.931605 52.855405) - (xy 238.020965 52.680025) (xy 238.08179 52.492826) (xy 238.088036 52.453393) (xy 238.112581 52.298422) - (xy 238.112581 51.707255) (xy 238.132266 51.640216) (xy 238.1489 51.619574) (xy 239.792235 49.976239) - (xy 241.453828 48.314646) (xy 241.547233 48.186086) (xy 241.569524 48.155405) (xy 241.658884 47.980025) - (xy 241.699945 47.853652) (xy 241.719709 47.792827) (xy 241.736504 47.686785) (xy 241.7505 47.598422) - (xy 241.7505 41.453039) (xy 241.770185 41.386) (xy 241.786814 41.365363) (xy 245.589427 37.56275) - (xy 245.650746 37.529268) (xy 245.720438 37.534252) (xy 245.776371 37.576124) (xy 245.787589 37.594139) - (xy 245.845375 37.70755) (xy 245.884728 37.761716) (xy 246.517037 37.129408) (xy 246.534075 37.192993) - (xy 246.599901 37.307007) (xy 246.692993 37.400099) (xy 246.807007 37.465925) (xy 246.87059 37.482962) - (xy 246.238282 38.115269) (xy 246.238282 38.11527) (xy 246.285219 38.149371) (xy 246.327885 38.204701) - (xy 246.333864 38.274314) (xy 246.301259 38.33611) (xy 246.285219 38.350008) (xy 246.120214 38.46989) - (xy 246.120209 38.469894) (xy 245.96989 38.620213) (xy 245.844951 38.792179) (xy 245.748444 38.981585) - (xy 245.682753 39.18376) (xy 245.6495 39.393713) (xy 245.6495 39.606286) (xy 245.672508 39.751557) - (xy 245.682754 39.816243) (xy 245.723481 39.941588) (xy 245.748444 40.018414) (xy 245.844951 40.20782) - (xy 245.96989 40.379786) (xy 246.120209 40.530105) (xy 246.120214 40.530109) (xy 246.284793 40.649682) - (xy 246.327459 40.705011) (xy 246.333438 40.774625) (xy 246.300833 40.83642) (xy 246.284793 40.850318) - (xy 246.120214 40.96989) (xy 246.120209 40.969894) (xy 245.96989 41.120213) (xy 245.844951 41.292179) - (xy 245.748444 41.481585) (xy 245.682753 41.68376) (xy 245.6495 41.893713) (xy 245.6495 42.106286) - (xy 245.682753 42.316239) (xy 245.748444 42.518414) (xy 245.844951 42.70782) (xy 245.96989 42.879786) - (xy 246.120209 43.030105) (xy 246.120214 43.030109) (xy 246.284793 43.149682) (xy 246.327459 43.205011) - (xy 246.333438 43.274625) (xy 246.300833 43.33642) (xy 246.284793 43.350318) (xy 246.120214 43.46989) - (xy 246.120209 43.469894) (xy 245.96989 43.620213) (xy 245.844951 43.792179) (xy 245.748444 43.981585) - (xy 245.748443 43.981587) (xy 245.748443 43.981588) (xy 245.72245 44.061585) (xy 245.682753 44.18376) - (xy 245.6495 44.393713) (xy 245.6495 44.606286) (xy 245.676741 44.778282) (xy 245.682754 44.816243) - (xy 245.731072 44.964951) (xy 245.748444 45.018414) (xy 245.844951 45.20782) (xy 245.96989 45.379786) - (xy 246.120209 45.530105) (xy 246.120214 45.530109) (xy 246.284793 45.649682) (xy 246.327459 45.705011) - (xy 246.333438 45.774625) (xy 246.300833 45.83642) (xy 246.284793 45.850318) (xy 246.120214 45.96989) - (xy 246.120209 45.969894) (xy 245.96989 46.120213) (xy 245.844951 46.292179) (xy 245.748444 46.481585) - (xy 245.682753 46.68376) (xy 245.652867 46.872452) (xy 245.6495 46.893713) (xy 245.6495 47.106287) - (xy 245.652071 47.122517) (xy 245.676936 47.279514) (xy 245.682754 47.316243) (xy 245.744069 47.504951) - (xy 245.748444 47.518414) (xy 245.844951 47.70782) (xy 245.96989 47.879786) (xy 246.108705 48.018601) - (xy 246.14219 48.079924) (xy 246.137206 48.149616) (xy 246.095334 48.205549) (xy 246.086121 48.211821) - (xy 245.931342 48.307289) (xy 245.807289 48.431342) (xy 245.715187 48.580663) (xy 245.715186 48.580666) - (xy 245.660001 48.747203) (xy 245.660001 48.747204) (xy 245.66 48.747204) (xy 245.6495 48.849983) - (xy 245.6495 50.150001) (xy 245.649501 50.150018) (xy 245.66 50.252796) (xy 245.660001 50.252799) - (xy 245.698116 50.36782) (xy 245.715186 50.419334) (xy 245.807288 50.568656) (xy 245.931344 50.692712) - (xy 246.080666 50.784814) (xy 246.247203 50.839999) (xy 246.349991 50.8505) (xy 247.650008 50.850499) - (xy 247.752797 50.839999) (xy 247.919334 50.784814) (xy 248.068656 50.692712) (xy 248.192712 50.568656) - (xy 248.284814 50.419334) (xy 248.339999 50.252797) (xy 248.3505 50.150009) (xy 248.350499 48.849992) - (xy 248.34337 48.780208) (xy 248.339999 48.747203) (xy 248.339998 48.7472) (xy 248.301125 48.62989) - (xy 248.284814 48.580666) (xy 248.192712 48.431344) (xy 248.068656 48.307288) (xy 247.919334 48.215186) - (xy 247.919333 48.215185) (xy 247.913878 48.211821) (xy 247.867154 48.159873) (xy 247.855931 48.09091) - (xy 247.883775 48.026828) (xy 247.891272 48.018623) (xy 248.030104 47.879792) (xy 248.047171 47.856302) - (xy 248.155048 47.70782) (xy 248.155047 47.70782) (xy 248.155051 47.707816) (xy 248.251557 47.518412) - (xy 248.317246 47.316243) (xy 248.3505 47.106287) (xy 248.3505 46.893713) (xy 248.317246 46.683757) - (xy 248.251557 46.481588) (xy 248.155051 46.292184) (xy 248.155049 46.292181) (xy 248.155048 46.292179) - (xy 248.030109 46.120213) (xy 247.879792 45.969896) (xy 247.866837 45.960484) (xy 247.715204 45.850316) - (xy 247.67254 45.794989) (xy 247.666561 45.725376) (xy 247.699166 45.66358) (xy 247.715199 45.649686) - (xy 247.879792 45.530104) (xy 248.030104 45.379792) (xy 248.030106 45.379788) (xy 248.030109 45.379786) - (xy 248.155048 45.20782) (xy 248.155047 45.20782) (xy 248.155051 45.207816) (xy 248.251557 45.018412) - (xy 248.317246 44.816243) (xy 248.3505 44.606287) (xy 248.3505 44.393713) (xy 248.317246 44.183757) - (xy 248.251557 43.981588) (xy 248.155051 43.792184) (xy 248.155049 43.792181) (xy 248.155048 43.792179) - (xy 248.030109 43.620213) (xy 247.879792 43.469896) (xy 247.811784 43.420486) (xy 247.715204 43.350316) - (xy 247.67254 43.294989) (xy 247.666561 43.225376) (xy 247.699166 43.16358) (xy 247.715199 43.149686) - (xy 247.879792 43.030104) (xy 248.030104 42.879792) (xy 248.030106 42.879788) (xy 248.030109 42.879786) - (xy 248.155048 42.70782) (xy 248.155047 42.70782) (xy 248.155051 42.707816) (xy 248.251557 42.518412) - (xy 248.317246 42.316243) (xy 248.3505 42.106287) (xy 248.3505 41.893713) (xy 248.317246 41.683757) - (xy 248.251557 41.481588) (xy 248.155051 41.292184) (xy 248.155049 41.292181) (xy 248.155048 41.292179) - (xy 248.030109 41.120213) (xy 247.879792 40.969896) (xy 247.86757 40.961016) (xy 247.715204 40.850316) - (xy 247.67254 40.794989) (xy 247.666561 40.725376) (xy 247.699166 40.66358) (xy 247.715199 40.649686) - (xy 247.879792 40.530104) (xy 248.030104 40.379792) (xy 248.030106 40.379788) (xy 248.030109 40.379786) - (xy 248.155048 40.20782) (xy 248.155047 40.20782) (xy 248.155051 40.207816) (xy 248.251557 40.018412) - (xy 248.317246 39.816243) (xy 248.3505 39.606287) (xy 248.3505 39.393713) (xy 248.317246 39.183757) - (xy 248.251557 38.981588) (xy 248.155051 38.792184) (xy 248.155049 38.792181) (xy 248.155048 38.792179) - (xy 248.030109 38.620213) (xy 247.87979 38.469894) (xy 247.879785 38.46989) (xy 247.714781 38.350008) - (xy 247.672115 38.294678) (xy 247.666136 38.225065) (xy 247.698741 38.16327) (xy 247.714781 38.149372) - (xy 247.761716 38.115271) (xy 247.761717 38.11527) (xy 247.129408 37.482962) (xy 247.192993 37.465925) - (xy 247.307007 37.400099) (xy 247.400099 37.307007) (xy 247.465925 37.192993) (xy 247.482962 37.129408) - (xy 248.11527 37.761717) (xy 248.11527 37.761716) (xy 248.154622 37.707554) (xy 248.251095 37.518217) - (xy 248.316757 37.31613) (xy 248.316757 37.316127) (xy 248.35 37.106246) (xy 248.35 36.893753) (xy 248.316757 36.683872) - (xy 248.316757 36.683869) (xy 248.251095 36.481782) (xy 248.154624 36.292449) (xy 248.11527 36.238282) - (xy 248.115269 36.238282) (xy 247.482962 36.87059) (xy 247.465925 36.807007) (xy 247.400099 36.692993) - (xy 247.307007 36.599901) (xy 247.192993 36.534075) (xy 247.129408 36.517037) (xy 247.761716 35.884728) - (xy 247.71478 35.850628) (xy 247.672114 35.795298) (xy 247.666135 35.725685) (xy 247.69874 35.663889) - (xy 247.714776 35.649994) (xy 247.879792 35.530104) (xy 248.030104 35.379792) (xy 248.030106 35.379788) - (xy 248.030109 35.379786) (xy 248.155048 35.20782) (xy 248.155047 35.20782) (xy 248.155051 35.207816) - (xy 248.251557 35.018412) (xy 248.317246 34.816243) (xy 248.3505 34.606287) (xy 248.3505 34.393713) - (xy 248.317246 34.183757) (xy 248.251557 33.981588) (xy 248.155051 33.792184) (xy 248.155049 33.792181) - (xy 248.155048 33.792179) (xy 248.030109 33.620213) (xy 247.879786 33.46989) (xy 247.70782 33.344951) - (xy 247.518414 33.248444) (xy 247.518413 33.248443) (xy 247.518412 33.248443) (xy 247.316243 33.182754) - (xy 247.316241 33.182753) (xy 247.31624 33.182753) (xy 247.154957 33.157208) (xy 247.106287 33.1495) - (xy 246.893713 33.1495) (xy 246.845042 33.157208) (xy 246.68376 33.182753) (xy 246.481585 33.248444) - (xy 246.292179 33.344951) (xy 246.120213 33.46989) (xy 245.969895 33.620208) (xy 245.908875 33.704194) - (xy 245.896239 33.718988) (xy 239.546174 40.069055) (xy 239.546172 40.069058) (xy 239.496485 40.137445) - (xy 239.430476 40.228298) (xy 239.341115 40.403677) (xy 239.341114 40.40368) (xy 239.309657 40.500499) - (xy 239.28029 40.59088) (xy 239.28029 40.590881) (xy 239.2495 40.785281) (xy 239.2495 46.930664) - (xy 239.229815 46.997703) (xy 239.213181 47.018345) (xy 235.908255 50.32327) (xy 235.908255 50.323271) - (xy 235.908253 50.323273) (xy 235.875888 50.36782) (xy 235.792557 50.482513) (xy 235.70275 50.65877) - (xy 235.701689 50.662531) (xy 235.642373 50.845088) (xy 235.611581 51.039496) (xy 212.617115 51.039496) - (xy 212.611294 51.03653) (xy 212.604162 51.03153) (xy 212.587581 51.010761) (xy 212.568259 50.992512) - (xy 212.56612 50.983877) (xy 212.560571 50.976926) (xy 212.557851 50.950488) (xy 212.551463 50.924692) - (xy 212.554332 50.916271) (xy 212.553422 50.907423) (xy 212.565426 50.883712) (xy 212.573999 50.858556) - (xy 212.581419 50.852126) (xy 212.584983 50.845088) (xy 212.599122 50.836786) (xy 212.619054 50.819515) - (xy 212.627816 50.815051) (xy 212.669437 50.784812) (xy 212.799786 50.690109) (xy 212.799788 50.690106) + (xy 212.799786 51.16989) (xy 212.62782 51.044951) (xy 212.627115 51.044591) (xy 212.619054 51.040485) + (xy 212.568259 50.992512) (xy 212.551463 50.924692) (xy 212.573999 50.858556) (xy 212.619054 50.819515) + (xy 212.627816 50.815051) (xy 212.683201 50.774812) (xy 212.799786 50.690109) (xy 212.799788 50.690106) (xy 212.799792 50.690104) (xy 212.950104 50.539792) (xy 212.950106 50.539788) (xy 212.950109 50.539786) (xy 213.075048 50.36782) (xy 213.075047 50.36782) (xy 213.075051 50.367816) (xy 213.171557 50.178412) (xy 213.237246 49.976243) (xy 213.2705 49.766287) (xy 213.2705 49.553713) (xy 213.237246 49.343757) (xy 213.171557 49.141588) (xy 213.075051 48.952184) (xy 213.075049 48.952181) (xy 213.075048 48.952179) (xy 212.950109 48.780213) (xy 212.799786 48.62989) (xy 212.62782 48.504951) (xy 212.627115 48.504591) (xy 212.619054 48.500485) (xy 212.568259 48.452512) (xy 212.551463 48.384692) (xy 212.573999 48.318556) - (xy 212.619054 48.279515) (xy 212.627816 48.275051) (xy 212.711578 48.214195) (xy 212.799786 48.150109) + (xy 212.619054 48.279515) (xy 212.627816 48.275051) (xy 212.723978 48.205186) (xy 212.799786 48.150109) (xy 212.799788 48.150106) (xy 212.799792 48.150104) (xy 212.950104 47.999792) (xy 212.950106 47.999788) (xy 212.950109 47.999786) (xy 213.075048 47.82782) (xy 213.075047 47.82782) (xy 213.075051 47.827816) (xy 213.171557 47.638412) (xy 213.237246 47.436243) (xy 213.2705 47.226287) (xy 213.2705 47.013713) (xy 213.237246 46.803757) (xy 213.171557 46.601588) (xy 213.075051 46.412184) (xy 213.075049 46.412181) (xy 213.075048 46.412179) (xy 212.950109 46.240213) (xy 212.799786 46.08989) (xy 212.62782 45.964951) (xy 212.627115 45.964591) (xy 212.619054 45.960485) (xy 212.568259 45.912512) (xy 212.551463 45.844692) - (xy 212.573999 45.778556) (xy 212.619054 45.739515) (xy 212.627816 45.735051) (xy 212.669163 45.705011) + (xy 212.573999 45.778556) (xy 212.619054 45.739515) (xy 212.627816 45.735051) (xy 212.699468 45.682993) (xy 212.799786 45.610109) (xy 212.799788 45.610106) (xy 212.799792 45.610104) (xy 212.950104 45.459792) - (xy 212.954704 45.45346) (xy 213.025517 45.355996) (xy 213.075048 45.28782) (xy 213.075051 45.287816) - (xy 213.171557 45.098412) (xy 213.237246 44.896243) (xy 213.2705 44.686287) (xy 213.2705 44.473713) - (xy 213.237246 44.263757) (xy 213.171557 44.061588) (xy 213.075051 43.872184) (xy 213.075049 43.872181) - (xy 213.075048 43.872179) (xy 212.950109 43.700213) (xy 212.799786 43.54989) (xy 212.62782 43.424951) - (xy 212.627115 43.424591) (xy 212.619054 43.420485) (xy 212.568259 43.372512) (xy 212.551463 43.304692) - (xy 212.573999 43.238556) (xy 212.619054 43.199515) (xy 212.627816 43.195051) (xy 212.649789 43.179086) - (xy 212.799786 43.070109) (xy 212.799788 43.070106) (xy 212.799792 43.070104) (xy 212.950104 42.919792) - (xy 212.950106 42.919788) (xy 212.950109 42.919786) (xy 213.075048 42.74782) (xy 213.075047 42.74782) - (xy 213.075051 42.747816) (xy 213.171557 42.558412) (xy 213.237246 42.356243) (xy 213.2705 42.146287) - (xy 213.2705 41.933713) (xy 213.237246 41.723757) (xy 213.171557 41.521588) (xy 213.075051 41.332184) - (xy 213.075049 41.332181) (xy 213.075048 41.332179) (xy 212.950109 41.160213) (xy 212.79979 41.009894) - (xy 212.799785 41.00989) (xy 212.794399 41.005977) (xy 212.751731 40.950649) (xy 212.74575 40.881036) - (xy 212.778354 40.81924) (xy 212.828278 40.787951) (xy 212.839117 40.784359) (xy 212.839124 40.784356) - (xy 212.988345 40.692315) (xy 213.112315 40.568345) (xy 213.204356 40.419124) (xy 213.204358 40.419119) - (xy 213.226032 40.353713) (xy 220.0495 40.353713) (xy 220.0495 40.566286) (xy 220.082497 40.774625) - (xy 220.082754 40.776243) (xy 220.145675 40.969894) (xy 220.148444 40.978414) (xy 220.244951 41.16782) - (xy 220.36989 41.339786) (xy 220.520213 41.490109) (xy 220.692182 41.61505) (xy 220.700946 41.619516) - (xy 220.751742 41.667491) (xy 220.768536 41.735312) (xy 220.745998 41.801447) (xy 220.700946 41.840484) - (xy 220.692182 41.844949) (xy 220.520213 41.96989) (xy 220.36989 42.120213) (xy 220.244951 42.292179) - (xy 220.148444 42.481585) (xy 220.082753 42.68376) (xy 220.0495 42.893713) (xy 220.0495 43.106286) - (xy 220.082606 43.315312) (xy 220.082754 43.316243) (xy 220.133919 43.473713) (xy 220.148444 43.518414) - (xy 220.244951 43.70782) (xy 220.36989 43.879786) (xy 220.520213 44.030109) (xy 220.692179 44.155048) - (xy 220.692181 44.155049) (xy 220.692184 44.155051) (xy 220.701493 44.159794) (xy 220.75229 44.207766) - (xy 220.769087 44.275587) (xy 220.746552 44.341722) (xy 220.701505 44.38076) (xy 220.692446 44.385376) - (xy 220.69244 44.38538) (xy 220.638282 44.424727) (xy 220.638282 44.424728) (xy 221.270591 45.057037) - (xy 221.207007 45.074075) (xy 221.092993 45.139901) (xy 220.999901 45.232993) (xy 220.934075 45.347007) - (xy 220.917037 45.410591) (xy 220.284728 44.778282) (xy 220.284727 44.778282) (xy 220.24538 44.832439) - (xy 220.148904 45.021782) (xy 220.083242 45.223869) (xy 220.083242 45.223872) (xy 220.05 45.433753) - (xy 220.05 45.646246) (xy 220.083242 45.856127) (xy 220.083242 45.85613) (xy 220.148904 46.058217) - (xy 220.245375 46.24755) (xy 220.284728 46.301716) (xy 220.917036 45.669407) (xy 220.934075 45.732993) - (xy 220.999901 45.847007) (xy 221.092993 45.940099) (xy 221.207007 46.005925) (xy 221.27059 46.022962) - (xy 220.60037 46.693181) (xy 220.539047 46.726666) (xy 220.512698 46.7295) (xy 220.502134 46.7295) - (xy 220.502123 46.729501) (xy 220.442516 46.735908) (xy 220.307671 46.786202) (xy 220.307664 46.786206) - (xy 220.192455 46.872452) (xy 220.192452 46.872455) (xy 220.106206 46.987664) (xy 220.106202 46.987671) - (xy 220.055908 47.122517) (xy 220.052942 47.150109) (xy 220.049501 47.182123) (xy 220.0495 47.182135) - (xy 220.0495 48.97787) (xy 220.049501 48.977876) (xy 220.055908 49.037483) (xy 220.106202 49.172328) - (xy 220.106206 49.172335) (xy 220.192452 49.287544) (xy 220.192455 49.287547) (xy 220.307664 49.373793) - (xy 220.307671 49.373797) (xy 220.442517 49.424091) (xy 220.442516 49.424091) (xy 220.449444 49.424835) - (xy 220.502127 49.4305) (xy 222.297872 49.430499) (xy 222.357483 49.424091) (xy 222.492331 49.373796) - (xy 222.607546 49.287546) (xy 222.693796 49.172331) (xy 222.744091 49.037483) (xy 222.7505 48.977873) - (xy 222.750499 47.182128) (xy 222.744091 47.122517) (xy 222.738037 47.106286) (xy 222.693797 46.987671) - (xy 222.693793 46.987664) (xy 222.607547 46.872455) (xy 222.607544 46.872452) (xy 222.492335 46.786206) - (xy 222.492328 46.786202) (xy 222.357482 46.735908) (xy 222.357483 46.735908) (xy 222.297883 46.729501) - (xy 222.297881 46.7295) (xy 222.297873 46.7295) (xy 222.297865 46.7295) (xy 222.287309 46.7295) - (xy 222.22027 46.709815) (xy 222.199628 46.693181) (xy 221.529408 46.022962) (xy 221.592993 46.005925) - (xy 221.707007 45.940099) (xy 221.800099 45.847007) (xy 221.865925 45.732993) (xy 221.882962 45.669408) - (xy 222.51527 46.301717) (xy 222.51527 46.301716) (xy 222.554622 46.247554) (xy 222.651095 46.058217) - (xy 222.716757 45.85613) (xy 222.716757 45.856127) (xy 222.75 45.646246) (xy 222.75 45.433753) (xy 222.716757 45.223872) - (xy 222.716757 45.223869) (xy 222.651095 45.021782) (xy 222.554624 44.832449) (xy 222.51527 44.778282) - (xy 222.515269 44.778282) (xy 221.882962 45.41059) (xy 221.865925 45.347007) (xy 221.800099 45.232993) - (xy 221.707007 45.139901) (xy 221.592993 45.074075) (xy 221.529409 45.057037) (xy 222.161716 44.424728) - (xy 222.107547 44.385373) (xy 222.107547 44.385372) (xy 222.0985 44.380763) (xy 222.047706 44.332788) - (xy 222.030912 44.264966) (xy 222.053451 44.198832) (xy 222.098508 44.159793) (xy 222.107816 44.155051) - (xy 222.236462 44.061585) (xy 222.279786 44.030109) (xy 222.279788 44.030106) (xy 222.279792 44.030104) - (xy 222.430104 43.879792) (xy 222.430106 43.879788) (xy 222.430109 43.879786) (xy 222.555048 43.70782) - (xy 222.555047 43.70782) (xy 222.555051 43.707816) (xy 222.651557 43.518412) (xy 222.717246 43.316243) - (xy 222.7505 43.106287) (xy 222.7505 42.893713) (xy 222.717246 42.683757) (xy 222.651557 42.481588) - (xy 222.555051 42.292184) (xy 222.555049 42.292181) (xy 222.555048 42.292179) (xy 222.430109 42.120213) - (xy 222.279786 41.96989) (xy 222.10782 41.844951) (xy 222.107115 41.844591) (xy 222.099054 41.840485) - (xy 222.048259 41.792512) (xy 222.031463 41.724692) (xy 222.053999 41.658556) (xy 222.099054 41.619515) - (xy 222.107816 41.615051) (xy 222.185771 41.558414) (xy 222.279786 41.490109) (xy 222.279788 41.490106) - (xy 222.279792 41.490104) (xy 222.430104 41.339792) (xy 222.430106 41.339788) (xy 222.430109 41.339786) - (xy 222.555048 41.16782) (xy 222.555047 41.16782) (xy 222.555051 41.167816) (xy 222.651557 40.978412) - (xy 222.717246 40.776243) (xy 222.7505 40.566287) (xy 222.7505 40.353713) (xy 222.717246 40.143757) - (xy 222.651557 39.941588) (xy 222.555051 39.752184) (xy 222.555049 39.752181) (xy 222.555048 39.752179) - (xy 222.430109 39.580213) (xy 222.279786 39.42989) (xy 222.10782 39.304951) (xy 221.918414 39.208444) - (xy 221.918413 39.208443) (xy 221.918412 39.208443) (xy 221.716243 39.142754) (xy 221.716241 39.142753) - (xy 221.71624 39.142753) (xy 221.554957 39.117208) (xy 221.506287 39.1095) (xy 221.293713 39.1095) - (xy 221.245042 39.117208) (xy 221.08376 39.142753) (xy 220.881585 39.208444) (xy 220.692179 39.304951) - (xy 220.520213 39.42989) (xy 220.36989 39.580213) (xy 220.244951 39.752179) (xy 220.148444 39.941585) - (xy 220.082753 40.14376) (xy 220.0495 40.353713) (xy 213.226032 40.353713) (xy 213.240571 40.309837) - (xy 213.259505 40.252697) (xy 213.259506 40.25269) (xy 213.269999 40.149986) (xy 213.27 40.149973) - (xy 213.27 39.75) (xy 212.353012 39.75) (xy 212.385925 39.692993) (xy 212.42 39.565826) (xy 212.42 39.434174) - (xy 212.385925 39.307007) (xy 212.353012 39.25) (xy 213.269999 39.25) (xy 213.269999 38.850028) - (xy 213.269998 38.850013) (xy 213.259505 38.747302) (xy 213.204358 38.58088) (xy 213.204356 38.580875) - (xy 213.112315 38.431654) (xy 212.988345 38.307684) (xy 212.839124 38.215643) (xy 212.839119 38.215641) - (xy 212.672697 38.160494) (xy 212.67269 38.160493) (xy 212.569986 38.15) (xy 212.17 38.15) (xy 212.17 39.066988) - (xy 212.112993 39.034075) (xy 211.985826 39) (xy 211.854174 39) (xy 211.727007 39.034075) (xy 211.67 39.066988) - (xy 211.67 38.15) (xy 211.270028 38.15) (xy 211.270012 38.150001) (xy 211.167302 38.160494) (xy 211.00088 38.215641) + (xy 213.075051 45.287816) (xy 213.171557 45.098412) (xy 213.237246 44.896243) (xy 213.2705 44.686287) + (xy 213.2705 44.473713) (xy 213.237246 44.263757) (xy 213.171557 44.061588) (xy 213.075051 43.872184) + (xy 213.075049 43.872181) (xy 213.075048 43.872179) (xy 212.950109 43.700213) (xy 212.799786 43.54989) + (xy 212.62782 43.424951) (xy 212.627115 43.424591) (xy 212.619054 43.420485) (xy 212.568259 43.372512) + (xy 212.551463 43.304692) (xy 212.573999 43.238556) (xy 212.619054 43.199515) (xy 212.627816 43.195051) + (xy 212.649789 43.179086) (xy 212.799786 43.070109) (xy 212.799788 43.070106) (xy 212.799792 43.070104) + (xy 212.950104 42.919792) (xy 212.950106 42.919788) (xy 212.950109 42.919786) (xy 213.075048 42.74782) + (xy 213.075047 42.74782) (xy 213.075051 42.747816) (xy 213.171557 42.558412) (xy 213.237246 42.356243) + (xy 213.2705 42.146287) (xy 213.2705 41.933713) (xy 213.237246 41.723757) (xy 213.171557 41.521588) + (xy 213.075051 41.332184) (xy 213.075049 41.332181) (xy 213.075048 41.332179) (xy 212.950109 41.160213) + (xy 212.79979 41.009894) (xy 212.799785 41.00989) (xy 212.794399 41.005977) (xy 212.751731 40.950649) + (xy 212.74575 40.881036) (xy 212.778354 40.81924) (xy 212.828278 40.787951) (xy 212.839117 40.784359) + (xy 212.839124 40.784356) (xy 212.988345 40.692315) (xy 213.112315 40.568345) (xy 213.204356 40.419124) + (xy 213.204358 40.419119) (xy 213.2426 40.303713) (xy 217.8895 40.303713) (xy 217.8895 40.516287) + (xy 217.890105 40.520104) (xy 217.92236 40.72376) (xy 217.922754 40.726243) (xy 217.975023 40.887111) + (xy 217.988444 40.928414) (xy 218.084951 41.11782) (xy 218.20989 41.289786) (xy 218.360213 41.440109) + (xy 218.532182 41.56505) (xy 218.540946 41.569516) (xy 218.591742 41.617491) (xy 218.608536 41.685312) + (xy 218.585998 41.751447) (xy 218.540946 41.790484) (xy 218.532182 41.794949) (xy 218.360213 41.91989) + (xy 218.20989 42.070213) (xy 218.084951 42.242179) (xy 217.988444 42.431585) (xy 217.922753 42.63376) + (xy 217.904688 42.74782) (xy 217.8895 42.843713) (xy 217.8895 43.056287) (xy 217.891689 43.070109) + (xy 217.922497 43.264625) (xy 217.922754 43.266243) (xy 217.985675 43.459894) (xy 217.988444 43.468414) + (xy 218.084951 43.65782) (xy 218.20989 43.829786) (xy 218.360213 43.980109) (xy 218.532179 44.105048) + (xy 218.532181 44.105049) (xy 218.532184 44.105051) (xy 218.541493 44.109794) (xy 218.59229 44.157766) + (xy 218.609087 44.225587) (xy 218.586552 44.291722) (xy 218.541505 44.33076) (xy 218.532446 44.335376) + (xy 218.53244 44.33538) (xy 218.478282 44.374727) (xy 218.478282 44.374728) (xy 219.110591 45.007037) + (xy 219.047007 45.024075) (xy 218.932993 45.089901) (xy 218.839901 45.182993) (xy 218.774075 45.297007) + (xy 218.757037 45.360591) (xy 218.124728 44.728282) (xy 218.124727 44.728282) (xy 218.08538 44.782439) + (xy 217.988904 44.971782) (xy 217.923242 45.173869) (xy 217.923242 45.173872) (xy 217.89 45.383753) + (xy 217.89 45.596246) (xy 217.923242 45.806127) (xy 217.923242 45.80613) (xy 217.988904 46.008217) + (xy 218.085375 46.19755) (xy 218.124728 46.251716) (xy 218.757037 45.619408) (xy 218.774075 45.682993) + (xy 218.839901 45.797007) (xy 218.932993 45.890099) (xy 219.047007 45.955925) (xy 219.11059 45.972962) + (xy 218.44037 46.643181) (xy 218.379047 46.676666) (xy 218.352698 46.6795) (xy 218.342134 46.6795) + (xy 218.342123 46.679501) (xy 218.282516 46.685908) (xy 218.147671 46.736202) (xy 218.147664 46.736206) + (xy 218.032455 46.822452) (xy 218.032452 46.822455) (xy 217.946206 46.937664) (xy 217.946202 46.937671) + (xy 217.895908 47.072517) (xy 217.889501 47.132116) (xy 217.889501 47.132123) (xy 217.8895 47.132135) + (xy 217.8895 48.92787) (xy 217.889501 48.927876) (xy 217.895908 48.987483) (xy 217.946202 49.122328) + (xy 217.946206 49.122335) (xy 218.032452 49.237544) (xy 218.032455 49.237547) (xy 218.147664 49.323793) + (xy 218.147671 49.323797) (xy 218.282517 49.374091) (xy 218.282516 49.374091) (xy 218.288302 49.374713) + (xy 218.342127 49.3805) (xy 220.137872 49.380499) (xy 220.197483 49.374091) (xy 220.332331 49.323796) + (xy 220.447546 49.237546) (xy 220.533796 49.122331) (xy 220.584091 48.987483) (xy 220.5905 48.927873) + (xy 220.590499 47.132128) (xy 220.584091 47.072517) (xy 220.570637 47.036446) (xy 220.533797 46.937671) + (xy 220.533793 46.937664) (xy 220.447547 46.822455) (xy 220.447544 46.822452) (xy 220.332335 46.736206) + (xy 220.332328 46.736202) (xy 220.197482 46.685908) (xy 220.197483 46.685908) (xy 220.137883 46.679501) + (xy 220.137881 46.6795) (xy 220.137873 46.6795) (xy 220.137865 46.6795) (xy 220.127309 46.6795) + (xy 220.06027 46.659815) (xy 220.039628 46.643181) (xy 219.369408 45.972962) (xy 219.432993 45.955925) + (xy 219.547007 45.890099) (xy 219.640099 45.797007) (xy 219.705925 45.682993) (xy 219.722962 45.619408) + (xy 220.35527 46.251717) (xy 220.35527 46.251716) (xy 220.394622 46.197554) (xy 220.491095 46.008217) + (xy 220.556757 45.80613) (xy 220.556757 45.806127) (xy 220.59 45.596246) (xy 220.59 45.383753) (xy 220.556757 45.173872) + (xy 220.556757 45.173869) (xy 220.491095 44.971782) (xy 220.394624 44.782449) (xy 220.35527 44.728282) + (xy 220.355269 44.728282) (xy 219.722962 45.36059) (xy 219.705925 45.297007) (xy 219.640099 45.182993) + (xy 219.547007 45.089901) (xy 219.432993 45.024075) (xy 219.369409 45.007037) (xy 220.001716 44.374728) + (xy 219.947547 44.335373) (xy 219.947547 44.335372) (xy 219.9385 44.330763) (xy 219.887706 44.282788) + (xy 219.870912 44.214966) (xy 219.893451 44.148832) (xy 219.938508 44.109793) (xy 219.947816 44.105051) + (xy 220.027007 44.047515) (xy 220.119786 43.980109) (xy 220.119788 43.980106) (xy 220.119792 43.980104) + (xy 220.270104 43.829792) (xy 220.270106 43.829788) (xy 220.270109 43.829786) (xy 220.395048 43.65782) + (xy 220.395047 43.65782) (xy 220.395051 43.657816) (xy 220.491557 43.468412) (xy 220.557246 43.266243) + (xy 220.5905 43.056287) (xy 220.5905 42.843713) (xy 220.557246 42.633757) (xy 220.491557 42.431588) + (xy 220.395051 42.242184) (xy 220.395049 42.242181) (xy 220.395048 42.242179) (xy 220.270109 42.070213) + (xy 220.119786 41.91989) (xy 219.94782 41.794951) (xy 219.947115 41.794591) (xy 219.939054 41.790485) + (xy 219.888259 41.742512) (xy 219.871463 41.674692) (xy 219.893999 41.608556) (xy 219.939054 41.569515) + (xy 219.947816 41.565051) (xy 220.007642 41.521585) (xy 220.119786 41.440109) (xy 220.119788 41.440106) + (xy 220.119792 41.440104) (xy 220.270104 41.289792) (xy 220.270106 41.289788) (xy 220.270109 41.289786) + (xy 220.395048 41.11782) (xy 220.395047 41.11782) (xy 220.395051 41.117816) (xy 220.491557 40.928412) + (xy 220.557246 40.726243) (xy 220.5905 40.516287) (xy 220.5905 40.303713) (xy 220.557246 40.093757) + (xy 220.491557 39.891588) (xy 220.395051 39.702184) (xy 220.395049 39.702181) (xy 220.395048 39.702179) + (xy 220.270109 39.530213) (xy 220.119786 39.37989) (xy 219.94782 39.254951) (xy 219.758414 39.158444) + (xy 219.758413 39.158443) (xy 219.758412 39.158443) (xy 219.556243 39.092754) (xy 219.556241 39.092753) + (xy 219.55624 39.092753) (xy 219.394957 39.067208) (xy 219.346287 39.0595) (xy 219.133713 39.0595) + (xy 219.085042 39.067208) (xy 218.92376 39.092753) (xy 218.721585 39.158444) (xy 218.532179 39.254951) + (xy 218.360213 39.37989) (xy 218.20989 39.530213) (xy 218.084951 39.702179) (xy 217.988444 39.891585) + (xy 217.922753 40.09376) (xy 217.906272 40.19782) (xy 217.8895 40.303713) (xy 213.2426 40.303713) + (xy 213.257139 40.259837) (xy 213.257139 40.259836) (xy 213.25714 40.259834) (xy 213.259505 40.252696) + (xy 213.259506 40.25269) (xy 213.269999 40.149986) (xy 213.27 40.149973) (xy 213.27 39.75) (xy 212.353012 39.75) + (xy 212.385925 39.692993) (xy 212.42 39.565826) (xy 212.42 39.434174) (xy 212.385925 39.307007) + (xy 212.353012 39.25) (xy 213.269999 39.25) (xy 213.269999 38.850028) (xy 213.269998 38.850013) + (xy 213.259505 38.747302) (xy 213.204358 38.58088) (xy 213.204356 38.580875) (xy 213.112315 38.431654) + (xy 212.988345 38.307684) (xy 212.839124 38.215643) (xy 212.839119 38.215641) (xy 212.672697 38.160494) + (xy 212.67269 38.160493) (xy 212.569986 38.15) (xy 212.17 38.15) (xy 212.17 39.066988) (xy 212.112993 39.034075) + (xy 211.985826 39) (xy 211.854174 39) (xy 211.727007 39.034075) (xy 211.67 39.066988) (xy 211.67 38.15) + (xy 211.270028 38.15) (xy 211.270012 38.150001) (xy 211.167302 38.160494) (xy 211.00088 38.215641) (xy 211.000875 38.215643) (xy 210.851654 38.307684) (xy 210.727684 38.431654) (xy 210.635643 38.580875) (xy 210.635641 38.58088) (xy 210.580494 38.747302) (xy 210.580493 38.747309) (xy 210.57 38.850013) (xy 210.57 39.25) (xy 211.486988 39.25) (xy 211.454075 39.307007) (xy 211.42 39.434174) (xy 211.42 39.565826) @@ -4612,60 +4557,157 @@ (xy 210.851654 40.692315) (xy 211.000875 40.784356) (xy 211.000878 40.784357) (xy 211.011723 40.787951) (xy 211.069167 40.827724) (xy 211.09599 40.89224) (xy 211.083675 40.961016) (xy 211.045605 41.005974) (xy 211.040211 41.009892) (xy 210.88989 41.160213) (xy 210.764951 41.332179) (xy 210.668444 41.521585) - (xy 210.602753 41.72376) (xy 210.5695 41.933713) (xy 158.2005 41.933713) (xy 158.2005 33.431004) - (xy 158.173581 33.295677) (xy 158.17358 33.295676) (xy 158.17358 33.295672) (xy 158.126808 33.182753) + (xy 210.602753 41.72376) (xy 210.5695 41.933713) (xy 158.2005 41.933713) (xy 158.2005 34.391577) + (xy 239.743204 34.391577) (xy 239.743204 34.588422) (xy 239.773994 34.782826) (xy 239.834821 34.970029) + (xy 239.924181 35.145407) (xy 239.93205 35.156238) (xy 239.942215 35.172825) (xy 239.95495 35.197819) + (xy 240.07989 35.369786) (xy 240.079896 35.369792) (xy 240.230208 35.520104) (xy 240.395219 35.639991) + (xy 240.437884 35.695319) (xy 240.443863 35.764932) (xy 240.411258 35.826728) (xy 240.395218 35.840626) + (xy 240.348282 35.874726) (xy 240.348282 35.874728) (xy 240.980591 36.507037) (xy 240.917007 36.524075) + (xy 240.802993 36.589901) (xy 240.709901 36.682993) (xy 240.644075 36.797007) (xy 240.627037 36.860591) + (xy 239.994728 36.228282) (xy 239.994727 36.228282) (xy 239.95538 36.282439) (xy 239.858904 36.471782) + (xy 239.793242 36.673869) (xy 239.793242 36.673872) (xy 239.76 36.883753) (xy 239.76 37.096246) + (xy 239.793242 37.306127) (xy 239.793242 37.30613) (xy 239.858904 37.508217) (xy 239.955375 37.69755) + (xy 239.994728 37.751716) (xy 240.627037 37.119408) (xy 240.644075 37.182993) (xy 240.709901 37.297007) + (xy 240.802993 37.390099) (xy 240.917007 37.455925) (xy 240.98059 37.472962) (xy 240.348282 38.105269) + (xy 240.348282 38.10527) (xy 240.395219 38.139371) (xy 240.437885 38.194701) (xy 240.443864 38.264314) + (xy 240.411259 38.32611) (xy 240.395219 38.340008) (xy 240.230214 38.45989) (xy 240.230209 38.459894) + (xy 240.07989 38.610213) (xy 239.954951 38.782179) (xy 239.858444 38.971585) (xy 239.792753 39.17376) + (xy 239.7595 39.383713) (xy 239.7595 39.596286) (xy 239.789934 39.788443) (xy 239.792754 39.806243) + (xy 239.820484 39.891588) (xy 239.858444 40.008414) (xy 239.954951 40.19782) (xy 240.07989 40.369786) + (xy 240.230209 40.520105) (xy 240.230214 40.520109) (xy 240.394793 40.639682) (xy 240.437459 40.695011) + (xy 240.443438 40.764625) (xy 240.410833 40.82642) (xy 240.394793 40.840318) (xy 240.230214 40.95989) + (xy 240.230209 40.959894) (xy 240.07989 41.110213) (xy 239.954951 41.282179) (xy 239.858444 41.471585) + (xy 239.792753 41.67376) (xy 239.7595 41.883713) (xy 239.7595 42.096286) (xy 239.783448 42.247491) + (xy 239.792754 42.306243) (xy 239.833481 42.431588) (xy 239.858444 42.508414) (xy 239.954951 42.69782) + (xy 240.07989 42.869786) (xy 240.230209 43.020105) (xy 240.230214 43.020109) (xy 240.394793 43.139682) + (xy 240.437459 43.195011) (xy 240.443438 43.264625) (xy 240.410833 43.32642) (xy 240.394793 43.340318) + (xy 240.230214 43.45989) (xy 240.230209 43.459894) (xy 240.07989 43.610213) (xy 239.954951 43.782179) + (xy 239.858444 43.971585) (xy 239.792753 44.17376) (xy 239.767156 44.335373) (xy 239.7595 44.383713) + (xy 239.7595 44.596287) (xy 239.761689 44.610109) (xy 239.788983 44.782439) (xy 239.792754 44.806243) + (xy 239.84287 44.960484) (xy 239.858444 45.008414) (xy 239.954951 45.19782) (xy 240.07989 45.369786) + (xy 240.230209 45.520105) (xy 240.230214 45.520109) (xy 240.394793 45.639682) (xy 240.437459 45.695011) + (xy 240.443438 45.764625) (xy 240.410833 45.82642) (xy 240.394793 45.840318) (xy 240.230214 45.95989) + (xy 240.230209 45.959894) (xy 240.07989 46.110213) (xy 239.954951 46.282179) (xy 239.858444 46.471585) + (xy 239.792753 46.67376) (xy 239.769202 46.822455) (xy 239.7595 46.883713) (xy 239.7595 47.096287) + (xy 239.765175 47.132116) (xy 239.78852 47.279514) (xy 239.792754 47.306243) (xy 239.857318 47.504951) + (xy 239.858444 47.508414) (xy 239.954951 47.69782) (xy 240.07989 47.869786) (xy 240.218705 48.008601) + (xy 240.25219 48.069924) (xy 240.247206 48.139616) (xy 240.205334 48.195549) (xy 240.196121 48.201821) + (xy 240.041342 48.297289) (xy 239.917289 48.421342) (xy 239.825187 48.570663) (xy 239.825186 48.570666) + (xy 239.770001 48.737203) (xy 239.770001 48.737204) (xy 239.77 48.737204) (xy 239.7595 48.839983) + (xy 239.7595 50.140001) (xy 239.759501 50.140018) (xy 239.77 50.242796) (xy 239.770001 50.242799) + (xy 239.825185 50.409331) (xy 239.825186 50.409334) (xy 239.917288 50.558656) (xy 240.041344 50.682712) + (xy 240.190666 50.774814) (xy 240.357203 50.829999) (xy 240.459991 50.8405) (xy 241.760008 50.840499) + (xy 241.862797 50.829999) (xy 242.029334 50.774814) (xy 242.178656 50.682712) (xy 242.302712 50.558656) + (xy 242.394814 50.409334) (xy 242.449999 50.242797) (xy 242.4605 50.140009) (xy 242.460499 48.839992) + (xy 242.449999 48.737203) (xy 242.394814 48.570666) (xy 242.302712 48.421344) (xy 242.178656 48.297288) + (xy 242.029334 48.205186) (xy 242.029333 48.205185) (xy 242.023878 48.201821) (xy 241.977154 48.149873) + (xy 241.965931 48.08091) (xy 241.993775 48.016828) (xy 242.001272 48.008623) (xy 242.140104 47.869792) + (xy 242.149907 47.8563) (xy 242.265048 47.69782) (xy 242.265047 47.69782) (xy 242.265051 47.697816) + (xy 242.361557 47.508412) (xy 242.427246 47.306243) (xy 242.4605 47.096287) (xy 242.4605 46.883713) + (xy 242.427246 46.673757) (xy 242.361557 46.471588) (xy 242.265051 46.282184) (xy 242.265049 46.282181) + (xy 242.265048 46.282179) (xy 242.140109 46.110213) (xy 241.989792 45.959896) (xy 241.924573 45.912512) + (xy 241.825204 45.840316) (xy 241.78254 45.784989) (xy 241.776561 45.715376) (xy 241.809166 45.65358) + (xy 241.825199 45.639686) (xy 241.989792 45.520104) (xy 242.140104 45.369792) (xy 242.140106 45.369788) + (xy 242.140109 45.369786) (xy 242.265048 45.19782) (xy 242.265047 45.19782) (xy 242.265051 45.197816) + (xy 242.361557 45.008412) (xy 242.427246 44.806243) (xy 242.4605 44.596287) (xy 242.4605 44.383713) + (xy 242.427246 44.173757) (xy 242.361557 43.971588) (xy 242.265051 43.782184) (xy 242.265049 43.782181) + (xy 242.265048 43.782179) (xy 242.140109 43.610213) (xy 241.989792 43.459896) (xy 241.935548 43.420486) + (xy 241.825204 43.340316) (xy 241.78254 43.284989) (xy 241.776561 43.215376) (xy 241.809166 43.15358) + (xy 241.825199 43.139686) (xy 241.989792 43.020104) (xy 242.140104 42.869792) (xy 242.140106 42.869788) + (xy 242.140109 42.869786) (xy 242.265048 42.69782) (xy 242.265047 42.69782) (xy 242.265051 42.697816) + (xy 242.361557 42.508412) (xy 242.427246 42.306243) (xy 242.4605 42.096287) (xy 242.4605 41.883713) + (xy 242.427246 41.673757) (xy 242.361557 41.471588) (xy 242.265051 41.282184) (xy 242.265049 41.282181) + (xy 242.265048 41.282179) (xy 242.140109 41.110213) (xy 241.989792 40.959896) (xy 241.989784 40.95989) + (xy 241.825204 40.840316) (xy 241.78254 40.784989) (xy 241.776561 40.715376) (xy 241.809166 40.65358) + (xy 241.825199 40.639686) (xy 241.989792 40.520104) (xy 242.140104 40.369792) (xy 242.140106 40.369788) + (xy 242.140109 40.369786) (xy 242.265048 40.19782) (xy 242.265047 40.19782) (xy 242.265051 40.197816) + (xy 242.361557 40.008412) (xy 242.427246 39.806243) (xy 242.4605 39.596287) (xy 242.4605 39.383713) + (xy 242.427246 39.173757) (xy 242.361557 38.971588) (xy 242.265051 38.782184) (xy 242.265049 38.782181) + (xy 242.265048 38.782179) (xy 242.140109 38.610213) (xy 241.98979 38.459894) (xy 241.989785 38.45989) + (xy 241.824781 38.340008) (xy 241.782115 38.284678) (xy 241.776136 38.215065) (xy 241.808741 38.15327) + (xy 241.824781 38.139372) (xy 241.871716 38.105271) (xy 241.871717 38.10527) (xy 241.239408 37.472962) + (xy 241.302993 37.455925) (xy 241.417007 37.390099) (xy 241.510099 37.297007) (xy 241.575925 37.182993) + (xy 241.592962 37.119409) (xy 242.22527 37.751717) (xy 242.22527 37.751716) (xy 242.264622 37.697554) + (xy 242.361095 37.508217) (xy 242.426757 37.30613) (xy 242.426757 37.306127) (xy 242.46 37.096246) + (xy 242.46 36.883753) (xy 242.426757 36.673872) (xy 242.426757 36.673869) (xy 242.361095 36.471782) + (xy 242.264624 36.282449) (xy 242.22527 36.228282) (xy 242.225269 36.228282) (xy 241.592962 36.86059) + (xy 241.575925 36.797007) (xy 241.510099 36.682993) (xy 241.417007 36.589901) (xy 241.302993 36.524075) + (xy 241.239409 36.507037) (xy 241.871716 35.874728) (xy 241.82478 35.840628) (xy 241.782114 35.785298) + (xy 241.776135 35.715685) (xy 241.80874 35.653889) (xy 241.824776 35.639994) (xy 241.989792 35.520104) + (xy 242.140104 35.369792) (xy 242.140106 35.369788) (xy 242.140109 35.369786) (xy 242.265048 35.19782) + (xy 242.265049 35.197819) (xy 242.265051 35.197816) (xy 242.361557 35.008412) (xy 242.427246 34.806243) + (xy 242.4605 34.596287) (xy 242.4605 34.383713) (xy 242.427246 34.173757) (xy 242.361557 33.971588) + (xy 242.265051 33.782184) (xy 242.265049 33.782181) (xy 242.265048 33.782179) (xy 242.140109 33.610213) + (xy 241.989786 33.45989) (xy 241.81782 33.334951) (xy 241.628414 33.238444) (xy 241.628413 33.238443) + (xy 241.628412 33.238443) (xy 241.426243 33.172754) (xy 241.426241 33.172753) (xy 241.42624 33.172753) + (xy 241.264957 33.147208) (xy 241.216287 33.1395) (xy 241.003713 33.1395) (xy 240.955042 33.147208) + (xy 240.79376 33.172753) (xy 240.591585 33.238444) (xy 240.402179 33.334951) (xy 240.230213 33.45989) + (xy 240.07989 33.610213) (xy 239.95495 33.78218) (xy 239.942213 33.807177) (xy 239.932054 33.823756) + (xy 239.924182 33.834592) (xy 239.92418 33.834595) (xy 239.903316 33.875541) (xy 239.834821 34.00997) + (xy 239.773994 34.197173) (xy 239.743204 34.391577) (xy 158.2005 34.391577) (xy 158.2005 33.431004) + (xy 158.173581 33.295677) (xy 158.17358 33.295676) (xy 158.17358 33.295672) (xy 158.159905 33.262658) (xy 158.120778 33.168195) (xy 158.120771 33.168182) (xy 158.044114 33.053458) (xy 158.044111 33.053454) (xy 157.946545 32.955888) (xy 157.946541 32.955885) (xy 157.831817 32.879228) (xy 157.831804 32.879221) (xy 157.704332 32.826421) (xy 157.704322 32.826418) (xy 157.568995 32.7995) (xy 157.568993 32.7995) (xy 140.568994 32.7995) (xy 140.431006 32.7995) (xy 140.431004 32.7995) (xy 140.295677 32.826418) (xy 140.295667 32.826421) (xy 140.168192 32.879222) (xy 140.053454 32.955887) (xy 138.955887 34.053454) - (xy 138.879222 34.168192) (xy 138.826421 34.295667) (xy 138.826418 34.295679) (xy 138.805378 34.401457) - (xy 138.805378 34.401459) (xy 138.7995 34.431007) (xy 138.7995 36.871006) (xy 138.7995 37.008994) - (xy 138.7995 37.008996) (xy 138.799499 37.008996) (xy 138.826418 37.144322) (xy 138.826421 37.144332) - (xy 138.879222 37.271807) (xy 138.955887 37.386545) (xy 138.955888 37.386546) (xy 142.239492 40.670149) - (xy 142.272977 40.731472) (xy 142.274284 40.777227) (xy 142.2495 40.933712) (xy 142.2495 41.146286) - (xy 142.279442 41.335337) (xy 142.282754 41.356243) (xy 142.326248 41.490104) (xy 142.348444 41.558414) - (xy 142.444951 41.74782) (xy 142.56989 41.919786) (xy 142.720213 42.070109) (xy 142.892182 42.19505) - (xy 142.900946 42.199516) (xy 142.951742 42.247491) (xy 142.968536 42.315312) (xy 142.945998 42.381447) - (xy 142.900946 42.420484) (xy 142.892182 42.424949) (xy 142.720213 42.54989) (xy 142.56989 42.700213) - (xy 142.444951 42.872179) (xy 142.348444 43.061585) (xy 142.282753 43.26376) (xy 142.2495 43.473713) - (xy 142.2495 43.686286) (xy 142.278942 43.872179) (xy 142.282754 43.896243) (xy 142.326248 44.030104) - (xy 142.348444 44.098414) (xy 142.444951 44.28782) (xy 142.56989 44.459786) (xy 142.720213 44.610109) - (xy 142.892182 44.73505) (xy 142.900946 44.739516) (xy 142.951742 44.787491) (xy 142.968536 44.855312) - (xy 142.945998 44.921447) (xy 142.900946 44.960484) (xy 142.892182 44.964949) (xy 142.720213 45.08989) - (xy 142.56989 45.240213) (xy 142.444951 45.41218) (xy 142.356839 45.585108) (xy 142.308864 45.635904) - (xy 142.241043 45.652699) (xy 142.174908 45.630161) (xy 142.158673 45.616494) (xy 137.161819 40.61964) - (xy 137.128334 40.558317) (xy 137.1255 40.531959) (xy 137.1255 34.810452) (xy 137.145185 34.743413) - (xy 137.161819 34.722771) (xy 137.947772 33.936819) (xy 138.009095 33.903334) (xy 138.035453 33.9005) - (xy 138.088693 33.9005) (xy 138.088694 33.900499) (xy 138.146682 33.888964) (xy 138.262658 33.865896) - (xy 138.262661 33.865894) (xy 138.262666 33.865894) (xy 138.426547 33.798013) (xy 138.574035 33.699464) - (xy 138.699464 33.574035) (xy 138.798013 33.426547) (xy 138.865894 33.262666) (xy 138.868724 33.248443) - (xy 138.900499 33.088695) (xy 138.9005 33.088693) (xy 138.9005 32.911306) (xy 138.900499 32.911304) - (xy 138.865896 32.737341) (xy 138.865893 32.737332) (xy 138.798016 32.573459) (xy 138.798009 32.573446) - (xy 138.699464 32.425965) (xy 138.699461 32.425961) (xy 138.574038 32.300538) (xy 138.574034 32.300535) - (xy 138.426553 32.20199) (xy 138.42654 32.201983) (xy 138.262667 32.134106) (xy 138.262658 32.134103) - (xy 138.088694 32.0995) (xy 138.088691 32.0995) (xy 137.911309 32.0995) (xy 137.911306 32.0995) - (xy 137.737341 32.134103) (xy 137.737332 32.134106) (xy 137.573459 32.201983) (xy 137.573446 32.20199) - (xy 137.425965 32.300535) (xy 137.425961 32.300538) (xy 137.300538 32.425961) (xy 137.300535 32.425965) - (xy 137.20199 32.573446) (xy 137.201983 32.573459) (xy 137.134106 32.737332) (xy 137.134103 32.737341) - (xy 137.0995 32.911304) (xy 137.0995 32.964547) (xy 137.079815 33.031586) (xy 137.063181 33.052228) - (xy 136.014144 34.101264) (xy 136.014138 34.101272) (xy 135.945692 34.203705) (xy 135.945684 34.20372) - (xy 135.912346 34.284207) (xy 135.907599 34.295672) (xy 135.898537 34.317549) (xy 135.881848 34.401457) - (xy 135.875972 34.430998) (xy 135.87597 34.431006) (xy 135.874501 34.438388) (xy 135.8745 34.438399) - (xy 135.8745 40.904019) (xy 135.880445 40.933913) (xy 135.898535 41.024856) (xy 135.898537 41.024864) - (xy 135.912347 41.058204) (xy 135.912347 41.058205) (xy 135.945685 41.138692) (xy 135.94569 41.138701) - (xy 135.979914 41.189919) (xy 135.979915 41.189921) (xy 136.01414 41.241143) (xy 136.014141 41.241144) - (xy 136.014142 41.241145) (xy 136.101267 41.32827) (xy 136.101268 41.32827) (xy 136.108335 41.335337) - (xy 136.108334 41.335337) (xy 136.108338 41.33534) (xy 142.487985 47.714988) (xy 142.52147 47.776311) - (xy 142.516486 47.846003) (xy 142.500623 47.875553) (xy 142.444949 47.952183) (xy 142.444948 47.952185) - (xy 142.348444 48.141585) (xy 142.282753 48.34376) (xy 142.2495 48.553713) (xy 142.2495 48.766286) - (xy 142.278942 48.952179) (xy 142.282754 48.976243) (xy 142.346468 49.172335) (xy 142.348444 49.178414) + (xy 138.910906 34.120775) (xy 138.895065 34.144482) (xy 138.879225 34.168188) (xy 138.879221 34.168195) + (xy 138.826421 34.295667) (xy 138.826418 34.295677) (xy 138.7995 34.431004) (xy 138.7995 34.431007) + (xy 138.7995 36.871006) (xy 138.7995 37.008994) (xy 138.7995 37.008996) (xy 138.799499 37.008996) + (xy 138.826418 37.144322) (xy 138.826421 37.144332) (xy 138.879222 37.271807) (xy 138.955887 37.386545) + (xy 138.955888 37.386546) (xy 142.239492 40.670149) (xy 142.272977 40.731472) (xy 142.274284 40.777227) + (xy 142.2495 40.933712) (xy 142.2495 41.146286) (xy 142.278942 41.332179) (xy 142.282754 41.356243) + (xy 142.318899 41.467486) (xy 142.348444 41.558414) (xy 142.444951 41.74782) (xy 142.56989 41.919786) + (xy 142.720213 42.070109) (xy 142.892182 42.19505) (xy 142.900946 42.199516) (xy 142.951742 42.247491) + (xy 142.968536 42.315312) (xy 142.945998 42.381447) (xy 142.900946 42.420484) (xy 142.892182 42.424949) + (xy 142.720213 42.54989) (xy 142.56989 42.700213) (xy 142.444951 42.872179) (xy 142.348444 43.061585) + (xy 142.282753 43.26376) (xy 142.2495 43.473713) (xy 142.2495 43.686286) (xy 142.278942 43.872179) + (xy 142.282754 43.896243) (xy 142.310002 43.980104) (xy 142.348444 44.098414) (xy 142.444951 44.28782) + (xy 142.56989 44.459786) (xy 142.720213 44.610109) (xy 142.892182 44.73505) (xy 142.900946 44.739516) + (xy 142.951742 44.787491) (xy 142.968536 44.855312) (xy 142.945998 44.921447) (xy 142.900946 44.960484) + (xy 142.892182 44.964949) (xy 142.720213 45.08989) (xy 142.56989 45.240213) (xy 142.444951 45.412179) + (xy 142.348444 45.601585) (xy 142.282753 45.80376) (xy 142.257223 45.964951) (xy 142.2495 46.013713) + (xy 142.2495 46.226287) (xy 142.258353 46.282184) (xy 142.278942 46.412179) (xy 142.282754 46.436243) + (xy 142.294238 46.471588) (xy 142.349949 46.643046) (xy 142.348868 46.643397) (xy 142.35576 46.707521) + (xy 142.324483 46.769999) (xy 142.264392 46.805649) (xy 142.233731 46.8095) (xy 141.574247 46.8095) + (xy 141.507208 46.789815) (xy 141.486566 46.773181) (xy 135.661819 40.948434) (xy 135.628334 40.887111) + (xy 135.6255 40.860753) (xy 135.6255 34.310452) (xy 135.645185 34.243413) (xy 135.661819 34.222771) + (xy 136.222772 33.661819) (xy 136.284095 33.628334) (xy 136.310453 33.6255) (xy 136.800639 33.6255) + (xy 136.867678 33.645185) (xy 136.888321 33.66182) (xy 136.925961 33.699461) (xy 136.925965 33.699464) + (xy 137.073446 33.798009) (xy 137.073459 33.798016) (xy 137.196363 33.848923) (xy 137.237334 33.865894) + (xy 137.237336 33.865894) (xy 137.237341 33.865896) (xy 137.411304 33.900499) (xy 137.411307 33.9005) + (xy 137.411309 33.9005) (xy 137.588693 33.9005) (xy 137.588694 33.900499) (xy 137.646682 33.888964) + (xy 137.762658 33.865896) (xy 137.762661 33.865894) (xy 137.762666 33.865894) (xy 137.926547 33.798013) + (xy 138.074035 33.699464) (xy 138.199464 33.574035) (xy 138.298013 33.426547) (xy 138.365894 33.262666) + (xy 138.370713 33.238443) (xy 138.400499 33.088695) (xy 138.4005 33.088693) (xy 138.4005 32.911306) + (xy 138.400499 32.911304) (xy 138.365896 32.737341) (xy 138.365893 32.737332) (xy 138.298016 32.573459) + (xy 138.298009 32.573446) (xy 138.199464 32.425965) (xy 138.199461 32.425961) (xy 138.074038 32.300538) + (xy 138.074034 32.300535) (xy 137.926553 32.20199) (xy 137.92654 32.201983) (xy 137.762667 32.134106) + (xy 137.762658 32.134103) (xy 137.588694 32.0995) (xy 137.588691 32.0995) (xy 137.411309 32.0995) + (xy 137.411306 32.0995) (xy 137.237341 32.134103) (xy 137.237332 32.134106) (xy 137.073459 32.201983) + (xy 137.073446 32.20199) (xy 136.925965 32.300535) (xy 136.925961 32.300538) (xy 136.888321 32.33818) + (xy 136.826999 32.371666) (xy 136.800639 32.3745) (xy 136.067741 32.3745) (xy 136.067721 32.374499) + (xy 136.061607 32.374499) (xy 135.938394 32.374499) (xy 135.837597 32.394548) (xy 135.837592 32.394548) + (xy 135.817549 32.398536) (xy 135.817547 32.398536) (xy 135.770397 32.418067) (xy 135.703719 32.445685) + (xy 135.703717 32.445686) (xy 135.601266 32.514141) (xy 135.601263 32.514144) (xy 134.601269 33.51414) + (xy 134.514144 33.601264) (xy 134.514138 33.601272) (xy 134.445692 33.703705) (xy 134.445689 33.703711) + (xy 134.445688 33.703714) (xy 134.413185 33.782184) (xy 134.407325 33.796329) (xy 134.398537 33.817545) + (xy 134.398535 33.817553) (xy 134.3745 33.938389) (xy 134.3745 41.232817) (xy 134.398535 41.35365) + (xy 134.39854 41.353667) (xy 134.445685 41.467486) (xy 134.44569 41.467495) (xy 134.479914 41.518713) + (xy 134.479915 41.518715) (xy 134.51414 41.569937) (xy 134.514141 41.569938) (xy 134.514142 41.569939) + (xy 134.601267 41.657064) (xy 134.601268 41.657064) (xy 134.608335 41.664131) (xy 134.608334 41.664131) + (xy 134.608337 41.664133) (xy 140.777935 47.833732) (xy 140.777936 47.833733) (xy 140.865061 47.920858) + (xy 140.911745 47.952051) (xy 140.967508 47.989311) (xy 141.081342 48.036463) (xy 141.202182 48.060499) + (xy 141.202186 48.0605) (xy 141.202187 48.0605) (xy 141.202188 48.0605) (xy 142.204119 48.0605) + (xy 142.271158 48.080185) (xy 142.316913 48.132989) (xy 142.326857 48.202147) (xy 142.32205 48.222814) + (xy 142.290942 48.318556) (xy 142.282753 48.34376) (xy 142.2495 48.553713) (xy 142.2495 48.766286) + (xy 142.278942 48.952179) (xy 142.282754 48.976243) (xy 142.333713 49.133079) (xy 142.348444 49.178414) (xy 142.444951 49.36782) (xy 142.56989 49.539786) (xy 142.720213 49.690109) (xy 142.892182 49.81505) (xy 142.900946 49.819516) (xy 142.951742 49.867491) (xy 142.968536 49.935312) (xy 142.945998 50.001447) (xy 142.900946 50.040484) (xy 142.892182 50.044949) (xy 142.720213 50.16989) (xy 142.56989 50.320213) (xy 142.444951 50.492179) (xy 142.348444 50.681585) (xy 142.282753 50.88376) (xy 142.261904 51.015398) (xy 142.231975 51.078533) (xy 142.172663 51.115464) (xy 142.139431 51.12) (xy 129.820569 51.12) - (xy 129.75353 51.100315) (xy 129.707775 51.047511) (xy 129.698096 51.015398) (xy 129.694471 50.992512) + (xy 129.75353 51.100315) (xy 129.707775 51.047511) (xy 129.698096 51.015398) (xy 129.687491 50.948443) (xy 129.677246 50.883757) (xy 129.611557 50.681588) (xy 129.515051 50.492184) (xy 129.515049 50.492181) (xy 129.515048 50.492179) (xy 129.390109 50.320213) (xy 129.239786 50.16989) (xy 129.06782 50.044951) (xy 129.067115 50.044591) (xy 129.059054 50.040485) (xy 129.008259 49.992512) (xy 128.991463 49.924692) @@ -4704,9 +4746,9 @@ (xy 129.515051 39.207816) (xy 129.611557 39.018412) (xy 129.677246 38.816243) (xy 129.7105 38.606287) (xy 129.7105 38.393713) (xy 129.677246 38.183757) (xy 129.611557 37.981588) (xy 129.515051 37.792184) (xy 129.515049 37.792181) (xy 129.515048 37.792179) (xy 129.390109 37.620213) (xy 129.239786 37.46989) - (xy 129.06782 37.344951) (xy 129.067115 37.344591) (xy 129.059054 37.340485) (xy 129.008259 37.292512) + (xy 129.06782 37.344951) (xy 129.065078 37.343554) (xy 129.059054 37.340485) (xy 129.008259 37.292512) (xy 128.991463 37.224692) (xy 129.013999 37.158556) (xy 129.059054 37.119515) (xy 129.067816 37.115051) - (xy 129.135569 37.065826) (xy 129.239786 36.990109) (xy 129.239788 36.990106) (xy 129.239792 36.990104) + (xy 129.149333 37.055826) (xy 129.239786 36.990109) (xy 129.239788 36.990106) (xy 129.239792 36.990104) (xy 129.390104 36.839792) (xy 129.390106 36.839788) (xy 129.390109 36.839786) (xy 129.515048 36.66782) (xy 129.515047 36.66782) (xy 129.515051 36.667816) (xy 129.611557 36.478412) (xy 129.677246 36.276243) (xy 129.7105 36.066287) (xy 129.7105 35.853713) (xy 129.677246 35.643757) (xy 129.611557 35.441588) @@ -4723,7 +4765,7 @@ (xy 124.511771 30.873017) (xy 124.525128 30.861443) (xy 124.682214 30.74385) (xy 124.697083 30.734294) (xy 124.86931 30.640251) (xy 124.885382 30.632911) (xy 125.069242 30.564335) (xy 125.0862 30.559356) (xy 125.277938 30.517646) (xy 125.295436 30.51513) (xy 125.495582 30.500816) (xy 125.504428 30.5005) - (xy 125.565892 30.5005) (xy 250.434108 30.5005) (xy 250.495572 30.5005) + (xy 125.565892 30.5005) (xy 244.294108 30.5005) (xy 244.355572 30.5005) ) ) ) diff --git a/hardware/boards/main-control-board/main-control-board.kicad_pro b/hardware/boards/main-control-board/main-control-board.kicad_pro index e14c929..227570e 100644 --- a/hardware/boards/main-control-board/main-control-board.kicad_pro +++ b/hardware/boards/main-control-board/main-control-board.kicad_pro @@ -156,7 +156,7 @@ "min_track_width": 0.2, "min_via_annular_width": 0.1, "min_via_diameter": 0.5, - "solder_mask_to_copper_clearance": 0.0, + "solder_mask_to_copper_clearance": 0.005, "use_height_for_length_calcs": true }, "teardrop_options": [