text:
80"/>
<pin name="44" x="20.32" y="-27.94" length="middle" rot="R180"/>
<pin name="45" x="20.32" y="-30.48" length="middle" rot="R180"/>
<pin name="46" x="20.32" y="-33.02" length="middle" rot="R180"/>
<pin name="47" x="20.32" y="-35.56" length="middle" rot="R180"/>
<pin name="48" x="20.32" y="-38.1" length="middle" rot="R180"/>
<pin name="11" x="-20.32" y="-35.56" length="middle"/>
<pin name="12" x="-20.32" y="-38.1" length="middle"/>
<pin name="13" x="20.32" y="50.8" length="middle" rot="R180"/>
<pin name="15(RX3)" x="20.32" y="45.72" length="middle" rot="R180"/>
<pin name="14(TX3)" x="20.32" y="48.26" length="middle" rot="R180"/>
<pin name="GND@2" x="-20.32" y="-45.72" length="middle"/>
<pin name="GND@3" x="-20.32" y="-48.26" length="middle"/>
<pin name="53" x="20.32" y="-50.8" length="middle" rot="R180"/>
<pin name="52" x="20.32" y="-48.26" length="middle" rot="R180"/>
<pin name="51" x="20.32" y="-45.72" length="middle" rot="R180"/>
<pin name="50" x="20.32" y="-43.18" length="middle" rot="R180"/>
<pin name="49" x="20.32" y="-40.64" length="middle" rot="R180"/>
<pin name="5V@2" x="-20.32" y="43.18" length="middle"/>
<pin name="21(SCL)" x="20.32" y="30.48" length="middle" rot="R180"/>
<pin name="20(SDA)" x="20.32" y="33.02" length="middle" rot="R180"/>
<pin name="19(RX1)" x="20.32" y="35.56" length="middle" rot="R180"/>
<pin name="0(RX0)" x="-20.32" y="-7.62" length="middle"/>
<pin name="41" x="20.32" y="-20.32" length="middle" rot="R180"/>
<pin name="40" x="20.32" y="-17.78" length="middle" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="ARDUINO-MEGA" prefix="U">
<description>Arduino Mega board footprint</description>
<gates>
<gate name="G$1" symbol="ARDUINO-MEGA" x="0" y="0"/>
</gates>
<devices>
<device name="PRO-5V" package="ARDUINO_MEGA-PRO-5V">
<connects>
<connect gate="G$1" pin="0(RX0)" pad="0"/>
<connect gate="G$1" pin="1(TX0)" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<connect gate="G$1" pin="11" pad="11"/>
<connect gate="G$1" pin="12" pad="12"/>
<connect gate="G$1" pin="13" pad="13"/>
<connect gate="G$1" pin="14(TX3)" pad="14"/>
<connect gate="G$1" pin="15(RX3)" pad="15"/>
<connect gate="G$1" pin="16(TX2)" pad="16"/>
<connect gate="G$1" pin="17(RX2)" pad="17"/>
<connect gate="G$1" pin="18(TX1)" pad="18"/>
<connect gate="G$1" pin="19(RX1)" pad="19"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="20(SDA)" pad="20"/>
<connect gate="G$1" pin="21(SCL)" pad="21"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="40" pad="22"/>
<connect gate="G$1" pin="41" pad="23"/>
<connect gate="G$1" pin="42" pad="42"/>
<connect gate="G$1" pin="43" pad="43"/>
<connect gate="G$1" pin="44" pad="44"/>
<connect gate="G$1" pin="45" pad="45"/>
<connect gate="G$1" pin="46" pad="46"/>
<connect gate="G$1" pin="47" pad="47"/>
<connect gate="G$1" pin="48" pad="48"/>
<connect gate="G$1" pin="49" pad="49"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="50" pad="50"/>
<connect gate="G$1" pin="51" pad="51"/>
<connect gate="G$1" pin="52" pad="52"/>
<connect gate="G$1" pin="53" pad="53"/>
<connect gate="G$1" pin="5V@1" pad="5V@1"/>
<connect gate="G$1" pin="5V@2" pad="5V@2"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
<connect gate="G$1" pin="9" pad="9"/>
<connect gate="G$1" pin="GND@2" pad="GND@2"/>
<connect gate="G$1" pin="GND@3" pad="GND@3"/>
<connect gate="G$1" pin="GND@4" pad="GND@4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="transistor-power">
<description>Power Transistors

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="TO220BV">
<description>Molded Package

grid 2.54 mm</description>
<wire x1="4.699" y1="-4.318" x2="4.953" y2="-4.064" width="0.1524" layer="21"/>
<wire x1="4.699" y1="-4.318" x2="-4.699" y2="-4.318" width="0.1524" layer="21"/>
<wire x1="-4.953" y1="-4.064" x2="-4.699" y2="-4.318" width="0.1524" layer="21"/>
<wire x1="5.08" y1="-1.143" x2="4.953" y2="-4.064" width="0.1524" layer="21"/>
<wire x1="-4.953" y1="-4.064" x2="-5.08" y2="-1.143" width="0.1524" layer="21"/>
<circle x="-4.4958" y="-3.7084" radius="0.254" width="0" layer="21"/>
<pad name="G" x="-2.54" y="-2.54" drill="1.016" shape="long" rot="R90"/>
<pad name="D" x="0" y="-2.54" drill="1.016" shape="long" rot="R90"/>
<pad name="S" x="2.54" y="-2.54" drill="1.016" shape="long" rot="R90"/>
<text x="-5.08" y="-6.0452" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-5.08" y="-7.62" size="1.27" layer="27" ratio="10">>VALUE</text>
<rectangle x1="-5.334" y1="-0.762" x2="5.334" y2="0" layer="21"/>
<rectangle x1="-5.334" y1="-1.27" x2="-3.429" y2="-0.762" layer="21"/>
<rectangle x1="-1.651" y1="-1.27" x2="-0.889" y2="-0.762" layer="21"/>
<rectangle x1="-3.429" y1="-1.27" x2="-1.651" y2="-0.762" layer="51"/>
<rectangle x1="0.889" y1="-1.27" x2="1.651" y2="-0.762" layer="21"/>
<rectangle x1="3.429" y1="-1.27" x2="5.334" y2="-0.762" layer="21"/>
<rectangle x1="-0.889" y1="-1.27" x2="0.889" y2="-0.762" layer="51"/>
<rectangle x1="1.651" y1="-1.27" x2="3.429" y2="-0.762" layer="51"/>
</package>
<package name="TO220BH">
<description>Molded Package

