(kicad_sch (version 20230121) (generator eeschema)

  (uuid c840fc1c-c356-4436-adce-9c4979594610)

  (paper "A4")

  (title_block
    (title "Kudzu")
    (date "2023-09-26")
    (rev "1")
    (company "Copyright 2023 The Pigweed Authors")
  )

  (lib_symbols
    (symbol "Connector:TestPoint" (pin_numbers hide) (pin_names (offset 0.762) hide) (in_bom yes) (on_board yes)
      (property "Reference" "TP" (at 0 6.858 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "TestPoint" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 5.08 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 5.08 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "test point tp" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "test point" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Pin* Test*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "TestPoint_0_1"
        (circle (center 0 3.302) (radius 0.762)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "TestPoint_1_1"
        (pin passive line (at 0 0 90) (length 2.54)
          (name "1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector_Generic:Conn_01x02" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x02" (at 0 -5.08 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connector, single row, 01x02, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_01x02_1_1"
        (rectangle (start -1.27 -2.413) (end 0 -2.667)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 0.127) (end 0 -0.127)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 1.27) (end 1.27 -3.81)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin passive line (at -5.08 0 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 -2.54 0) (length 3.81)
          (name "Pin_2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Connector_Generic_MountingPin:Conn_01x40_MountingPin" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 50.8 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "Conn_01x40_MountingPin" (at 1.27 -53.34 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "connector" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Generic connectable mounting pin connector, single row, 01x40, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "Connector*:*_1x??-1MP*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "Conn_01x40_MountingPin_1_1"
        (rectangle (start -1.27 -50.673) (end 0 -50.927)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -48.133) (end 0 -48.387)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -45.593) (end 0 -45.847)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -43.053) (end 0 -43.307)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -40.513) (end 0 -40.767)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -37.973) (end 0 -38.227)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -35.433) (end 0 -35.687)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -32.893) (end 0 -33.147)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -30.353) (end 0 -30.607)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -27.813) (end 0 -28.067)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -25.273) (end 0 -25.527)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -22.733) (end 0 -22.987)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -20.193) (end 0 -20.447)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -17.653) (end 0 -17.907)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -15.113) (end 0 -15.367)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -12.573) (end 0 -12.827)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -10.033) (end 0 -10.287)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -7.493) (end 0 -7.747)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -4.953) (end 0 -5.207)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 -2.413) (end 0 -2.667)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 0.127) (end 0 -0.127)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 2.667) (end 0 2.413)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 5.207) (end 0 4.953)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 7.747) (end 0 7.493)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 10.287) (end 0 10.033)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 12.827) (end 0 12.573)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 15.367) (end 0 15.113)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 17.907) (end 0 17.653)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 20.447) (end 0 20.193)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 22.987) (end 0 22.733)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 25.527) (end 0 25.273)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 28.067) (end 0 27.813)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 30.607) (end 0 30.353)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 33.147) (end 0 32.893)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 35.687) (end 0 35.433)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 38.227) (end 0 37.973)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 40.767) (end 0 40.513)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 43.307) (end 0 43.053)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 45.847) (end 0 45.593)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 48.387) (end 0 48.133)
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (rectangle (start -1.27 49.53) (end 1.27 -52.07)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (polyline
          (pts
            (xy -1.016 -52.832)
            (xy 1.016 -52.832)
          )
          (stroke (width 0.1524) (type default))
          (fill (type none))
        )
        (text "Mounting" (at 0 -52.451 0)
          (effects (font (size 0.381 0.381)))
        )
        (pin passive line (at -5.08 48.26 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 25.4 0) (length 3.81)
          (name "Pin_10" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 22.86 0) (length 3.81)
          (name "Pin_11" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 20.32 0) (length 3.81)
          (name "Pin_12" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 17.78 0) (length 3.81)
          (name "Pin_13" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 15.24 0) (length 3.81)
          (name "Pin_14" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 12.7 0) (length 3.81)
          (name "Pin_15" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 10.16 0) (length 3.81)
          (name "Pin_16" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 7.62 0) (length 3.81)
          (name "Pin_17" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 5.08 0) (length 3.81)
          (name "Pin_18" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 2.54 0) (length 3.81)
          (name "Pin_19" (effects (font (size 1.27 1.27))))
          (number "19" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 45.72 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 0 0) (length 3.81)
          (name "Pin_20" (effects (font (size 1.27 1.27))))
          (number "20" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -2.54 0) (length 3.81)
          (name "Pin_21" (effects (font (size 1.27 1.27))))
          (number "21" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -5.08 0) (length 3.81)
          (name "Pin_22" (effects (font (size 1.27 1.27))))
          (number "22" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -7.62 0) (length 3.81)
          (name "Pin_23" (effects (font (size 1.27 1.27))))
          (number "23" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -10.16 0) (length 3.81)
          (name "Pin_24" (effects (font (size 1.27 1.27))))
          (number "24" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -12.7 0) (length 3.81)
          (name "Pin_25" (effects (font (size 1.27 1.27))))
          (number "25" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -15.24 0) (length 3.81)
          (name "Pin_26" (effects (font (size 1.27 1.27))))
          (number "26" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -17.78 0) (length 3.81)
          (name "Pin_27" (effects (font (size 1.27 1.27))))
          (number "27" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -20.32 0) (length 3.81)
          (name "Pin_28" (effects (font (size 1.27 1.27))))
          (number "28" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -22.86 0) (length 3.81)
          (name "Pin_29" (effects (font (size 1.27 1.27))))
          (number "29" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 43.18 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 -25.4 0) (length 3.81)
          (name "Pin_30" (effects (font (size 1.27 1.27))))
          (number "30" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -27.94 0) (length 3.81)
          (name "Pin_31" (effects (font (size 1.27 1.27))))
          (number "31" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -30.48 0) (length 3.81)
          (name "Pin_32" (effects (font (size 1.27 1.27))))
          (number "32" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -33.02 0) (length 3.81)
          (name "Pin_33" (effects (font (size 1.27 1.27))))
          (number "33" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -35.56 0) (length 3.81)
          (name "Pin_34" (effects (font (size 1.27 1.27))))
          (number "34" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -38.1 0) (length 3.81)
          (name "Pin_35" (effects (font (size 1.27 1.27))))
          (number "35" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -40.64 0) (length 3.81)
          (name "Pin_36" (effects (font (size 1.27 1.27))))
          (number "36" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -43.18 0) (length 3.81)
          (name "Pin_37" (effects (font (size 1.27 1.27))))
          (number "37" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -45.72 0) (length 3.81)
          (name "Pin_38" (effects (font (size 1.27 1.27))))
          (number "38" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -48.26 0) (length 3.81)
          (name "Pin_39" (effects (font (size 1.27 1.27))))
          (number "39" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 40.64 0) (length 3.81)
          (name "Pin_4" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -50.8 0) (length 3.81)
          (name "Pin_40" (effects (font (size 1.27 1.27))))
          (number "40" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 38.1 0) (length 3.81)
          (name "Pin_5" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 35.56 0) (length 3.81)
          (name "Pin_6" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 33.02 0) (length 3.81)
          (name "Pin_7" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 30.48 0) (length 3.81)
          (name "Pin_8" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 27.94 0) (length 3.81)
          (name "Pin_9" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -55.88 90) (length 3.048)
          (name "MountPin" (effects (font (size 1.27 1.27))))
          (number "MP" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:C_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "C" (at 0.254 1.778 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "C_Small" (at 0.254 -2.032 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "capacitor cap" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Unpolarized capacitor, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "C_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "C_Small_0_1"
        (polyline
          (pts
            (xy -1.524 -0.508)
            (xy 1.524 -0.508)
          )
          (stroke (width 0.3302) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.524 0.508)
            (xy 1.524 0.508)
          )
          (stroke (width 0.3048) (type default))
          (fill (type none))
        )
      )
      (symbol "C_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 2.032)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "LED" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "LED diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Light emitting diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "LED_0_1"
        (polyline
          (pts
            (xy -1.27 -1.27)
            (xy -1.27 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 0)
            (xy 1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -1.27)
            (xy 1.27 1.27)
            (xy -1.27 0)
            (xy 1.27 -1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -3.048 -0.762)
            (xy -4.572 -2.286)
            (xy -3.81 -2.286)
            (xy -4.572 -2.286)
            (xy -4.572 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.778 -0.762)
            (xy -3.302 -2.286)
            (xy -2.54 -2.286)
            (xy -3.302 -2.286)
            (xy -3.302 -1.524)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "LED_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "K" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:LED_RABG" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "D" (at 0 9.398 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "LED_RABG" (at 0 -8.89 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 -1.27 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 -1.27 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "LED RGB diode" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "RGB LED, red/anode/blue/green" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "LED_RABG_0_0"
        (text "B" (at -1.905 -6.35 0)
          (effects (font (size 1.27 1.27)))
        )
        (text "G" (at -1.905 -1.27 0)
          (effects (font (size 1.27 1.27)))
        )
        (text "R" (at -1.905 3.81 0)
          (effects (font (size 1.27 1.27)))
        )
      )
      (symbol "LED_RABG_0_1"
        (polyline
          (pts
            (xy -1.27 -5.08)
            (xy -2.54 -5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 -5.08)
            (xy 1.27 -5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 -3.81)
            (xy -1.27 -6.35)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 0)
            (xy -2.54 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 1.27)
            (xy -1.27 -1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 5.08)
            (xy -2.54 5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 5.08)
            (xy 1.27 5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 6.35)
            (xy -1.27 3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 0)
            (xy -1.27 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 0)
            (xy 2.54 0)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 1.27)
            (xy -1.27 -1.27)
            (xy -1.27 -1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.27 6.35)
            (xy -1.27 3.81)
            (xy -1.27 3.81)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -5.08)
            (xy 2.032 -5.08)
            (xy 2.032 5.08)
            (xy 1.27 5.08)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 -3.81)
            (xy 1.27 -6.35)
            (xy -1.27 -5.08)
            (xy 1.27 -3.81)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 1.27)
            (xy 1.27 -1.27)
            (xy -1.27 0)
            (xy 1.27 1.27)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 1.27 6.35)
            (xy 1.27 3.81)
            (xy -1.27 5.08)
            (xy 1.27 6.35)
          )
          (stroke (width 0.254) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.016 -3.81)
            (xy 0.508 -2.286)
            (xy -0.254 -2.286)
            (xy 0.508 -2.286)
            (xy 0.508 -3.048)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.016 1.27)
            (xy 0.508 2.794)
            (xy -0.254 2.794)
            (xy 0.508 2.794)
            (xy 0.508 2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy -1.016 6.35)
            (xy 0.508 7.874)
            (xy -0.254 7.874)
            (xy 0.508 7.874)
            (xy 0.508 7.112)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 -3.81)
            (xy 1.524 -2.286)
            (xy 0.762 -2.286)
            (xy 1.524 -2.286)
            (xy 1.524 -3.048)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.27)
            (xy 1.524 2.794)
            (xy 0.762 2.794)
            (xy 1.524 2.794)
            (xy 1.524 2.032)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 6.35)
            (xy 1.524 7.874)
            (xy 0.762 7.874)
            (xy 1.524 7.874)
            (xy 1.524 7.112)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 1.27 -1.27) (end 1.27 1.27)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 1.27 1.27) (end 1.27 1.27)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 1.27 3.81) (end 1.27 6.35)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (rectangle (start 1.27 6.35) (end 1.27 6.35)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.032 0) (radius 0.254)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (rectangle (start 2.794 8.382) (end -2.794 -7.62)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "LED_RABG_1_1"
        (pin passive line (at -5.08 5.08 0) (length 2.54)
          (name "RK" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 0 180) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -5.08 0) (length 2.54)
          (name "BK" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 0 0) (length 2.54)
          (name "GK" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Device:R_Small" (pin_numbers hide) (pin_names (offset 0.254) hide) (in_bom yes) (on_board yes)
      (property "Reference" "R" (at 0.762 0.508 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "R_Small" (at 0.762 -1.016 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "R resistor" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Resistor, small symbol" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "R_*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "R_Small_0_1"
        (rectangle (start -0.762 1.778) (end 0.762 -1.778)
          (stroke (width 0.2032) (type default))
          (fill (type none))
        )
      )
      (symbol "R_Small_1_1"
        (pin passive line (at 0 2.54 270) (length 0.762)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -2.54 90) (length 0.762)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Gekkio_Connector_Specialized:GameBoy_LinkPort" (in_bom yes) (on_board yes)
      (property "Reference" "J" (at 0 13.97 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "GameBoy_LinkPort" (at 0 11.43 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at -2.54 -7.62 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at -2.54 -7.62 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "gameboy link port" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Game Boy link port" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "GameBoy?LinkPort*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "GameBoy_LinkPort_0_1"
        (rectangle (start -2.54 10.16) (end 2.54 -10.16)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
      )
      (symbol "GameBoy_LinkPort_1_1"
        (pin passive line (at -5.08 7.62 0) (length 2.54)
          (name "VDD" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 5.08 0) (length 2.54)
          (name "SO" (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 2.54)
          (name "SI" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 0 0) (length 2.54)
          (name "SD" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -2.54 0) (length 2.54)
          (name "SC" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at -5.08 -5.08 0) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -12.7 90) (length 2.54)
          (name "~" (effects (font (size 1.27 1.27))))
          (number "SH" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Jumper:SolderJumper_2_Bridged" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "JP" (at 0 2.032 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "SolderJumper_2_Bridged" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "solder jumper SPST" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Solder Jumper, 2-pole, closed/bridged" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SolderJumper*Bridged*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SolderJumper_2_Bridged_0_1"
        (rectangle (start -0.508 0.508) (end 0.508 -0.508)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (arc (start -0.254 1.016) (mid -1.2656 0) (end -0.254 -1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start -0.254 1.016) (mid -1.2656 0) (end -0.254 -1.016)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -0.254 1.016)
            (xy -0.254 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 1.016)
            (xy 0.254 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0.254 -1.016) (mid 1.2656 0) (end 0.254 1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0.254 -1.016) (mid 1.2656 0) (end 0.254 1.016)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "SolderJumper_2_Bridged_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "B" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Jumper:SolderJumper_2_Open" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
      (property "Reference" "JP" (at 0 2.032 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "SolderJumper_2_Open" (at 0 -2.54 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "solder jumper SPST" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Solder Jumper, 2-pole, open" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "SolderJumper*Open*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SolderJumper_2_Open_0_1"
        (arc (start -0.254 1.016) (mid -1.2656 0) (end -0.254 -1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start -0.254 1.016) (mid -1.2656 0) (end -0.254 -1.016)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
        (polyline
          (pts
            (xy -0.254 1.016)
            (xy -0.254 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0.254 1.016)
            (xy 0.254 -1.016)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0.254 -1.016) (mid 1.2656 0) (end 0.254 1.016)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (arc (start 0.254 -1.016) (mid 1.2656 0) (end 0.254 1.016)
          (stroke (width 0) (type default))
          (fill (type outline))
        )
      )
      (symbol "SolderJumper_2_Open_1_1"
        (pin passive line (at -3.81 0 0) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 3.81 0 180) (length 2.54)
          (name "B" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "Rust_Board:ICM-42670-P" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 13.97 16.51 0)
        (effects (font (size 1.27 1.27)) (justify left bottom))
      )
      (property "Value" "ICM-42670-P" (at 2.54 -17.78 0)
        (effects (font (size 1.27 1.27)) (justify left bottom))
      )
      (property "Footprint" "IC_ICM-42670-P" (at 2.54 -25.4 0)
        (effects (font (size 1.27 1.27)) (justify left bottom) hide)
      )
      (property "Datasheet" "" (at 3.81 15.24 0)
        (effects (font (size 1.27 1.27)) (justify left bottom) hide)
      )
      (property "MAXIMUM_PACKAGE_HEIGHT" "0.81mm" (at 2.54 -27.94 0)
        (effects (font (size 1.27 1.27)) (justify left bottom) hide)
      )
      (property "MANUFACTURER" "TDK InvenSense" (at 2.54 -22.86 0)
        (effects (font (size 1.27 1.27)) (justify left bottom) hide)
      )
      (property "PARTREV" "1.0" (at 2.54 -30.48 0)
        (effects (font (size 1.27 1.27)) (justify left bottom) hide)
      )
      (property "STANDARD" "Manufacturer Recommendations" (at 2.54 -20.32 0)
        (effects (font (size 1.27 1.27)) (justify left bottom) hide)
      )
      (property "ki_locked" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (symbol "ICM-42670-P_0_0"
        (pin bidirectional line (at -22.86 5.08 0) (length 5.08)
          (name "AP_SDO/AP_AD0" (effects (font (size 1.016 1.016))))
          (number "1" (effects (font (size 1.016 1.016))))
        )
        (pin no_connect line (at 21.59 -5.08 180) (length 5.08)
          (name "RESV_3" (effects (font (size 1.016 1.016))))
          (number "10" (effects (font (size 1.016 1.016))))
        )
        (pin no_connect line (at 21.59 -7.62 180) (length 5.08)
          (name "RESV_4" (effects (font (size 1.016 1.016))))
          (number "11" (effects (font (size 1.016 1.016))))
        )
        (pin input line (at -22.86 -2.54 0) (length 5.08)
          (name "AP_CS" (effects (font (size 1.016 1.016))))
          (number "12" (effects (font (size 1.016 1.016))))
        )
        (pin input clock (at -22.86 2.54 0) (length 5.08)
          (name "AP_SCL/AP_SCLK" (effects (font (size 1.016 1.016))))
          (number "13" (effects (font (size 1.016 1.016))))
        )
        (pin bidirectional line (at -22.86 0 0) (length 5.08)
          (name "AP_SDA/AP_SDIO/AP_SDI" (effects (font (size 1.016 1.016))))
          (number "14" (effects (font (size 1.016 1.016))))
        )
        (pin no_connect line (at 21.59 0 180) (length 5.08)
          (name "RESV_1" (effects (font (size 1.016 1.016))))
          (number "2" (effects (font (size 1.016 1.016))))
        )
        (pin no_connect line (at 21.59 -2.54 180) (length 5.08)
          (name "RESV_2" (effects (font (size 1.016 1.016))))
          (number "3" (effects (font (size 1.016 1.016))))
        )
        (pin output line (at 21.59 5.08 180) (length 5.08)
          (name "INT1/INT" (effects (font (size 1.016 1.016))))
          (number "4" (effects (font (size 1.016 1.016))))
        )
        (pin power_in line (at 21.59 10.16 180) (length 5.08)
          (name "VDDIO" (effects (font (size 1.016 1.016))))
          (number "5" (effects (font (size 1.016 1.016))))
        )
        (pin power_in line (at 0 -20.32 90) (length 5.08)
          (name "GND" (effects (font (size 1.016 1.016))))
          (number "6" (effects (font (size 1.016 1.016))))
        )
        (pin input line (at -22.86 -7.62 0) (length 5.08)
          (name "FSYNC" (effects (font (size 1.016 1.016))))
          (number "7" (effects (font (size 1.016 1.016))))
        )
        (pin power_in line (at 21.59 12.7 180) (length 5.08)
          (name "VDD" (effects (font (size 1.016 1.016))))
          (number "8" (effects (font (size 1.016 1.016))))
        )
        (pin output line (at 21.59 2.54 180) (length 5.08)
          (name "INT2" (effects (font (size 1.016 1.016))))
          (number "9" (effects (font (size 1.016 1.016))))
        )
      )
      (symbol "ICM-42670-P_1_1"
        (rectangle (start -17.78 15.24) (end 16.51 -15.24)
          (stroke (width 0) (type default))
          (fill (type background))
        )
      )
    )
    (symbol "Switch:SW_Push" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
      (property "Reference" "SW" (at 1.27 2.54 0)
        (effects (font (size 1.27 1.27)) (justify left))
      )
      (property "Value" "SW_Push" (at 0 -1.524 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 5.08 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "switch normally-open pushbutton push-button" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Push button switch, generic, two pins" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "SW_Push_0_1"
        (circle (center -2.032 0) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 0 1.27)
            (xy 0 3.048)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (polyline
          (pts
            (xy 2.54 1.27)
            (xy -2.54 1.27)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.032 0) (radius 0.508)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (pin passive line (at -5.08 0 0) (length 2.54)
          (name "1" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 5.08 0 180) (length 2.54)
          (name "2" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:AGB_AB" (in_bom yes) (on_board yes)
      (property "Reference" "SW" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "AGB_AB" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "KudzuLibrary:GBA_AB" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "agb gameboy" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Game Boy Advance A & B Buttons" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "GBA*AB*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "AGB_AB_0_1"
        (circle (center -5.08 -1.27) (radius 2.8398)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 5.08 1.27) (radius 2.8398)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "AGB_AB_1_1"
        (rectangle (start -10.16 7.62) (end 10.16 -7.62)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (text "A" (at 5.08 1.27 0)
          (effects (font (size 1.27 1.27) bold))
        )
        (text "B" (at -5.08 -1.27 0)
          (effects (font (size 1.27 1.27) bold))
        )
        (pin bidirectional line (at -12.7 2.54 0) (length 2.54)
          (name "B" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -12.7 5.08 0) (length 2.54)
          (name "A" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -5.08 180) (length 2.54)
          (name "COM" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:AGB_DPAD" (in_bom yes) (on_board yes)
      (property "Reference" "SW" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "AGB_DPAD" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "KudzuLibrary:GBA_DPad" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "dpad gameboy agb" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Game Boy Advance DPAD" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "GBA*DPad*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "AGB_DPAD_0_1"
        (polyline
          (pts
            (xy -1.27 3.81)
            (xy 1.27 3.81)
            (xy 1.27 1.27)
            (xy 3.81 1.27)
            (xy 3.81 -1.27)
            (xy 1.27 -1.27)
            (xy 1.27 -3.81)
            (xy -1.27 -3.81)
            (xy -1.27 -1.27)
            (xy -3.81 -1.27)
            (xy -3.81 1.27)
            (xy -1.27 1.27)
            (xy -1.27 3.81)
          )
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "AGB_DPAD_1_1"
        (rectangle (start -7.62 7.62) (end 7.62 -7.62)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin bidirectional line (at -10.16 5.08 0) (length 2.54)
          (name "UP" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 2.54 0) (length 2.54)
          (name "DOWN" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -2.54 0) (length 2.54)
          (name "LEFT" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -10.16 -5.08 0) (length 2.54)
          (name "RIGHT" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 -5.08 180) (length 2.54)
          (name "COM" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:AGB_SELECT_START" (in_bom yes) (on_board yes)
      (property "Reference" "SW" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "AGB_SELECT_START" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "KudzuLibrary:GBA_StartSelect" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "~" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "agb gameboy" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Game Boy Advance Select & Start buttons." (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "GBA*StartSelect*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "AGB_SELECT_START_0_1"
        (circle (center -2.54 0) (radius 1.27)
          (stroke (width 0) (type default))
          (fill (type none))
        )
        (circle (center 2.54 0) (radius 1.27)
          (stroke (width 0) (type default))
          (fill (type none))
        )
      )
      (symbol "AGB_SELECT_START_1_1"
        (rectangle (start -10.16 5.08) (end 10.16 -5.08)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin bidirectional line (at -12.7 2.54 0) (length 2.54)
          (name "SELECT" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -12.7 0 0) (length 2.54)
          (name "START" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -2.54 180) (length 2.54)
          (name "COM" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:AP2502" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "AP2502" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at -1.27 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.diodes.com/assets/Datasheets/AP2502.pdf" (at -1.27 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "led" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "4-CH Linear Constant Current Sink With Matching" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "*SOT?23*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "AP2502_1_1"
        (rectangle (start -7.62 7.62) (end 7.62 -7.62)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at -10.16 5.08 0) (length 2.54)
          (name "EN" (effects (font (size 1.27 1.27))))
          (number "1" (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 "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 5.08 180) (length 2.54)
          (name "LED4" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 2.54 180) (length 2.54)
          (name "LED3" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 0 180) (length 2.54)
          (name "LED2" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 10.16 -2.54 180) (length 2.54)
          (name "LED1" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:MAX98357" (in_bom yes) (on_board yes)
      (property "Reference" "U9" (at 6.35 16.51 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "MAX98357" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:TQFN-16-1EP_3x3mm_P0.5mm_EP1.23x1.23mm_ThermalVias" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.analog.com/media/en/technical-documentation/data-sheets/max98357a-max98357b.pdf" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Price @ 10" "2.59600" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "DigiKey PN" "MAX98357AETE+TTR-ND" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Price @ 25" "2.45440" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "i2s audio amplifier" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Tiny, Low-Cost, PCM Class D Amplifier with Class AB Performance" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TQFN*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "MAX98357_1_1"
        (rectangle (start -10.16 15.24) (end 10.16 -15.24)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin input line (at -12.7 -2.54 0) (length 2.54)
          (name "DIN" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 12.7 -5.08 180) (length 2.54)
          (name "OUTN" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -17.78 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 12.7 -10.16 180) (length 2.54) hide
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 12.7 -12.7 180) (length 2.54) hide
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -12.7 -7.62 0) (length 2.54)
          (name "LRCLK" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -17.78 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -12.7 -5.08 0) (length 2.54)
          (name "BCLK" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -17.78 90) (length 2.54) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -12.7 7.62 0) (length 2.54)
          (name "GAIN_SLOT" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -17.78 90) (length 2.54)
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -12.7 5.08 0) (length 2.54)
          (name "SD_MODE" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 12.7 12.7 180) (length 2.54) hide
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin no_connect line (at 12.7 10.16 180) (length 2.54) hide
          (name "NC" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 17.78 270) (length 2.54)
          (name "VDD" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 17.78 270) (length 2.54) hide
          (name "VDD" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin output line (at 12.7 5.08 180) (length 2.54)
          (name "OUTP" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "kudzu-parts:PI4IOE5V6416" (in_bom yes) (on_board yes)
      (property "Reference" "U" (at 2.54 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Value" "PI4IOE5V6416" (at 0 0 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "Package_DFN_QFN:TQFN-24-1EP_4x4mm_P0.5mm_EP2.1x2.1mm_ThermalVias" (at 19.05 6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "https://www.diodes.com/assets/Datasheets/PI4IOE5V6416.pdf" (at 19.05 6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "i2c expander" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Low-Voltage Translating 16-bit I2C-bus I/O Expande" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_fp_filters" "TQFN*" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "PI4IOE5V6416_1_1"
        (rectangle (start -10.16 25.4) (end 10.16 -25.4)
          (stroke (width 0.254) (type default))
          (fill (type background))
        )
        (pin bidirectional line (at 12.7 20.32 180) (length 2.54)
          (name "P0_0" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -2.54 180) (length 2.54)
          (name "P1_0" (effects (font (size 1.27 1.27))))
          (number "10" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -5.08 180) (length 2.54)
          (name "P1_1" (effects (font (size 1.27 1.27))))
          (number "11" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -7.62 180) (length 2.54)
          (name "P1_2" (effects (font (size 1.27 1.27))))
          (number "12" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -10.16 180) (length 2.54)
          (name "P1_3" (effects (font (size 1.27 1.27))))
          (number "13" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -12.7 180) (length 2.54)
          (name "P1_4" (effects (font (size 1.27 1.27))))
          (number "14" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -15.24 180) (length 2.54)
          (name "P1_5" (effects (font (size 1.27 1.27))))
          (number "15" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -17.78 180) (length 2.54)
          (name "P1_6" (effects (font (size 1.27 1.27))))
          (number "16" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 -20.32 180) (length 2.54)
          (name "P1_7" (effects (font (size 1.27 1.27))))
          (number "17" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -12.7 -17.78 0) (length 2.54)
          (name "ADDR" (effects (font (size 1.27 1.27))))
          (number "18" (effects (font (size 1.27 1.27))))
        )
        (pin input line (at -12.7 7.62 0) (length 2.54)
          (name "SCL" (effects (font (size 1.27 1.27))))
          (number "19" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 17.78 180) (length 2.54)
          (name "P0_1" (effects (font (size 1.27 1.27))))
          (number "2" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at -12.7 5.08 0) (length 2.54)
          (name "SDA" (effects (font (size 1.27 1.27))))
          (number "20" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 2.54 27.94 270) (length 2.54)
          (name "VDD_P" (effects (font (size 1.27 1.27))))
          (number "21" (effects (font (size 1.27 1.27))))
        )
        (pin output inverted (at -12.7 15.24 0) (length 2.54)
          (name "INT" (effects (font (size 1.27 1.27))))
          (number "22" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at -2.54 27.94 270) (length 2.54)
          (name "VDD_I2C" (effects (font (size 1.27 1.27))))
          (number "23" (effects (font (size 1.27 1.27))))
        )
        (pin input inverted (at -12.7 12.7 0) (length 2.54)
          (name "RESET" (effects (font (size 1.27 1.27))))
          (number "24" (effects (font (size 1.27 1.27))))
        )
        (pin passive line (at 0 -27.94 90) (length 2.54) hide
          (name "VSS" (effects (font (size 1.27 1.27))))
          (number "25" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 15.24 180) (length 2.54)
          (name "P0_2" (effects (font (size 1.27 1.27))))
          (number "3" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 12.7 180) (length 2.54)
          (name "P0_3" (effects (font (size 1.27 1.27))))
          (number "4" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 10.16 180) (length 2.54)
          (name "P0_4" (effects (font (size 1.27 1.27))))
          (number "5" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 7.62 180) (length 2.54)
          (name "P0_5" (effects (font (size 1.27 1.27))))
          (number "6" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 5.08 180) (length 2.54)
          (name "P0_6" (effects (font (size 1.27 1.27))))
          (number "7" (effects (font (size 1.27 1.27))))
        )
        (pin bidirectional line (at 12.7 2.54 180) (length 2.54)
          (name "P0_7" (effects (font (size 1.27 1.27))))
          (number "8" (effects (font (size 1.27 1.27))))
        )
        (pin power_in line (at 0 -27.94 90) (length 2.54)
          (name "VSS" (effects (font (size 1.27 1.27))))
          (number "9" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:+3V3" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "+3V3" (at 0 3.556 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "global power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"+3V3\"" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (symbol "+3V3_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 0)
            (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))
        )
      )
      (symbol "+3V3_1_1"
        (pin power_in line (at 0 0 90) (length 0) hide
          (name "+3V3" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
    (symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes)
      (property "Reference" "#PWR" (at 0 -6.35 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Value" "GND" (at 0 -3.81 0)
        (effects (font (size 1.27 1.27)))
      )
      (property "Footprint" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "Datasheet" "" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_keywords" "global power" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (at 0 0 0)
        (effects (font (size 1.27 1.27)) hide)
      )
      (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) hide
          (name "GND" (effects (font (size 1.27 1.27))))
          (number "1" (effects (font (size 1.27 1.27))))
        )
      )
    )
  )

  (junction (at 209.55 38.1) (diameter 0) (color 0 0 0 0)
    (uuid 0702f7d1-cad1-4e52-8969-e873c2c86262)
  )
  (junction (at 273.05 85.09) (diameter 0) (color 0 0 0 0)
    (uuid 08666d97-e731-4954-b6dd-e471589e48da)
  )
  (junction (at 251.46 64.77) (diameter 0) (color 0 0 0 0)
    (uuid 1679b4df-5adb-4a71-b2b2-d116660ef1c0)
  )
  (junction (at 172.72 74.93) (diameter 0) (color 0 0 0 0)
    (uuid 16ef661a-4f54-4d2b-8ee2-8470587ff04a)
  )
  (junction (at 231.14 104.14) (diameter 0) (color 0 0 0 0)
    (uuid 1ef4667c-3fd7-4303-bacf-eeeffd76c6c2)
  )
  (junction (at 115.57 182.88) (diameter 0) (color 0 0 0 0)
    (uuid 32f73be7-2674-46c5-aa8c-4976ed8d9573)
  )
  (junction (at 267.97 36.83) (diameter 0) (color 0 0 0 0)
    (uuid 38824527-5a78-4cc2-b63f-adaec8014a88)
  )
  (junction (at 273.05 107.95) (diameter 0) (color 0 0 0 0)
    (uuid 39b633a5-0101-4855-8e02-51c9d19388e0)
  )
  (junction (at 246.38 57.15) (diameter 0) (color 0 0 0 0)
    (uuid 43915533-64b0-4d4b-b341-b53053475fb8)
  )
  (junction (at 273.05 90.17) (diameter 0) (color 0 0 0 0)
    (uuid 45ae79d3-3162-42a8-be95-ff20b0d25d94)
  )
  (junction (at 273.05 72.39) (diameter 0) (color 0 0 0 0)
    (uuid 4c8bda77-a1c3-4001-9498-a594ab616699)
  )
  (junction (at 273.05 102.87) (diameter 0) (color 0 0 0 0)
    (uuid 4f1e4120-f978-438b-81a3-add825cdba0c)
  )
  (junction (at 130.81 152.4) (diameter 0) (color 0 0 0 0)
    (uuid 55f7c836-0e4c-4745-8c72-8fea7566e94c)
  )
  (junction (at 273.05 97.79) (diameter 0) (color 0 0 0 0)
    (uuid 56146ada-aa4f-4cf4-87f0-9ca863189566)
  )
  (junction (at 273.05 74.93) (diameter 0) (color 0 0 0 0)
    (uuid 578751f9-6a4c-4f67-ae4d-d836aefa613d)
  )
  (junction (at 209.55 27.94) (diameter 0) (color 0 0 0 0)
    (uuid 59a2c010-1a27-43ca-9b38-d79c20416c63)
  )
  (junction (at 248.92 59.69) (diameter 0) (color 0 0 0 0)
    (uuid 5a33e8b0-a728-4e5a-8f6d-27edfb0f7033)
  )
  (junction (at 273.05 92.71) (diameter 0) (color 0 0 0 0)
    (uuid 5c878240-f548-463c-9650-ee017f3588a9)
  )
  (junction (at 170.18 77.47) (diameter 0) (color 0 0 0 0)
    (uuid 5d2b5915-a0cc-4d9f-8a04-a7829ee47f46)
  )
  (junction (at 46.99 125.73) (diameter 0) (color 0 0 0 0)
    (uuid 61c13aea-601a-4d3a-b6c4-fea9af09c438)
  )
  (junction (at 273.05 95.25) (diameter 0) (color 0 0 0 0)
    (uuid 63f6fe35-83d7-4642-9019-9639cc5f74c2)
  )
  (junction (at 144.78 62.23) (diameter 0) (color 0 0 0 0)
    (uuid 66ce763f-100e-4722-a868-fe8a113575d6)
  )
  (junction (at 231.14 93.98) (diameter 0) (color 0 0 0 0)
    (uuid 6b84fb64-1300-48e4-aab7-cb680661d833)
  )
  (junction (at 273.05 125.73) (diameter 0) (color 0 0 0 0)
    (uuid 6d7e27e7-9592-4014-82cb-ea37731541a6)
  )
  (junction (at 241.3 52.07) (diameter 0) (color 0 0 0 0)
    (uuid 6e21f9eb-ac0f-4131-94ad-3976c78666c4)
  )
  (junction (at 175.26 72.39) (diameter 0) (color 0 0 0 0)
    (uuid 8080f62c-aff2-42d8-a398-77971776b8ae)
  )
  (junction (at 273.05 80.01) (diameter 0) (color 0 0 0 0)
    (uuid 92f63dcd-0df9-4415-b099-13cb34456e2e)
  )
  (junction (at 243.84 54.61) (diameter 0) (color 0 0 0 0)
    (uuid 9897a069-197c-4666-a784-741619f0d83a)
  )
  (junction (at 182.88 142.24) (diameter 0) (color 0 0 0 0)
    (uuid 99285402-9ebb-4570-b152-977486b289cf)
  )
  (junction (at 273.05 110.49) (diameter 0) (color 0 0 0 0)
    (uuid 9d301328-9516-46cc-be1a-15c974c07f1a)
  )
  (junction (at 273.05 100.33) (diameter 0) (color 0 0 0 0)
    (uuid a5508458-95cd-49d2-bf15-fc2df1cb36cf)
  )
  (junction (at 180.34 132.08) (diameter 0) (color 0 0 0 0)
    (uuid a7c9c72d-9f5e-4883-96bc-03006a7f1205)
  )
  (junction (at 273.05 77.47) (diameter 0) (color 0 0 0 0)
    (uuid ad4834c5-578d-405c-a20a-5e52151452fc)
  )
  (junction (at 273.05 105.41) (diameter 0) (color 0 0 0 0)
    (uuid b28b5b34-afc6-495f-9567-57d997c253e8)
  )
  (junction (at 254 130.81) (diameter 0) (color 0 0 0 0)
    (uuid b9305b8b-9262-4c2a-a12b-8d09169ed46e)
  )
  (junction (at 273.05 87.63) (diameter 0) (color 0 0 0 0)
    (uuid d04a1abf-b023-4f7c-a3b5-1d86ae42f58b)
  )
  (junction (at 167.64 64.77) (diameter 0) (color 0 0 0 0)
    (uuid d8fc0a5d-8916-401a-989a-6f4bd3597acb)
  )
  (junction (at 273.05 82.55) (diameter 0) (color 0 0 0 0)
    (uuid dccc1c9a-c232-40c8-ad42-1057a300fba9)
  )
  (junction (at 115.57 172.72) (diameter 0) (color 0 0 0 0)
    (uuid ee2843ec-92f9-469c-9ff7-c1ed2d8a27ae)
  )
  (junction (at 273.05 113.03) (diameter 0) (color 0 0 0 0)
    (uuid f16ea5fd-109c-4270-b905-01f91c7b8474)
  )
  (junction (at 229.87 44.45) (diameter 0) (color 0 0 0 0)
    (uuid f3713d6f-c8dc-4760-b2ee-8ecc82273574)
  )
  (junction (at 265.43 34.29) (diameter 0) (color 0 0 0 0)
    (uuid f4d7916e-bea0-464d-adcb-40d4cb2640b3)
  )

  (no_connect (at 233.68 134.62) (uuid 1c9d64f2-b467-4377-812f-807cc6625526))
  (no_connect (at 177.8 139.7) (uuid 64651f00-f04e-40fe-9fc5-250faea7519b))
  (no_connect (at 280.67 138.43) (uuid 8c37d49a-7739-4fcd-93ee-a69ced9bda23))

  (wire (pts (xy 125.73 43.18) (xy 123.19 43.18))
    (stroke (width 0) (type default))
    (uuid 0089dcf2-ad70-4ee9-b168-a0106b6125f3)
  )
  (wire (pts (xy 273.05 95.25) (xy 275.59 95.25))
    (stroke (width 0) (type default))
    (uuid 0095b199-e834-4310-a4e3-2beaf4d31c3a)
  )
  (polyline (pts (xy 139.7 105.41) (xy 205.74 105.41))
    (stroke (width 0) (type default))
    (uuid 023c3286-cbce-4080-998e-15fe9104cac8)
  )

  (wire (pts (xy 180.34 128.27) (xy 180.34 132.08))
    (stroke (width 0) (type default))
    (uuid 02b7bac0-97f4-4900-beaf-a839fc23869c)
  )
  (wire (pts (xy 133.35 139.7) (xy 133.35 130.81))
    (stroke (width 0) (type default))
    (uuid 04ba48c7-7688-4253-b6dc-739bf6c472cb)
  )
  (wire (pts (xy 175.26 72.39) (xy 175.26 80.01))
    (stroke (width 0) (type default))
    (uuid 052c0825-7034-4a70-9ea4-2905560234d2)
  )
  (wire (pts (xy 182.88 142.24) (xy 190.5 142.24))
    (stroke (width 0) (type default))
    (uuid 05baefd5-32d2-4ce6-a931-0971043cf3fb)
  )
  (wire (pts (xy 62.23 168.91) (xy 80.01 168.91))
    (stroke (width 0) (type default))
    (uuid 078ca2ea-d813-454e-ac08-452b0b4f46a1)
  )
  (wire (pts (xy 175.26 72.39) (xy 179.07 72.39))
    (stroke (width 0) (type default))
    (uuid 084c1448-5a2a-4cca-95e4-71cd20830f35)
  )
  (wire (pts (xy 207.01 68.58) (xy 209.55 68.58))
    (stroke (width 0) (type default))
    (uuid 0869162d-c195-4830-828c-9956c38acb32)
  )
  (wire (pts (xy 130.81 152.4) (xy 128.27 152.4))
    (stroke (width 0) (type default))
    (uuid 0888bbb9-b94d-439b-8544-eaea87c49d25)
  )
  (wire (pts (xy 111.76 172.72) (xy 111.76 175.26))
    (stroke (width 0) (type default))
    (uuid 094f613d-b6f8-450a-9c3c-3d48d7f8a782)
  )
  (wire (pts (xy 267.97 39.37) (xy 275.59 39.37))
    (stroke (width 0) (type default))
    (uuid 098f9b89-8232-43b1-9d80-074e9606b5b3)
  )
  (wire (pts (xy 15.24 25.4) (xy 29.21 25.4))
    (stroke (width 0) (type default))
    (uuid 0b18d6da-53ba-45f7-92e3-92d0d788d2ea)
  )
  (polyline (pts (xy 153.67 13.97) (xy 153.67 29.21))
    (stroke (width 0) (type default))
    (uuid 0b8ea797-1fae-416a-be1a-f4f8abff1814)
  )

  (wire (pts (xy 273.05 82.55) (xy 273.05 85.09))
    (stroke (width 0) (type default))
    (uuid 0ccd0424-6ef8-4932-a272-bf1fa27b0598)
  )
  (wire (pts (xy 144.78 59.69) (xy 144.78 62.23))
    (stroke (width 0) (type default))
    (uuid 0e0613e3-a24d-4179-94af-f3ccdf9c999b)
  )
  (wire (pts (xy 177.8 142.24) (xy 182.88 142.24))
    (stroke (width 0) (type default))
    (uuid 11913605-861c-45e8-afa7-6736eb9ae2b2)
  )
  (wire (pts (xy 62.23 161.29) (xy 80.01 161.29))
    (stroke (width 0) (type default))
    (uuid 13893f92-87a0-4226-9682-2c0c20ba5c72)
  )
  (wire (pts (xy 119.38 82.55) (xy 110.49 82.55))
    (stroke (width 0) (type default))
    (uuid 151edbc7-c9ab-4be8-8884-f6b026cd6c04)
  )
  (wire (pts (xy 256.54 72.39) (xy 256.54 69.85))
    (stroke (width 0) (type default))
    (uuid 15f017f8-52ac-441d-9c87-218795832f7f)
  )
  (wire (pts (xy 15.24 33.02) (xy 29.21 33.02))
    (stroke (width 0) (type default))
    (uuid 18a2c129-ba0e-48ff-afe8-2b59a933ab01)
  )
  (wire (pts (xy 243.84 72.39) (xy 243.84 54.61))
    (stroke (width 0) (type default))
    (uuid 1aafea6f-dadd-48a2-85b8-aaa27fc8b60a)
  )
  (wire (pts (xy 251.46 64.77) (xy 275.59 64.77))
    (stroke (width 0) (type default))
    (uuid 1ce43c41-eaba-4378-9c01-702f4b42427a)
  )
  (wire (pts (xy 62.23 153.67) (xy 78.74 153.67))
    (stroke (width 0) (type default))
    (uuid 1e1727e4-3f92-404f-be6b-1535edadd30a)
  )
  (wire (pts (xy 273.05 125.73) (xy 275.59 125.73))
    (stroke (width 0) (type default))
    (uuid 1f8010c5-a686-441c-a430-a788b20e3a46)
  )
  (wire (pts (xy 115.57 170.18) (xy 115.57 172.72))
    (stroke (width 0) (type default))
    (uuid 1f82ac13-b25b-4bc2-ade5-b93bf1a6baf9)
  )
  (wire (pts (xy 114.3 35.56) (xy 125.73 35.56))
    (stroke (width 0) (type default))
    (uuid 1f913e4b-1358-4e45-b736-683db1a64977)
  )
  (wire (pts (xy 74.93 74.93) (xy 74.93 77.47))
    (stroke (width 0) (type default))
    (uuid 214e1776-ba56-48b0-9105-f3eac19fa8e3)
  )
  (polyline (pts (xy 12.7 105.41) (xy 139.7 105.41))
    (stroke (width 0) (type default))
    (uuid 2186565a-991f-40b4-9d76-5a00485b4cc9)
  )

  (wire (pts (xy 62.23 138.43) (xy 78.74 138.43))
    (stroke (width 0) (type default))
    (uuid 2399e335-093d-4f3f-86e1-1fd2eef387ae)
  )
  (wire (pts (xy 246.38 57.15) (xy 275.59 57.15))
    (stroke (width 0) (type default))
    (uuid 23dfa877-4ab8-4dfc-af8d-eccbe257507f)
  )
  (wire (pts (xy 114.3 38.1) (xy 125.73 38.1))
    (stroke (width 0) (type default))
    (uuid 249a5561-1d5c-4742-a5b2-fdd4dc4cadec)
  )
  (wire (pts (xy 238.76 57.15) (xy 246.38 57.15))
    (stroke (width 0) (type default))
    (uuid 25a48e64-3dc7-46d4-993a-a66e4276cca2)
  )
  (wire (pts (xy 36.83 173.99) (xy 39.37 173.99))
    (stroke (width 0) (type default))
    (uuid 27b3e2fe-d98a-4c6c-aa33-f35ee45b5598)
  )
  (wire (pts (xy 109.22 27.94) (xy 109.22 30.48))
    (stroke (width 0) (type default))
    (uuid 2842cd12-704e-41fb-bfcf-dca51d51f42b)
  )
  (wire (pts (xy 62.23 140.97) (xy 78.74 140.97))
    (stroke (width 0) (type default))
    (uuid 2990012a-4691-4980-893d-5055315c4b74)
  )
  (wire (pts (xy 210.82 132.08) (xy 210.82 134.62))
    (stroke (width 0) (type default))
    (uuid 29a2e6ab-bead-4ff2-aa9e-430a40d7013b)
  )
  (wire (pts (xy 273.05 44.45) (xy 273.05 72.39))
    (stroke (width 0) (type default))
    (uuid 29b5fcb2-66a1-4008-8e05-c4efb949ac81)
  )
  (wire (pts (xy 273.05 102.87) (xy 273.05 105.41))
    (stroke (width 0) (type default))
    (uuid 2a787eef-795e-4dfc-92de-af4d57f88eb3)
  )
  (polyline (pts (xy 100.33 105.41) (xy 100.33 196.85))
    (stroke (width 0) (type default))
    (uuid 2aded2fb-ea1b-4535-843d-125c3d4b0550)
  )

  (wire (pts (xy 238.76 64.77) (xy 251.46 64.77))
    (stroke (width 0) (type default))
    (uuid 2b6120f8-327f-4968-8cd8-8f243efa3533)
  )
  (wire (pts (xy 62.23 146.05) (xy 78.74 146.05))
    (stroke (width 0) (type default))
    (uuid 2d2a0da8-ce1b-4ba7-b150-702f2d4bb8b5)
  )
  (wire (pts (xy 156.21 165.1) (xy 156.21 167.64))
    (stroke (width 0) (type default))
    (uuid 2d82e12b-995c-49fe-bf9e-75e5c11f5407)
  )
  (wire (pts (xy 191.77 49.53) (xy 191.77 52.07))
    (stroke (width 0) (type default))
    (uuid 2dcb18f3-2b53-4699-ac85-7ce975b83d3e)
  )
  (wire (pts (xy 114.3 33.02) (xy 125.73 33.02))
    (stroke (width 0) (type default))
    (uuid 2ddb271e-c03e-4443-b61d-6cd966944003)
  )
  (wire (pts (xy 88.9 49.53) (xy 91.44 49.53))
    (stroke (width 0) (type default))
    (uuid 2e7580ae-f924-49f0-ba22-c8f91d010c41)
  )
  (wire (pts (xy 52.07 128.27) (xy 52.07 125.73))
    (stroke (width 0) (type default))
    (uuid 2e8e3e08-1520-4260-b85b-677d84d5cc0c)
  )
  (wire (pts (xy 273.05 87.63) (xy 273.05 90.17))
    (stroke (width 0) (type default))
    (uuid 3003e354-bf29-47e5-9e46-a89b0adf1c31)
  )
  (wire (pts (xy 240.03 44.45) (xy 250.19 44.45))
    (stroke (width 0) (type default))
    (uuid 300af0fb-c361-40df-a9f2-c61035107e28)
  )
  (wire (pts (xy 273.05 44.45) (xy 275.59 44.45))
    (stroke (width 0) (type default))
    (uuid 3023a252-0302-4d30-b6f3-84e53976a81f)
  )
  (wire (pts (xy 62.23 173.99) (xy 80.01 173.99))
    (stroke (width 0) (type default))
    (uuid 30a099cc-6502-476a-b0d6-9a621d88640d)
  )
  (wire (pts (xy 254 133.35) (xy 275.59 133.35))
    (stroke (width 0) (type default))
    (uuid 31ebf3a4-75fa-4a17-9ea5-8b818ed3c9f9)
  )
  (wire (pts (xy 49.53 46.99) (xy 63.5 46.99))
    (stroke (width 0) (type default))
    (uuid 322c6ae3-cff7-4abf-b363-1215080d6b47)
  )
  (wire (pts (xy 273.05 77.47) (xy 273.05 80.01))
    (stroke (width 0) (type default))
    (uuid 32c0bdef-063d-4acf-993c-a7fa77d20c8e)
  )
  (wire (pts (xy 115.57 172.72) (xy 119.38 172.72))
    (stroke (width 0) (type default))
    (uuid 345f9ea6-a865-42c2-93c9-67ec631afd32)
  )
  (wire (pts (xy 133.35 152.4) (xy 130.81 152.4))
    (stroke (width 0) (type default))
    (uuid 37c9644d-be25-41f0-b0c9-cb9b104b2e22)
  )
  (wire (pts (xy 273.05 100.33) (xy 275.59 100.33))
    (stroke (width 0) (type default))
    (uuid 37ee74f4-56e2-4ad4-8a2f-54c44e03a5c6)
  )
  (wire (pts (xy 204.47 74.93) (xy 207.01 74.93))
    (stroke (width 0) (type default))
    (uuid 38c49cce-8993-4f58-b670-e2a1cb6f600a)
  )
  (wire (pts (xy 191.77 87.63) (xy 191.77 90.17))
    (stroke (width 0) (type default))
    (uuid 3a0a946b-0527-4e5c-bf2c-c738cb37bb92)
  )
  (wire (pts (xy 250.19 34.29) (xy 265.43 34.29))
    (stroke (width 0) (type default))
    (uuid 3a3f574d-fa83-4a1e-aeab-77204054ff2d)
  )
  (polyline (pts (xy 205.74 105.41) (xy 205.74 165.1))
    (stroke (width 0) (type default))
    (uuid 3bff374c-87ac-43b6-9f18-d7a0f63a4072)
  )

  (wire (pts (xy 132.08 85.09) (xy 132.08 87.63))
    (stroke (width 0) (type default))
    (uuid 3c91dba1-4f86-40c0-a561-557b6843e3fc)
  )
  (wire (pts (xy 204.47 38.1) (xy 209.55 38.1))
    (stroke (width 0) (type default))
    (uuid 3dafccd4-a554-4a80-974d-a66585ab0a56)
  )
  (wire (pts (xy 273.05 87.63) (xy 275.59 87.63))
    (stroke (width 0) (type default))
    (uuid 3ec71219-f6c7-4d68-95d7-17b32e2b786a)
  )
  (wire (pts (xy 254 113.03) (xy 254 115.57))
    (stroke (width 0) (type default))
    (uuid 3edf0f68-0806-43f1-98e6-cd149ac97a7d)
  )
  (wire (pts (xy 224.79 62.23) (xy 275.59 62.23))
    (stroke (width 0) (type default))
    (uuid 3f6c2694-dba3-4eaa-a272-68ca2af0081a)
  )
  (wire (pts (xy 273.05 107.95) (xy 273.05 110.49))
    (stroke (width 0) (type default))
    (uuid 42d0e2d9-cd69-4d07-8075-946c5a3fa9d3)
  )
  (wire (pts (xy 273.05 80.01) (xy 275.59 80.01))
    (stroke (width 0) (type default))
    (uuid 446bb02a-b05c-4be6-9945-8313a616fc0c)
  )
  (wire (pts (xy 105.41 82.55) (xy 97.79 82.55))
    (stroke (width 0) (type default))
    (uuid 463dd622-4f31-4e60-b691-d3b05da5ff66)
  )
  (wire (pts (xy 62.23 163.83) (xy 80.01 163.83))
    (stroke (width 0) (type default))
    (uuid 476b50c0-8921-4023-808d-872924e67e92)
  )
  (wire (pts (xy 273.05 100.33) (xy 273.05 102.87))
    (stroke (width 0) (type default))
    (uuid 479618be-abaa-42a2-adcc-705716223525)
  )
  (wire (pts (xy 52.07 125.73) (xy 46.99 125.73))
    (stroke (width 0) (type default))
    (uuid 4a924d04-4dae-4672-b212-ece4a8a8fa77)
  )
  (wire (pts (xy 273.05 72.39) (xy 275.59 72.39))
    (stroke (width 0) (type default))
    (uuid 4c793947-3f04-49b1-8004-8ff01e149c09)
  )
  (wire (pts (xy 144.78 69.85) (xy 144.78 72.39))
    (stroke (width 0) (type default))
    (uuid 4cab7765-8e9c-4a93-8af4-e4a5821807f3)
  )
  (wire (pts (xy 111.76 172.72) (xy 115.57 172.72))
    (stroke (width 0) (type default))
    (uuid 4d9922bf-756a-4a12-8696-ed81a1b43231)
  )
  (wire (pts (xy 227.33 93.98) (xy 227.33 96.52))
    (stroke (width 0) (type default))
    (uuid 50f6c2f3-07f8-4518-bd4e-c7148993e20d)
  )
  (wire (pts (xy 46.99 123.19) (xy 46.99 125.73))
    (stroke (width 0) (type default))
    (uuid 52208779-70f6-43a9-b76e-689e2e1d50e7)
  )
  (wire (pts (xy 49.53 44.45) (xy 63.5 44.45))
    (stroke (width 0) (type default))
    (uuid 52e526cf-4a4e-4d03-8395-4031f9443ee5)
  )
  (wire (pts (xy 209.55 27.94) (xy 209.55 25.4))
    (stroke (width 0) (type default))
    (uuid 54685df8-3027-4ee2-9a0d-abde1b0a8604)
  )
  (wire (pts (xy 254 115.57) (xy 275.59 115.57))
    (stroke (width 0) (type default))
    (uuid 55153617-70d5-4cec-ad96-1eea542f50b9)
  )
  (polyline (pts (xy 139.7 12.7) (xy 139.7 105.41))
    (stroke (width 0) (type default))
    (uuid 561c6727-28be-4bf0-ab31-0cb5c1761cd5)
  )

  (wire (pts (xy 231.14 104.14) (xy 227.33 104.14))
    (stroke (width 0) (type default))
    (uuid 567c3256-b880-418a-ab9d-a89be74cfbae)
  )
  (wire (pts (xy 133.35 130.81) (xy 129.54 130.81))
    (stroke (width 0) (type default))
    (uuid 56964317-b645-42e5-a5d4-0c5dc682f727)
  )
  (wire (pts (xy 121.92 30.48) (xy 125.73 30.48))
    (stroke (width 0) (type default))
    (uuid 58c4c389-8104-4ad0-9e19-d7afad0e06c5)
  )
  (wire (pts (xy 119.38 182.88) (xy 119.38 180.34))
    (stroke (width 0) (type default))
    (uuid 58cac103-ddc4-4d49-a0c8-b0d5a13752ab)
  )
  (wire (pts (xy 62.23 151.13) (xy 78.74 151.13))
    (stroke (width 0) (type default))
    (uuid 59b3f744-361c-4a79-ae96-b269930667c2)
  )
  (wire (pts (xy 238.76 59.69) (xy 248.92 59.69))
    (stroke (width 0) (type default))
    (uuid 5a7853ee-e7f8-4437-baad-23fbd2caad1b)
  )
  (wire (pts (xy 234.95 104.14) (xy 234.95 101.6))
    (stroke (width 0) (type default))
    (uuid 5af65dbc-141e-40fb-a23a-2a6666343a6e)
  )
  (wire (pts (xy 62.23 135.89) (xy 78.74 135.89))
    (stroke (width 0) (type default))
    (uuid 5bb86345-0ce2-4704-bf72-a8f259fb6991)
  )
  (wire (pts (xy 204.47 27.94) (xy 209.55 27.94))
    (stroke (width 0) (type default))
    (uuid 5c63301b-c091-4355-82d1-b5340e0db8b3)
  )
  (wire (pts (xy 243.84 54.61) (xy 275.59 54.61))
    (stroke (width 0) (type default))
    (uuid 617ad403-474a-4840-8995-c611e87ba688)
  )
  (polyline (pts (xy 142.24 16.51) (xy 175.26 16.51))
    (stroke (width 0) (type default))
    (uuid 630454d6-1245-4fc0-a978-881fdd7c9c7a)
  )

  (wire (pts (xy 111.76 147.32) (xy 133.35 147.32))
    (stroke (width 0) (type default))
    (uuid 64acd676-69c9-4238-bda8-ff4620adfbde)
  )
  (wire (pts (xy 223.52 149.86) (xy 223.52 152.4))
    (stroke (width 0) (type default))
    (uuid 64d5e6f4-e454-4905-b7a2-331d8a27e75b)
  )
  (wire (pts (xy 227.33 93.98) (xy 231.14 93.98))
    (stroke (width 0) (type default))
    (uuid 64fcccf8-c0fb-4efa-a5f9-f1ee99d9171f)
  )
  (wire (pts (xy 129.54 130.81) (xy 129.54 133.35))
    (stroke (width 0) (type default))
    (uuid 653ad130-f24a-4401-aaae-35cde0a6edbc)
  )
  (wire (pts (xy 254 130.81) (xy 275.59 130.81))
    (stroke (width 0) (type default))
    (uuid 6650993c-604e-484d-a734-ec1b8ada20b5)
  )
  (polyline (pts (xy 222.25 12.7) (xy 222.25 105.41))
    (stroke (width 0) (type default))
    (uuid 670e2c28-57bc-4e26-b2ad-879b051c6c77)
  )

  (wire (pts (xy 27.94 166.37) (xy 27.94 168.91))
    (stroke (width 0) (type default))
    (uuid 67fb23cb-61ad-4255-b250-11cc77c6f0fd)
  )
  (wire (pts (xy 265.43 30.48) (xy 265.43 34.29))
    (stroke (width 0) (type default))
    (uuid 6960b6ec-4886-48e8-b2a7-63bba98e27e1)
  )
  (wire (pts (xy 273.05 113.03) (xy 273.05 125.73))
    (stroke (width 0) (type default))
    (uuid 69978fff-548a-412d-886b-7f6154b0f3bf)
  )
  (wire (pts (xy 273.05 85.09) (xy 275.59 85.09))
    (stroke (width 0) (type default))
    (uuid 69fb8120-fea0-47c5-9cb2-332b299290eb)
  )
  (wire (pts (xy 248.92 72.39) (xy 248.92 59.69))
    (stroke (width 0) (type default))
    (uuid 6cecc098-d68d-40e9-8942-8d3f9f38122f)
  )
  (wire (pts (xy 214.63 30.48) (xy 214.63 27.94))
    (stroke (width 0) (type default))
    (uuid 6dcc380b-bec2-4495-807d-913c00d723ad)
  )
  (wire (pts (xy 128.27 142.24) (xy 133.35 142.24))
    (stroke (width 0) (type default))
    (uuid 704adb27-639b-46de-a781-e2af79851c68)
  )
  (wire (pts (xy 132.08 87.63) (xy 129.54 87.63))
    (stroke (width 0) (type default))
    (uuid 713cea75-c388-4ccb-95ee-ce25b8caf843)
  )
  (wire (pts (xy 259.08 120.65) (xy 275.59 120.65))
    (stroke (width 0) (type default))
    (uuid 71794e69-f0e7-484f-99c5-1882f8b73731)
  )
  (wire (pts (xy 238.76 54.61) (xy 243.84 54.61))
    (stroke (width 0) (type default))
    (uuid 719f63f4-35b1-4484-83b3-d3a6a128d0ea)
  )
  (wire (pts (xy 62.23 148.59) (xy 78.74 148.59))
    (stroke (width 0) (type default))
    (uuid 71e763b8-6d19-44c6-80f3-6da408dde939)
  )
  (wire (pts (xy 273.05 102.87) (xy 275.59 102.87))
    (stroke (width 0) (type default))
    (uuid 72ce4dd1-97bc-44bf-bc33-8eee5e20172d)
  )
  (wire (pts (xy 273.05 72.39) (xy 273.05 74.93))
    (stroke (width 0) (type default))
    (uuid 745ee15c-bc05-41b7-9045-82102bfdb5bb)
  )
  (wire (pts (xy 44.45 82.55) (xy 44.45 85.09))
    (stroke (width 0) (type default))
    (uuid 745f697a-02bf-4818-b1e5-8a9b16935d9d)
  )
  (polyline (pts (xy 222.25 105.41) (xy 205.74 105.41))
    (stroke (width 0) (type default))
    (uuid 754fd308-6019-4757-ae6f-97894e8e015e)
  )

  (wire (pts (xy 62.23 176.53) (xy 80.01 176.53))
    (stroke (width 0) (type default))
    (uuid 756bc641-e0ee-404e-b534-61e2a2838ba8)
  )
  (wire (pts (xy 31.75 140.97) (xy 36.83 140.97))
    (stroke (width 0) (type default))
    (uuid 77b6fda9-1066-4ca7-ae69-d8cbe48303fe)
  )
  (wire (pts (xy 130.81 50.8) (xy 130.81 53.34))
    (stroke (width 0) (type default))
    (uuid 79150961-8830-43f7-b185-87640de5c8c3)
  )
  (wire (pts (xy 273.05 97.79) (xy 273.05 100.33))
    (stroke (width 0) (type default))
    (uuid 79512154-5116-4c86-a91e-6dcf6c7c1846)
  )
  (wire (pts (xy 273.05 90.17) (xy 273.05 92.71))
    (stroke (width 0) (type default))
    (uuid 7af6882b-b686-4aa7-9e91-6b340e1902d9)
  )
  (wire (pts (xy 238.76 52.07) (xy 241.3 52.07))
    (stroke (width 0) (type default))
    (uuid 7ec553da-c7a2-4809-ad00-96d6ad80db55)
  )
  (wire (pts (xy 165.1 72.39) (xy 175.26 72.39))
    (stroke (width 0) (type default))
    (uuid 7ff81814-6865-460d-9fc7-a0bd78d409df)
  )
  (wire (pts (xy 88.9 33.02) (xy 91.44 33.02))
    (stroke (width 0) (type default))
    (uuid 7ff8b328-af03-4319-b64c-6a9837d0cfc0)
  )
  (polyline (pts (xy 142.24 33.02) (xy 177.8 33.02))
    (stroke (width 0) (type default))
    (uuid 8054feac-1494-4fd4-918f-a097231ff23f)
  )

  (wire (pts (xy 267.97 30.48) (xy 267.97 36.83))
    (stroke (width 0) (type default))
    (uuid 811a2d6d-700b-4ddb-b5fe-df94a71ee551)
  )
  (wire (pts (xy 115.57 182.88) (xy 119.38 182.88))
    (stroke (width 0) (type default))
    (uuid 81737093-a128-4781-a0b2-dd81a2aaf5ae)
  )
  (wire (pts (xy 91.44 33.02) (xy 91.44 35.56))
    (stroke (width 0) (type default))
    (uuid 8186d0f8-9116-4fce-9843-15715d6778c0)
  )
  (wire (pts (xy 259.08 118.11) (xy 275.59 118.11))
    (stroke (width 0) (type default))
    (uuid 83571009-8dd5-4c73-b3df-e59ab90eb97b)
  )
  (wire (pts (xy 36.83 173.99) (xy 36.83 176.53))
    (stroke (width 0) (type default))
    (uuid 83b06af7-0af4-45e3-9e02-27c686e0cec5)
  )
  (wire (pts (xy 231.14 93.98) (xy 234.95 93.98))
    (stroke (width 0) (type default))
    (uuid 83bfcdd5-5df3-42d9-9cba-ace80b5809b0)
  )
  (wire (pts (xy 248.92 59.69) (xy 275.59 59.69))
    (stroke (width 0) (type default))
    (uuid 861334d5-13cf-4674-a812-e8c8c04f062a)
  )
  (wire (pts (xy 119.38 87.63) (xy 110.49 87.63))
    (stroke (width 0) (type default))
    (uuid 86c35f24-29d0-4c32-afd6-11891fd2f1b5)
  )
  (wire (pts (xy 246.38 83.82) (xy 246.38 96.52))
    (stroke (width 0) (type default))
    (uuid 86d6c6aa-50f6-4d4d-aabf-d4549f2e3e7b)
  )
  (wire (pts (xy 231.14 104.14) (xy 234.95 104.14))
    (stroke (width 0) (type default))
    (uuid 87adfda9-6ad7-4048-bd23-f32d15dac224)
  )
  (wire (pts (xy 231.14 83.82) (xy 231.14 93.98))
    (stroke (width 0) (type default))
    (uuid 8a6194ce-173b-4a75-81e9-abe09a05826a)
  )
  (wire (pts (xy 74.93 92.71) (xy 74.93 95.25))
    (stroke (width 0) (type default))
    (uuid 8a757a43-7620-4e97-9f9c-eb0d5794791a)
  )
  (wire (pts (xy 273.05 105.41) (xy 273.05 107.95))
    (stroke (width 0) (type default))
    (uuid 8b5988bd-8b41-42e9-899b-7ea532518c0a)
  )
  (wire (pts (xy 234.95 93.98) (xy 234.95 96.52))
    (stroke (width 0) (type default))
    (uuid 8b9f8801-6aab-44b1-a71e-e79cab9f2ad0)
  )
  (wire (pts (xy 265.43 34.29) (xy 275.59 34.29))
    (stroke (width 0) (type default))
    (uuid 8f6569ff-96c3-4b92-b0fa-e0c42ff9874c)
  )
  (wire (pts (xy 165.1 77.47) (xy 170.18 77.47))
    (stroke (width 0) (type default))
    (uuid 91416d5d-294d-4b33-a32d-a36fea64ea26)
  )
  (wire (pts (xy 273.05 92.71) (xy 275.59 92.71))
    (stroke (width 0) (type default))
    (uuid 91987d1b-3ba6-42db-a14d-525f6d371a28)
  )
  (wire (pts (xy 246.38 49.53) (xy 275.59 49.53))
    (stroke (width 0) (type default))
    (uuid 93d11c6d-7728-4661-a784-82125de57f04)
  )
  (wire (pts (xy 167.64 58.42) (xy 167.64 64.77))
    (stroke (width 0) (type default))
    (uuid 940df1c3-7a98-4359-8a5e-17158aa27ee5)
  )
  (wire (pts (xy 241.3 52.07) (xy 275.59 52.07))
    (stroke (width 0) (type default))
    (uuid 94348f5d-7c7a-4518-945c-c4cf89a2cde7)
  )
  (polyline (pts (xy 161.29 30.48) (xy 161.29 41.91))
    (stroke (width 0) (type default))
    (uuid 945e7699-a84d-41d3-a433-746edb54e634)
  )

  (wire (pts (xy 49.53 25.4) (xy 63.5 25.4))
    (stroke (width 0) (type default))
    (uuid 9472b1d4-141b-495f-97c2-2d750f1f64ed)
  )
  (wire (pts (xy 204.47 64.77) (xy 207.01 64.77))
    (stroke (width 0) (type default))
    (uuid 9485ef12-d36f-41fc-9b3f-72f3176dd140)
  )
  (polyline (pts (xy 12.7 60.96) (xy 139.7 60.96))
    (stroke (width 0) (type default))
    (uuid 954b548f-01d9-4e78-9696-bd673a1b82a3)
  )

  (wire (pts (xy 115.57 182.88) (xy 111.76 182.88))
    (stroke (width 0) (type default))
    (uuid 96a23393-6091-4c22-96ff-a1b9f3f403fd)
  )
  (wire (pts (xy 29.21 92.71) (xy 31.75 92.71))
    (stroke (width 0) (type default))
    (uuid 985e76e1-eaaa-4951-a5d6-207041f89c22)
  )
  (wire (pts (xy 273.05 113.03) (xy 275.59 113.03))
    (stroke (width 0) (type default))
    (uuid 99dfa61f-ed27-41c7-b134-6c02c725c1c6)
  )
  (wire (pts (xy 273.05 105.41) (xy 275.59 105.41))
    (stroke (width 0) (type default))
    (uuid 9a4ef5ed-17a2-4c47-b767-ed306ec55c5b)
  )
  (wire (pts (xy 250.19 44.45) (xy 250.19 46.99))
    (stroke (width 0) (type default))
    (uuid 9c92b567-9f67-450b-bd44-bcdb20f47e03)
  )
  (wire (pts (xy 273.05 74.93) (xy 275.59 74.93))
    (stroke (width 0) (type default))
    (uuid 9cdb2df1-5f00-4b6b-8008-922eb5b2026d)
  )
  (wire (pts (xy 62.23 171.45) (xy 80.01 171.45))
    (stroke (width 0) (type default))
    (uuid 9ddddae7-d573-4256-a234-44ec6a17d4a6)
  )
  (wire (pts (xy 204.47 30.48) (xy 204.47 27.94))
    (stroke (width 0) (type default))
    (uuid 9de48c78-08f4-4040-ad49-e5339c090743)
  )
  (wire (pts (xy 241.3 72.39) (xy 241.3 52.07))
    (stroke (width 0) (type default))
    (uuid 9eaae225-0861-49ef-b143-b148d7cfa4d4)
  )
  (wire (pts (xy 229.87 46.99) (xy 232.41 46.99))
    (stroke (width 0) (type default))
    (uuid 9ee01a66-694b-42e4-863d-418cf07263f7)
  )
  (wire (pts (xy 80.01 158.75) (xy 62.23 158.75))
    (stroke (width 0) (type default))
    (uuid a0c661b6-7022-4c80-b312-216aa579996f)
  )
  (wire (pts (xy 273.05 95.25) (xy 273.05 97.79))
    (stroke (width 0) (type default))
    (uuid a13770e6-eb00-4727-b5ff-cca76b8a7d0e)
  )
  (polyline (pts (xy 100.33 12.7) (xy 100.33 60.96))
    (stroke (width 0) (type default))
    (uuid a1486b92-bbcb-400d-988f-396943f0eca7)
  )

  (wire (pts (xy 273.05 107.95) (xy 275.59 107.95))
    (stroke (width 0) (type default))
    (uuid a1849e5a-d3b7-4ca2-99a1-2052c73a60c3)
  )
  (wire (pts (xy 273.05 125.73) (xy 273.05 135.89))
    (stroke (width 0) (type default))
    (uuid a2843821-89cb-4d25-b91c-c3fba3f9d043)
  )
  (wire (pts (xy 273.05 110.49) (xy 273.05 113.03))
    (stroke (width 0) (type default))
    (uuid a3b42dee-95f5-4ca0-aa5b-a00a5f4d5c79)
  )
  (wire (pts (xy 22.86 173.99) (xy 22.86 176.53))
    (stroke (width 0) (type default))
    (uuid a460a296-baa7-4140-a525-241522e9d6f3)
  )
  (wire (pts (xy 177.8 134.62) (xy 180.34 134.62))
    (stroke (width 0) (type default))
    (uuid a5a45461-5a2e-4a7e-92af-a5d9fd962d5f)
  )
  (wire (pts (xy 214.63 27.94) (xy 209.55 27.94))
    (stroke (width 0) (type default))
    (uuid a5c40b5f-7645-45f3-ad45-9cceb2d9f44d)
  )
  (wire (pts (xy 165.1 64.77) (xy 167.64 64.77))
    (stroke (width 0) (type default))
    (uuid a6e45083-553b-49e7-90eb-47a981920622)
  )
  (wire (pts (xy 63.5 85.09) (xy 63.5 87.63))
    (stroke (width 0) (type default))
    (uuid a860f4cc-2e65-4094-aa33-19ac24cf2b83)
  )
  (wire (pts (xy 254 36.83) (xy 267.97 36.83))
    (stroke (width 0) (type default))
    (uuid a97189ff-79de-449b-9cb6-a1b43dcff003)
  )
  (wire (pts (xy 273.05 110.49) (xy 275.59 110.49))
    (stroke (width 0) (type default))
    (uuid aa4f91a8-47ca-403a-af20-2c2d5c6ad4ee)
  )
  (wire (pts (xy 246.38 46.99) (xy 246.38 49.53))
    (stroke (width 0) (type default))
    (uuid ab9aad51-93f9-4f0d-85d0-240eaa86c6b4)
  )
  (wire (pts (xy 63.5 77.47) (xy 63.5 73.66))
    (stroke (width 0) (type default))
    (uuid abffd388-c30a-4b19-bb65-ed82f0628e65)
  )
  (wire (pts (xy 49.53 33.02) (xy 52.07 33.02))
    (stroke (width 0) (type default))
    (uuid ad10ba62-44ce-4ff7-bc48-d9ee1bee18d5)
  )
  (wire (pts (xy 170.18 77.47) (xy 170.18 80.01))
    (stroke (width 0) (type default))
    (uuid ad4ed626-1585-4341-bf8d-63518f422407)
  )
  (wire (pts (xy 130.81 160.02) (xy 130.81 162.56))
    (stroke (width 0) (type default))
    (uuid ae7baa1e-c6dd-403a-858d-f4faa8b3f3dd)
  )
  (wire (pts (xy 172.72 74.93) (xy 172.72 80.01))
    (stroke (width 0) (type default))
    (uuid af98f8b0-cc57-4dfe-a16f-a6f5926ef1ca)
  )
  (wire (pts (xy 273.05 80.01) (xy 273.05 82.55))
    (stroke (width 0) (type default))
    (uuid afc66dca-2495-473f-bac0-df1ab89057c4)
  )
  (wire (pts (xy 267.97 36.83) (xy 275.59 36.83))
    (stroke (width 0) (type default))
    (uuid afd49a39-9d15-46fd-a7d4-09532fe0a686)
  )
  (wire (pts (xy 180.34 132.08) (xy 180.34 134.62))
    (stroke (width 0) (type default))
    (uuid b0228c6f-0765-4bd2-9d4c-8bfacbde2fd0)
  )
  (wire (pts (xy 114.3 40.64) (xy 125.73 40.64))
    (stroke (width 0) (type default))
    (uuid b0cc8654-3cd2-4555-9ff8-b997e19fcc37)
  )
  (wire (pts (xy 273.05 77.47) (xy 275.59 77.47))
    (stroke (width 0) (type default))
    (uuid b2adb69a-6b8d-4358-b58a-7c03af2ffd07)
  )
  (wire (pts (xy 170.18 77.47) (xy 179.07 77.47))
    (stroke (width 0) (type default))
    (uuid b40d2d9c-48c5-4794-ba84-c34e058e1820)
  )
  (wire (pts (xy 256.54 128.27) (xy 275.59 128.27))
    (stroke (width 0) (type default))
    (uuid b4f6f260-2753-44c9-8e0c-291a5b24cf93)
  )
  (wire (pts (xy 210.82 134.62) (xy 213.36 134.62))
    (stroke (width 0) (type default))
    (uuid b68d265a-420e-4914-9017-bbc6134e61a1)
  )
  (wire (pts (xy 214.63 38.1) (xy 214.63 35.56))
    (stroke (width 0) (type default))
    (uuid b769cfc4-e651-4e1e-aca3-069fd73361d0)
  )
  (wire (pts (xy 49.53 22.86) (xy 63.5 22.86))
    (stroke (width 0) (type default))
    (uuid b79995bd-aab4-4ca1-b811-80bbb85bc24b)
  )
  (wire (pts (xy 31.75 151.13) (xy 36.83 151.13))
    (stroke (width 0) (type default))
    (uuid b8b6614b-8c1f-42db-8f7f-c7ba121a699b)
  )
  (wire (pts (xy 233.68 139.7) (xy 247.65 139.7))
    (stroke (width 0) (type default))
    (uuid b9ed867f-5a9f-4da5-af7a-dae6189f338c)
  )
  (wire (pts (xy 123.19 43.18) (xy 123.19 45.72))
    (stroke (width 0) (type default))
    (uuid ba23ebe4-2dc5-4818-affa-2e8d368defe8)
  )
  (wire (pts (xy 128.27 144.78) (xy 133.35 144.78))
    (stroke (width 0) (type default))
    (uuid bc305c17-b45c-4a6b-894a-7b1accee559c)
  )
  (wire (pts (xy 91.44 49.53) (xy 91.44 52.07))
    (stroke (width 0) (type default))
    (uuid be3ed675-b1c2-4cfa-9dd8-46ee7715079f)
  )
  (wire (pts (xy 209.55 38.1) (xy 214.63 38.1))
    (stroke (width 0) (type default))
    (uuid c2363275-d650-4edc-b4e5-bbd6931c5610)
  )
  (wire (pts (xy 172.72 74.93) (xy 179.07 74.93))
    (stroke (width 0) (type default))
    (uuid c290203f-3213-44c4-a49f-7ab8966cb0c3)
  )
  (wire (pts (xy 177.8 132.08) (xy 180.34 132.08))
    (stroke (width 0) (type default))
    (uuid c2ca782a-d697-4b6e-8bd7-3d8199ac3b25)
  )
  (wire (pts (xy 273.05 85.09) (xy 273.05 87.63))
    (stroke (width 0) (type default))
    (uuid c31fdaea-a485-434d-9f9f-20e74acc71f6)
  )
  (wire (pts (xy 165.1 74.93) (xy 172.72 74.93))
    (stroke (width 0) (type default))
    (uuid c3b093aa-480a-4382-b784-f5ac554a68fc)
  )
  (wire (pts (xy 31.75 143.51) (xy 36.83 143.51))
    (stroke (width 0) (type default))
    (uuid c3d2e152-f63f-4072-9bca-7e627f2e2be8)
  )
  (wire (pts (xy 273.05 74.93) (xy 273.05 77.47))
    (stroke (width 0) (type default))
    (uuid c4f57d84-44ef-43bd-8ef9-f6ad8a3f8a8d)
  )
  (wire (pts (xy 44.45 92.71) (xy 44.45 95.25))
    (stroke (width 0) (type default))
    (uuid c526bc8e-bdc0-4cbf-88fb-c6d4f060a576)
  )
  (wire (pts (xy 259.08 123.19) (xy 275.59 123.19))
    (stroke (width 0) (type default))
    (uuid c5af006c-ed9c-4e8a-b861-2fb7ca1e0159)
  )
  (wire (pts (xy 254 128.27) (xy 254 130.81))
    (stroke (width 0) (type default))
    (uuid c680807f-5df3-4c30-9926-093b702e6fc0)
  )
  (wire (pts (xy 63.5 92.71) (xy 63.5 95.25))
    (stroke (width 0) (type default))
    (uuid c876ffce-0919-41df-a5d3-40e496298fd6)
  )
  (wire (pts (xy 74.93 85.09) (xy 74.93 87.63))
    (stroke (width 0) (type default))
    (uuid c9de4bac-614f-4ebe-9946-b92f5980bd53)
  )
  (wire (pts (xy 273.05 97.79) (xy 275.59 97.79))
    (stroke (width 0) (type default))
    (uuid ca9d7a85-0c31-4c06-a8bf-e8a1a72a3cec)
  )
  (wire (pts (xy 130.81 152.4) (xy 130.81 154.94))
    (stroke (width 0) (type default))
    (uuid cc005641-5010-403d-b9f4-12203673686a)
  )
  (wire (pts (xy 167.64 52.07) (xy 167.64 53.34))
    (stroke (width 0) (type default))
    (uuid cc13ac2e-658d-44c8-9b25-6bdff546e697)
  )
  (wire (pts (xy 229.87 44.45) (xy 232.41 44.45))
    (stroke (width 0) (type default))
    (uuid cd65a122-38e3-4a39-8edf-138c731ada5e)
  )
  (wire (pts (xy 31.75 148.59) (xy 36.83 148.59))
    (stroke (width 0) (type default))
    (uuid cf9f1442-f50d-4cc7-932a-6fa0c5f62810)
  )
  (wire (pts (xy 15.24 30.48) (xy 29.21 30.48))
    (stroke (width 0) (type default))
    (uuid cfe14931-4673-4cd9-bb1a-c11f09226e1b)
  )
  (wire (pts (xy 27.94 173.99) (xy 27.94 176.53))
    (stroke (width 0) (type default))
    (uuid d01630d5-5ecc-47fb-b73c-73c93046126c)
  )
  (wire (pts (xy 233.68 142.24) (xy 247.65 142.24))
    (stroke (width 0) (type default))
    (uuid d08837c3-6bd9-4508-bb85-8572eee5167b)
  )
  (wire (pts (xy 144.78 62.23) (xy 179.07 62.23))
    (stroke (width 0) (type default))
    (uuid d32eef08-0ea9-4708-bb2e-2f87c2598a39)
  )
  (wire (pts (xy 273.05 90.17) (xy 275.59 90.17))
    (stroke (width 0) (type default))
    (uuid d43b8fff-0a87-4c83-83a3-bca18fd408eb)
  )
  (wire (pts (xy 60.96 73.66) (xy 63.5 73.66))
    (stroke (width 0) (type default))
    (uuid d7011522-8df8-4b0b-ae6c-4a91f783104b)
  )
  (wire (pts (xy 246.38 72.39) (xy 246.38 57.15))
    (stroke (width 0) (type default))
    (uuid d70416ba-6128-449d-9d29-b89f04f02730)
  )
  (wire (pts (xy 233.68 137.16) (xy 247.65 137.16))
    (stroke (width 0) (type default))
    (uuid d70a9be5-2776-4643-a0a5-d352222a4395)
  )
  (wire (pts (xy 119.38 92.71) (xy 110.49 92.71))
    (stroke (width 0) (type default))
    (uuid d75857f1-9a32-4fae-b516-01c1e88fab4f)
  )
  (wire (pts (xy 256.54 128.27) (xy 256.54 135.89))
    (stroke (width 0) (type default))
    (uuid d8c1cdc8-0940-43f9-9d51-4c3591b8c8be)
  )
  (wire (pts (xy 144.78 52.07) (xy 144.78 54.61))
    (stroke (width 0) (type default))
    (uuid d8c75dca-6d9b-4ab7-b0c8-82306f3e96cb)
  )
  (wire (pts (xy 182.88 142.24) (xy 182.88 144.78))
    (stroke (width 0) (type default))
    (uuid d9365c54-619a-43b8-812e-bab8ce654d92)
  )
  (wire (pts (xy 62.23 143.51) (xy 78.74 143.51))
    (stroke (width 0) (type default))
    (uuid d985717d-7038-4c02-91be-b60c96b61f74)
  )
  (wire (pts (xy 22.86 166.37) (xy 22.86 168.91))
    (stroke (width 0) (type default))
    (uuid d9bbb709-a9df-4df3-84f5-9055bf39253d)
  )
  (wire (pts (xy 209.55 38.1) (xy 209.55 40.64))
    (stroke (width 0) (type default))
    (uuid da9d72f0-623f-48f5-a738-6d8362305faa)
  )
  (wire (pts (xy 41.91 82.55) (xy 44.45 82.55))
    (stroke (width 0) (type default))
    (uuid dae67786-4664-4a6d-a4bd-369b4ade9334)
  )
  (wire (pts (xy 256.54 69.85) (xy 275.59 69.85))
    (stroke (width 0) (type default))
    (uuid db5a0976-ab25-4cc8-a126-5578c13d683f)
  )
  (wire (pts (xy 246.38 106.68) (xy 246.38 101.6))
    (stroke (width 0) (type default))
    (uuid dbd442f4-9d6a-44e8-832c-217a4f56bbf2)
  )
  (wire (pts (xy 273.05 82.55) (xy 275.59 82.55))
    (stroke (width 0) (type default))
    (uuid dc9ca820-69a8-4cf5-b484-c24cdca31ad4)
  )
  (wire (pts (xy 254 102.87) (xy 254 105.41))
    (stroke (width 0) (type default))
    (uuid dff32fcc-6a00-4434-bcf5-d86578ffbbb0)
  )
  (wire (pts (xy 41.91 92.71) (xy 44.45 92.71))
    (stroke (width 0) (type default))
    (uuid e127224d-c656-49be-8291-a9ca5bd9e26b)
  )
  (wire (pts (xy 267.97 41.91) (xy 275.59 41.91))
    (stroke (width 0) (type default))
    (uuid e14c45c7-a399-471f-bc1f-58a2cf8079b6)
  )
  (wire (pts (xy 254 72.39) (xy 254 67.31))
    (stroke (width 0) (type default))
    (uuid e2a9afcf-bbf6-44a7-af94-60250c7ed4e0)
  )
  (wire (pts (xy 207.01 64.77) (xy 207.01 68.58))
    (stroke (width 0) (type default))
    (uuid e5d16051-96bc-40b5-924b-5bb4726e3a2d)
  )
  (wire (pts (xy 207.01 74.93) (xy 207.01 71.12))
    (stroke (width 0) (type default))
    (uuid e6140549-b608-4982-91f1-962c7075feb2)
  )
  (wire (pts (xy 227.33 104.14) (xy 227.33 101.6))
    (stroke (width 0) (type default))
    (uuid e698ebb0-bb9f-403d-aa3f-228fb10d1b5e)
  )
  (wire (pts (xy 46.99 125.73) (xy 46.99 128.27))
    (stroke (width 0) (type default))
    (uuid e6e6f899-f214-41b8-961b-9062bfdb4893)
  )
  (wire (pts (xy 114.3 30.48) (xy 109.22 30.48))
    (stroke (width 0) (type default))
    (uuid e6fd427f-f34f-4ab9-b601-3b2555a5bba3)
  )
  (wire (pts (xy 254 133.35) (xy 254 130.81))
    (stroke (width 0) (type default))
    (uuid e722a5ef-8672-4323-ae7e-2ead78aecee9)
  )
  (wire (pts (xy 29.21 82.55) (xy 31.75 82.55))
    (stroke (width 0) (type default))
    (uuid e836b207-aa05-4131-be0c-fa9831134b26)
  )
  (wire (pts (xy 240.03 46.99) (xy 246.38 46.99))
    (stroke (width 0) (type default))
    (uuid e9712980-985e-4471-b1f5-4d2f08fd6144)
  )
  (wire (pts (xy 229.87 44.45) (xy 229.87 39.37))
    (stroke (width 0) (type default))
    (uuid ea310617-ee81-48a8-b344-72f7ff43b737)
  )
  (wire (pts (xy 97.79 92.71) (xy 105.41 92.71))
    (stroke (width 0) (type default))
    (uuid ef88a13c-c700-46eb-82d5-4909e09de270)
  )
  (wire (pts (xy 115.57 182.88) (xy 115.57 185.42))
    (stroke (width 0) (type default))
    (uuid f042bf3e-86c0-42b1-9cf0-146039eab0bb)
  )
  (wire (pts (xy 204.47 35.56) (xy 204.47 38.1))
    (stroke (width 0) (type default))
    (uuid f092a35b-6d86-4de9-ad08-824309b6c4b1)
  )
  (wire (pts (xy 231.14 104.14) (xy 231.14 106.68))
    (stroke (width 0) (type default))
    (uuid f0ab4b34-0fe9-4bfe-8d4a-2330bb472d3e)
  )
  (wire (pts (xy 250.19 46.99) (xy 275.59 46.99))
    (stroke (width 0) (type default))
    (uuid f0c431d2-d0d8-49d9-ad49-c7112831275b)
  )
  (wire (pts (xy 229.87 44.45) (xy 229.87 46.99))
    (stroke (width 0) (type default))
    (uuid f3900fa5-824c-449c-b48a-ce5fe279ca79)
  )
  (wire (pts (xy 144.78 62.23) (xy 144.78 64.77))
    (stroke (width 0) (type default))
    (uuid f3b36e4f-5355-40f4-9135-e781fe9ff0db)
  )
  (wire (pts (xy 97.79 87.63) (xy 105.41 87.63))
    (stroke (width 0) (type default))
    (uuid f3e96bee-dfde-42b0-9f70-f44db4b1cc0c)
  )
  (wire (pts (xy 119.38 172.72) (xy 119.38 175.26))
    (stroke (width 0) (type default))
    (uuid f430a98e-7dfc-439c-87d7-09c02fac8052)
  )
  (wire (pts (xy 111.76 182.88) (xy 111.76 180.34))
    (stroke (width 0) (type default))
    (uuid f6f6db58-b424-4b81-b643-bfe786bc310d)
  )
  (wire (pts (xy 251.46 64.77) (xy 251.46 72.39))
    (stroke (width 0) (type default))
    (uuid f80a2a5b-dbdd-4dae-9d52-ba31db919543)
  )
  (wire (pts (xy 207.01 71.12) (xy 209.55 71.12))
    (stroke (width 0) (type default))
    (uuid f988d5e4-996d-41c9-a5e2-5d735bd33cf9)
  )
  (wire (pts (xy 52.07 33.02) (xy 52.07 35.56))
    (stroke (width 0) (type default))
    (uuid f9beae9c-49c1-441f-86f0-e44f8cc36094)
  )
  (wire (pts (xy 111.76 135.89) (xy 111.76 147.32))
    (stroke (width 0) (type default))
    (uuid fb33fa60-93dc-4b20-bc6c-4b92a62f373b)
  )
  (wire (pts (xy 49.53 184.15) (xy 49.53 186.69))
    (stroke (width 0) (type default))
    (uuid fb60aeae-9faa-4fcf-9e26-653b27793c8b)
  )
  (wire (pts (xy 167.64 64.77) (xy 179.07 64.77))
    (stroke (width 0) (type default))
    (uuid fb8ea2cb-9f32-4727-bfb6-d1f9891f8bee)
  )
  (wire (pts (xy 80.01 166.37) (xy 62.23 166.37))
    (stroke (width 0) (type default))
    (uuid fc7b257f-78d7-4080-9ba3-5f5960d56cb6)
  )
  (wire (pts (xy 254 67.31) (xy 275.59 67.31))
    (stroke (width 0) (type default))
    (uuid fdee62dc-29d8-46ed-8244-d65c975c970f)
  )
  (wire (pts (xy 273.05 92.71) (xy 273.05 95.25))
    (stroke (width 0) (type default))
    (uuid fe348096-b2f8-4ef9-81bb-88e38b21ad63)
  )
  (wire (pts (xy 15.24 22.86) (xy 29.21 22.86))
    (stroke (width 0) (type default))
    (uuid ffb56864-5cb6-4151-a1e3-87bed77ccd81)
  )

  (rectangle (start 142.24 30.48) (end 177.8 41.91)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 0e8e40dd-f72f-4ad1-824f-9499927b1db8)
  )
  (rectangle (start 142.24 13.97) (end 175.26 29.21)
    (stroke (width 0) (type default))
    (fill (type none))
    (uuid 414cf910-ccb2-4089-a97f-e05b7f917ca4)
  )

  (text "I2C Addr: 0x68" (at 144.78 115.57 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 09fe7555-fcd3-4cdb-8a18-b2f8407566ca)
  )
  (text "4-Wire, 8-bit Serial Interface" (at 251.46 144.78 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 212d9ca0-047b-4e5b-a163-1e337ff96846)
  )
  (text "Status LEDs set for 1mA" (at 55.88 104.14 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 321169ce-ca94-4a70-877e-c4390a97c8c0)
  )
  (text "SPEAKER\n" (at 180.34 19.05 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 376db497-71f5-45d4-aac1-e58a581bfb05)
  )
  (text "Display\n" (at 248.92 17.78 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 3fc3450e-e56f-4897-8322-99e17ba5de60)
  )
  (text "GAIN_SLOT connection" (at 153.67 16.51 0)
    (effects (font (size 1.27 1.27) bold) (justify left bottom))
    (uuid 4928e484-90ab-4ee0-ad8f-b55ad5cecca1)
  )
  (text "RGB LEDs set for 5mA" (at 97.79 100.33 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5025e152-4b37-4631-bf43-d7c832519b6b)
  )
  (text "100K to GND\n0R to GND\nunconnected\n0R to +3V3\n100K to +3V3"
    (at 156.21 27.94 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 5d2716ce-cd55-4fe9-a800-42ded1dcff8d)
  )
  (text "Touch I2C Addr: 0x38" (at 246.38 21.59 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 6120ec93-4a73-4c96-bd2e-77d493688285)
  )
  (text "IMU" (at 148.59 111.76 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 6677e157-a401-4bf4-8eba-e58a387ab445)
  )
  (text "Controls\n" (at 48.26 17.78 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 6afab41b-adec-45b8-bc8e-01a95dbb3e48)
  )
  (text "Gain (dB)" (at 143.51 16.51 0)
    (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom))
    (uuid 731fa853-2800-494e-9086-22d238cf1b41)
  )
  (text "IO Expander\n" (at 36.83 111.76 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 93879e66-5ede-439d-8d0a-fc3eb348c744)
  )
  (text "LINK" (at 114.3 17.78 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid 97dec83a-93d2-4df6-ba1f-2b5f8d05ff69)
  )
  (text "  0R\n210.2K\n 634K" (at 148.59 40.64 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 9ccc6210-2737-49a8-9495-7fc334d854df)
  )
  (text "SD_MODE Pullup" (at 143.51 33.02 0)
    (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom))
    (uuid b321207d-f360-4184-9c4a-cb064996d5bb)
  )
  (text "BOOT & STATUS" (at 54.61 67.31 0)
    (effects (font (size 3 3)) (justify left bottom))
    (uuid b3cd2f77-db6a-426a-94b0-f648a3aa8433)
  )
  (text "Note: Include axis diagram for XYZ on silkscreen close to IMU."
    (at 123.19 119.38 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid b94734db-c210-42d4-bbab-8126df2c2dc3)
  )
  (text "I2C Addr: 0x20\n" (at 43.18 115.57 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid c913e414-ff52-4778-8711-1bfbfa58a89a)
  )
  (text "Left\nRight\nL/2 + R/2" (at 162.56 40.64 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid ca285fbe-6743-4077-aac9-6aebd288fb73)
  )
  (text "Audio Channel" (at 162.56 33.02 0)
    (effects (font (size 1.27 1.27) (thickness 0.254) bold) (justify left bottom))
    (uuid e8c77424-a771-482d-97c0-fb0441cde1ee)
  )
  (text "15\n12\n9\n6\n3" (at 146.05 27.94 0)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f403580b-bb24-49d9-b6c6-2a7b3503e4df)
  )

  (label "BUTTON_LEFT" (at 78.74 140.97 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 0109ccc2-f01c-4df3-8aaf-241c8b856211)
  )
  (label "DISP_CS_N" (at 259.08 54.61 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 0cc17e44-1a60-4e59-9bbc-a56f41c36c01)
  )
  (label "BUTTON_A" (at 49.53 22.86 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 14a4dbdc-ab0d-4c95-a0c4-01c09de8bc42)
  )
  (label "BUTTON_UP" (at 15.24 22.86 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 164a39fd-8ea0-43b9-9859-6e1599101286)
  )
  (label "BUTTON_SELECT" (at 78.74 146.05 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 184dd14e-4fb5-4157-a78a-f96e0f04740c)
  )
  (label "DISP_VCI" (at 231.14 83.82 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 21bbe81f-53da-490d-91c7-69b7a3cbcbc6)
  )
  (label "DISP_IOVCC" (at 259.08 46.99 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 22a3aa2c-65ad-473d-9589-8f7d46e88230)
  )
  (label "DISP_LEDA" (at 259.08 115.57 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 230b9fa8-5eb8-41c1-9c79-4d83c729eba2)
  )
  (label "BUTTON_LEFT" (at 15.24 30.48 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 348163b4-eb1e-429a-8f17-80b4e8d41128)
  )
  (label "DISP_SDI" (at 259.08 64.77 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 37a0700e-f687-4e05-8df8-9f4dc6576746)
  )
  (label "DISP_CLK" (at 259.08 57.15 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3c124733-20bb-4100-b8d2-c136836d68df)
  )
  (label "BUTTON_SELECT" (at 49.53 44.45 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 3ef7819c-e016-463c-a09d-d58efc8cad0f)
  )
  (label "GAIN_SLOT" (at 168.91 62.23 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 430f32bc-a1ea-447c-8352-e097606d526a)
  )
  (label "DISP_VCI" (at 259.08 49.53 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 4438a471-9ba9-482d-a293-5a5622aab06b)
  )
  (label "BUTTON_DOWN" (at 78.74 143.51 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 58af56de-676f-4fd1-bab4-c7fe62bc029e)
  )
  (label "DISP_RESET" (at 80.01 173.99 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 5c929f24-aa0e-40e4-9e6e-08e6eb65aec3)
  )
  (label "DISP_LEDK_2" (at 247.65 142.24 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 6938d7d3-94ed-42e2-8452-53de8ca5320e)
  )
  (label "BUTTON_A" (at 78.74 153.67 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 6f5b15eb-3a67-4cd6-a4fd-a27fdd27f78c)
  )
  (label "DISP_IM0" (at 259.08 128.27 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 74791766-500e-4173-b2f3-417e435657db)
  )
  (label "BUTTON_UP" (at 78.74 135.89 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 794d1db4-1c7b-4b98-9fe0-e71a0707e688)
  )
  (label "DISP_D_C" (at 259.08 59.69 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 7cab5744-50f0-4ca1-b02f-747dda78acf0)
  )
  (label "DISP_LEDK_1" (at 247.65 139.7 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 7e2cacaa-0838-4846-bab7-db2f2a0d944d)
  )
  (label "DISP_LEDK_0" (at 247.65 137.16 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 827fe1fa-b214-487f-ab18-90a4f7f66fca)
  )
  (label "BUTTON_DOWN" (at 15.24 25.4 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 887ebc9e-86ba-453d-9219-09e38040deb6)
  )
  (label "DISP_LEDK_0" (at 259.08 118.11 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 92314609-dfbc-4898-bd50-c103d0113a4c)
  )
  (label "DISP_IOVCC" (at 246.38 83.82 270) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid 9528cf41-bcb7-47cf-ac92-ed4d63c2b524)
  )
  (label "DISP_RESET" (at 259.08 69.85 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 960ea3c9-2927-41df-bc0c-f178d1d915b2)
  )
  (label "DISP_IM2" (at 259.08 133.35 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid 99d0618d-559f-47f2-b162-7eefefe35b9d)
  )
  (label "BUTTON_START" (at 78.74 148.59 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid a8d9cd5f-8963-4bf4-bb28-92ec6a169664)
  )
  (label "TOUCH_RESET" (at 254 36.83 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid c4512ad7-47ca-4c7d-b674-c938add09560)
  )
  (label "BUTTON_B" (at 78.74 151.13 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid d1956a75-49f6-4333-b0e4-f6ae3a739033)
  )
  (label "DISP_LEDK_1" (at 259.08 120.65 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid d2601e6b-e842-4d80-b59e-8dcbcfad92b3)
  )
  (label "BUTTON_RIGHT" (at 78.74 138.43 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right bottom))
    (uuid d582ea19-57ee-49c1-88ad-7aa618d4ad57)
  )
  (label "DISP_LEDK_2" (at 259.08 123.19 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid de954036-e496-4a3b-877c-4e5906e0381d)
  )
  (label "DISP_SDO" (at 259.08 67.31 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e246a761-8c44-4d24-94bb-476f0eb9143c)
  )
  (label "DISP_FMARK" (at 259.08 52.07 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid e52d4465-4b78-4d37-8763-21ce056395b7)
  )
  (label "DISP_IM1" (at 259.08 130.81 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid ed9390ae-628a-4dbf-b235-cfe1f900bfe3)
  )
  (label "BUTTON_START" (at 49.53 46.99 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f21d2c8f-744d-471f-9d34-f4585d6dc1be)
  )
  (label "BUTTON_RIGHT" (at 15.24 33.02 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f4a801af-9fa4-4ee5-86bd-ac735beef1d5)
  )
  (label "BUTTON_B" (at 49.53 25.4 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left bottom))
    (uuid f866f76d-8fda-4633-b00a-b88e3c2b266f)
  )

  (global_label "IMU_INT2" (shape input) (at 190.5 142.24 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 0186bb9c-20d2-476c-b29e-b46529090492)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 201.9519 142.24 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "IO_INT_N" (shape input) (at 31.75 140.97 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0d39e6f4-93ab-493c-9cb0-d46ac54626f5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 20.6609 140.97 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "IO_SDA" (shape input) (at 31.75 151.13 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 0ee7eed3-d4f7-4f56-84fc-9038f5257804)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 22.2938 151.13 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "DISP_D_C" (shape input) (at 238.76 59.69 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 21cb6972-5431-4e3d-9778-9d5789a0b88c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 226.9453 59.69 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "SENSOR_SCL" (shape input) (at 267.97 39.37 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 28ba4c0d-4a66-4432-a8af-f11fae627a07)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 253.0106 39.37 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "TOUCH_RESET" (shape input) (at 80.01 176.53 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 2adf8052-70ef-40cd-b793-b28c54996de4)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 95.937 176.53 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "GBA_SO" (shape input) (at 114.3 33.02 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 2d2a462a-f86f-4ab2-9925-3cdc4208973c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 104.1786 33.02 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "GBA_SC" (shape input) (at 114.3 40.64 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 32d64854-1492-4911-9779-ed7b7588f090)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 104.2391 40.64 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "DISP_SDI" (shape input) (at 238.76 64.77 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3beab657-2a97-4e65-8d22-da61e95082f4)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 227.3686 64.77 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "AUDIO_DATA" (shape input) (at 165.1 72.39 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3dc11839-5f86-4cc6-959c-9bfb5fde9bc6)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 151.108 72.39 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "AUDIO_SD" (shape input) (at 165.1 64.77 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 3fe71f1d-bacf-448b-bb90-4067ab7c45f6)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 153.0433 64.77 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "BOARD_ID0" (shape input) (at 80.01 161.29 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 405a489d-f818-4e21-aac1-395e45697224)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 93.2762 161.29 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "SENSOR_SDA" (shape input) (at 128.27 144.78 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 41894b5f-0204-41f9-84c5-89df3c9249a2)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 113.2501 144.78 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "IMU_FSYNC" (shape input) (at 128.27 152.4 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 461428b4-1cb9-4e14-95c8-a3e62ad3348a)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 114.9433 152.4 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "STATUS_G" (shape input) (at 97.79 87.63 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 519749f0-27ed-49d5-bfd9-ffdbba8b430a)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 85.7939 87.63 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "BOARD_ID3" (shape input) (at 80.01 168.91 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 5b95ac79-d523-40f9-b404-01783d60614e)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 93.2762 168.91 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "GBA_SD" (shape input) (at 114.3 38.1 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 66d58e9c-6599-4e36-89b7-78f838efa46a)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 104.2391 38.1 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "GBA_SI" (shape input) (at 114.3 35.56 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 680974e9-922c-4ec6-bf56-fa9d19c13c8f)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 104.9043 35.56 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "SENSOR_SDA" (shape input) (at 267.97 41.91 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 689b8167-8f8e-4fb9-b623-d6b25f3b5adb)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 252.9501 41.91 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "IO_RESET_N" (shape input) (at 31.75 143.51 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 69d4b739-1c36-460f-93e3-7666e3bcd794)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 17.8187 143.51 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "STATUS_R" (shape input) (at 97.79 82.55 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 7607644f-672a-4c98-a69c-811cbfe715d6)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 85.7939 82.55 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "BOARD_ID1" (shape input) (at 80.01 163.83 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid 78263e51-779b-4bb2-9046-5d17db95ef48)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 93.2762 163.83 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "DISP_CLK" (shape input) (at 238.76 57.15 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 7a934a2f-4926-4246-945b-f7541e6376c1)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 226.8848 57.15 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "RESET_N" (shape input) (at 29.21 92.71 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 7df695a6-adec-44e1-905a-5662a7bfe0cf)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 18.1816 92.71 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "DISP_CS_N" (shape input) (at 238.76 54.61 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 7f3407bf-ccbe-44ac-b189-c2180b9230a8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 225.6753 54.61 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "AUDIO_LRCLK" (shape input) (at 165.1 77.47 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 8370affc-5f99-49f9-b32e-accb7b6d4952)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 149.6566 77.47 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "STATUS_B" (shape input) (at 97.79 92.71 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 90fe5f9d-cf60-4f88-93c8-1cdc52b101ee)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 85.7939 92.71 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "DISP_FMARK" (shape input) (at 238.76 52.07 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 9459b282-0a45-434f-97ad-468b04a5cff5)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 224.2843 52.07 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "IO_SCL" (shape input) (at 31.75 148.59 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 975cf25d-5eba-49a9-bf11-d99a314756e8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 22.3543 148.59 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "TOUCH_IRQ" (shape input) (at 250.19 34.29 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid 9b35cbea-da0c-494f-8b08-37d97a862942)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 236.8028 34.29 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "DISP_BACKLIGHT" (shape input) (at 210.82 132.08 90) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid b5de52a0-5215-4df2-ad26-f7fee3c6c45c)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 210.82 113.6733 90)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "CHARGE_STAT" (shape input) (at 60.96 73.66 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid bda1d1aa-0cf4-4bfc-a2ad-ea3505a13d8b)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 45.3958 73.66 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "USB_BOOT_N" (shape input) (at 29.21 82.55 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid bf8ee439-4a06-4328-9cf4-591c3725aa64)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 14.2505 82.55 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "SENSOR_SCL" (shape input) (at 128.27 142.24 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid c0fb7368-3845-4e88-ad65-4379bc6a1e39)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 113.3106 142.24 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "BOARD_ID2" (shape input) (at 80.01 166.37 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid c169cb89-7c1a-498d-bef0-6354e71c34c0)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 93.2762 166.37 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "CHARGE_STAT" (shape input) (at 80.01 158.75 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid e734048b-b785-4524-aae7-782cdb12a901)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 95.5742 158.75 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )
  (global_label "AUDIO_BCLK" (shape input) (at 165.1 74.93 180) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify right))
    (uuid f37a5d61-0929-4087-a409-4acf83be4776)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 150.6847 74.93 0)
      (effects (font (size 1.27 1.27)) (justify right) hide)
    )
  )
  (global_label "GAUGE_QSTRT" (shape input) (at 80.01 171.45 0) (fields_autoplaced)
    (effects (font (size 1.27 1.27)) (justify left))
    (uuid fa792e98-b2ff-468a-92fd-02848dd194a8)
    (property "Intersheetrefs" "${INTERSHEET_REFS}" (at 95.8161 171.45 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
  )

  (symbol (lib_id "power:GND") (at 256.54 135.89 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0115ca29-004f-425a-be53-07a8908e5796)
    (property "Reference" "#PWR043" (at 256.54 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 256.54 140.97 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 256.54 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 256.54 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1c4fa369-11b5-4715-a2cc-31f949b6d44f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR043") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR075") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 191.77 49.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 03450188-752a-468b-896d-fd3fdcb34ef6)
    (property "Reference" "#PWR058" (at 191.77 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 191.77 44.45 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 191.77 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 191.77 49.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 807bccd9-8332-423e-9120-272f69e6b6aa))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR058") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR079") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 248.92 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 04337f65-efa3-40c9-b865-6ea6b7d6a947)
    (property "Reference" "TP13" (at 248.92 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_D_C" (at 246.38 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 243.84 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 243.84 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 248.92 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 248.92 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c471b645-50ad-4236-811a-b2367d782623))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP13") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 132.08 85.09 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 04ad9f08-64cf-4871-8b79-7b56aa59733b)
    (property "Reference" "#PWR054" (at 132.08 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 132.08 80.01 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 132.08 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 132.08 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c0837d35-fda3-4e33-92a3-7004e6a4c647))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR054") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR070") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 246.38 106.68 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 091df85b-38ee-41d7-af7f-7f4b014fd4a4)
    (property "Reference" "#PWR072" (at 246.38 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 246.38 111.76 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 246.38 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 246.38 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e9a6195e-6400-42a9-b2f9-edc8f228ca8c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR072") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR096") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Switch:SW_Push") (at 36.83 82.55 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 0e9ba2ea-80f6-4821-8dbe-67e86849f857)
    (property "Reference" "SW2" (at 36.83 74.93 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "BOOT" (at 36.83 77.47 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "KudzuLibrary:SW_Push_1P1T_NO_CK_PTS840_GK_SMTR_LFS" (at 36.83 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 36.83 77.47 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.43900" (at 36.83 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.41360" (at 36.83 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "CKN10508CT-ND" (at 36.83 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid eb9436a5-43f3-47ba-a792-fdee5f98b699))
    (pin "2" (uuid 4268f1cd-1f99-46af-9e4b-151fa59764fc))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "SW2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "SW2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Rust_Board:ICM-42670-P") (at 156.21 144.78 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 10c17583-eade-422f-b4ae-92f66b9a85a0)
    (property "Reference" "U7" (at 155.575 124.46 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "ICM-42670-P" (at 155.575 127 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Rust_Board:IC_ICM-42670-P" (at 158.75 170.18 0)
      (effects (font (size 1.27 1.27)) (justify left bottom) hide)
    )
    (property "Datasheet" "" (at 160.02 129.54 0)
      (effects (font (size 1.27 1.27)) (justify left bottom) hide)
    )
    (property "MAXIMUM_PACKAGE_HEIGHT" "0.81mm" (at 158.75 172.72 0)
      (effects (font (size 1.27 1.27)) (justify left bottom) hide)
    )
    (property "MANUFACTURER" "TDK InvenSense" (at 158.75 167.64 0)
      (effects (font (size 1.27 1.27)) (justify left bottom) hide)
    )
    (property "PARTREV" "1.0" (at 158.75 175.26 0)
      (effects (font (size 1.27 1.27)) (justify left bottom) hide)
    )
    (property "STANDARD" "Manufacturer Recommendations" (at 158.75 165.1 0)
      (effects (font (size 1.27 1.27)) (justify left bottom) hide)
    )
    (property "Price @ 10" "3.66400" (at 156.21 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "3.25680" (at 156.21 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1428-ICM-42670-PCT-ND" (at 156.21 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 301b2235-1359-4634-9c6f-32dffabc27dd))
    (pin "10" (uuid b68d61f5-c4a2-47ce-9795-aee34d3d98af))
    (pin "11" (uuid 9c5b24ad-cf15-4cd8-b2fb-a3ad43dd9b49))
    (pin "12" (uuid 4705be6f-ff91-4fcf-8f9c-f6dbfbe59bcd))
    (pin "13" (uuid 8852a78e-377a-4de5-80f8-16f8e56043b2))
    (pin "14" (uuid 0c159b90-e142-4e16-8ec4-14155a3241f2))
    (pin "2" (uuid edce8c02-da9d-4dc9-958d-c8a1c84364ee))
    (pin "3" (uuid 7612d532-c33c-4d6a-905a-15a28e8a689c))
    (pin "4" (uuid 63f5ffbf-fa20-473d-84e9-383ed94cde9b))
    (pin "5" (uuid 793a11a3-dab5-449f-8be1-13b80a853709))
    (pin "6" (uuid 6595dca8-8c87-4829-83f1-66056bc2f2ac))
    (pin "7" (uuid d8a96fc9-9b67-485c-bf97-467be862ed43))
    (pin "8" (uuid c7c4c583-87c6-4975-b9e8-89d75d4caef9))
    (pin "9" (uuid 536971b3-6526-4adb-a0e4-e106d67e5f6f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "U7") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "U7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 172.72 80.01 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 124999d9-d38e-43ca-a96a-850ac3f48cb1)
    (property "Reference" "TP10" (at 172.72 86.36 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AUDIO_BCLK" (at 170.18 83.312 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 167.64 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 167.64 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 172.72 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 172.72 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7f4e75bf-a1bb-4727-972a-d9c2decb0829))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP23") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 74.93 74.93 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 15562a3c-3e7a-4e89-b045-ad8c0f07a8ac)
    (property "Reference" "#PWR054" (at 74.93 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 74.93 69.85 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 74.93 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 74.93 74.93 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a6ddd975-811e-45e3-b1c3-4cd19ce0996e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR054") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR063") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 52.07 35.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 16f6882c-35e1-45fa-bdae-7f50e33958e4)
    (property "Reference" "#PWR057" (at 52.07 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 52.07 40.64 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 52.07 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 52.07 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid ec5adf2a-2a3c-41d0-aeda-6553213b2ae8))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR065") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 241.3 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1b5647b1-1152-4825-8d00-bb1fa643f1e6)
    (property "Reference" "TP10" (at 241.3 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_FMARK" (at 238.76 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 236.22 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 236.22 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 241.3 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 241.3 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3278bf2f-8144-4cc5-9697-0fa3601fa5d0))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 214.63 33.02 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 1c76ad00-8248-4dea-be8c-64d9c0c8da34)
    (property "Reference" "C18" (at 215.9 31.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10uF" (at 215.9 35.56 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 214.63 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 214.63 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.10800" (at 214.63 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.06140" (at 214.63 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1871-2-ND" (at 214.63 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 272f9bd9-477a-4dcd-bac9-1955dc04aac1))
    (pin "2" (uuid 3b179843-7849-4ac3-b58e-5b3e265308fa))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C18") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C20") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 27.94 166.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1ca1ba89-4943-43ba-a8f6-2027647e09fa)
    (property "Reference" "#PWR074" (at 27.94 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 27.94 161.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 27.94 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 27.94 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 31738a2e-9fbe-45df-8df0-629fab4fa98b))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR074") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR093") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 254 102.87 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 1cee75a6-a3de-47ff-b82e-7975654289a6)
    (property "Reference" "#PWR041" (at 254 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 254 97.79 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 254 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 254 102.87 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a9e28229-7f5e-4bb4-b7a6-110fe6823b14))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR041") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR073") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 144.78 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 244f52b3-758d-4506-8992-f714ebd71c10)
    (property "Reference" "#PWR058" (at 144.78 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 144.78 46.99 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 144.78 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 144.78 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f89f252a-4ed4-4b62-aa04-aba79116cbdb))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR058") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR081") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 246.38 99.06 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 2b88342e-dc21-4a08-b1ea-db24c8c31cdb)
    (property "Reference" "C16" (at 251.46 96.52 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 251.46 101.6 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 246.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 246.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 246.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 246.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 246.38 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f9183c1d-6db0-44ed-a7e4-8e705dd9318a))
    (pin "2" (uuid d521983b-f4bf-4507-911c-b0e8f02d352c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C16") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C23") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Jumper:SolderJumper_2_Bridged") (at 236.22 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 2cb9267e-00a3-4c2b-bb4a-60e4bada715b)
    (property "Reference" "JP2" (at 241.3 48.26 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SolderJumper_2_Bridged" (at 236.22 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm" (at 236.22 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 236.22 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 236.22 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 236.22 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b7a54eb4-d4cc-41e6-a780-0e1da7e5fff2))
    (pin "2" (uuid 6a6987ff-78dd-42f3-ae5f-cec1b3cb5343))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "JP2") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "JP3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 107.95 87.63 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 2ebc975e-ba71-467e-a254-9d4469b5a3dc)
    (property "Reference" "R12" (at 102.87 88.9 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "60.4R 1%" (at 114.3 88.9 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 107.95 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 107.95 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.04200" (at 107.95 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02340" (at 107.95 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "P60.4HTR-ND" (at 107.95 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e9f1451f-a170-4110-9257-24fe3ef72162))
    (pin "2" (uuid 111534d7-ae2d-408d-b306-6627d162fcf7))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R12") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 144.78 57.15 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp yes)
    (uuid 31cc5231-1f99-444d-a203-d1c928585c55)
    (property "Reference" "R13" (at 148.59 55.88 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100K" (at 148.59 58.42 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 144.78 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 144.78 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 144.78 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 144.78 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-100KHRTR-ND" (at 144.78 57.15 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8a2a9f05-eebc-4b80-a558-9aef2930d983))
    (pin "2" (uuid 633fc9b9-526c-426a-8e15-2c6718f2f9a6))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R13") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R22") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 180.34 128.27 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 328dd07e-d96c-434e-bc8b-66ac8e564ab0)
    (property "Reference" "#PWR061" (at 180.34 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 180.34 123.19 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 180.34 128.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 180.34 128.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 374b0be7-8af1-4a3e-9e12-0f8c60ccff8f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR061") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR069") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 22.86 166.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 32fef284-d6a9-45ab-80e6-1971125ef79e)
    (property "Reference" "#PWR074" (at 22.86 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 22.86 161.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 22.86 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 22.86 166.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 80bb388b-9b85-4794-9584-608040d1e729))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR074") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR031") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 44.45 85.09 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 34eaabf7-d3af-4caa-b0b6-6dc0ece2fdd6)
    (property "Reference" "#PWR052" (at 44.45 91.44 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 44.45 90.17 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 44.45 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 44.45 85.09 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f0f3edd3-9fc0-4458-8296-61e0e790a3e4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR052") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR054") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 265.43 30.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 36a4f196-ecb3-407e-8bd1-384b16ceb689)
    (property "Reference" "TP8" (at 265.43 24.13 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "TOUCH_IRQ" (at 267.97 27.178 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 270.51 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 270.51 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 265.43 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 265.43 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 182d89cc-4e7d-4b1e-a27a-70871adcdbda))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP8") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 209.55 25.4 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 378c4672-b1fe-4f03-89a1-ca14047615d1)
    (property "Reference" "#PWR058" (at 209.55 29.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 209.55 20.32 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 209.55 25.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 209.55 25.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3d7f3a6f-199d-41fd-94f7-c143a4e2f0b1))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR058") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR094") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 229.87 39.37 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 37a9cc66-7ba1-45ae-b01d-2a91eef46b04)
    (property "Reference" "#PWR038" (at 229.87 43.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 229.87 34.29 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 229.87 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 229.87 39.37 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5f0e4bee-dc44-434f-b02a-0e4956cfff0a))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR038") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR072") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 243.84 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 3e5d6568-658f-45b5-b2db-ceacab241f68)
    (property "Reference" "TP11" (at 243.84 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_CS_N" (at 241.3 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 238.76 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 238.76 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 243.84 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 243.84 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 3f866c08-3333-4a8b-9ead-ff68eaf656b3))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP11") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 115.57 170.18 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 40167a6d-0fd0-4f28-b5ea-7c518f5beebb)
    (property "Reference" "#PWR062" (at 115.57 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 115.57 165.1 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 115.57 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 115.57 170.18 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 34c419f7-52d9-4861-bcd1-32cbc32d99b8))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR062") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR052") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 74.93 95.25 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 416dc44a-1c8f-4e82-9d10-d3196ff60bd7)
    (property "Reference" "#PWR053" (at 74.93 101.6 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 74.93 100.33 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 74.93 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 74.93 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b1913506-85b4-4401-960e-7b64821cce64))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR053") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR064") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic_MountingPin:Conn_01x40_MountingPin") (at 280.67 82.55 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 42cec4d0-03c5-4e0f-a224-6bf831bef78d)
    (property "Reference" "J9" (at 276.86 139.7 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "Conn_01x40_MountingPin" (at 283.21 87.63 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "KudzuLibrary:FPC-Connector_1x40-1MP_P0.50mm_Horizontal" (at 280.67 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 280.67 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.17" (at 280.67 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.17" (at 280.67 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c90be3e5-4fcc-4820-94e3-f30321b53510))
    (pin "10" (uuid b114c479-056a-40a5-b69a-514f761da285))
    (pin "11" (uuid 9d1c7200-29a7-4a69-aa7e-5d7f12dcecb5))
    (pin "12" (uuid 537dcbcd-d14d-43d3-a590-9462a5056465))
    (pin "13" (uuid 6fc2910d-fb44-4ee2-8c10-479b8ee24c27))
    (pin "14" (uuid 9e7321f0-b254-45e9-9cd9-a2204114e5cf))
    (pin "15" (uuid a090249f-73dd-4cc4-86b4-db420f3c3c3b))
    (pin "16" (uuid 39218f5b-0c5c-41b5-b7d2-9aea9e88fd21))
    (pin "17" (uuid 631fda70-6189-42e5-a3ae-02abbc2b2568))
    (pin "18" (uuid f99579a1-83f4-4365-904c-9cddf7e46d7e))
    (pin "19" (uuid e9c9935e-2001-4902-aba5-036367742390))
    (pin "2" (uuid d715fbaa-71c1-48e3-83af-cf3d23e52824))
    (pin "20" (uuid 87385531-df46-4596-aa7b-e53f528fe530))
    (pin "21" (uuid f75ed486-8cb8-40af-bd66-a3a90d8648ad))
    (pin "22" (uuid e1c5f693-d935-4168-9261-ea0fcf8aad18))
    (pin "23" (uuid 4bade80c-0528-48d9-8c7b-30030d865d30))
    (pin "24" (uuid b043c047-9557-4216-8776-55874e60d1c1))
    (pin "25" (uuid d80dd062-a29c-44ef-8c47-b1458a92d746))
    (pin "26" (uuid a4119aa8-6c8b-469f-ae82-be35af6b2942))
    (pin "27" (uuid 174e8614-8b12-4a2e-a7f4-330eb49ac339))
    (pin "28" (uuid c451b1e3-b82b-4fff-9ccb-85b881badc8e))
    (pin "29" (uuid 87652620-f7f1-48f9-9a24-01abe6997956))
    (pin "3" (uuid 1f20abb7-8d7a-42e7-9017-a192708a884b))
    (pin "30" (uuid d45b3d1b-7069-4dfb-a059-c2c4a9148485))
    (pin "31" (uuid 623f5aca-0e12-4e28-a809-1b337432e297))
    (pin "32" (uuid d7067933-b2c0-4c73-8716-63ad8b3bb0df))
    (pin "33" (uuid 09cfaa67-d6a3-4a33-8637-3cd29da57b99))
    (pin "34" (uuid 6e8ff1cc-1a8e-4f85-89bb-a10652244cd5))
    (pin "35" (uuid 1896e1a4-4e27-4e88-aa42-9249e0eb8f71))
    (pin "36" (uuid ea5bffee-2aed-4d4c-8468-93c51b1a1355))
    (pin "37" (uuid b159c89d-f8e6-4d3c-b304-9c9e929a1fe8))
    (pin "38" (uuid ed401714-af76-41a1-b78c-2954ab510fec))
    (pin "39" (uuid 5ca4be89-1d43-46fa-956c-b3859da3e325))
    (pin "4" (uuid 5dccfdb1-beb5-4f4a-be84-c28f64f2a7af))
    (pin "40" (uuid 95f0b60c-46c0-48f6-907f-45bffbe40b9f))
    (pin "5" (uuid 166659a1-5681-43cf-9128-7a094daefb81))
    (pin "6" (uuid 97e70415-c1a5-4ba4-a806-c2f27bf92d9e))
    (pin "7" (uuid 870f732a-4d4b-451a-b9e8-5d00372d8e0b))
    (pin "8" (uuid 7bef2575-d6d1-4450-a673-841e7413e370))
    (pin "9" (uuid e104ce69-e23f-4c1a-befb-f24b6e3766f2))
    (pin "MP" (uuid f81c8314-4852-467a-8535-bc60948b613a))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "J9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 49.53 186.69 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 43f2b665-2c73-4749-b619-08b671e658ea)
    (property "Reference" "#PWR069" (at 49.53 193.04 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 49.53 191.77 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 49.53 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 49.53 186.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2e617cb7-8dec-46b6-a78e-62ed8cdb9f38))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR069") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR051") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 170.18 80.01 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 44eaff89-a419-49f1-8b53-ea620a2cc3e7)
    (property "Reference" "TP10" (at 170.18 86.36 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AUDIO_LRCLK" (at 167.64 83.312 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 165.1 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 165.1 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 170.18 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 170.18 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2a7e6fcd-4e84-4e63-93d2-c36b70714574))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector_Generic:Conn_01x02") (at 214.63 71.12 0) (mirror x) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 44f294a2-9f9b-4ccb-a1e8-120652f63453)
    (property "Reference" "J8" (at 217.17 71.12 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "Conn_01x02" (at 217.17 68.58 0)
      (effects (font (size 1.27 1.27)) (justify left) hide)
    )
    (property "Footprint" "KudzuLibrary:CONN HEADER SMD 2POS 1.25MM" (at 214.63 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 214.63 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.48300" (at 214.63 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.48300" (at 214.63 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "WM7620CT-ND" (at 214.63 71.12 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8c6c30fc-7a89-4e42-ac8f-1172a3ebf773))
    (pin "2" (uuid 3e555985-872e-4a30-9a52-6d5d8a2692ac))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J8") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "J5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 224.79 62.23 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 4f2f4026-2ad2-4401-9b71-dba11ac5923a)
    (property "Reference" "#PWR038" (at 224.79 66.04 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 224.79 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 224.79 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 224.79 62.23 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 8098895f-1c50-4b07-a572-de45c6832a17))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR038") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR088") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 107.95 82.55 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 575332ba-44b7-4aad-96c7-0900d9feddef)
    (property "Reference" "R11" (at 102.87 83.82 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "280R 1%" (at 114.3 83.82 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 107.95 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 107.95 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 107.95 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01800" (at 107.95 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-280HRTR-ND" (at 107.95 82.55 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dc16d212-4ab2-4e16-bb3f-43e200546227))
    (pin "2" (uuid 86e42993-fe10-4c24-af34-400992a5f321))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R11") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R13") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 191.77 90.17 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 58bf79ae-defa-47ec-b92c-8cff81d85b60)
    (property "Reference" "#PWR057" (at 191.77 96.52 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 191.77 95.25 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 191.77 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 191.77 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 266675ad-70cc-4dd9-b329-fc6f1cdd0c31))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR080") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 156.21 167.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 5a408fe2-58b3-40c0-9075-ab3e34d92817)
    (property "Reference" "#PWR066" (at 156.21 173.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 156.21 172.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 156.21 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 156.21 167.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c72b7717-f49d-49b3-b7a6-2ca15da096e5))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR066") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR066") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 27.94 171.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 5bc0f9aa-9f5c-478d-b627-9d0269ae9e0e)
    (property "Reference" "C18" (at 29.21 170.18 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 29.21 177.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 27.94 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 27.94 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 27.94 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 27.94 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 27.94 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 31e28391-a70a-49b1-b514-b187312c9bdf))
    (pin "2" (uuid 6a0226c2-e3e6-4ee0-93f9-63a39cc61a12))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C18") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C24") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 144.78 67.31 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp yes)
    (uuid 5ceda03e-7ac5-4799-a6b0-bb74758d3125)
    (property "Reference" "R13" (at 148.59 66.04 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "100K" (at 148.59 68.58 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 144.78 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 144.78 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 144.78 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 144.78 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-100KHRTR-ND" (at 144.78 67.31 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b6c08c69-8622-4eca-a77f-b272e0dbb6b7))
    (pin "2" (uuid 7d7fb536-4b91-4850-b9e9-ccc67a02e981))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R13") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R23") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:AP2502") (at 223.52 139.7 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 622691b8-448e-4e52-8194-b6d39ea1b4f0)
    (property "Reference" "U5" (at 224.79 128.27 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AP2502" (at 224.79 130.81 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_TO_SOT_SMD:SOT-23-6" (at 223.52 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.diodes.com/assets/Datasheets/AP2502.pdf" (at 223.52 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.34400" (at 223.52 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.32080" (at 223.52 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "AP2502KTR-G1DITR-ND" (at 223.52 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid e87fa2ba-a233-4aa5-ab0c-1b16d2f228e6))
    (pin "2" (uuid 796599cb-07d0-433a-a7fa-2fc40522d11b))
    (pin "3" (uuid 8d36f6c5-34ac-469b-a014-55c9334d4fa8))
    (pin "4" (uuid a7bb5dc0-3182-4a0f-8ce3-fe1feda2e66c))
    (pin "5" (uuid 8b49b736-af60-4140-923c-fa1f12252561))
    (pin "6" (uuid 1535f939-89c1-4b89-b6e2-c9c5f1e84dcb))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "U5") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "U8") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 111.76 135.89 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 62683021-5b53-4e54-b2d9-3bc74e9e7ca1)
    (property "Reference" "#PWR064" (at 111.76 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 111.76 130.81 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 111.76 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 111.76 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7c9c867d-61c4-45b5-9fde-a39752e10e9c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR064") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR057") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 109.22 27.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 69272a0f-70d6-43c9-8d29-3f896858bace)
    (property "Reference" "#PWR058" (at 109.22 31.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 109.22 22.86 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 109.22 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 109.22 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1436aecd-3620-466e-bcf6-cb795d27516c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR058") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR041") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 63.5 90.17 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 6eae5d15-25f1-444d-a2bc-ef819e9d4c34)
    (property "Reference" "R21" (at 60.96 87.63 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1.5K" (at 60.96 93.98 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 63.5 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 63.5 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 63.5 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 63.5 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-1.50KHRTR-ND" (at 63.5 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dd3aa831-55f9-421e-ab7f-08b2e145e1a3))
    (pin "2" (uuid 6a603bf6-e2a7-4f23-b588-c058b7a93439))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R21") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R11") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 254 128.27 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7079c1ee-0fac-43e0-bfbf-487d3b668ccd)
    (property "Reference" "#PWR042" (at 254 132.08 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 254 124.46 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 254 128.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 254 128.27 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1a71bac3-6c86-42fd-9c1c-8e797d1f51fd))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR042") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR074") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 251.46 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 70c37ce8-ffc6-484b-89b4-3ac41992ae98)
    (property "Reference" "TP14" (at 251.46 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_SDI" (at 248.92 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 246.38 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 246.38 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 251.46 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 251.46 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid f6bd0b47-c24a-420d-9786-6d87e136a630))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP14") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP14") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED_RABG") (at 124.46 87.63 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 72c38936-df96-4647-bde2-c20ef5efa653)
    (property "Reference" "D5" (at 124.46 74.93 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "LED_RABG" (at 124.46 96.52 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "LED_SMD:LED_Cree-PLCC4_3.2x2.8mm_CCW" (at 124.46 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 124.46 88.9 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "CLVBA-FKA-CA1D181BB7R3R3DKR-ND" (at 124.46 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.60000" (at 124.46 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.60000" (at 124.46 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5bd2ea99-891b-42e8-8cc7-74dcd2de9a13))
    (pin "2" (uuid 7eb1d8a8-4317-41b9-8d73-9a1fa76abcfd))
    (pin "3" (uuid eee2077c-cdd0-4b9e-bf3f-8684578c6cf4))
    (pin "4" (uuid 2a856326-0f7f-4437-a23f-9c274bdddead))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "D5") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "D4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Jumper:SolderJumper_2_Bridged") (at 236.22 44.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 74ca8282-268a-4aa1-8911-e395a764d51a)
    (property "Reference" "JP1" (at 241.3 45.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SolderJumper_2_Bridged" (at 236.22 40.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm" (at 236.22 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 236.22 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 236.22 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 236.22 44.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid be3b7a03-97be-4c4b-875f-4b536653f510))
    (pin "2" (uuid e8b09a85-5b53-4f40-8e15-7dbfbf9c96b9))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "JP1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "JP2") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 107.95 92.71 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7587cb4b-a3e5-4cd5-a76f-5f01ab31e77d)
    (property "Reference" "R13" (at 102.87 93.98 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "60.4R 1%" (at 114.3 93.98 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 107.95 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 107.95 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.04200" (at 107.95 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02340" (at 107.95 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "P60.4HTR-ND" (at 107.95 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 704949e8-fbd8-4b7d-a09e-afe747a5ce67))
    (pin "2" (uuid 44acb4d7-d930-4563-b2ad-d5a21b1ba518))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R13") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R21") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 111.76 177.8 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 75f56492-a9d5-46d2-a457-4ac1eb3eb2a3)
    (property "Reference" "C16" (at 116.84 175.26 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10nF" (at 116.84 180.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 111.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 111.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.02500" (at 111.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01340" (at 111.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1009-2-ND" (at 111.76 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6de7c24e-c3e2-4179-a5dd-c7ccb01f3832))
    (pin "2" (uuid 0e6f9356-80d2-41ee-8d70-79922b26e3d4))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C16") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C17") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:AGB_SELECT_START") (at 76.2 46.99 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7b4711f7-796b-49a7-aa1b-192c0db194e6)
    (property "Reference" "SW5" (at 76.2 40.64 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AGB_SELECT_START" (at 76.2 53.34 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "KudzuLibrary:GBA_StartSelect" (at 76.2 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 76.2 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 2f484396-8b06-4e7f-8baf-66f05486b539))
    (pin "2" (uuid fbf5e013-f6bc-43a5-b744-b14f46ea5b1a))
    (pin "3" (uuid 1be7f1da-bf3e-4ddd-886e-290ad845aa7e))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "SW5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 46.99 123.19 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7bb96346-87f3-4093-bfdc-2345a8a93c37)
    (property "Reference" "#PWR068" (at 46.99 127 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 46.99 118.11 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 46.99 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 46.99 123.19 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 88953cf0-a518-457a-9ac2-673f9cf62ece))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR068") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR046") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 91.44 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 7d72a1e7-74b7-4816-814a-b3a39ec689cd)
    (property "Reference" "#PWR057" (at 91.44 58.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 91.44 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 91.44 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 91.44 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 760c6d81-bb6c-4727-b9ff-ebed84916f2c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR068") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 267.97 30.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 7e0b6468-70dc-4f01-a732-3ccfe8f58240)
    (property "Reference" "TP9" (at 267.97 24.13 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "TOUCH_RESET" (at 270.51 27.178 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 273.05 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 273.05 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 267.97 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 267.97 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d74d858d-7753-416a-8d2d-1621a7ad3161))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP9") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:AGB_DPAD") (at 39.37 27.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 80589f0d-5186-4e45-947e-43051aa6c80f)
    (property "Reference" "SW1" (at 39.37 19.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AGB_DPAD" (at 39.37 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "KudzuLibrary:GBA_DPad" (at 39.37 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 39.37 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid dbd396ab-c409-4b1d-9318-31d4314778e7))
    (pin "2" (uuid 1d5eb1f0-6448-41a0-98b2-2624e4b6a583))
    (pin "3" (uuid 5adbebfe-23ca-4c89-b5c5-f738bceb2258))
    (pin "4" (uuid 685b34f9-a1ca-4111-9bcf-c2b65ec2d252))
    (pin "5" (uuid d50a4b05-946b-4cb2-9a26-a56b8749ef45))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "SW1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Jumper:SolderJumper_2_Open") (at 118.11 30.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 816e9da7-02e5-47dd-9bbd-f80951e3dd4b)
    (property "Reference" "JP5" (at 123.19 31.75 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "GBA_VDD" (at 118.11 26.67 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm" (at 118.11 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 118.11 30.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 43196944-9db4-4bd4-a328-43613fbfadc6))
    (pin "2" (uuid d008ede6-7d43-4359-b223-8971ed8be85c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "JP5") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:PI4IOE5V6416") (at 49.53 156.21 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 84a6385f-42e1-4b45-a389-ce9bd7e53641)
    (property "Reference" "U10" (at 52.9941 125.73 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "PI4IOE5V6416" (at 52.9941 128.27 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Package_DFN_QFN:TQFN-24-1EP_4x4mm_P0.5mm_EP2.1x2.1mm" (at 68.58 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.diodes.com/assets/Datasheets/PI4IOE5V6416.pdf" (at 68.58 149.86 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "PI4IOE5V6416ZDEXDICT-ND" (at 49.53 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "1.19200" (at 49.53 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "1.13120" (at 49.53 156.21 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 36c51dc5-885e-4cdf-ab57-9e7378a894ac))
    (pin "10" (uuid 4891c78b-26d6-472b-9d54-50fa1c133957))
    (pin "11" (uuid bfd812b7-a3cf-46e5-be76-2777ebf9731f))
    (pin "12" (uuid 1f905c5b-4a6e-47c1-a270-87f2499a460e))
    (pin "13" (uuid e5f7accd-45af-4342-b456-054002a4c17d))
    (pin "14" (uuid e06053d3-5aab-4516-a998-ba011d5a536a))
    (pin "15" (uuid b0d2ee02-1166-4b16-aff5-8eed20904d0d))
    (pin "16" (uuid 1b8866b7-7afd-474a-99cf-c54cc9ba6f5e))
    (pin "17" (uuid 592b8a93-0e67-4610-a12d-5c60497afdf6))
    (pin "18" (uuid 10f2ad08-d508-4e48-9f89-efc3778e6bc5))
    (pin "19" (uuid d2a9d810-16a4-488f-b2c1-7a1b60283fab))
    (pin "2" (uuid 1966ba26-9bf5-4b04-aa03-8c0648a6a5bb))
    (pin "20" (uuid 94d262a5-72b6-4fc5-99c9-c050c95d17f8))
    (pin "21" (uuid 8e33c3a2-b403-4663-9125-0dda9e24e911))
    (pin "22" (uuid 56e634da-48d9-4ef5-979a-1b052150160e))
    (pin "23" (uuid f43e9d14-262d-44e9-978a-4525ce471b8f))
    (pin "24" (uuid 4c82f2c9-9f86-496e-9582-347e0faf9f49))
    (pin "25" (uuid f0cb15d3-4c36-44ca-a3ad-091406187c31))
    (pin "3" (uuid e303e7fb-4bd5-4556-bbda-7389a09ffdee))
    (pin "4" (uuid 80166307-157c-4b70-9e91-90bba71ff78b))
    (pin "5" (uuid e2acf1f8-20a0-46f4-8f3e-e9bcd18b531e))
    (pin "6" (uuid 51d0de6e-ff30-4bbe-90c9-e9829e95f695))
    (pin "7" (uuid 570c844a-c53d-47cf-8f05-a820972e195a))
    (pin "8" (uuid 954402c0-0b70-44c3-be6a-e32c381e1cf9))
    (pin "9" (uuid 822e6321-d6d5-4017-969e-ea76aabb939a))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "U10") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 115.57 185.42 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8687a8c6-6abf-4c0f-afd5-d4ab9aedfc71)
    (property "Reference" "#PWR072" (at 115.57 191.77 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 115.57 190.5 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 115.57 185.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 115.57 185.42 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 15c3aed7-6ccb-4d8e-9e31-086055d22e1f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR072") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR053") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 91.44 35.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8692d8ed-bfb3-421b-864c-6444061a4698)
    (property "Reference" "#PWR057" (at 91.44 41.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 91.44 40.64 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 91.44 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 91.44 35.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6fb0be41-3b68-49ac-b422-6657ea334996))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR084") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 36.83 176.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 8c893d94-1dbf-4860-b39f-c81a0cf9a43f)
    (property "Reference" "#PWR071" (at 36.83 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 36.83 181.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 36.83 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 36.83 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 0f4da836-0fca-45c1-ac42-ba4186652491))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR071") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR038") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 74.93 81.28 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid 921e9aa0-949f-4a34-bde7-c0e34d7eb8a6)
    (property "Reference" "D3" (at 71.12 81.28 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "GREEN" (at 68.58 83.82 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 74.93 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 74.93 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.13200" (at 74.93 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.13200" (at 74.93 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Forward Voltage" "1.8" (at 74.93 81.28 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "160-1475-1-ND" (at 74.93 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 36844113-5ba0-4078-a187-c9b4662b4fc6))
    (pin "2" (uuid 3482a79a-eb67-4426-b65e-f52df9ea8da1))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "D3") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "D3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 123.19 45.72 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 985a8849-281d-48b6-9509-05bb2bfe8808)
    (property "Reference" "#PWR057" (at 123.19 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 123.19 50.8 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 123.19 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 123.19 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4b021184-c1dc-43c8-bb6d-4cd7759992e8))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR043") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 144.78 72.39 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid 9f151cc7-89d1-4928-9a3f-7063ebc5ab0e)
    (property "Reference" "#PWR057" (at 144.78 78.74 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 144.78 77.47 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 144.78 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 144.78 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a63ba58c-d344-4720-bf37-f4b1e7ced69f))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR082") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 256.54 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a2d56240-bb5e-4ace-aeb4-25915cad686e)
    (property "Reference" "TP16" (at 256.54 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_RESET" (at 254 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 251.46 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 251.46 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 256.54 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 256.54 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 73d2a91b-5f3a-435f-996a-eeae1f0017f2))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP16") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 44.45 95.25 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid a55e3c0a-924c-402d-a021-805741fe14fd)
    (property "Reference" "#PWR051" (at 44.45 101.6 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 44.45 100.33 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 44.45 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 44.45 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 64cf10f0-b418-482c-8a66-5c3e26a37cc8))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR051") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR055") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 22.86 171.45 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid a85f7f72-5ab3-4025-88d5-969781ffaaa8)
    (property "Reference" "C18" (at 24.13 170.18 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 24.13 177.8 90)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 22.86 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 22.86 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 22.86 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 22.86 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 22.86 171.45 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 55e01bcb-5abb-4c1f-81d3-4fa31749f87d))
    (pin "2" (uuid eee6d640-4b1c-4574-b16c-839f737ef288))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C18") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C16") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 204.47 33.02 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid abc6ee77-c464-47f0-88a4-3c9ca5822eb5)
    (property "Reference" "C18" (at 205.74 31.75 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 205.74 35.56 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 204.47 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 204.47 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 204.47 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 204.47 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 204.47 33.02 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 01865843-c89b-4b3a-b701-d07a50e23839))
    (pin "2" (uuid d7100963-ee89-4230-9513-86a1e204734d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C18") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C19") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 227.33 99.06 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid abd1d04f-c7e8-4d42-8cd0-d5ab9a4803de)
    (property "Reference" "C16" (at 232.41 96.52 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "10uF" (at 232.41 101.6 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 227.33 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 227.33 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.10800" (at 227.33 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.06140" (at 227.33 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1871-2-ND" (at 227.33 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c1571904-4287-43e8-97ac-0c9a281ed945))
    (pin "2" (uuid 70afb008-dd46-4b89-9b9c-6aeaf01159ff))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C16") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C21") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:MAX98357") (at 191.77 69.85 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ac4eccba-0fde-4466-90ca-d6a2560a013d)
    (property "Reference" "U9" (at 198.12 53.34 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "MAX98357" (at 191.77 69.85 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Package_DFN_QFN:TQFN-16-1EP_3x3mm_P0.5mm_EP1.23x1.23mm" (at 191.77 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "https://www.analog.com/media/en/technical-documentation/data-sheets/max98357a-max98357b.pdf" (at 191.77 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "MAX98357AETE+TTR-ND" (at 191.77 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "2.59600" (at 191.77 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "2.45440" (at 191.77 69.85 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid aafe7066-6d87-481f-a371-3fa7e8657425))
    (pin "10" (uuid 1325d781-1f18-4326-9f9d-3286a4324423))
    (pin "11" (uuid 902dd071-d370-4d55-bf55-97ce2aa48da1))
    (pin "12" (uuid e597da1d-a552-4724-9a93-654a82ab2c01))
    (pin "13" (uuid 4bc6874a-b664-477b-ad46-7110931ca508))
    (pin "14" (uuid cde15f76-113a-4110-8431-a1456c79560f))
    (pin "15" (uuid c1d12d70-8e7e-45c2-90d0-2cc5a7f602f9))
    (pin "16" (uuid 01f9ed9d-bdfc-443d-b9aa-8ed8ef577e5e))
    (pin "17" (uuid c5b1ae17-bdda-4300-be72-c6b40dfd22c4))
    (pin "2" (uuid 54f42c5c-80d7-4f2d-a8de-eb29b26c3190))
    (pin "3" (uuid 927cde60-be00-4959-8237-be747f09726c))
    (pin "4" (uuid fc461d5e-dd52-4380-b583-c21f78f2eede))
    (pin "5" (uuid 892a04ae-25e6-4f1f-b0c2-5cc706858aba))
    (pin "6" (uuid 3afcae71-4742-47b5-9b93-4623b25105c2))
    (pin "7" (uuid 8bf9bc34-3cb9-4272-9801-621f6263c8ec))
    (pin "8" (uuid 8e4c6d47-cf0f-45d8-b982-5215f0de5a56))
    (pin "9" (uuid 7e4daa83-e5eb-467c-85b1-b20151d27949))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "U9") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Jumper:SolderJumper_2_Bridged") (at 254 109.22 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid afb3380c-4b6b-4442-bb12-e16951ca4281)
    (property "Reference" "JP3" (at 255.27 104.14 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "SolderJumper_2_Bridged" (at 250.19 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm" (at 254 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 254 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 254 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 254 109.22 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6d2b8a02-2a45-462e-ae91-3acc20feaf60))
    (pin "2" (uuid 79725ef8-f4c1-4eee-88e5-08141d8d5f09))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "JP3") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "JP4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 22.86 176.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b045e555-4fad-4f9c-bd21-f894bf4eecd1)
    (property "Reference" "#PWR070" (at 22.86 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 22.86 181.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 22.86 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 22.86 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 99abbe47-044a-40b4-8ad8-7d422e776327))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR070") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR037") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 129.54 133.35 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b2f47870-923a-4bfd-b163-557ba10cd248)
    (property "Reference" "#PWR075" (at 129.54 139.7 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 129.54 138.43 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 129.54 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 129.54 133.35 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 16bd43de-309f-441a-9262-4e7e8ba251dc))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR075") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR061") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 27.94 176.53 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid b9d7360e-d091-4cda-93a3-7a3a32a7622e)
    (property "Reference" "#PWR070" (at 27.94 182.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 27.94 181.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 27.94 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 27.94 176.53 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4ed6506a-603e-4d01-bc2d-66b868d66991))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR070") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR0100") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:+3V3") (at 167.64 52.07 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid babf9a0f-ef36-452d-84af-65c25cdcbaf0)
    (property "Reference" "#PWR058" (at 167.64 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "+3V3" (at 167.64 46.99 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 167.64 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 167.64 52.07 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7f64856d-5063-46cd-884f-fd0f8dd8f7ba))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR058") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR098") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 231.14 106.68 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid c432ec11-1b91-4d58-8277-f8fc6fd52df0)
    (property "Reference" "#PWR072" (at 231.14 113.03 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 231.14 111.76 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 231.14 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 231.14 106.68 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9160f8e7-b958-43b9-9f30-fa48d0c1b0ef))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR072") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR097") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 74.93 90.17 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c5f272b3-a3b0-40c2-b146-41e8074be5b9)
    (property "Reference" "R10" (at 72.39 87.63 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "1.5K" (at 72.39 93.98 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 74.93 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 74.93 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 74.93 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01060" (at 74.93 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-1.50KHRTR-ND" (at 74.93 90.17 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid a13aebda-7858-4492-80e8-8db5d2e80712))
    (pin "2" (uuid 8c2aa492-2739-4c89-adf3-b0a934982903))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R12") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 182.88 144.78 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid c671108d-c3f7-4987-9109-e6abdbb853b5)
    (property "Reference" "TP10" (at 182.88 151.13 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "IMU_INT2" (at 180.34 148.082 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 177.8 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 177.8 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 182.88 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 182.88 144.78 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d7845ce1-7f40-41ad-9099-e47272d4dea6))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP26") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 234.95 99.06 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ce9e55b6-b002-46b4-9740-1ec6198da0ae)
    (property "Reference" "C17" (at 240.03 96.52 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 241.3 101.6 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 234.95 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 234.95 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 234.95 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 234.95 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 234.95 99.06 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid c16041c9-d7b7-42a6-85f3-db110e11f14f))
    (pin "2" (uuid 0d346a42-f8c4-41c1-bb70-6b4bf2598073))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C17") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C22") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Gekkio_Connector_Specialized:GameBoy_LinkPort") (at 130.81 38.1 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid d1b62ff4-7cdc-4ff3-b371-46db8a57eb63)
    (property "Reference" "J7" (at 132.08 50.8 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "GameBoy_LinkPort" (at 116.84 25.4 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Gekkio_Connector:GameBoy_LinkPort_MGB_Horizontal" (at 128.27 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 128.27 45.72 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "2.8" (at 130.81 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "2.8" (at 130.81 38.1 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cce2d933-1573-4d7f-a962-56d1cd516779))
    (pin "2" (uuid 28f1a83c-e18b-45dd-9579-a4a65836175e))
    (pin "3" (uuid 5a6b9065-cd89-46f9-aa94-7cf005831289))
    (pin "4" (uuid ec267bf6-0be4-4e19-9716-74c92572da94))
    (pin "5" (uuid da724214-d798-4a46-bed4-d0e4ce60ba45))
    (pin "6" (uuid e97ceaab-d530-4dc9-a86d-285197b84992))
    (pin "SH" (uuid 23aa4c1d-6577-4f4b-8dd3-807d7dfd52c0))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "J7") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "J7") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 130.81 162.56 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid d5187e67-bc69-4248-aa49-251d5310f604)
    (property "Reference" "#PWR065" (at 130.81 168.91 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 130.81 167.64 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 130.81 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 130.81 162.56 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid cbe2a9bd-f7fa-4599-89fa-a71a7b5116b8))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR065") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR062") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:C_Small") (at 119.38 177.8 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid db465a45-256c-4272-a08c-56bd79cf7d62)
    (property "Reference" "C17" (at 124.46 175.26 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Value" "100nF" (at 127 180.34 0)
      (effects (font (size 1.27 1.27)) (justify left))
    )
    (property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 119.38 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 119.38 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01200" (at 119.38 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.00856" (at 119.38 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "1276-1000-2-ND" (at 119.38 177.8 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 45ed77ae-fdde-4cdb-8227-fd3db0640347))
    (pin "2" (uuid 56867b00-c1f0-4bb6-9baf-67278ae4ccb5))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "C17") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "C18") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 130.81 53.34 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid e7d127bb-033c-45c4-a0dc-e2737ae62068)
    (property "Reference" "#PWR057" (at 130.81 59.69 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 130.81 58.42 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 130.81 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 130.81 53.34 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 4e2ae126-e860-4f0f-8769-5e2f8e3fdd25))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR083") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 223.52 152.4 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid ec56347f-842d-46a9-98e0-c447da8b39dd)
    (property "Reference" "#PWR037" (at 223.52 158.75 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 223.52 157.48 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 223.52 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 223.52 152.4 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 282f149a-5f22-49d8-8d04-195e0f4cdd98))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR037") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR071") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 130.81 157.48 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid edaf51ac-5f95-4d50-a886-75bf2e891802)
    (property "Reference" "R11" (at 134.62 156.21 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "10K" (at 134.62 158.75 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 130.81 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 130.81 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.03240" (at 130.81 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.02380" (at 130.81 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "RNCP0603FTD10K0TR-ND" (at 130.81 157.48 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid d3fc1962-0031-4478-9af9-cca8ec2b0f74))
    (pin "2" (uuid c7da8228-6c2d-46ac-bd42-1fdee2bf3243))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R11") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R36") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:LED") (at 63.5 81.28 90) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ee22a4fc-b47e-4ab3-a209-ce16a24f1ba1)
    (property "Reference" "D1" (at 59.69 81.28 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Value" "ORANGE" (at 55.88 83.82 90)
      (effects (font (size 1.27 1.27)) (justify right))
    )
    (property "Footprint" "LED_SMD:LED_0603_1608Metric" (at 63.5 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 63.5 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.12700" (at 63.5 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.12700" (at 63.5 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Forward Voltage" "1.8" (at 63.5 81.28 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "160-1477-1-ND" (at 63.5 81.28 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 9877edee-060a-4192-b8b7-8cef593854b7))
    (pin "2" (uuid af0c81ab-79cf-4469-b34b-c8472aea9b3c))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "D1") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "D1") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 254 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid ee71dbc0-96dc-4582-838a-54f5e1d4434a)
    (property "Reference" "TP15" (at 254 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_SDO" (at 251.46 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 248.92 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 248.92 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 254 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 254 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 54afe732-4f46-479b-961a-7eb9a8831b96))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP15") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP15") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Switch:SW_Push") (at 36.83 92.71 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f14347a5-eeaf-466f-adaa-f42d46a30053)
    (property "Reference" "SW3" (at 36.83 85.09 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "RESET" (at 36.83 87.63 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "KudzuLibrary:SW_Push_1P1T_NO_CK_PTS840_GK_SMTR_LFS" (at 36.83 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 36.83 87.63 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.43900" (at 36.83 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.41360" (at 36.83 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "CKN10508CT-ND" (at 36.83 92.71 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 1417b083-6e73-4f06-bb18-dce0cc4550fe))
    (pin "2" (uuid 8b6b5d54-b536-48ea-9f4d-3c075416f094))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "SW3") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "SW3") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Device:R_Small") (at 167.64 55.88 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f6b07421-2b2d-4d23-9e7f-e50fabc01d06)
    (property "Reference" "R11" (at 171.45 54.61 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "634K" (at 171.45 57.15 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "Resistor_SMD:R_0603_1608Metric" (at 167.64 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 167.64 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "0.01800" (at 167.64 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "0.01800" (at 167.64 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "DigiKey PN" "311-634KHRTR-ND" (at 167.64 55.88 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 928c6635-ebdb-4c22-9415-d1480f52c4f2))
    (pin "2" (uuid 352cbe45-efd6-4c21-be6d-af9ece12ca4d))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "R11") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "R37") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "kudzu-parts:AGB_AB") (at 76.2 27.94 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid f88b3c20-fab6-4fd3-9cab-322d09da7262)
    (property "Reference" "SW4" (at 76.2 19.05 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AGB_AB" (at 76.2 36.83 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "KudzuLibrary:GBA_AB" (at 76.2 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 76.2 27.94 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 35ab58b1-3d3d-4050-a532-4c0abd246713))
    (pin "2" (uuid bbf6325b-57bb-4840-a114-7de356732d24))
    (pin "3" (uuid 50293676-0ee1-4c2b-8c3f-d01bd2751f08))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "SW4") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 209.55 40.64 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f8ca98c7-f1cf-45d8-bcda-6ae5501ea75b)
    (property "Reference" "#PWR057" (at 209.55 46.99 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 209.55 45.72 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 209.55 40.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 209.55 40.64 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 19f6765f-2bc7-4b90-8fc8-cb96c828b350))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR057") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR095") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 273.05 135.89 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
    (uuid f9b2a695-48d3-4710-b0ee-689ea1992725)
    (property "Reference" "#PWR046" (at 273.05 142.24 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 273.05 140.97 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 273.05 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 273.05 135.89 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid b749817d-39a2-41d8-afaa-b6689464b266))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR046") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR076") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "power:GND") (at 63.5 95.25 0) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fb717bed-9613-4971-8d18-d31b6ccdb45f)
    (property "Reference" "#PWR031" (at 63.5 101.6 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Value" "GND" (at 63.5 100.33 0)
      (effects (font (size 1.27 1.27)))
    )
    (property "Footprint" "" (at 63.5 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "" (at 63.5 95.25 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 5a6c50e1-2b0c-4528-bb26-cb320723aeb0))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "#PWR031") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "#PWR058") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 175.26 80.01 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fd456242-4345-4263-9aaa-77b5acb9beb7)
    (property "Reference" "TP10" (at 175.26 86.36 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "AUDIO_DATA" (at 172.72 83.312 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 170.18 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 170.18 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 175.26 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 175.26 80.01 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 6675f5fc-c4c3-4261-af26-22585c0992b3))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP10") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP22") (unit 1)
        )
      )
    )
  )

  (symbol (lib_id "Connector:TestPoint") (at 246.38 72.39 180) (unit 1)
    (in_bom yes) (on_board yes) (dnp no)
    (uuid fe6de093-5472-47d7-b3eb-5981254fc2ab)
    (property "Reference" "TP12" (at 246.38 78.74 90)
      (effects (font (size 1.27 1.27)))
    )
    (property "Value" "DISP_CLK" (at 243.84 75.692 90)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Footprint" "TestPoint:TestPoint_Pad_D1.0mm" (at 241.3 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Datasheet" "~" (at 241.3 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 10" "" (at 246.38 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (property "Price @ 25" "" (at 246.38 72.39 0)
      (effects (font (size 1.27 1.27)) hide)
    )
    (pin "1" (uuid 7b157acf-4e30-4a85-86ea-e8640beed608))
    (instances
      (project "kudzu"
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8"
          (reference "TP12") (unit 1)
        )
        (path "/30e30bdf-50e5-46a8-92c7-0e280cceabe8/162828de-0fc8-48f2-95ca-16f35e12e8ad"
          (reference "TP12") (unit 1)
        )
      )
    )
  )
)