grid 2.54 mm</description>
<wire x1="-5.207" y1="-1.27" x2="5.207" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="5.207" y1="14.605" x2="-5.207" y2="14.605" width="0.1524" layer="21"/>
<wire x1="5.207" y1="-1.27" x2="5.207" y2="11.176" width="0.1524" layer="21"/>
<wire x1="5.207" y1="11.176" x2="4.318" y2="11.176" width="0.1524" layer="21"/>
<wire x1="4.318" y1="11.176" x2="4.318" y2="12.7" width="0.1524" layer="21"/>
<wire x1="4.318" y1="12.7" x2="5.207" y2="12.7" width="0.1524" layer="21"/>
<wire x1="5.207" y1="12.7" x2="5.207" y2="14.605" width="0.1524" layer="21"/>
<wire x1="-5.207" y1="-1.27" x2="-5.207" y2="11.176" width="0.1524" layer="21"/>
<wire x1="-5.207" y1="11.176" x2="-4.318" y2="11.176" width="0.1524" layer="21"/>
<wire x1="-4.318" y1="11.176" x2="-4.318" y2="12.7" width="0.1524" layer="21"/>
<wire x1="-4.318" y1="12.7" x2="-5.207" y2="12.7" width="0.1524" layer="21"/>
<wire x1="-5.207" y1="12.7" x2="-5.207" y2="14.605" width="0.1524" layer="21"/>
<wire x1="-4.572" y1="-0.635" x2="4.572" y2="-0.635" width="0.0508" layer="21"/>
<wire x1="4.572" y1="7.62" x2="4.572" y2="-0.635" width="0.0508" layer="21"/>
<wire x1="4.572" y1="7.62" x2="-4.572" y2="7.62" width="0.0508" layer="21"/>
<wire x1="-4.572" y1="-0.635" x2="-4.572" y2="7.62" width="0.0508" layer="21"/>
<circle x="0" y="11.176" radius="1.8034" width="0.1524" layer="21"/>
<circle x="0" y="11.176" radius="4.191" width="0" layer="42"/>
<circle x="0" y="11.176" radius="4.191" width="0" layer="43"/>
<pad name="G" x="-2.54" y="-6.35" drill="1.1176" shape="long" rot="R90"/>
<pad name="D" x="0" y="-6.35" drill="1.1176" shape="long" rot="R90"/>
<pad name="S" x="2.54" y="-6.35" drill="1.1176" shape="long" rot="R90"/>
<text x="-3.81" y="5.207" size="1.778" layer="25" ratio="10">>NAME</text>
<text x="-3.937" y="2.54" size="1.778" layer="27" ratio="10">>VALUE</text>
<text x="-4.445" y="7.874" size="1.016" layer="21" ratio="10">A17,5mm</text>
<rectangle x1="2.159" y1="-4.699" x2="2.921" y2="-4.064" layer="21"/>
<rectangle x1="-0.381" y1="-4.699" x2="0.381" y2="-4.064" layer="21"/>
<rectangle x1="-2.921" y1="-4.699" x2="-2.159" y2="-4.064" layer="21"/>
<rectangle x1="-3.175" y1="-4.064" x2="-1.905" y2="-1.27" layer="21"/>
<rectangle x1="-0.635" y1="-4.064" x2="0.635" y2="-1.27" layer="21"/>
<rectangle x1="1.905" y1="-4.064" x2="3.175" y2="-1.27" layer="21"/>
<rectangle x1="-2.921" y1="-6.604" x2="-2.159" y2="-4.699" layer="51"/>
<rectangle x1="-0.381" y1="-6.604" x2="0.381" y2="-4.699" layer="51"/>
<rectangle x1="2.159" y1="-6.604" x2="2.921" y2="-4.699" layer="51"/>
<hole x="0" y="11.176" drill="3.302"/>
</package>
</packages>
<symbols>
<symbol name="MFN">
<wire x1="-1.1176" y1="2.413" x2="-1.1176" y2="-2.54" width="0.254" layer="94"/>
<wire x1="-1.1176" y1="-2.54" x2="-2.54" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="2.54" y1="1.905" x2="0.5334" y2="1.905" width="0.1524" layer="94"/>
<wire x1="2.54" y1="2.54" x2="2.54" y2="1.905" width="0.1524" layer="94"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-1.905" width="0.1524" layer="94"/>
<wire x1="0.508" y1="-1.905" x2="2.54" y2="-1.905" width="0.1524" layer="94"/>
<wire x1="2.54" y1="-1.905" x2="2.54" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="0.508" y1="0" x2="1.778" y2="-0.508" width="0.1524" layer="94"/>
<wire x1="1.778" y1="-0.508" x2="1.778" y2="0.508" width="0.1524" layer="94"/>
<wire x1="1.778" y1="0.508" x2="0.508" y2="0" width="0.1524" layer="94"/>
<wire x1="1.651" y1="0" x2="2.54" y2="0" width="0.1524" layer="94"/>
<wire x1="1.651" y1="0.254" x2="0.762" y2="0" width="0.3048" layer="94"/>
<wire x1="0.762" y1="0" x2="1.651" y2="-0.254" width="0.3048" layer="94"/>
<wire x1="1.651" y1="-0.254" x2="1.651" y2="0" width="0.3048" layer="94"/>
<wire x1="1.651" y1="0" x2="1.397" y2="0" width="0.3048" layer="94"/>
<circle x="2.54" y="-1.905" radius="0.127" width="0.4064" layer="94"/>
<text x="5.08" y="2.54" size="1.778" layer="95">>NAME</text>
<text x="5.08" y="0" size="1.778" layer="96">>VALUE</text>
<text x="1.27" y="2.54" size="0.8128" layer="93">D</text>
<text x="1.27" y="-3.175" size="0.8128" layer="93">S</text>
<text x="-2.54" y="-1.27" size="0.8128" layer="93">G</text>
<rectangle x1="-0.254" y1="-2.54" x2="0.508" y2="-1.27" layer="94"/>
<rectangle x1="-0.254" y1="1.27" x2="0.508" y2="2.54" layer="94"/>
<rectangle x1="-0.254" y1="-0.889" x2="0.508" y2="0.889" layer="94"/>
<pin name="G" x="-2.54" y="-2.54" visible="off" length="point" direction="pas"/>
<pin name="D" x="2.54" y="5.08" visible="off" length="short" direction="pas" rot="R270"/>
<pin name="S" x="2.54" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="PMOSFET_N" prefix="Q" uservalue="yes">
<description>Power MOSFET N-Channel</description>
<gates>
<gate name="G$1" symbol="MFN" x="0" y="0"/>
</gates>
<devices>
<device name="TO220BV" package="TO220BV">
<connects>
<connect gate="G$1" pin="D" pad="D"/>
<connect gate="G$1" pin="G" pad="G"/>
<connect gate="G$1" pin="S" pad="S"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="TO220BH" package="TO220BH">
<connects>
<connect gate="G$1" pin="D" pad="D"/>
<connect gate="G$1" pin="G" pad="G"/>
<connect gate="G$1" pin="S" pad="S"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0.4064" drill="0.762">
<clearance class="0" value="0.4064"/>
</class>
<class number="1" name="PWR" width="1.016" drill="0.762">
<clearance class="1" value="0.508"/>
</class>
<class number="2" name="GND" width="1.016" drill="0.762">
<clearance class="2" value="1.016"/>
</class>
</classes>
<parts>
<part name="P19" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="GND4" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="P3" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D2" library="adafruit" deviceset="1N4004" device=""/>
<part name="GND5" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="C1" library="SparkFun-Passives" deviceset="CAP" device="PTH1"/>
<part name="C2" library="SparkFun-Passives" deviceset="CAP" device="PTH3"/>
<part name="GND3" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="P1" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D1" library="adafruit" deviceset="1N4004" device=""/>
<part name="R4" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P4" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D3" library="adafruit" deviceset="1N4004" device=""/>
<part name="R5" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P5" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D4" library="adafruit" deviceset="1N4004" device=""/>
<part name="R6" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P6" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D5" library="adafruit" deviceset="1N4004" device=""/>
<part name="R7" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P7" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D6" library="adafruit" deviceset="1N4004" device=""/>
<part name="R8" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P8" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D7" library="adafruit" deviceset="1N4004" device=""/>
<part name="R9" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P9" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D8" library="adafruit" deviceset="1N4004" device=""/>
<part name="R10" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P10" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D9" library="adafruit" deviceset="1N4004" device=""/>
<part name="R11" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P11" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D10" library="adafruit" deviceset="1N4004" device=""/>
<part name="R12" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P12" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D11" library="adafruit" deviceset="1N4004" device=""/>
<part name="R13" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P13" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D12" library="adafruit" deviceset="1N4004" device=""/>
<part name="R14" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P14" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D13" library="adafruit" deviceset="1N4004" device=""/>
<part name="R15" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P15" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D14" library="adafruit" deviceset="1N4004" device=""/>
<part name="R16" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P16" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D15" library="adafruit" deviceset="1N4004" device=""/>
<part name="R17" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="P17" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="D16" library="adafruit" deviceset="1N4004" device=""/>
<part name="R18" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="R19" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="1k"/>
<part name="U$2" library="adafruit" deviceset="RGBLED_CA" device=""/>
<part name="I2C-1" library="JST_connectors" deviceset="JST-PH_4-PIN_HEADER" device=""/>
<part name="R1" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="4.7k"/>
<part name="R2" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="4.7k"/>
<part name="R3" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="180"/>
<part name="R20" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="100"/>
<part name="R21" library="SparkFun-Passives" deviceset="RESISTOR" device="KIT" value="100"/>
<part name="GND1" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND2" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="U2" library="SparkFun-Minimal-Shields" deviceset="ARDUINO-MEGA" device="PRO-5V"/>
<part name="P18" library="con-molex-mini-fit" deviceset="39-30-?02?" device=""/>
<part name="GND21" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="I2C-2" library="JST_connectors" deviceset="JST-PH_4-PIN_HEADER" device=""/>
<part name="GND22" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="I2C-3" library="JST_connectors" deviceset="JST-PH_4-PIN_HEADER" device=""/>
<part name="GND23" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="Q17" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q1" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q2" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q3" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q4" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q5" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q6" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q7" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q8" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q9" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q10" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q11" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q12" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q13" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q14" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="Q15" library="transistor-power" deviceset="PMOSFET_N" device="TO220BV"/>
<part name="GND6" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND7" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND8" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND9" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND10" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND11" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND12" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND13" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND14" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND15" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND16" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND17" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND18" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND19" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
<part name="GND20" library="SparkFun-Aesthetics" deviceset="GND" device=""/>
</parts>
<sheets>
<sheet>
<plain>
<text x="-71.12" y="170.18" size="3.048" layer="94">Power Connectors</text>
<wire x1="-76.2" y1="144.78" x2="-30.48" y2="144.78" width="0.1524" layer="94"/>
<wire x1="-30.48" y1="144.78" x2="-30.48" y2="175.26" width="0.1524" layer="94"/>
<text x="-71.12" y="78.74" size="1.778" layer="94">Power Smoothing Caps</text>
<text x="-68.58" y="116.84" size="1.778" layer="94">Feedback LEDs</text>
<text x="124.46" y="165.1" size="6.858" layer="94">Solenoid Drivers</text>
<text x="-10.16" y="144.78" size="4.318" layer="94">Arduino Mega</text>
<wire x1="-81.28" y1="55.88" x2="-30.48" y2="55.88" width="0.1524" layer="94"/>
<wire x1="-30.48" y1="55.88" x2="-30.48" y2="86.36" width="0.1524" layer="94"/>
<wire x1="-81.28" y1="86.36" x2="-30.48" y2="86.36" width="0.1524" layer="94"/>
<text x="-68.834" y="37.084" size="3.81" layer="94">I2C</text>
<wire x1="-30.48" y1="175.26" x2="-76.2" y2="175.26" width="0.1524" layer="94"/>
<wire x1="-76.2" y1="175.26" x2="-76.2" y2="144.78" width="0.1524" layer="94"/>
<wire x1="-81.28" y1="86.36" x2="-81.28" y2="55.88" width="0.1524" layer="94"/>
<wire x1="-30.48" y1="93.98" x2="-30.48" y2="121.92" width="0.1524" layer="94"/>
<wire x1="-30.48" y1="121.92" x2="-106.68" y2="121.92" width="0.1524" layer="94"/>
<wire x1="-106.68" y1="121.92" x2="-106.68" y2="93.98" width="0.1524" layer="94"/>
<wire x1="-106.68" y1="93.98" x2="-30.48" y2="93.98" width="0.1524" layer="94"/>
<wire x1="-91.44" y1="35.56" x2="-91.44" y2="-22.86" width="0.1524" layer="94"/>
<wire x1="-38.1" y1="-22.86" x2="-38.1" y2="35.56" width="0.1524" layer="94"/>
<wire x1="-38.1" y1="35.56" x2="-38.1" y2="43.18" width="0.1524" layer="94"/>
<wire x1="-38.1" y1="43.18" x2="-91.44" y2="43.18" width="0.1524" layer="94"/>
<wire x1="-91.44" y1="43.18" x2="-91.44" y2="35.56" width="0.1524" layer="94"/>
<wire x1="-91.44" y1="35.56" x2="-38.1" y2="35.56" width="0.1524" layer="94"/>
</plain>
<instances>
<instance part="P19" gate="G$1" x="-53.34" y="162.56" smashed="yes">
<attribute name="NAME" x="-57.15" y="165.735" size="1.778" layer="95"/>
</instance>
<instance part="GND4" gate="1" x="-40.64" y="162.56" rot="R90"/>
<instance part="P3" gate="G$1" x="80.518" y="160.02" smashed="yes">
<attribute name="NAME" x="79.248" y="163.195" size="1.778" layer="95"/>
</instance>
<instance part="D2" gate="1" x="96.774" y="160.02"/>
<instance part="GND5" gate="1" x="91.44" y="139.7"/>
<instance part="C1" gate="G$1" x="-58.42" y="71.12" rot="R90"/>
<instance part="C2" gate="G$1" x="-58.42" y="60.96" rot="R90"/>
<instance part="GND3" gate="1" x="-45.72" y="66.04" rot="R90"/>
<instance part="P1" gate="G$1" x="83.82" y="129.54" smashed="yes">
<attribute name="NAME" x="82.55" y="132.715" size="1.778" layer="95"/>
</instance>
<instance part="D1" gate="1" x="96.52" y="129.54"/>
<instance part="R4" gate="G$1" x="78.74" y="119.38"/>
<instance part="P4" gate="G$1" x="83.82" y="99.06" smashed="yes">
<attribute name="NAME" x="82.55" y="102.235" size="1.778" layer="95"/>
</instance>
<instance part="D3" gate="1" x="101.6" y="99.06"/>
<instance part="R5" gate="G$1" x="81.28" y="91.44"/>
<instance part="P5" gate="G$1" x="81.28" y="73.66" smashed="yes">
<attribute name="NAME" x="80.01" y="76.835" size="1.778" layer="95"/>
</instance>
<instance part="D4" gate="1" x="101.6" y="73.66"/>
<instance part="R6" gate="G$1" x="81.28" y="66.04"/>
<instance part="P6" gate="G$1" x="154.94" y="157.48" smashed="yes">
<attribute name="NAME" x="151.13" y="160.655" size="1.778" layer="95"/>
</instance>
<instance part="D5" gate="1" x="170.18" y="157.48"/>
<instance part="R7" gate="G$1" x="149.86" y="149.86"/>
<instance part="P7" gate="G$1" x="147.32" y="127" smashed="yes">
<attribute name="NAME" x="143.51" y="130.175" size="1.778" layer="95"/>
</instance>
<instance part="D6" gate="1" x="165.1" y="127"/>
<instance part="R8" gate="G$1" x="147.32" y="119.38"/>
<instance part="P8" gate="G$1" x="149.86" y="99.06" smashed="yes">
<attribute name="NAME" x="146.05" y="102.235" size="1.778" layer="95"/>
</instance>
<instance part="D7" gate="1" x="165.1" y="99.06"/>
<instance part="R9" gate="G$1" x="147.32" y="91.44"/>
<instance part="P9" gate="G$1" x="149.86" y="73.66" smashed="yes">
<attribute name="NAME" x="146.05" y="76.835" size="1.778" layer="95"/>
</instance>
<instance part="D8" gate="1" x="165.1" y="73.66"/>
<instance part="R10" gate="G$1" x="147.32" y="66.04"/>
<instance part="P10" gate="G$1" x="215.9" y="162.56" smashed="yes">
<attribute name="NAME" x="212.09" y="165.735" size="1.778" layer="95"/>
</instance>
<instance part="D9" gate="1" x="231.14" y="162.56"/>
<instance part="R11" gate="G$1" x="213.36" y="154.94"/>
<instance part="P11" gate="G$1" x="213.36" y="129.54" smashed="yes">
<attribute name="NAME" x="209.55" y="132.715" size="1.778" layer="95"/>
</instance>
<instance part="D10" gate="1" x="228.6" y="129.54"/>
<instance part="R12" gate="G$1" x="208.28" y="121.92"/>
<instance part="P12" gate="G$1" x="215.9" y="104.14" smashed="yes">
<attribute name="NAME" x="212.09" y="107.315" size="1.778" layer="95"/>
</instance>
<instance part="D11" gate="1" x="231.14" y="104.14"/>
<instance part="R13" gate="G$1" x="213.36" y="96.52"/>
<instance part="P13" gate="G$1" x="213.36" y="76.2" smashed="yes">
<attribute name="NAME" x="209.55" y="79.375" size="1.778" layer="95"/>
</instance>
<instance part="D12" gate="1" x="231.14" y="76.2"/>
<instance part="R14" gate="G$1" x="213.36" y="68.58"/>
<instance part="P14" gate="G$1" x="281.94" y="162.56" smashed="yes">
<attribute name="NAME" x="278.13" y="165.735" size="1.778" layer="95"/>
</instance>
<instance part="D13" gate="1" x="297.18" y="162.56"/>
<instance part="R15" gate="G$1" x="279.4" y="154.94"/>
<instance part="P15" gate="G$1" x="279.4" y="129.54" smashed="yes">
<attribute name="NAME" x="275.59" y="132.715" size="1.778" layer="95"/>
</instance>
<instance part="D14" gate="1" x="297.18" y="129.54"/>
<instance part="R16" gate="G$1" x="279.4" y="121.92"/>
<instance part="P16" gate="G$1" x="279.4" y="104.14" smashed="yes">
<attribute name="NAME" x="275.59" y="107.315" size="1.778" layer="95"/>
</instance>
<instance part="D15" gate="1" x="297.18" y="104.14"/>
<instance part="R17" gate="G$1" x="279.4" y="96.52"/>
<instance part="P17" gate="G$1" x="281.94" y="78.74" smashed="yes">
<attribute name="NAME" x="278.13" y="81.915" size="1.778" layer="95"/>
</instance>
<instance part="D16" gate="1" x="297.18" y="78.74"/>
<instance part="R18" gate="G$1" x="279.4" y="71.12"/>
<instance part="R19" gate="G$1" x="78.74" y="152.4"/>
<instance part="U$2" gate="G$1" x="-74.168" y="104.14"/>
<instance part="I2C-1" gate="G$1" x="-60.96" y="25.4" smashed="yes" rot="R180">
<attribute name="NAME" x="-55.88" y="19.558" size="1.27" layer="95" rot="R180"/>
</instance>
<instance part="R1" gate="G$1" x="-78.74" y="17.78" rot="R90"/>
<instance part="R2" gate="G$1" x="-78.74" y="2.54" rot="R90"/>
<instance part="R3" gate="G$1" x="-57.658" y="107.95"/>
<instance part="R20" gate="G$1" x="-57.15" y="100.584"/>
<instance part="R21" gate="G$1" x="-48.514" y="104.394"/>
<instance part="GND1" gate="1" x="-43.18" y="22.86" rot="R90"/>
<instance part="GND2" gate="1" x="-20.32" y="30.48"/>
<instance part="U2" gate="G$1" x="7.62" y="86.36"/>
<instance part="P18" gate="G$1" x="-53.34" y="152.4" smashed="yes">
<attribute name="NAME" x="-57.15" y="155.575" size="1.778" layer="95"/>
</instance>
<instance part="GND21" gate="1" x="-40.64" y="152.4" rot="R90"/>
<instance part="I2C-2" gate="G$1" x="-60.96" y="7.62" smashed="yes" rot="R180">
<attribute name="NAME" x="-55.88" y="1.778" size="1.27" layer="95" rot="R180"/>
</instance>
<instance part="GND22" gate="1" x="-43.18" y="5.08" rot="R90"/>
<instance part="I2C-3" gate="G$1" x="-60.96" y="-12.7" smashed="yes" rot="R180">
<attribute name="NAME" x="-55.88" y="-18.542" size="1.27" layer="95" rot="R180"/>
</instance>
<instance part="GND23" gate="1" x="-43.18" y="-15.24" rot="R90"/>
<instance part="Q17" gate="G$1" x="88.9" y="154.94" smashed="yes">
<attribute name="NAME" x="82.804" y="154.178" size="1.778" layer="95"/>
<attribute name="VALUE" x="93.98" y="154.94" size="1.778" layer="96"/>
</instance>
<instance part="Q1" gate="G$1" x="96.52" y="121.666" smashed="yes">
<attribute name="NAME" x="91.44" y="121.666" size="1.778" layer="95"/>
<attribute name="VALUE" x="101.6" y="121.666" size="1.778" layer="96"/>
</instance>
<instance part="Q2" gate="G$1" x="91.44" y="93.98" smashed="yes">
<attribute name="NAME" x="86.36" y="93.98" size="1.778" layer="95"/>
<attribute name="VALUE" x="96.52" y="93.98" size="1.778" layer="96"/>
</instance>
<instance part="Q3" gate="G$1" x="91.44" y="68.58" smashed="yes">
<attribute name="NAME" x="86.36" y="68.58" size="1.778" layer="95"/>
<attribute name="VALUE" x="96.52" y="68.58" size="1.778" layer="96"/>
</instance>
<instance part="Q4" gate="G$1" x="157.48" y="68.58" smashed="yes">
<attribute name="NAME" x="152.4" y="67.564" size="1.778" layer="95"/>
<attribute name="VALUE" x="162.56" y="68.58" size="1.778" layer="96"/>
</instance>
<instance part="Q5" gate="G$1" x="157.48" y="93.98" smashed="yes">
<attribute name="NAME" x="152.4" y="93.98" size="1.778" layer="95"/>
<attribute name="VALUE" x="162.56" y="93.98" size="1.778" layer="96"/>
</instance>
<instance part="Q6" gate="G$1" x="157.48" y="121.92" smashed="yes">
<attribute name="NAME" x="152.4" y="121.92" size="1.778" layer="95"/>
<attribute name="VALUE" x="162.56" y="121.92" size="1.778" layer="96"/>
</instance>
<instance part="Q7" gate="G$1" x="162.56" y="152.4" smashed="yes">
<attribute name="NAME" x="157.226" y="151.892" size="1.778" layer="95"/>
<attribute name="VALUE" x="167.64" y="152.4" size="1.778" layer="96"/>
</instance>
<instance part="Q8" gate="G$1" x="223.52" y="157.48" smashed="yes">
<attribute name="NAME" x="218.44" y="157.48" size="1.778" layer="95"/>
<attribute name="VALUE" x="228.6" y="157.48" size="1.778" layer="96"/>
</instance>
<instance part="Q9" gate="G$1" x="220.98" y="124.46" smashed="yes">
<attribute name="NAME" x="215.9" y="124.46" size="1.778" layer="95"/>
<attribute name="VALUE" x="226.06" y="124.46" size="1.778" layer="96"/>
</instance>
<instance part="Q10" gate="G$1" x="223.52" y="99.06" smashed="yes">
<attribute name="NAME" x="216.916" y="98.298" size="1.778" layer="95"/>
<attribute name="VALUE" x="228.6" y="99.06" size="1.778" layer="96"/>
</instance>
<instance part="Q11" gate="G$1" x="223.52" y="71.12" smashed="yes">
<attribute name="NAME" x="217.424" y="70.612" size="1.778" layer="95"/>
<attribute name="VALUE" x="228.6" y="71.12" size="1.778" layer="96"/>
</instance>
<instance part="Q12" gate="G$1" x="289.814" y="73.406" smashed="yes">
<attribute name="NAME" x="283.21" y="72.898" size="1.778" layer="95"/>
<attribute name="VALUE" x="294.894" y="73.406" size="1.778" layer="96"/>
</instance>
<instance part="Q13" gate="G$1" x="289.56" y="99.06" smashed="yes">
<attribute name="NAME" x="283.464" y="99.568" size="1.778" layer="95"/>
<attribute name="VALUE" x="294.64" y="99.06" size="1.778" layer="96"/>
</instance>
<instance part="Q14" gate="G$1" x="289.56" y="124.46" smashed="yes">
<attribute name="NAME" x="283.464" y="124.46" size="1.778" layer="95"/>
<attribute name="VALUE" x="294.64" y="124.46" size="1.778" layer="96"/>
</instance>
<instance part="Q15" gate="G$1" x="289.56" y="157.48" smashed="yes">
<attribute name="NAME" x="283.464" y="157.48" size="1.778" layer="95"/>
<attribute name="VALUE" x="294.64" y="157.48" size="1.778" layer="96"/>
</instance>
<instance part="GND6" gate="1" x="99.06" y="88.9" rot="R90"/>
<instance part="GND7" gate="1" x="93.98" y="58.42"/>
<instance part="GND8" gate="1" x="160.02" y="58.42"/>
<instance part="GND9" gate="1" x="160.02" y="83.82"/>
<instance part="GND10" gate="1" x="160.02" y="111.76"/>
<instance part="GND11" gate="1" x="93.98" y="111.76"/>
<instance part="GND12" gate="1" x="165.1" y="142.24"/>
<instance part="GND13" gate="1" x="226.06" y="60.96"/>
<instance part="GND14" gate="1" x="226.06" y="88.9"/>
<instance part="GND15" gate="1" x="223.52" y="114.3"/>
<instance part="GND16" gate="1" x="292.1" y="63.5"/>
<instance part="GND17" gate="1" x="292.1" y="88.9"/>
<instance part="GND18" gate="1" x="292.1" y="114.3"/>
<instance part="GND19" gate="1" x="226.06" y="147.32"/>
<instance part="GND20" gate="1" x="292.1" y="147.32"/>
</instances>
<busses>
</busses>
<nets>
<net name="PW0" class="0">
<segment>
<wire x1="-12.7" y1="73.66" x2="-20.32" y2="73.66" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="2"/>
</segment>
<segment>
<pinref part="R14" gate="G$1" pin="1"/>
<wire x1="208.28" y1="68.58" x2="205.74" y2="68.58" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW1" class="0">
<segment>
<wire x1="-12.7" y1="71.12" x2="-20.32" y2="71.12" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="3"/>
</segment>
<segment>
<pinref part="R13" gate="G$1" pin="1"/>
<wire x1="208.28" y1="96.52" x2="205.74" y2="96.52" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW2" class="0">
<segment>
<wire x1="-12.7" y1="68.58" x2="-20.32" y2="68.58" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="4"/>
</segment>
<segment>
<pinref part="R12" gate="G$1" pin="1"/>
<wire x1="203.2" y1="121.92" x2="200.66" y2="121.92" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW3" class="0">
<segment>
<wire x1="-12.7" y1="66.04" x2="-20.32" y2="66.04" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="5"/>
</segment>
<segment>
<pinref part="R19" gate="G$1" pin="1"/>
<wire x1="73.66" y1="152.4" x2="71.12" y2="152.4" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW4" class="0">
<segment>
<wire x1="-12.7" y1="63.5" x2="-20.32" y2="63.5" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="6"/>
</segment>
<segment>
<pinref part="R4" gate="G$1" pin="1"/>
<wire x1="73.66" y1="119.38" x2="71.12" y2="119.38" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW5" class="0">
<segment>
<wire x1="-12.7" y1="60.96" x2="-20.32" y2="60.96" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="7"/>
</segment>
<segment>
<pinref part="R5" gate="G$1" pin="1"/>
<wire x1="76.2" y1="91.44" x2="73.66" y2="91.44" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW6" class="0">
<segment>
<wire x1="-12.7" y1="58.42" x2="-20.32" y2="58.42" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="8"/>
</segment>
<segment>
<pinref part="R6" gate="G$1" pin="1"/>
<wire x1="76.2" y1="66.04" x2="73.66" y2="66.04" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW7" class="0">
<segment>
<wire x1="-12.7" y1="55.88" x2="-20.32" y2="55.88" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="9"/>
</segment>
<segment>
<pinref part="R7" gate="G$1" pin="1"/>
<wire x1="144.78" y1="149.86" x2="142.24" y2="149.86" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW8" class="0">
<segment>
<wire x1="-12.7" y1="53.34" x2="-20.32" y2="53.34" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="10"/>
</segment>
<segment>
<pinref part="R8" gate="G$1" pin="1"/>
<wire x1="142.24" y1="119.38" x2="139.7" y2="119.38" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW9" class="0">
<segment>
<wire x1="-12.7" y1="50.8" x2="-20.32" y2="50.8" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="11"/>
</segment>
<segment>
<pinref part="R11" gate="G$1" pin="1"/>
<wire x1="208.28" y1="154.94" x2="205.74" y2="154.94" width="0.1524" layer="91"/>

</segment>
</net>
<net name="GND" class="0">
<segment>
<pinref part="P19" gate="G$1" pin="2"/>
<wire x1="-45.72" y1="162.56" x2="-43.18" y2="162.56" width="0.1524" layer="91"/>
<pinref part="GND4" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C2" gate="G$1" pin="2"/>
<wire x1="-55.88" y1="60.96" x2="-50.8" y2="60.96" width="0.1524" layer="91"/>
<wire x1="-50.8" y1="60.96" x2="-50.8" y2="66.04" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="2"/>
<wire x1="-50.8" y1="66.04" x2="-50.8" y2="71.12" width="0.1524" layer="91"/>
<wire x1="-50.8" y1="71.12" x2="-55.88" y2="71.12" width="0.1524" layer="91"/>
<junction x="-50.8" y="66.04"/>
<pinref part="GND3" gate="1" pin="GND"/>
<wire x1="-50.8" y1="66.04" x2="-48.26" y2="66.04" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="I2C-1" gate="G$1" pin="1"/>
<wire x1="-53.34" y1="22.86" x2="-45.72" y2="22.86" width="0.1524" layer="91"/>
<pinref part="GND1" gate="1" pin="GND"/>
</segment>
<segment>
<wire x1="-12.7" y1="38.1" x2="-20.32" y2="38.1" width="0.1524" layer="91"/>
<wire x1="-12.7" y1="35.56" x2="-20.32" y2="35.56" width="0.1524" layer="91"/>
<wire x1="-20.32" y1="35.56" x2="-20.32" y2="38.1" width="0.1524" layer="91"/>
<wire x1="-20.32" y1="35.56" x2="-20.32" y2="33.02" width="0.1524" layer="91"/>
<junction x="-20.32" y="35.56"/>
<pinref part="GND2" gate="1" pin="GND"/>
<pinref part="U2" gate="G$1" pin="GND@4"/>
<pinref part="U2" gate="G$1" pin="GND@3"/>
</segment>
<segment>
<pinref part="P18" gate="G$1" pin="2"/>
<wire x1="-45.72" y1="152.4" x2="-43.18" y2="152.4" width="0.1524" layer="91"/>
<pinref part="GND21" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="I2C-2" gate="G$1" pin="1"/>
<wire x1="-53.34" y1="5.08" x2="-45.72" y2="5.08" width="0.1524" layer="91"/>
<pinref part="GND22" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="I2C-3" gate="G$1" pin="1"/>
<wire x1="-53.34" y1="-15.24" x2="-45.72" y2="-15.24" width="0.1524" layer="91"/>
<pinref part="GND23" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="GND5" gate="1" pin="GND"/>
<pinref part="Q17" gate="G$1" pin="S"/>
<wire x1="91.44" y1="142.24" x2="91.44" y2="149.86" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="S"/>
<wire x1="93.98" y1="88.9" x2="96.52" y2="88.9" width="0.1524" layer="91"/>
<pinref part="GND6" gate="1" pin="GND"/>
</segment>
<segment>
<wire x1="160.02" y1="88.9" x2="160.02" y2="86.36" width="0.1524" layer="91"/>
<pinref part="GND9" gate="1" pin="GND"/>
<pinref part="Q5" gate="G$1" pin="S"/>
</segment>
<segment>
<pinref part="Q6" gate="G$1" pin="S"/>
<wire x1="160.02" y1="116.84" x2="160.02" y2="114.3" width="0.1524" layer="91"/>
<pinref part="GND10" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="GND11" gate="1" pin="GND"/>
<wire x1="93.98" y1="114.3" x2="96.52" y2="114.3" width="0.1524" layer="91"/>
<wire x1="96.52" y1="114.3" x2="99.06" y2="116.586" width="0.1524" layer="91"/>
<pinref part="Q1" gate="G$1" pin="S"/>
</segment>
<segment>
<pinref part="GND7" gate="1" pin="GND"/>
<wire x1="93.98" y1="60.96" x2="93.98" y2="63.5" width="0.1524" layer="91"/>
<pinref part="Q3" gate="G$1" pin="S"/>
</segment>
<segment>
<wire x1="165.1" y1="147.32" x2="165.1" y2="144.78" width="0.1524" layer="91"/>
<pinref part="GND12" gate="1" pin="GND"/>
<pinref part="Q7" gate="G$1" pin="S"/>
</segment>
<segment>
<pinref part="GND8" gate="1" pin="GND"/>
<pinref part="Q4" gate="G$1" pin="S"/>
<wire x1="160.02" y1="60.96" x2="160.02" y2="63.5" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="GND13" gate="1" pin="GND"/>
<pinref part="Q11" gate="G$1" pin="S"/>
<wire x1="226.06" y1="63.5" x2="226.06" y2="66.04" width="0.1524" layer="91"/>
</segment>
<segment>
<wire x1="226.06" y1="93.98" x2="226.06" y2="91.44" width="0.1524" layer="91"/>
<pinref part="Q10" gate="G$1" pin="S"/>
<pinref part="GND14" gate="1" pin="GND"/>
</segment>
<segment>
<wire x1="223.52" y1="119.38" x2="223.52" y2="116.84" width="0.1524" layer="91"/>
<pinref part="GND15" gate="1" pin="GND"/>
<pinref part="Q9" gate="G$1" pin="S"/>
</segment>
<segment>
<wire x1="292.354" y1="68.326" x2="292.1" y2="66.04" width="0.1524" layer="91"/>
<pinref part="GND16" gate="1" pin="GND"/>
<pinref part="Q12" gate="G$1" pin="S"/>
</segment>
<segment>
<wire x1="292.1" y1="93.98" x2="292.1" y2="91.44" width="0.1524" layer="91"/>
<pinref part="GND17" gate="1" pin="GND"/>
<pinref part="Q13" gate="G$1" pin="S"/>
</segment>
<segment>
<wire x1="292.1" y1="119.38" x2="292.1" y2="116.84" width="0.1524" layer="91"/>
<pinref part="GND18" gate="1" pin="GND"/>
<pinref part="Q14" gate="G$1" pin="S"/>
</segment>
<segment>
<wire x1="226.06" y1="152.4" x2="226.06" y2="149.86" width="0.1524" layer="91"/>
<pinref part="GND19" gate="1" pin="GND"/>
<pinref part="Q8" gate="G$1" pin="S"/>
</segment>
<segment>
<wire x1="292.1" y1="152.4" x2="292.1" y2="149.86" width="0.1524" layer="91"/>
<pinref part="GND20" gate="1" pin="GND"/>
<pinref part="Q15" gate="G$1" pin="S"/>
</segment>
</net>
<net name="D0" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="47"/>
<wire x1="27.94" y1="50.8" x2="30.48" y2="50.8" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R15" gate="G$1" pin="1"/>
<wire x1="274.32" y1="154.94" x2="271.78" y2="154.94" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW10" class="0">
<segment>
<wire x1="-12.7" y1="48.26" x2="-20.32" y2="48.26" width="0.1524" layer="91"/>

<pinref part="U2" gate="G$1" pin="12"/>
</segment>
<segment>
<pinref part="R10" gate="G$1" pin="1"/>
<wire x1="142.24" y1="66.04" x2="139.7" y2="66.04" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PWR" class="0">
<segment>
<pinref part="P19" gate="G$1" pin="1"/>

<wire x1="-60.96" y1="162.56" x2="-66.04" y2="162.56" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="C1" gate="G$1" pin="1"/>
<wire x1="-63.5" y1="71.12" x2="-66.04" y2="71.12" width="0.1524" layer="91"/>
<wire x1="-66.04" y1="71.12" x2="-66.04" y2="66.04" width="0.1524" layer="91"/>
<pinref part="C2" gate="G$1" pin="1"/>
<wire x1="-66.04" y1="66.04" x2="-66.04" y2="60.96" width="0.1524" layer="91"/>
<wire x1="-66.04" y1="60.96" x2="-63.5" y2="60.96" width="0.1524" layer="91"/>
<wire x1="-66.04" y1="66.04" x2="-68.58" y2="66.04" width="0.1524" layer="91"/>
<junction x="-66.04" y="66.04"/>

</segment>
<segment>
<pinref part="P17" gate="G$1" pin="1"/>
<wire x1="274.32" y1="78.74" x2="271.78" y2="78.74" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D16" gate="1" pin="C"/>
<wire x1="299.72" y1="78.74" x2="309.88" y2="78.74" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D15" gate="1" pin="C"/>
<wire x1="299.72" y1="104.14" x2="309.88" y2="104.14" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D11" gate="1" pin="C"/>
<wire x1="233.68" y1="104.14" x2="243.84" y2="104.14" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D12" gate="1" pin="C"/>
<wire x1="233.68" y1="76.2" x2="243.84" y2="76.2" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P13" gate="G$1" pin="1"/>
<wire x1="205.74" y1="76.2" x2="203.2" y2="76.2" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P12" gate="G$1" pin="1"/>
<wire x1="208.28" y1="104.14" x2="205.74" y2="104.14" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P11" gate="G$1" pin="1"/>
<wire x1="205.74" y1="129.54" x2="203.2" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D10" gate="1" pin="C"/>
<wire x1="231.14" y1="129.54" x2="241.3" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P10" gate="G$1" pin="1"/>
<wire x1="208.28" y1="162.56" x2="205.74" y2="162.56" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D9" gate="1" pin="C"/>
<wire x1="233.68" y1="162.56" x2="243.84" y2="162.56" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D8" gate="1" pin="C"/>
<wire x1="167.64" y1="73.66" x2="177.8" y2="73.66" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D7" gate="1" pin="C"/>
<wire x1="167.64" y1="99.06" x2="177.8" y2="99.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D6" gate="1" pin="C"/>
<wire x1="167.64" y1="127" x2="177.8" y2="127" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D5" gate="1" pin="C"/>
<wire x1="172.72" y1="157.48" x2="182.88" y2="157.48" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P6" gate="G$1" pin="1"/>
<wire x1="147.32" y1="157.48" x2="144.78" y2="157.48" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P7" gate="G$1" pin="1"/>
<wire x1="139.7" y1="127" x2="137.16" y2="127" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P8" gate="G$1" pin="1"/>
<wire x1="142.24" y1="99.06" x2="139.7" y2="99.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P9" gate="G$1" pin="1"/>
<wire x1="142.24" y1="73.66" x2="139.7" y2="73.66" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D4" gate="1" pin="C"/>
<wire x1="104.14" y1="73.66" x2="114.3" y2="73.66" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D3" gate="1" pin="C"/>
<wire x1="104.14" y1="99.06" x2="109.22" y2="99.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D1" gate="1" pin="C"/>
<wire x1="99.06" y1="129.54" x2="104.14" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P5" gate="G$1" pin="1"/>
<wire x1="73.66" y1="73.66" x2="71.12" y2="73.66" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P4" gate="G$1" pin="1"/>
<wire x1="76.2" y1="99.06" x2="73.66" y2="99.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P1" gate="G$1" pin="1"/>
<wire x1="76.2" y1="129.54" x2="73.66" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P3" gate="G$1" pin="1"/>
<wire x1="72.898" y1="160.02" x2="72.644" y2="160.02" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P16" gate="G$1" pin="1"/>
<wire x1="271.78" y1="104.14" x2="266.7" y2="104.14" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P15" gate="G$1" pin="1"/>
<wire x1="271.78" y1="129.54" x2="269.24" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P14" gate="G$1" pin="1"/>
<wire x1="274.32" y1="162.56" x2="271.78" y2="162.56" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D13" gate="1" pin="C"/>
<wire x1="299.72" y1="162.56" x2="309.88" y2="162.56" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="D2" gate="1" pin="C"/>
<wire x1="99.314" y1="160.02" x2="108.204" y2="160.02" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="P18" gate="G$1" pin="1"/>

<wire x1="-60.96" y1="152.4" x2="-66.04" y2="152.4" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="D14" gate="1" pin="C"/>
<wire x1="299.72" y1="129.54" x2="309.88" y2="129.54" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$10" class="0">
<segment>
<pinref part="R4" gate="G$1" pin="2"/>
<pinref part="Q1" gate="G$1" pin="G"/>
<wire x1="93.98" y1="119.126" x2="83.82" y2="119.38" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$14" class="0">
<segment>
<pinref part="R5" gate="G$1" pin="2"/>
<pinref part="Q2" gate="G$1" pin="G"/>
<wire x1="88.9" y1="91.44" x2="86.36" y2="91.44" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$18" class="0">
<segment>
<pinref part="R6" gate="G$1" pin="2"/>
<pinref part="Q3" gate="G$1" pin="G"/>
<wire x1="88.9" y1="66.04" x2="86.36" y2="66.04" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$22" class="0">
<segment>
<pinref part="R7" gate="G$1" pin="2"/>
<pinref part="Q7" gate="G$1" pin="G"/>
<wire x1="160.02" y1="149.86" x2="154.94" y2="149.86" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$26" class="0">
<segment>
<pinref part="R8" gate="G$1" pin="2"/>
<pinref part="Q6" gate="G$1" pin="G"/>
<wire x1="154.94" y1="119.38" x2="152.4" y2="119.38" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$30" class="0">
<segment>
<pinref part="R9" gate="G$1" pin="2"/>
<pinref part="Q5" gate="G$1" pin="G"/>
<wire x1="154.94" y1="91.44" x2="152.4" y2="91.44" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$34" class="0">
<segment>
<pinref part="R10" gate="G$1" pin="2"/>
<pinref part="Q4" gate="G$1" pin="G"/>
<wire x1="154.94" y1="66.04" x2="152.4" y2="66.04" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$38" class="0">
<segment>
<pinref part="R11" gate="G$1" pin="2"/>
<pinref part="Q8" gate="G$1" pin="G"/>
<wire x1="220.98" y1="154.94" x2="218.44" y2="154.94" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$42" class="0">
<segment>
<pinref part="R12" gate="G$1" pin="2"/>
<pinref part="Q9" gate="G$1" pin="G"/>
<wire x1="218.44" y1="121.92" x2="213.36" y2="121.92" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$46" class="0">
<segment>
<pinref part="R13" gate="G$1" pin="2"/>
<pinref part="Q10" gate="G$1" pin="G"/>
<wire x1="220.98" y1="96.52" x2="218.44" y2="96.52" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$50" class="0">
<segment>
<pinref part="R14" gate="G$1" pin="2"/>
<pinref part="Q11" gate="G$1" pin="G"/>
<wire x1="220.98" y1="68.58" x2="218.44" y2="68.58" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$54" class="0">
<segment>
<pinref part="R15" gate="G$1" pin="2"/>
<pinref part="Q15" gate="G$1" pin="G"/>
<wire x1="287.02" y1="154.94" x2="284.48" y2="154.94" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$58" class="0">
<segment>
<pinref part="R16" gate="G$1" pin="2"/>
<pinref part="Q14" gate="G$1" pin="G"/>
<wire x1="287.02" y1="121.92" x2="284.48" y2="121.92" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$62" class="0">
<segment>
<pinref part="R17" gate="G$1" pin="2"/>
<pinref part="Q13" gate="G$1" pin="G"/>
<wire x1="287.02" y1="96.52" x2="284.48" y2="96.52" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$66" class="0">
<segment>
<pinref part="R18" gate="G$1" pin="2"/>
<pinref part="Q12" gate="G$1" pin="G"/>
<wire x1="287.274" y1="70.866" x2="284.48" y2="71.12" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$6" class="0">
<segment>
<pinref part="R19" gate="G$1" pin="2"/>
<pinref part="Q17" gate="G$1" pin="G"/>
<wire x1="86.36" y1="152.4" x2="83.82" y2="152.4" width="0.1524" layer="91"/>
<junction x="86.36" y="152.4"/>
</segment>
</net>
<net name="ARDUINO_GND" class="0">
<segment>
<pinref part="U$2" gate="G$1" pin="VCC"/>
<wire x1="-85.598" y1="104.14" x2="-89.916" y2="104.14" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U2" gate="G$1" pin="GND@2"/>
<wire x1="-12.7" y1="40.64" x2="-20.32" y2="40.64" width="0.1524" layer="91"/>

</segment>
</net>
<net name="A0" class="0">
<segment>
<wire x1="-67.818" y1="107.95" x2="-62.738" y2="107.95" width="0.1524" layer="91"/>
<pinref part="U$2" gate="G$1" pin="BLUE"/>
<pinref part="R3" gate="G$1" pin="1"/>
</segment>
</net>
<net name="A2" class="0">
<segment>
<pinref part="U$2" gate="G$1" pin="RED"/>
<wire x1="-67.818" y1="100.33" x2="-62.23" y2="100.584" width="0.1524" layer="91"/>
<pinref part="R20" gate="G$1" pin="1"/>
</segment>
</net>
<net name="5V" class="0">
<segment>
<pinref part="I2C-1" gate="G$1" pin="4"/>
<wire x1="-53.34" y1="30.48" x2="-50.8" y2="30.48" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R1" gate="G$1" pin="2"/>
<wire x1="-78.74" y1="22.86" x2="-78.74" y2="25.4" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R2" gate="G$1" pin="1"/>
<wire x1="-78.74" y1="-2.54" x2="-78.74" y2="-5.08" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U2" gate="G$1" pin="5V@1"/>
<wire x1="-12.7" y1="132.08" x2="-20.32" y2="132.08" width="0.1524" layer="91"/>
<wire x1="-20.32" y1="132.08" x2="-20.32" y2="129.54" width="0.1524" layer="91"/>
<pinref part="U2" gate="G$1" pin="5V@2"/>
<wire x1="-20.32" y1="129.54" x2="-12.7" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C-2" gate="G$1" pin="4"/>
<wire x1="-53.34" y1="12.7" x2="-50.8" y2="12.7" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C-3" gate="G$1" pin="4"/>
<wire x1="-53.34" y1="-7.62" x2="-50.8" y2="-7.62" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SDA" class="0">
<segment>
<pinref part="I2C-1" gate="G$1" pin="3"/>
<wire x1="-53.34" y1="27.94" x2="-50.8" y2="27.94" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="-83.82" y1="12.7" x2="-78.74" y2="12.7" width="0.1524" layer="91"/>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="-78.74" y1="12.7" x2="-71.12" y2="12.7" width="0.1524" layer="91"/>
<junction x="-78.74" y="12.7"/>

</segment>
<segment>
<pinref part="U2" gate="G$1" pin="20(SDA)"/>
<wire x1="27.94" y1="119.38" x2="30.48" y2="119.38" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C-2" gate="G$1" pin="3"/>
<wire x1="-53.34" y1="10.16" x2="-50.8" y2="10.16" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C-3" gate="G$1" pin="3"/>
<wire x1="-53.34" y1="-10.16" x2="-50.8" y2="-10.16" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SCL" class="0">
<segment>
<pinref part="I2C-1" gate="G$1" pin="2"/>
<wire x1="-53.34" y1="25.4" x2="-50.8" y2="25.4" width="0.1524" layer="91"/>

</segment>
<segment>
<wire x1="-83.82" y1="7.62" x2="-78.74" y2="7.62" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="2"/>
<wire x1="-78.74" y1="7.62" x2="-71.12" y2="7.62" width="0.1524" layer="91"/>
<junction x="-78.74" y="7.62"/>

</segment>
<segment>
<pinref part="U2" gate="G$1" pin="21(SCL)"/>
<wire x1="27.94" y1="116.84" x2="30.48" y2="116.84" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C-2" gate="G$1" pin="2"/>
<wire x1="-53.34" y1="7.62" x2="-50.8" y2="7.62" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="I2C-3" gate="G$1" pin="2"/>
<wire x1="-53.34" y1="-12.7" x2="-50.8" y2="-12.7" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$1" class="0">
<segment>
<pinref part="U$2" gate="G$1" pin="GREEN"/>
<wire x1="-67.818" y1="104.14" x2="-59.944" y2="104.394" width="0.1524" layer="91"/>
<wire x1="-59.944" y1="104.394" x2="-53.594" y2="104.394" width="0.1524" layer="91"/>
<pinref part="R21" gate="G$1" pin="1"/>
</segment>
</net>
<net name="GREEN" class="0">
<segment>
<pinref part="R21" gate="G$1" pin="2"/>
<wire x1="-43.434" y1="104.394" x2="-40.894" y2="104.394" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="U2" gate="G$1" pin="40"/>
<wire x1="27.94" y1="68.58" x2="30.48" y2="68.58" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW11" class="0">
<segment>
<wire x1="27.94" y1="137.16" x2="30.48" y2="137.16" width="0.1524" layer="91"/>
<pinref part="U2" gate="G$1" pin="13"/>

</segment>
<segment>
<pinref part="R9" gate="G$1" pin="1"/>
<wire x1="142.24" y1="91.44" x2="139.7" y2="91.44" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW12" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="44"/>
<wire x1="27.94" y1="58.42" x2="30.48" y2="58.42" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R18" gate="G$1" pin="1"/>
<wire x1="274.32" y1="71.12" x2="271.78" y2="71.12" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW13" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="45"/>
<wire x1="27.94" y1="55.88" x2="30.48" y2="55.88" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R17" gate="G$1" pin="1"/>
<wire x1="274.32" y1="96.52" x2="271.78" y2="96.52" width="0.1524" layer="91"/>

</segment>
</net>
<net name="PW14" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="46"/>
<wire x1="27.94" y1="53.34" x2="30.48" y2="53.34" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R16" gate="G$1" pin="1"/>
<wire x1="274.32" y1="121.92" x2="271.78" y2="121.92" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$3" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="14(TX3)"/>
<wire x1="27.94" y1="134.62" x2="30.48" y2="134.62" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$7" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="15

license: MIT

license_type: permissive

branch_name: refs/heads/master


text:
(RX3)"/>
<wire x1="27.94" y1="132.08" x2="30.48" y2="132.08" width="0.1524" layer="91"/>
<label x="30.48" y="132.08" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="N$8" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="16(TX2)"/>
<wire x1="27.94" y1="129.54" x2="30.48" y2="129.54" width="0.1524" layer="91"/>
<label x="30.48" y="129.54" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="N$9" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="17(RX2)"/>
<wire x1="27.94" y1="127" x2="30.48" y2="127" width="0.1524" layer="91"/>
<label x="30.48" y="127" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="N$12" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="18(TX1)"/>
<wire x1="27.94" y1="124.46" x2="30.48" y2="124.46" width="0.1524" layer="91"/>
<label x="30.48" y="124.46" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="19(RX1)"/>
<wire x1="27.94" y1="121.92" x2="30.48" y2="121.92" width="0.1524" layer="91"/>
<label x="30.48" y="121.92" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="BLUE" class="0">
<segment>
<label x="-43.18" y="107.95" size="1.27" layer="95" xref="yes"/>
<pinref part="R3" gate="G$1" pin="2"/>
<wire x1="-52.578" y1="107.95" x2="-43.434" y2="107.95" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="G$1" pin="42"/>
<wire x1="27.94" y1="63.5" x2="30.48" y2="63.5" width="0.1524" layer="91"/>
<label x="30.48" y="63.5" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="RED" class="0">
<segment>
<label x="-38.354" y="100.584" size="1.27" layer="95" xref="yes"/>
<pinref part="R20" gate="G$1" pin="2"/>
<wire x1="-52.07" y1="100.584" x2="-38.608" y2="100.584" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="U2" gate="G$1" pin="41"/>
<wire x1="27.94" y1="66.04" x2="30.48" y2="66.04" width="0.1524" layer="91"/>
<label x="30.48" y="66.04" size="1.27" layer="95" xref="yes"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="Q17" gate="G$1" pin="D"/>
<wire x1="91.44" y1="160.02" x2="88.138" y2="160.02" width="0.1524" layer="91"/>
<pinref part="D2" gate="1" pin="A"/>
<wire x1="91.44" y1="160.02" x2="94.234" y2="160.02" width="0.1524" layer="91"/>
<junction x="91.44" y="160.02"/>
<pinref part="P3" gate="G$1" pin="2"/>
</segment>
</net>
<net name="N$15" class="0">
<segment>
<pinref part="P1" gate="G$1" pin="2"/>
<wire x1="93.98" y1="127" x2="91.44" y2="127" width="0.1524" layer="91"/>
<wire x1="91.44" y1="127" x2="91.44" y2="129.54" width="0.1524" layer="91"/>
<pinref part="D1" gate="1" pin="A"/>
<wire x1="93.98" y1="129.54" x2="93.98" y2="127" width="0.1524" layer="91"/>
<wire x1="93.98" y1="127" x2="99.06" y2="126.746" width="0.1524" layer="91"/>
<junction x="93.98" y="127"/>
<pinref part="Q1" gate="G$1" pin="D"/>
</segment>
</net>
<net name="N$16" class="0">
<segment>
<pinref part="P4" gate="G$1" pin="2"/>
<pinref part="D3" gate="1" pin="A"/>
<wire x1="91.44" y1="99.06" x2="93.98" y2="99.06" width="0.1524" layer="91"/>
<pinref part="Q2" gate="G$1" pin="D"/>
<wire x1="93.98" y1="99.06" x2="99.06" y2="99.06" width="0.1524" layer="91"/>
<junction x="93.98" y="99.06"/>
</segment>
</net>
<net name="N$19" class="0">
<segment>
<pinref part="P5" gate="G$1" pin="2"/>
<pinref part="D4" gate="1" pin="A"/>
<wire x1="88.9" y1="73.66" x2="93.98" y2="73.66" width="0.1524" layer="91"/>
<pinref part="Q3" gate="G$1" pin="D"/>
<wire x1="93.98" y1="73.66" x2="99.06" y2="73.66" width="0.1524" layer="91"/>
<junction x="93.98" y="73.66"/>
</segment>
</net>
<net name="N$20" class="0">
<segment>
<pinref part="P7" gate="G$1" pin="2"/>
<pinref part="D6" gate="1" pin="A"/>
<wire x1="154.94" y1="127" x2="160.02" y2="127" width="0.1524" layer="91"/>
<pinref part="Q6" gate="G$1" pin="D"/>
<wire x1="160.02" y1="127" x2="162.56" y2="127" width="0.1524" layer="91"/>
<junction x="160.02" y="127"/>
</segment>
</net>
<net name="N$21" class="0">
<segment>
<pinref part="P8" gate="G$1" pin="2"/>
<pinref part="D7" gate="1" pin="A"/>
<wire x1="157.48" y1="99.06" x2="160.02" y2="99.06" width="0.1524" layer="91"/>
<pinref part="Q5" gate="G$1" pin="D"/>
<wire x1="160.02" y1="99.06" x2="162.56" y2="99.06" width="0.1524" layer="91"/>
<junction x="160.02" y="99.06"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<pinref part="P6" gate="G$1" pin="2"/>
<pinref part="D5" gate="1" pin="A"/>
<wire x1="162.56" y1="157.48" x2="165.1" y2="157.48" width="0.1524" layer="91"/>
<pinref part="Q7" gate="G$1" pin="D"/>
<wire x1="165.1" y1="157.48" x2="167.64" y2="157.48" width="0.1524" layer="91"/>
<junction x="165.1" y="157.48"/>
</segment>
</net>
<net name="N$27" class="0">
<segment>
<pinref part="P9" gate="G$1" pin="2"/>
<pinref part="D8" gate="1" pin="A"/>
<wire x1="157.48" y1="73.66" x2="160.02" y2="73.66" width="0.1524" layer="91"/>
<pinref part="Q4" gate="G$1" pin="D"/>
<wire x1="160.02" y1="73.66" x2="162.56" y2="73.66" width="0.1524" layer="91"/>
<junction x="160.02" y="73.66"/>
</segment>
</net>
<net name="N$5" class="0">
<segment>
<pinref part="Q11" gate="G$1" pin="D"/>
<pinref part="P13" gate="G$1" pin="2"/>
<wire x1="226.06" y1="76.2" x2="220.98" y2="76.2" width="0.1524" layer="91"/>
<pinref part="D12" gate="1" pin="A"/>
<wire x1="228.6" y1="76.2" x2="226.06" y2="76.2" width="0.1524" layer="91"/>
<junction x="226.06" y="76.2"/>
</segment>
</net>
<net name="N$23" class="0">
<segment>
<pinref part="P12" gate="G$1" pin="2"/>
<pinref part="D11" gate="1" pin="A"/>
<wire x1="223.52" y1="104.14" x2="226.06" y2="104.14" width="0.1524" layer="91"/>
<pinref part="Q10" gate="G$1" pin="D"/>
<wire x1="226.06" y1="104.14" x2="228.6" y2="104.14" width="0.1524" layer="91"/>
<junction x="226.06" y="104.14"/>
</segment>
</net>
<net name="N$25" class="0">
<segment>
<pinref part="P16" gate="G$1" pin="2"/>
<pinref part="D15" gate="1" pin="A"/>
<wire x1="287.02" y1="104.14" x2="292.1" y2="104.14" width="0.1524" layer="91"/>
<pinref part="Q13" gate="G$1" pin="D"/>
<wire x1="292.1" y1="104.14" x2="294.64" y2="104.14" width="0.1524" layer="91"/>
<junction x="292.1" y="104.14"/>
</segment>
</net>
<net name="N$31" class="0">
<segment>
<pinref part="P17" gate="G$1" pin="2"/>
<pinref part="D16" gate="1" pin="A"/>
<wire x1="289.56" y1="78.74" x2="292.354" y2="78.486" width="0.1524" layer="91"/>
<pinref part="Q12" gate="G$1" pin="D"/>
<wire x1="292.354" y1="78.486" x2="294.64" y2="78.74" width="0.1524" layer="91"/>
<junction x="292.354" y="78.486"/>
</segment>
</net>
<net name="N$24" class="0">
<segment>
<pinref part="P15" gate="G$1" pin="2"/>
<pinref part="D14" gate="1" pin="A"/>
<wire x1="287.02" y1="129.54" x2="292.1" y2="129.54" width="0.1524" layer="91"/>
<pinref part="Q14" gate="G$1" pin="D"/>
<wire x1="292.1" y1="129.54" x2="294.64" y2="129.54" width="0.1524" layer="91"/>
<junction x="292.1" y="129.54"/>
</segment>
</net>
<net name="N$33" class="0">
<segment>
<pinref part="P11" gate="G$1" pin="2"/>
<pinref part="D10" gate="1" pin="A"/>
<wire x1="220.98" y1="129.54" x2="223.52" y2="129.54" width="0.1524" layer="91"/>
<pinref part="Q9" gate="G$1" pin="D"/>
<wire x1="223.52" y1="129.54" x2="226.06" y2="129.54" width="0.1524" layer="91"/>
<junction x="223.52" y="129.54"/>
</segment>
</net>
<net name="N$35" class="0">
<segment>
<pinref part="P10" gate="G$1" pin="2"/>
<pinref part="D9" gate="1" pin="A"/>
<wire x1="223.52" y1="162.56" x2="226.06" y2="162.56" width="0.1524" layer="91"/>
<pinref part="Q8" gate="G$1" pin="D"/>
<wire x1="226.06" y1="162.56" x2="228.6" y2="162.56" width="0.1524" layer="91"/>
<junction x="226.06" y="162.56"/>
</segment>
</net>
<net name="N$11" class="0">
<segment>
<pinref part="P14" gate="G$1" pin="2"/>
<pinref part="D13" gate="1" pin="A"/>
<wire x1="289.56" y1="162.56" x2="292.1" y2="162.56" width="0.1524" layer="91"/>
<pinref part="Q15" gate="G$1" pin="D"/>
<wire x1="292.1" y1="162.56" x2="294.64" y2="162.56" width="0.1524" layer="91"/>
<junction x="292.1" y="162.56"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
<errors>
<approved hash="113,1,-59.69,72.7868,C1,,,,,"/>
<approved hash="113,1,-59.69,62.6268,C2,,,,,"/>
</errors>
</schematic>
</drawing>
</eagle>

repository: nathanshaw/Homados

repo_name: nathanshaw/Homados

extension: sch


text:
@online{BLAST,
  author  = {National Center for Biotechnology Information (US)},
  title   = {Basic Local Alignment Search Tool},
  url     = {https://blast.ncbi.nlm.nih.gov/Blast.cgi},
  urldate = {2017-03-03}
}

@online{Entrez,
  author  = {National Center for Biotechnology Information (US)},
  title   = {Entrez Programming Utilities Help},
  year    = {2005},
  url     = {https://www.ncbi.nlm.nih.gov/books/NBK3836/},
  urldate = {2017-03-03}
}

@online{BLASTURLAPI,
  author  = {National Center for Biotechnology Information (US)},
  title   = {Common URL API},
  url     = {http://www.ncbi.nlm.nih.gov/BLAST/Doc/urlapi.html},
  urldate = {2017-03-03}
}

@online{EUtilities,
  author  = {National Center for Biotechnology Information (US)},
  title   = {Entrez Programming Utilities Help},
  year    = {2010},
  url     = {https://www.ncbi.nlm.nih.gov/books/NBK25501/},
  urldate = {2017-03-03}
}

@online{BioPerlEUtilities,
  author  = {Fields C.,},
  title   = {Bio-EUtilities},
  url     = {https://github.com/bioperl/Bio-EUtilities},
  urldate = {2017-03-03}
}

@online{BioPerlRUN,
  author  = {Fields C.,},
  title   = {Bio-EUtilities},
  url     = {https://github.com/bioperl/bioperl-run},
  urldate = {2017-03-03}
}

@Article{BioPerl,
  author    = {Stajich J.E., et al.},
  title     = {The Bioperl toolkit: Perl modules for the life sciences},
  journal   = {Genome Research},
  year      = {2002},
  volume    = {12},
  number    = {10},
  pages     = {1611-1618},
  doi       = {10.1101/gr.361602},
}

@Article{Biopython,
  author    = {Cock P.J.A., et al.},
  title     = {Biopython: freely available Python tools for computational molecular biology and bioinformatics},
  journal   = {Bioinformatics},
  year      = {2009},
  volume    = {25},
  number    = {11},
  pages     = {1422-1423},
  doi       = {10.1093/bioinformatics/btp163},
}

repository: daniel-anavaino/ncbi

repo_name: daniel-anavaino/ncbi

extension: bib


text:
require ${PN}.inc

PR = "r1"

SRC_URI = "http://sources.openembedded.org/opie-1.2.4-split_noncore_games_bounce.tar.bz2;name=split_noncore_games_bounce \
           http://sources.openembedded.org/opie-1.2.4-split_pics.tar.bz2;name=split_pics \
           http://sources.openembedded.org/opie-1.2.4-split_apps.tar.bz2;name=split_apps"
SRC_URI[split_noncore_games_bounce.md5sum] = "71514e661954a094b48f2f3aa470f980"
SRC_URI[split_noncore_games_bounce.sha256sum] = "48af5f33332ca910b6c3ec90151b4206b6ed9e844b557cb087368a573e9e66a1"
SRC_URI[split_pics.md5sum] = "5499dc84b65395ab99bda6ed9d01ff0f"
SRC_URI[split_pics.sha256sum] = "f22781f36e84e12d51fff1eb68cc3fb98221c7d807a82226813b7e974a604109"
SRC_URI[split_apps.md5sum] = "67a43e8e4bcd9e63b884ea25deea5b34"
SRC_URI[split_apps.sha256sum] = "a33a55efb4ae4c15a8c2c5d6faba6d671a5652da8e216ce35088896fe597215b"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD

extension: bb


text:
package http

import (
	"fmt"
	"net/http"
	"os"

	"github.com/gorilla/mux"
	"github.com/reecerussell/monzo-plus-plus/libraries/bootstrap"
	"github.com/reecerussell/monzo-plus-plus/libraries/di"
	"github.com/reecerussell/monzo-plus-plus/libraries/permission"
	"github.com/reecerussell/monzo-plus-plus/service.plugins/interface/http/controller"
)

// Build returns a HTTPServer with plugin routes and authentication middleware.
func Build(ctn *di.Container) *bootstrap.HTTPServer {
	r := mux.NewRouter()

	_ = controller.NewPluginController(ctn, r)

	return bootstrap.BuildServer(&http.Server{
		Handler: permission.Middleware(r),
		Addr:    fmt.Sprintf(":%s", os.Getenv("HTTP_PORT")),
	})
}

repository: reecerussell/monzo-plus-plus

repo_name: reecerussell/monzo-plus-plus

gha_license_id: MIT

gha_language: Go

extension: go


text:
// The NearHoverSimulator node.
//
///////////////////////////////////////////////////////////////////////////////

#include <ros/ros.h>
#include <crazyflie_simulator/near_hover_simulator.h>

int main(int argc, char** argv) {
  ros::init(argc, argv, "simulator");
  ros::NodeHandle n("~");

  crazyflie_simulator::NearHoverSimulator simulator;

  if (!simulator.Initialize(n)) {
    ROS_ERROR("%s: Failed to initialize near_hover_simulator.",
              ros::this_node::getName().c_str());
    return EXIT_FAILURE;
  }

  ros::spin();

  return EXIT_SUCCESS;
}

gha_license_id: NOASSERTION

extension: cpp


text:
require qt5-${PV}.inc
require ${PN}.inc

SRC_URI[md5sum] = "46e4e8df94b4da4415aa5f5076b8bc45"
SRC_URI[sha256sum] = "d83555be4fc805afe9ef307cf8633d9c0cebc678042e384b24e0aa61d7bc1d02"


text:
SUMMARY = "A development image with Qt embedded and some Syntro apps"
HOMEPAGE = "http://www.pansenti.com"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"

require pansenti-console-image.bb

PR = "1"

QT_TOOLS = " \
    qt4-embedded-dev\
    qt4-embedded \
 "

PSPLASH = "psplash"

PSPLASH_overo = ""

SYNTRO = " \
    syntrocore \
    syntrocore-dev \
    syntrolcam \
    syntrolcam-init \
 "

IMAGE_INSTALL += " \
    ${QT_TOOLS} \
    ${PSPLASH} \
    ${SYNTRO} \
 "

export IMAGE_BASENAME = "pansenti-qte-image"

repository: Pansenti/meta-pansenti

repo_name: Pansenti/meta-pansenti


text:
src/mp4.cpp:679:20: error: cannot initialize return object of type 'mp4v2_ismacrypParams *' (aka 'mp4v2_ismacryp_session_params *') with an rvalue of type 'MP4TrackId' (aka 'unsigned int')
            return MP4_INVALID_TRACK_ID;
                   ^~~~~~~~~~~~~~~~~~~~
./include/mp4v2/general.h:45:33: note: expanded from macro 'MP4_INVALID_TRACK_ID'
#define MP4_INVALID_TRACK_ID    ((MP4TrackId)0)       /**< Constant: invalid MP4TrackId. */
                                ^~~~~~~~~~~~~~~

--- src/mp4.cpp.orig	2009-07-13 23:07:12 UTC
+++ src/mp4.cpp
@@ -676,7 +676,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, u
         }

         catch (...) {
-            return MP4_INVALID_TRACK_ID;
+            return NULL;
         }
     }

repository: DragonFlyBSD/DPorts

repo_name: DragonFlyBSD/DPorts


text:
DESCRIPTION = "openBmap logger and uploader of GPS/GSM data"
SECTION = "x11/utils"
DEPENDS = "python python-dbus python-pygobject python-pygtk libglade"
RDEPENDS_${PN} = "python-subprocess python-netclient python-math python-core python-io"
PR = "r2"

inherit python-dir

SRC_URI = "${SOURCEFORGE_MIRROR}/myposition/openbmap-logger-${PV}.tar.gz"

FILES_${PN} += "${datadir}/openBmap/* ${PYTHON_SITEPACKAGES_DIR}/openbmap/*"

do_configure () {
    :
}

do_compile () {
    :
}

do_install () {
    install -d ${D}${bindir}
    install -m 0755 openBmapGTK ${D}${bindir}/
    install -d ${D}${PYTHON_SITEPACKAGES_DIR}/openbmap/
    install -m 0644 openbmap/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/openbmap/
    install -m 0644 openbmap/logger.py ${D}${PYTHON_SITEPACKAGES_DIR}/openbmap/
    install -m 0644 openbmap/Upload.py ${D}${PYTHON_SITEPACKAGES_DIR}/openbmap/
    install -d ${D}${datadir}/pixmaps
    install -d ${D}${datadir}/applications
    install -d ${D}${datadir}/openBmap
    install -m 0644 openBmap.desktop ${D}${datadir}/applications/openBmap.desktop
    install -m 0644 openBmap-desktop.png ${D}${datadir}/pixmaps/openBmap-desktop.png
    install -m 0644 ExitButton.png ${D}${datadir}/openBmap/ExitButton.png
    install -m 0644 GenerateButton.png ${D}${datadir}/openBmap/GenerateButton.png
    install -m 0644 StopButton.png ${D}${datadir}/openBmap/StopButton.png
    install -m 0644 UploadButton.png ${D}${datadir}/openBmap/UploadButton.png
    install -m 0644 Main.glade ${D}${datadir}/openBmap/Main.glade
}

SRC_URI[md5sum] = "5c9c1639bdff3bd35c63697d398f1a68"
SRC_URI[sha256sum] = "3d6c58830e50373d0dc2a72f6fc65afd7ef30aabf2d1078e6878c911270dec16"


text:
package mysql

import (
	"os"

	inp "go-api/api/v1/input"

	r "github.com/dancannon/gorethink"
	log "github.com/sirupsen/logrus"
)

func ItemInsertDB(_d inp.ItemData) error {
	var err error
	log.Info("Creating product profile")

	_, err = r.DB(os.Getenv("RDB_ENV") + "_test").Table(os.Getenv("RDB_ENV") + "_test_table").Insert(_d).RunWrite(session)

	if err != nil {
		log.Error("Error inserting item in db")
		return err
	}

	log.Info("Item created, returning")

	return nil
}

repository: albgarjim/go-api

repo_name: albgarjim/go-api


text:
import { promises as fsp } from 'node:fs'
import { dirname } from 'pathe'
import consola from 'consola'

// Check if a file exists
export async function exists (path: string) {
  try {
    await fsp.access(path)
    return true
  } catch {
    return false
  }
}

export async function clearDir (path: string) {
  await fsp.rm(path, { recursive: true, force: true })
  await fsp.mkdir(path, { recursive: true })
}

export async function rmRecursive (paths: string[]) {
  await Promise.all(paths.filter(p => typeof p === 'string').map(async (path) => {
    consola.debug('Removing recursive path', path)
    await fsp.rm(path, { recursive: true, force: true }).catch(() => {})
  }))
}

export async function touchFile (path: string) {
  const time = new Date()
  await fsp.utimes(path, time, time).catch(() => {})
}

export function findup<T> (rootDir: string, fn: (dir: string) => T | undefined): T | null {
  let dir = rootDir
  while (dir !== dirname(dir)) {
    const res = fn(dir)
    if (res) {
      return res
    }
    dir = dirname(dir)
  }
  return null
}

branch_name: refs/heads/main

extension: ts


text:
// Copyright 2014 The Azul3D Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build linux

package x11

// Yes, I know it's ugly to use both Xlib and XCB; but suprisingly it is not
// really possible to just use XCB for what we are doing. For one thing GLX
// does not work with XCB (without mixing in Xlib, of course). For another,
// XCB's keyboard support is rudimentary at best, e.g. Only Xlib: XLookupKeysym
// supports UCS encoding, etc..
//
// It looks like this is *the way to do it*, and it looks like other
// open source projects do it this way too; so, there is that as well.

/*
#include <stdlib.h>
#include <X11/Xlib-xcb.h>
#include <X11/XKBlib.h>
#include <X11/Xutil.h>

#define XK_3270
#include <X11/keysym.h>
#include <X11/Xlibint.h>

#cgo LDFLAGS: -lX11-xcb -lX11 -lxcb

int chippy_xlib_error(Display* d, XErrorEvent* e);
*/
import "C"

import (
	"fmt"
	"sync"
	"unsafe"
)

const (
	NoSymbol            = C.NoSymbol
	XK_minus            = C.XK_minus
	XK_BackSpace        = C.XK_BackSpace
	XK_Tab              = C.XK_Tab
	XK_Linefeed         = C.XK_Linefeed
	XK_Clear            = C.XK_Clear
	XK_Return           = C.XK_Return
	XK_Pause            = C.XK_Pause
	XK_Scroll_Lock      = C.XK_Scroll_Lock
	XK_Num_Lock         = C.XK_Num_Lock
	XK_Shift_Lock       = C.XK_Shift_Lock
	XK_Sys_Req          = C.XK_Sys_Req
	XK_Escape           = C.XK_Escape
	XK_Delete           = C.XK_Delete
	XK_underscore       = C.XK_underscore
	XK_asciitilde       = C.XK_asciitilde
	XK_grave            = C.XK_grave
	XK_plus             = C.XK_plus
	XK_equal            = C.XK_equal
	XK_colon            = C.XK_colon
	XK_semicolon        = C.XK_semicolon
	XK_quotedbl         = C.XK_quotedbl
	XK_apostrophe       = C.XK_apostrophe
	XK_comma            = C.XK_comma
	XK_less             = C.XK_less
	XK_period           = C.XK_period
	XK_greater          = C.XK_greater
	XK_slash            = C.XK_slash
	XK_question         = C.XK_question
	XK_backslash        = C.XK_backslash
	XK_bar              = C.XK_bar
	XK_space            = C.XK_space
	XK_parenright       = C.XK_parenright
	XK_exclam           = C.XK_exclam
	XK_at               = C.XK_at
	XK_numbersign       = C.XK_numbersign
	XK_dollar           = C.XK_dollar
	XK_percent          = C.XK_percent
	XK_asciicircum      = C.XK_asciicircum
	XK_ampersand        = C.XK_ampersand
	XK_asterisk         = C.XK_asterisk
	XK_parenleft        = C.XK_parenleft
	XK_braceleft        = C.XK_braceleft
	XK_bracketleft      = C.XK_bracketleft
	XK_braceright       = C.XK_braceright
	XK_bracketright     = C.XK_bracketright
	XK_Print            = C.XK_Print
	XK_Insert           = C.XK_Insert
	XK_ISO_Left_Tab     = C.XK_ISO_Left_Tab
	XK_3270_PrintScreen = C.XK_3270_PrintScreen

	XK_Select            = C.XK_Select
	XK_Execute           = C.XK_Execute
	XK_Help              = C.XK_Help
	XK_3270_Play         = C.XK_3270_Play
	XK_3270_ExSelect     = C.XK_3270_ExSelect
	XK_3270_CursorSelect = C.XK_3270_CursorSelect
	XK_Kanji             = C.XK_Kanji
	XK_3270_Attn         = C.XK_3270_Attn
	XK_3270_EraseEOF     = C.XK_3270_EraseEOF

	XK_0 = C.XK_0
	XK_1 = C.XK_1
	XK_2 = C.XK_2
	XK_3 = C.XK_3
	XK_4 = C.XK_4
	XK_5 = C.XK_5
	XK_6 = C.XK_6
	XK_7 = C.XK_7
	XK_8 = C.XK_8
	XK_9 = C.XK_9

	XK_a = C.XK_a
	XK_b = C.XK_b
	XK_c = C.XK_c
	XK_d = C.XK_d
	XK_e = C.XK_e
	XK_f = C.XK_f
	XK_g = C.XK_g
	XK_h = C.XK_h
	XK_i = C.XK_i
	XK_j = C.XK_j
	XK_k = C.XK_k
	XK_l = C.XK_l
	XK_m = C.XK_m
	XK_n = C.XK_n
	XK_o = C.XK_o
	XK_p = C.XK_p
	XK_q = C.XK_q
	XK_r = C.XK_r
	XK_s = C.XK_s
	XK_t = C.XK_t
	XK_u = C.XK_u
	XK_v = C.XK_v
	XK_w = C.XK_w
	XK_x = C.XK_x
	XK_y = C.XK_y
	XK_z = C.XK_z

	XK_A = C.XK_A
	XK_B = C.XK_B
	XK_C = C.XK_C
	XK_D = C.XK_D
	XK_E = C.XK_E
	XK_F = C.XK_F
	XK_G = C.XK_G
	XK_H = C.XK_H
	XK_I = C.XK_I
	XK_J = C.XK_J
	XK_K = C.XK_K
	XK_L = C.XK_L
	XK_M = C.XK_M
	XK_N = C.XK_N
	XK_O = C.XK_O
	XK_P = C.XK_P
	XK_Q = C.XK_Q
	XK_R = C.XK_R
	XK_S = C.XK_S
	XK_T = C.XK_T
	XK_U = C.XK_U
	XK_V = C.XK_V
	XK_W = C.XK_W
	XK_X = C.XK_X
	XK_Y = C.XK_Y
	XK_Z = C.XK_Z

	XK_F1  = C.XK_F1
	XK_F2  = C.XK_F2
	XK_F3  = C.XK_F3
	XK_F4  = C.XK_F4
	XK_F5  = C.XK_F5
	XK_F6  = C.XK_F6
	XK_F7  = C.XK_F7
	XK_F8  = C.XK_F8
	XK_F9  = C.XK_F9
	XK_F10 = C.XK_F10
	XK_F11 = C.XK_F11
	XK_F12 = C.XK_F12
	XK_F13 = C.XK_F13
	XK_F14 = C.XK_F14
	XK_F15 = C.XK_F15
	XK_F16 = C.XK_F16
	XK_F17 = C.XK_F17
	XK_F18 = C.XK_F18
	XK_F19 = C.XK_F19
	XK_F20 = C.XK_F20
	XK_F21 = C.XK_F21
	XK_F22 = C.XK_F22
	XK_F23 = C.XK_F23
	XK_F24 = C.XK_F24

	XK_Shift_L   = C.XK_Shift_L
	XK_Shift_R   = C.XK_Shift_R
	XK_Control_L = C.XK_Control_L
	XK_Control_R = C.XK_Control_R
	XK_Caps_Lock = C.XK_Caps_Lock
	XK_Alt_L     = C.XK_Alt_L
	XK_Alt_R     = C.XK_Alt_R
	XK_Super_L   = C.XK_Super_L
	XK_Super_R   = C.XK_Super_R

	XK_Home      = C.XK_Home
	XK_Left      = C.XK_Left
	XK_Up        = C.XK_Up
	XK_Right     = C.XK_Right
	XK_Down      = C.XK_Down
	XK_Prior     = C.XK_Prior
	XK_Page_Up   = C.XK_Page_Up
	XK_Next      = C.XK_Next
	XK_Page_Down = C.XK_Page_Down
	XK_End       = C.XK_End
	XK_Begin     = C.XK_Begin

	XK_KP_Space     = C.XK_KP_Space
	XK_KP_Tab       = C.XK_KP_Tab
	XK_KP_Enter     = C.XK_KP_Enter
	XK_KP_F1        = C.XK_KP_F1
	XK_KP_F2        = C.XK_KP_F2
	XK_KP_F3        = C.XK_KP_F3
	XK_KP_F4        = C.XK_KP_F4
	XK_KP_Home      = C.XK_KP_Home
	XK_KP_Left      = C.XK_KP_Left
	XK_KP_Up        = C.XK_KP_Up
	XK_KP_Right     = C.XK_KP_Right
	XK_KP_Down      = C.XK_KP_Down
	XK_KP_Prior     = C.XK_KP_Prior
	XK_KP_Page_Up   = C.XK_KP_Page_Up
	XK_KP_Next      = C.XK_KP_Next
	XK_KP_Page_Down = C.XK_KP_Page_Down

	XK_KP_End       = C.XK_KP_End
	XK_KP_Begin     = C.XK_KP_Begin
	XK_KP_Insert    = C.XK_KP_Insert
	XK_KP_Delete    = C.XK_KP_Delete
	XK_KP_Equal     = C.XK_KP_Equal
	XK_KP_Multiply  = C.XK_KP_Multiply
	XK_KP_Separator = C.XK_KP_Separator
	XK_KP_Add       = C.XK_KP_Add
	XK_KP_Subtract  = C.XK_KP_Subtract
	XK_KP_Decimal   = C.XK_KP_Decimal
	XK_KP_Divide    = C.XK_KP_Divide

	XK_KP_0 = C.XK_KP_0
	XK_KP_1 = C.XK_KP_1
	XK_KP_2 = C.XK_KP_2
	XK_KP_3 = C.XK_KP_3
	XK_KP_4 = C.XK_KP_4
	XK_KP_5 = C.XK_KP_5
	XK_KP_6 = C.XK_KP_6
	XK_KP_7 = C.XK_KP_7
	XK_KP_8 = C.XK_KP_8
	XK_KP_9 = C.XK_KP_9

	Success       = C.Success
	XkbUseCoreKbd = C.XkbUseCoreKbd

	BadRequest = C.BadRequest
)

type (
	XVisualInfo C.XVisualInfo
	Status      C.Status
)

type Display struct {
	sync.Mutex
	c *C.Display
}

func (d *Display) ptr() unsafe.Pointer {
	return unsafe.Pointer(d.c)
}

func (d *Display) voidPtr() *[0]byte {
	return (*[0]byte)(unsafe.Pointer(d.c))
}

func (v *XVisualInfo) Depth() int {
	return int(v.depth)
}

func (v *XVisualInfo) RedMask() int {
	return int(v.red_mask)
}

func (v *XVisualInfo) GreenMask() int {
	return int(v.green_mask)
}

func (v *XVisualInfo) BlueMask() int {
	return int(v.blue_mask)
}

func (v *XVisualInfo) Visualid() int {
	return int(v.visualid)
}

var exportedXlibErrorCallback func(err string)

//export chippy_xlib_error_callback
func chippy_xlib_error_callback(d *C.Display, e *C.XErrorEvent) {
	msg := make([]byte, 80)
	C.XGetErrorText(d, C.int(e.error_code), (*C.char)(unsafe.Pointer(&msg[0])), C.int(len(msg)))

	err := fmt.Sprintf("Error %d (%s): request %d.%d", e.error_code, msg, e.request_code, e.minor_code)
	exportedXlibErrorCallback(err)
}

func XSetErrorHandler(c func(err string)) {
	exportedXlibErrorCallback = c
	C.XSetErrorHandler((*[0]byte)(unsafe.Pointer(C.chippy_xlib_error)))
}

func XOpenDisplay(name string) *Display {
	var cstr *C.char
	if len(name) > 0 {
		cstr = C.CString(name)
		defer C.free(unsafe.Pointer(cstr))
	}
	dpy := new(Display)
	dpy.c = C.XOpenDisplay(cstr)
	return dpy
}

func XGetXCBConnection(d *Display) *Connection {
	d.Lock()
	defer d.Unlock()
	c := C.XGetXCBConnection(d.c)
	return (*Connection)(unsafe.Pointer(c))
}

var (
	XlibOwnsEventQueue uint32 = C.XlibOwnsEventQueue
	XCBOwnsEventQueue  uint32 = C.XCBOwnsEventQueue
)

func (d *Display) Close() {
	d.Lock()
	defer d.Unlock()
	C.XCloseDisplay(d.c)
}

func (d *Display) XSetEventQueueOwner(owner uint32) {
	d.Lock()
	defer d.Unlock()
	C.XSetEventQueueOwner(d.c, owner)
}

func (d *Display) XDefaultScreen() int {
	d.Lock()
	defer d.Unlock()
	return int(C.XDefaultScreen(d.c))
}

func (d *Display) XkbGetIndicatorState(deviceSpec uint32) (state uint32, status Status) {
	d.Lock()
	defer d.Unlock()
	var cstate C.uint
	status = Status(C.XkbGetIndicatorState(
		d.c,
		C.uint(deviceSpec),
		&cstate,
	))
	state = uint32(cstate)
	return
}

func (d *Display) XkbSetDetectableAutoRepeat(detectable bool) (wasSetOk, supported bool) {
	cDetect := C.Bool(C.False)
	if detectable {
		cDetect = C.True
	}
	cSupport := C.Bool(C.False)
	cWasSet := C.XkbSetDetectableAutoRepeat(d.c, cDetect, &cSupport)
	if cWasSet == C.True {
		wasSetOk = true
	}
	if cSupport == C.True {
		supported = true
	}
	return
}

func (d *Display) XFlush() {
	d.Lock()
	defer d.Unlock()
	C.XFlush(d.c)
}

func (d *Display) XSync(x bool) {
	d.Lock()
	defer d.Unlock()
	cx := C.Bool(C.False)
	if x {
		cx = C.True
	}
	C.XSync(d.c, cx)
}

func XInitThreads() {
	C.XInitThreads()
}


text:
DESCRIPTION = "Perl's global destruction is a little tricky to deal with WRT finalizers \
because it's not ordered and objects can sometimes disappear."

SECTION = "libs"
LICENSE = "Artisticv1 | GPLv1+"
PR = "r0"

MAINTAINER=	"Poky <poky@yoctoproject.org>"
HOMEPAGE=	"https://metacpan.org/release/Devel-GlobalDestruction"

LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Artistic-1.0;md5=cda03bbdc3c1951996392b872397b798 \
file://${COMMON_LICENSE_DIR}/GPL-1.0;md5=e9e36a9de734199567a4d769498f743d"

SRC_URI = "https://cpan.metacpan.org/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz"

SRC_URI[md5sum] = "24221ba322cf2dc46a1fc99b53e2380b"
SRC_URI[sha256sum] = "34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab"
RDEPENDS_${PN} += "sub-exporter-progressive-perl"
RRECOMMENDS_${PN} += "devel-globaldestruction-xs-perl"

S = "${WORKDIR}/Devel-GlobalDestruction-${PV}"

inherit cpan allarch

BBCLASSEXTEND = "native"

repository: CELLINKAB/meta-cpan

repo_name: CELLINKAB/meta-cpan