text:
layer="27" rot="R90" display="off"/>
</element>
<element name="R3" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="12.192" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="12.192" y="14.732" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="R4" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="15.367" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="15.367" y="14.732" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="JP2" library="microbuilder" package="3X04" value="" x="23.622" y="4.064"/>
<element name="JP3" library="microbuilder" package="3X04" value="" x="38.862" y="4.064"/>
<element name="JP4" library="microbuilder" package="3X04" value="" x="51.562" y="4.064"/>
<element name="J3" library="SparkFun-Connectors" library_urn="urn:adsk.eagle:library:513" package="POWER_JACK_PTH" package3d_urn="urn:adsk.eagle:package:38231/1" value="POWER_JACK" x="32.258" y="100.076" rot="R180">
<attribute name="PROD_ID" value="CONN-08197" x="32.258" y="100.076" size="1.778" layer="27" rot="R180" display="off"/>
</element>
<element name="R5" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="18.542" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="-38.608" y="-11.938" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q5" library="TIP120" package="BD679V" value="TIP120" x="21.209" y="61.468"/>
<element name="D5" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="10.414" y="64.516" rot="R270"/>
<element name="R6" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="21.717" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="-30.353" y="3.302" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q6" library="TIP120" package="BD679V" value="TIP120" x="21.209" y="67.056"/>
<element name="D6" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="10.414" y="77.216" rot="R90"/>
<element name="R7" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="24.892" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="-14.478" y="-22.098" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q7" library="TIP120" package="BD679V" value="TIP120" x="21.209" y="72.644"/>
<element name="D7" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="13.97" y="77.216" rot="R90"/>
<element name="R8" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="28.067" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="1.397" y="-47.498" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q8" library="TIP120" package="BD679V" value="TIP120" x="21.209" y="78.5241"/>
<element name="D8" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="25.146" y="82.296" rot="R180"/>
<element name="R9" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="34.417" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="-30.353" y="-24.638" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q9" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="77.9399" rot="R180"/>
<element name="D9" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="38.354" y="82.55"/>
<element name="R10" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="37.592" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="-22.098" y="3.302" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q10" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="71.882" rot="R180"/>
<element name="D10" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="48.26" y="77.47" rot="R90"/>
<element name="R11" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="40.767" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="-6.223" y="-22.098" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q11" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="66.294" rot="R180"/>
<element name="D11" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="51.689" y="77.47" rot="R90"/>
<element name="R12" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="43.942" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="9.652" y="-47.498" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q12" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="60.706" rot="R180"/>
<element name="D12" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="48.26" y="64.516" rot="R270"/>
<element name="R13" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="47.117" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="56.007" y="-72.898" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q13" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="54.61" rot="R180"/>
<element name="D13" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="51.816" y="64.516" rot="R270"/>
<element name="R14" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="50.292" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="71.882" y="-98.298" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q14" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="49.022" rot="R180"/>
<element name="D14" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="47.244" y="44.196" rot="R90"/>
<element name="R15" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="53.467" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="82.677" y="-60.198" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q15" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="42.926" rot="R180"/>
<element name="D15" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="50.8" y="44.196" rot="R90"/>
<element name="R16" library="rcl" library_urn="urn:adsk.eagle:library:334" package="0207/10" package3d_urn="urn:adsk.eagle:package:23491/2" value="" x="56.642" y="14.732" rot="R90">
<attribute name="SPICEPREFIX" value="R" x="98.552" y="-85.598" size="1.778" layer="27" rot="R90" display="off"/>
</element>
<element name="Q16" library="TIP120" package="BD679V" value="TIP120" x="41.656" y="36.83" rot="R180"/>
<element name="D16" library="adafruit" library_urn="urn:adsk.eagle:library:420" package="DO41-10" package3d_urn="urn:adsk.eagle:package:6240344/1" value="1N4004" x="51.816" y="31.242" rot="R270"/>
<element name="Q1" library="TIP120" package="BD679V" value="TIP120" x="21.209" y="37.592"/>
<element name="H1" library="SparkFun-Hardware" library_urn="urn:adsk.eagle:library:519" package="STAND-OFF" package3d_urn="urn:adsk.eagle:package:38630/1" value="STAND-OFF" x="58.928" y="4.572"/>
<element name="H2" library="SparkFun-Hardware" library_urn="urn:adsk.eagle:library:519" package="STAND-OFF" package3d_urn="urn:adsk.eagle:package:38630/1" value="STAND-OFF" x="4.572" y="105.664"/>
<element name="H3" library="SparkFun-Hardware" library_urn="urn:adsk.eagle:library:519" package="STAND-OFF" package3d_urn="urn:adsk.eagle:package:38630/1" value="STAND-OFF" x="57.404" y="105.664"/>
<element name="H4" library="SparkFun-Hardware" library_urn="urn:adsk.eagle:library:519" package="STAND-OFF" package3d_urn="urn:adsk.eagle:package:38630/1" value="STAND-OFF" x="3.302" y="4.318"/>
<element name="J20" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="4.445" y="29.464" rot="R270"/>
<element name="J21" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="4.445" y="39.624" rot="R270"/>
<element name="J22" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="4.445" y="49.784" rot="R270"/>
<element name="J23" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="4.445" y="59.944" rot="R270"/>
<element name="J24" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="4.445" y="70.104" rot="R270"/>
<element name="J25" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="4.445" y="80.264" rot="R270"/>
<element name="J26" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="8.89" y="89.154" rot="R180"/>
<element name="J27" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="19.05" y="89.154" rot="R180"/>
<element name="J28" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="48.26" y="89.408" rot="R180"/>
<element name="J29" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="58.42" y="89.408" rot="R180"/>
<element name="J30" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="57.658" y="75.184" rot="R90"/>
<element name="J31" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="57.658" y="65.024" rot="R90"/>
<element name="J32" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="57.658" y="54.864" rot="R90"/>
<element name="J33" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="57.658" y="44.704" rot="R90"/>
<element name="J34" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="57.658" y="34.544" rot="R90"/>
<element name="J35" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="57.658" y="24.384" rot="R90"/>
<element name="J1" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="23.876" y="105.664" rot="R180"/>
<element name="J5" library="SparkFun-Connectors" package="SCREWTERMINAL-5MM-2-400MIL" value="" x="46.736" y="105.918" rot="R180"/>
</elements>
<signals>
<signal name="N$3">
<contactref element="D1" pad="A"/>
<contactref element="Q1" pad="C"/>
<contactref element="J20" pad="2"/>
<wire x1="5.1308" y1="24.5364" x2="4.826" y2="24.464" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="35.9156" x2="21.1328" y2="37.338" width="0.3048" layer="16"/>
<wire x1="10.8204" y1="25.6032" x2="21.1328" y2="35.9156" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="37.338" x2="21.209" y2="37.338" width="0.3048" layer="16"/>
<wire x1="10.8204" y1="25.6032" x2="10.668" y2="25.4" width="0.3048" layer="16"/>
<wire x1="9.7536" y1="24.5364" x2="5.1308" y2="24.5364" width="0.3048" layer="16"/>
<wire x1="10.4648" y1="25.2476" x2="9.7536" y2="24.5364" width="0.3048" layer="16"/>
<wire x1="10.4648" y1="25.2476" x2="10.668" y2="25.4" width="0.3048" layer="16"/>
</signal>
<signal name="N$4">
<contactref element="R1" pad="2"/>
<contactref element="Q1" pad="B"/>
<wire x1="23.5204" y1="35.814" x2="23.5204" y2="37.3126" width="0.3048" layer="16"/>
<wire x1="9.144" y1="21.4376" x2="23.5204" y2="35.814" width="0.3048" layer="16"/>
<wire x1="7.4676" y1="21.4376" x2="9.144" y2="21.4376" width="0.3048" layer="16"/>
<wire x1="5.842" y1="19.812" x2="7.4676" y2="21.4376" width="0.3048" layer="16"/>
<wire x1="23.5204" y1="37.3126" x2="23.495" y2="37.338" width="0.3048" layer="16"/>
</signal>
<signal name="+12V">
<contactref element="D1" pad="C"/>
<contactref element="D2" pad="C"/>
<contactref element="D3" pad="C"/>
<contactref element="D4" pad="C"/>
<contactref element="J3" pad="PWR"/>
<contactref element="D5" pad="C"/>
<contactref element="D6" pad="C"/>
<contactref element="D7" pad="C"/>
<contactref element="D8" pad="C"/>
<contactref element="D9" pad="C"/>
<contactref element="D10" pad="C"/>
<contactref element="D11" pad="C"/>
<contactref element="D12" pad="C"/>
<contactref element="D13" pad="C"/>
<contactref element="D14" pad="C"/>
<contactref element="D15" pad="C"/>
<contactref element="D16" pad="C"/>
<contactref element="J20" pad="1"/>
<contactref element="J21" pad="1"/>
<contactref element="J22" pad="1"/>
<contactref element="J23" pad="1"/>
<contactref element="J24" pad="1"/>
<contactref element="J25" pad="1"/>
<contactref element="J26" pad="1"/>
<contactref element="J27" pad="1"/>
<contactref element="J28" pad="1"/>
<contactref element="J29" pad="1"/>
<contactref element="J30" pad="1"/>
<contactref element="J31" pad="1"/>
<contactref element="J32" pad="1"/>
<contactref element="J33" pad="1"/>
<contactref element="J34" pad="1"/>
<contactref element="J35" pad="1"/>
<contactref element="J5" pad="1"/>
<contactref element="J1" pad="1"/>
<wire x1="5.1308" y1="30.226" x2="5.1308" y2="29.5148" width="0.6096" layer="16"/>
<wire x1="5.4864" y1="30.5816" x2="5.1308" y2="30.226" width="0.6096" layer="16"/>
<wire x1="5.1308" y1="29.5148" x2="4.826" y2="29.464" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="43.0784" x2="4.792134375" y2="39.759465625" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="46.482" x2="1.4732" y2="43.0784" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="49.784" x2="1.4732" y2="46.482" width="0.6096" layer="16"/>
<wire x1="4.792134375" y1="39.759465625" x2="4.826" y2="39.624" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="49.784" x2="4.826" y2="49.784" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="60.2996" x2="4.7752" y2="60.0964" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="63.6016" x2="4.7752" y2="60.2996" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="66.7512" x2="1.4732" y2="63.6016" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="70.0532" x2="1.4732" y2="66.7512" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="60.0964" x2="4.826" y2="59.944" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="70.0532" x2="4.826" y2="70.104" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="77.0128" x2="4.7244" y2="80.264" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="73.7108" x2="1.4732" y2="77.0128" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="70.4088" x2="1.4732" y2="73.7108" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="70.4088" x2="4.826" y2="70.104" width="0.6096" layer="16"/>
<wire x1="5.1308" y1="70.0532" x2="5.4864" y2="69.6976" width="0.6096" layer="16"/>
<wire x1="5.1308" y1="70.0532" x2="4.826" y2="70.104" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="49.8348" x2="4.7752" y2="49.784" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="53.1368" x2="4.7752" y2="49.8348" width="0.6096" layer="16"/>
<wire x1="1.4732" y1="56.4388" x2="1.4732" y2="53.1368" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="59.7408" x2="1.4732" y2="56.4388" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="59.7408" x2="4.826" y2="59.944" width="0.6096" layer="16"/>
<wire x1="1.524" y1="33.02" x2="4.7244" y2="29.8196" width="0.6096" layer="16"/>
<wire x1="1.524" y1="36.2204" x2="1.524" y2="33.02" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="39.4716" x2="1.524" y2="36.2204" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="39.4716" x2="4.826" y2="39.624" width="0.6096" layer="16"/>
<wire x1="48.6664" y1="71.9836" x2="48.6664" y2="69.866934375" width="0.6096" layer="16"/>
<wire x1="48.6664" y1="69.866934375" x2="48.26" y2="69.596" width="0.6096" layer="16"/>
<wire x1="54.356" y1="75.0316" x2="57.2516" y2="75.0316" width="0.6096" layer="16"/>
<wire x1="51.7144" y1="72.39" x2="54.356" y2="75.0316" width="0.6096" layer="16"/>
<wire x1="57.2516" y1="75.0316" x2="57.277" y2="75.184" width="0.6096" layer="16"/>
<wire x1="51.6636" y1="69.6976" x2="48.6664" y2="69.6976" width="0.6096" layer="16"/>
<wire x1="51.6636" y1="69.6976" x2="51.816" y2="69.596" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="57.7596" x2="57.404" y2="54.864" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="62.0268" x2="60.2996" y2="57.7596" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="64.7192" x2="60.2996" y2="62.0268" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="64.7192" x2="57.277" y2="65.024" width="0.6096" layer="16"/>
<wire x1="50.4952" y1="39.116" x2="50.4952" y2="37.6428" width="0.6096" layer="16"/>
<wire x1="51.816" y1="36.322" x2="50.4952" y2="37.6428" width="0.6096" layer="16"/>
<wire x1="50.8" y1="39.116" x2="50.4952" y2="39.116" width="0.6096" layer="16"/>
<wire x1="50.1396" y1="39.116" x2="47.2948" y2="39.116" width="0.6096" layer="16"/>
<wire x1="47.2948" y1="39.116" x2="47.244" y2="39.116" width="0.6096" layer="16"/>
<wire x1="50.1396" y1="39.116" x2="50.8" y2="39.116" width="0.6096" layer="16"/>
<wire x1="60.2488" y1="26.924" x2="57.7088" y2="24.384" width="0.6096" layer="16"/>
<wire x1="60.2488" y1="31.8516" x2="60.2488" y2="26.924" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="34.4932" x2="60.2488" y2="31.8516" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="34.4932" x2="57.277" y2="34.544" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="41.9608" x2="57.5564" y2="44.704" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="37.5412" x2="60.2996" y2="41.9608" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="34.8488" x2="60.2996" y2="37.5412" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="34.8488" x2="57.277" y2="34.544" width="0.6096" layer="16"/>
<wire x1="56.1848" y1="35.9156" x2="52.357865625" y2="35.9156" width="0.6096" layer="16"/>
<wire x1="57.2516" y1="34.8488" x2="56.1848" y2="35.9156" width="0.6096" layer="16"/>
<wire x1="52.357865625" y1="35.9156" x2="51.816" y2="36.322" width="0.6096" layer="16"/>
<wire x1="57.2516" y1="34.8488" x2="57.277" y2="34.544" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="54.7116" x2="57.6072" y2="54.7624" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="52.0192" x2="57.6072" y2="54.7116" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="47.498" x2="60.2996" y2="52.0192" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="44.8056" x2="60.2996" y2="47.498" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="54.7624" x2="57.277" y2="54.864" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="44.8056" x2="57.277" y2="44.704" width="0.6096" layer="16"/>
<wire x1="57.6072" y1="65.0748" x2="57.277" y2="65.024" width="0.6096" layer="16"/>
<wire x1="12.5476" y1="92.71" x2="8.89" y2="89.0524" width="0.6096" layer="16"/>
<wire x1="15.0876" y1="92.71" x2="12.5476" y2="92.71" width="0.6096" layer="16"/>
<wire x1="18.8976" y1="88.9" x2="17.1196" y2="90.678" width="0.6096" layer="16"/>
<wire x1="18.8976" y1="88.9" x2="19.05" y2="88.773" width="0.6096" layer="16"/>
<wire x1="33.2232" y1="82.4992" x2="32.3596" y2="82.4992" width="0.6096" layer="16"/>
<wire x1="30.3784" y1="82.4992" x2="32.3596" y2="82.4992" width="0.6096" layer="16"/>
<wire x1="30.3784" y1="82.4992" x2="30.226" y2="82.296" width="0.6096" layer="16"/>
<wire x1="33.2232" y1="82.4992" x2="33.274" y2="82.55" width="0.6096" layer="16"/>
<wire x1="32.3596" y1="86.0552" x2="32.3596" y2="82.4992" width="0.6096" layer="16"/>
<wire x1="32.3596" y1="86.0552" x2="32.258" y2="86.376" width="0.6096" layer="16"/>
<wire x1="48.006" y1="89.2556" x2="44.196" y2="93.218" width="0.6096" layer="16"/>
<wire x1="44.196" y1="93.218" x2="44.0436" y2="93.218" width="0.6096" layer="16"/>
<wire x1="44.0436" y1="93.218" x2="39.624" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.624" y1="93.218" x2="39.37" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.37" y1="93.218" x2="39.116" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.116" y1="93.218" x2="39.624" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.624" y1="93.218" x2="39.116" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.116" y1="93.218" x2="39.1668" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.1668" y1="93.218" x2="39.878" y2="93.218" width="0.6096" layer="16"/>
<wire x1="39.878" y1="93.218" x2="39.37" y2="93.218" width="0.6096" layer="16"/>
<wire x1="48.006" y1="89.2556" x2="48.26" y2="89.027" width="0.6096" layer="16"/>
<wire x1="58.42" y1="89.2048" x2="55.6768" y2="91.948" width="0.6096" layer="16"/>
<wire x1="48.31644375" y1="91.948" x2="48.26" y2="91.821" width="0.6096" layer="16"/>
<wire x1="39.116" y1="93.218" x2="32.3596" y2="86.4108" width="0.6096" layer="16"/>
<wire x1="32.3596" y1="86.4108" x2="32.258" y2="86.376" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="77.7748" x2="57.7088" y2="75.184" width="0.6096" layer="16"/>
<wire x1="60.2996" y1="87.2744" x2="60.2996" y2="77.7748" width="0.6096" layer="16"/>
<wire x1="58.674" y1="88.9" x2="60.2996" y2="87.2744" width="0.6096" layer="16"/>
<wire x1="58.674" y1="88.9" x2="58.42" y2="89.027" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="82.804" x2="4.7752" y2="80.3656" width="0.6096" layer="16"/>
<wire x1="1.0414" y1="86.5378" x2="4.7752" y2="82.804" width="0.6096" layer="16"/>
<wire x1="1.0414" y1="90.7542" x2="1.0414" y2="86.5378" width="0.6096" layer="16"/>
<wire x1="1.9812" y1="91.694" x2="1.0414" y2="90.7542" width="0.6096" layer="16"/>
<wire x1="5.7912" y1="91.694" x2="1.9812" y2="91.694" width="0.6096" layer="16"/>
<wire x1="8.5852" y1="88.9" x2="5.7912" y2="91.694" width="0.6096" layer="16"/>
<wire x1="4.7752" y1="80.3656" x2="4.826" y2="80.264" width="0.6096" layer="16"/>
<wire x1="8.5852" y1="88.9" x2="8.89" y2="88.773" width="0.6096" layer="16"/>
<wire x1="57.277" y1="75.184" x2="60.198" y2="72.263" width="0.6096" layer="16"/>
<wire x1="60.198" y1="72.263" x2="60.198" y2="67.6656" width="0.6096" layer="16"/>
<wire x1="60.198" y1="67.6656" x2="57.6072" y2="65.0748" width="0.6096" layer="16"/>
<wire x1="57.404" y1="54.864" x2="57.277" y2="54.864" width="0.6096" layer="16"/>
<wire x1="57.5564" y1="44.704" x2="57.277" y2="44.704" width="0.6096" layer="16"/>
<wire x1="55.6768" y1="91.948" x2="48.31644375" y2="91.948" width="0.6096" layer="16"/>
<wire x1="48.26" y1="91.821" x2="48.26" y2="89.027" width="0.6096" layer="16"/>
<wire x1="58.42" y1="89.027" x2="58.42" y2="89.2048" width="0.6096" layer="16"/>
<wire x1="57.7088" y1="75.184" x2="57.277" y2="75.184" width="0.6096" layer="16"/>
<wire x1="51.816" y1="69.596" x2="51.816" y2="72.263" width="0.6096" layer="16"/>
<wire x1="48.26" y1="72.39" x2="48.6664" y2="71.9836" width="0.6096" layer="16"/>
<wire x1="10.8204" y1="39.116" x2="10.8204" y2="35.56" width="0.6096" layer="16"/>
<wire x1="10.8204" y1="35.56" x2="10.668" y2="35.56" width="0.6096" layer="16"/>
<wire x1="10.8204" y1="39.116" x2="10.668" y2="39.37" width="0.6096" layer="16"/>
<wire x1="10.8204" y1="39.4716" x2="15.0876" y2="39.4716" width="0.6096" layer="16"/>
<wire x1="15.0876" y1="39.4716" x2="15.24" y2="39.37" width="0.6096" layer="16"/>
<wire x1="10.8204" y1="39.4716" x2="10.668" y2="39.37" width="0.6096" layer="16"/>
<wire x1="10.4394" y1="72.0598" x2="10.4394" y2="69.612934375" width="0.6096" layer="16"/>
<wire x1="10.4394" y1="69.612934375" x2="10.414" y2="69.596" width="0.6096" layer="16"/>
<wire x1="10.4394" y1="72.0598" x2="10.414" y2="72.136" width="0.6096" layer="16"/>
<wire x1="10.668" y1="72.1868" x2="13.8176" y2="72.1868" width="0.6096" layer="16"/>
<wire x1="13.8176" y1="72.1868" x2="13.97" y2="72.136" width="0.6096" layer="16"/>
<wire x1="10.668" y1="72.1868" x2="10.414" y2="72.136" width="0.6096" layer="16"/>
<wire x1="5.4864" y1="69.6976" x2="10.2108" y2="69.6976" width="0.6096" layer="16"/>
<wire x1="10.2108" y1="69.6976" x2="10.414" y2="69.596" width="0.6096" layer="16"/>
<wire x1="5.4864" y1="69.6976" x2="4.826" y2="70.104" width="0.6096" layer="16"/>
<wire x1="5.4864" y1="30.5816" x2="10.4648" y2="35.56" width="0.6096" layer="16"/>
<wire x1="10.4648" y1="35.56" x2="10.668" y2="35.56" width="0.6096" layer="16"/>
<wire x1="13.97" y1="69.596" x2="13.97" y2="72.136" width="0.6096" layer="16"/>
<wire x1="8.89" y1="89.0524" x2="8.89" y2="88.773" width="0.6096" layer="16"/>
<wire x1="17.1196" y1="90.678" x2="15.0876" y2="92.71" width="0.6096" layer="16"/>
<wire x1="4.7244" y1="80.264" x2="4.826" y2="80.264" width="0.6096" layer="16"/>
<wire x1="4.7244" y1="29.8196" x2="5.4864" y2="30.5816" width="0.6096" layer="16"/>
<wire x1="57.7088" y1="24.384" x2="57.277" y2="24.384" width="0.6096" layer="16"/>
<wire x1="23.876" y1="105.283" x2="18.8976" y2="100.3046" width="0.6096" layer="16"/>
<wire x1="18.8976" y1="100.3046" x2="18.8976" y2="88.9" width="0.6096" layer="16"/>
<wire x1="46.736" y1="105.537" x2="48.26" y2="104.013" width="0.6096" layer="16"/>
<wire x1="48.26" y1="104.013" x2="48.26" y2="91.821" width="0.6096" layer="16"/>
<wire x1="30.226" y1="82.296" x2="27.94" y2="84.582" width="0.6096" layer="16"/>
<wire x1="23.2156" y1="84.582" x2="18.8976" y2="88.9" width="0.6096" layer="16"/>
<wire x1="27.94" y1="84.582" x2="23.2156" y2="84.582" width="0.6096" layer="16"/>
<wire x1="51.689" y1="72.39" x2="51.7144" y2="72.39" width="0.6096" layer="16"/>
<wire x1="51.816" y1="72.263" x2="51.689" y2="72.39" width="0.6096" layer="16"/>
<wire x1="48.6664" y1="69.866934375" x2="48.6664" y2="69.6976" width="0.6096" layer="16"/>
</signal>
<signal name="GND">
<contactref element="Q2" pad="E"/>
<contactref element="Q3" pad="E"/>
<contactref element="Q4" pad="E"/>
<contactref element="J3" pad="GNDBREAK"/>
<contactref element="J3" pad="GND"/>
<contactref element="Q5" pad="E"/>
<contactref element="Q6" pad="E"/>
<contactref element="Q7" pad="E"/>
<contactref element="Q8" pad="E"/>
<contactref element="Q9" pad="E"/>
<contactref element="Q10" pad="E"/>
<contactref element="Q11" pad="E"/>
<contactref element="Q12" pad="E"/>
<contactref element="Q13" pad="E"/>
<contactref element="Q14" pad="E"/>
<contactref element="Q15" pad="E"/>
<contactref element="Q16" pad="E"/>
<contactref element="Q1" pad="E"/>
<contactref element="JP1" pad="1"/>
<contactref element="JP1" pad="4"/>
<contactref element="JP1" pad="7"/>
<contactref element="JP1" pad="10"/>
<contactref element="JP3" pad="1"/>
<contactref element="JP3" pad="4"/>
<contactref element="JP3" pad="7"/>
<contactref element="JP3" pad="10"/>
<contactref element="JP2" pad="1"/>
<contactref element="JP2" pad="4"/>
<contactref element="JP2" pad="7"/>
<contactref element="JP2" pad="10"/>
<contactref element="JP4" pad="10"/>
<contactref element="JP4" pad="7"/>
<contactref element="JP4" pad="4"/>
<contactref element="JP4" pad="1"/>
<contactref element="J5" pad="2"/>
<contactref element="J1" pad="2"/>
<polygon width="0.6096" layer="16" isolate="0.4064">
<vertex x="0" y="-0.254"/>
<vertex x="0" y="109.728"/>
<vertex x="0" y="110.49"/>
<vertex x="62.484" y="110.49"/>
<vertex x="62.484" y="-0.254"/>
</polygon>
</signal>
<signal name="N$1">
<contactref element="D2" pad="A"/>
<contactref element="Q2" pad="C"/>
<contactref element="J21" pad="2"/>
<wire x1="5.1308" y1="34.8996" x2="5.1308" y2="34.8488" width="0.3048" layer="16"/>
<wire x1="5.1308" y1="34.8488" x2="4.826" y2="34.624" width="0.3048" layer="16"/>
<wire x1="15.9766" y1="48.895" x2="16.8656" y2="48.006" width="0.3048" layer="16"/>
<wire x1="16.8656" y1="48.006" x2="21.1328" y2="43.7388" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="43.7388" x2="21.209" y2="43.434" width="0.3048" layer="16"/>
<wire x1="15.4432" y1="49.4284" x2="15.24" y2="49.53" width="0.3048" layer="16"/>
<wire x1="7.7724" y1="37.5412" x2="5.1308" y2="34.8996" width="0.3048" layer="16"/>
<wire x1="7.7724" y1="40.6908" x2="7.7724" y2="37.5412" width="0.3048" layer="16"/>
<wire x1="15.9766" y1="48.895" x2="7.7724" y2="40.6908" width="0.3048" layer="16"/>
<wire x1="15.4432" y1="49.4284" x2="15.9766" y2="48.895" width="0.3048" layer="16"/>
</signal>
<signal name="N$2">
<contactref element="Q2" pad="B"/>
<contactref element="R2" pad="2"/>
<wire x1="9.525" y1="19.812" x2="24.9555" y2="35.2425" width="0.3048" layer="16"/>
<wire x1="24.9555" y1="35.2425" x2="24.9555" y2="36.715075" width="0.3048" layer="16"/>
<wire x1="24.9555" y1="36.715075" x2="24.9682" y2="36.727775" width="0.3048" layer="16"/>
<wire x1="24.9682" y1="36.727775" x2="24.9682" y2="41.9608" width="0.3048" layer="16"/>
<wire x1="24.9682" y1="41.9608" x2="23.495" y2="43.434" width="0.3048" layer="16"/>
<wire x1="9.017" y1="19.812" x2="9.525" y2="19.812" width="0.3048" layer="16"/>
</signal>
<signal name="N$5">
<contactref element="D3" pad="A"/>
<contactref element="Q3" pad="C"/>
<contactref element="J22" pad="2"/>
<wire x1="18.2372" y1="52.6796" x2="21.1328" y2="49.784" width="0.3048" layer="16"/>
<wire x1="13.716" y1="52.6796" x2="18.2372" y2="52.6796" width="0.3048" layer="16"/>
<wire x1="10.8204" y1="49.784" x2="13.716" y2="52.6796" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="49.784" x2="21.209" y2="49.53" width="0.3048" layer="16"/>
<wire x1="10.8204" y1="49.784" x2="10.668" y2="49.53" width="0.3048" layer="16"/>
<wire x1="5.842" y1="44.8056" x2="10.4648" y2="49.4284" width="0.3048" layer="16"/>
<wire x1="10.4648" y1="49.4284" x2="10.668" y2="49.53" width="0.3048" layer="16"/>
<wire x1="4.826" y1="44.784" x2="5.842" y2="44.784" width="0.3048" layer="16"/>
<wire x1="5.842" y1="44.784" x2="5.842" y2="44.8056" width="0.3048" layer="16"/>
</signal>
<signal name="N$6">
<contactref element="Q3" pad="B"/>
<contactref element="R3" pad="2"/>
<wire x1="12.7" y1="19.812" x2="25.908" y2="33.02" width="0.3048" layer="16"/>
<wire x1="25.908" y1="33.02" x2="25.908" y2="47.244" width="0.3048" layer="16"/>
<wire x1="25.908" y1="47.244" x2="23.622" y2="49.53" width="0.3048" layer="16"/>
<wire x1="23.622" y1="49.53" x2="23.495" y2="49.53" width="0.3048" layer="16"/>
<wire x1="12.192" y1="19.812" x2="12.7" y2="19.812" width="0.3048" layer="16"/>
</signal>
<signal name="N$7">
<contactref element="D4" pad="A"/>
<contactref element="Q4" pad="C"/>
<contactref element="J23" pad="2"/>
<wire x1="5.1308" y1="55.118" x2="4.826" y2="54.944" width="0.3048" layer="16"/>
<wire x1="17.5768" y1="59.3852" x2="21.1328" y2="55.8292" width="0.3048" layer="16"/>
<wire x1="14.1732" y1="59.3852" x2="17.5768" y2="59.3852" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="55.8292" x2="21.209" y2="55.626" width="0.3048" layer="16"/>
<wire x1="14.1732" y1="59.3852" x2="13.97" y2="59.436" width="0.3048" layer="16"/>
<wire x1="10.8204" y1="55.118" x2="5.1308" y2="55.118" width="0.3048" layer="16"/>
<wire x1="13.3858" y1="57.6834" x2="10.8204" y2="55.118" width="0.3048" layer="16"/>
<wire x1="13.3858" y1="57.6834" x2="13.97" y2="59.436" width="0.3048" layer="16"/>
</signal>
<signal name="N$8">
<contactref element="Q4" pad="B"/>
<contactref element="R4" pad="2"/>
<wire x1="15.6464" y1="19.9136" x2="15.367" y2="19.812" width="0.3048" layer="16"/>
<wire x1="15.6464" y1="19.9136" x2="15.367" y2="19.812" width="0.3048" layer="16"/>
<wire x1="23.495" y1="55.626" x2="23.622" y2="55.4736" width="0.3048" layer="16"/>
<wire x1="23.622" y1="55.4736" x2="26.6192" y2="52.4764" width="0.3048" layer="16"/>
<wire x1="26.6192" y1="46.52259375" x2="26.6192" y2="30.94740625" width="0.3048" layer="16"/>
<wire x1="26.6192" y1="30.94740625" x2="15.6464" y2="19.97460625" width="0.3048" layer="16"/>
<wire x1="15.6464" y1="19.97460625" x2="15.6464" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="26.6192" y1="52.4764" x2="26.6192" y2="46.52259375" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL1">
<contactref element="JP1" pad="3"/>
<contactref element="R1" pad="1"/>
<wire x1="6.0452" y1="7.8232" x2="6.0452" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="7.112" y1="6.7564" x2="6.0452" y2="7.8232" width="0.3048" layer="16"/>
<wire x1="6.0452" y1="9.6012" x2="5.842" y2="9.652" width="0.3048" layer="16"/>
<wire x1="7.112" y1="6.7564" x2="7.112" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL2">
<contactref element="JP1" pad="6"/>
<contactref element="R2" pad="1"/>
<wire x1="9.2456" y1="7.112" x2="9.2456" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="9.6012" y1="6.7564" x2="9.2456" y2="7.112" width="0.3048" layer="16"/>
<wire x1="9.2456" y1="9.6012" x2="9.017" y2="9.652" width="0.3048" layer="16"/>
<wire x1="9.6012" y1="6.7564" x2="9.652" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL3">
<contactref element="JP1" pad="9"/>
<contactref element="R3" pad="1"/>
<wire x1="12.446" y1="6.7564" x2="12.446" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="12.446" y1="9.6012" x2="12.192" y2="9.652" width="0.3048" layer="16"/>
<wire x1="12.446" y1="6.7564" x2="12.192" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL4">
<contactref element="JP1" pad="12"/>
<contactref element="R4" pad="1"/>
<wire x1="15.2908" y1="7.112" x2="15.2908" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="14.9352" y1="6.7564" x2="15.2908" y2="7.112" width="0.3048" layer="16"/>
<wire x1="15.2908" y1="9.6012" x2="15.367" y2="9.652" width="0.3048" layer="16"/>
<wire x1="14.9352" y1="6.7564" x2="14.732" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL5">
<contactref element="JP2" pad="3"/>
<contactref element="R5" pad="1"/>
<wire x1="18.8468" y1="7.4676" x2="18.8468" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="19.558" y1="6.7564" x2="18.8468" y2="7.4676" width="0.3048" layer="16"/>
<wire x1="18.8468" y1="9.6012" x2="18.542" y2="9.652" width="0.3048" layer="16"/>
<wire x1="19.558" y1="6.7564" x2="19.812" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL6">
<contactref element="JP2" pad="6"/>
<contactref element="R6" pad="1"/>
<wire x1="22.0472" y1="6.7564" x2="22.0472" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="22.0472" y1="9.6012" x2="21.717" y2="9.652" width="0.3048" layer="16"/>
<wire x1="22.0472" y1="6.7564" x2="22.352" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL7">
<contactref element="JP2" pad="9"/>
<contactref element="R7" pad="1"/>
<wire x1="24.892" y1="6.7564" x2="24.892" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="24.892" y1="9.6012" x2="24.892" y2="9.652" width="0.3048" layer="16"/>
<wire x1="24.892" y1="6.7564" x2="24.892" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL8">
<contactref element="JP2" pad="12"/>
<contactref element="R8" pad="1"/>
<wire x1="27.7368" y1="6.7564" x2="27.7368" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="27.7368" y1="9.6012" x2="28.067" y2="9.652" width="0.3048" layer="16"/>
<wire x1="27.7368" y1="6.7564" x2="27.432" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL14">
<contactref element="JP4" pad="6"/>
<contactref element="R14" pad="1"/>
<wire x1="50.4952" y1="6.7564" x2="50.4952" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="50.4952" y1="9.6012" x2="50.292" y2="9.652" width="0.3048" layer="16"/>
<wire x1="50.4952" y1="6.7564" x2="50.292" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL15">
<contactref element="JP4" pad="9"/>
<contactref element="R15" pad="1"/>
<wire x1="53.34" y1="7.112" x2="53.34" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="52.9844" y1="6.7564" x2="53.34" y2="7.112" width="0.3048" layer="16"/>
<wire x1="53.34" y1="9.6012" x2="53.467" y2="9.652" width="0.3048" layer="16"/>
<wire x1="52.9844" y1="6.7564" x2="52.832" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL16">
<contactref element="JP4" pad="12"/>
<contactref element="R16" pad="1"/>
<wire x1="56.5404" y1="7.8232" x2="56.5404" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="55.4736" y1="6.7564" x2="56.5404" y2="7.8232" width="0.3048" layer="16"/>
<wire x1="56.5404" y1="9.6012" x2="56.642" y2="9.652" width="0.3048" layer="16"/>
<wire x1="55.4736" y1="6.7564" x2="55.372" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL9">
<contactref element="JP3" pad="3"/>
<contactref element="R9" pad="1"/>
<wire x1="34.4932" y1="7.112" x2="34.4932" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="34.8488" y1="6.7564" x2="34.4932" y2="7.112" width="0.3048" layer="16"/>
<wire x1="34.4932" y1="9.6012" x2="34.417" y2="9.652" width="0.3048" layer="16"/>
<wire x1="34.8488" y1="6.7564" x2="35.052" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL10">
<contactref element="JP3" pad="6"/>
<contactref element="R10" pad="1"/>
<wire x1="37.6936" y1="6.7564" x2="37.6936" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="37.6936" y1="9.6012" x2="37.592" y2="9.652" width="0.3048" layer="16"/>
<wire x1="37.6936" y1="6.7564" x2="37.592" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL11">
<contactref element="JP3" pad="9"/>
<contactref element="R11" pad="1"/>
<wire x1="40.5384" y1="7.112" x2="40.5384" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="40.1828" y1="6.7564" x2="40.5384" y2="7.112" width="0.3048" layer="16"/>
<wire x1="40.5384" y1="9.6012" x2="40.767" y2="9.652" width="0.3048" layer="16"/>
<wire x1="40.1828" y1="6.7564" x2="40.132" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL12">
<contactref element="JP3" pad="12"/>
<contactref element="R12" pad="1"/>
<wire x1="43.7388" y1="7.8232" x2="43.7388" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="42.672" y1="6.7564" x2="43.7388" y2="7.8232" width="0.3048" layer="16"/>
<wire x1="43.7388" y1="9.6012" x2="43.942" y2="9.652" width="0.3048" layer="16"/>
<wire x1="42.672" y1="6.7564" x2="42.672" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="PCA_SOL13">
<contactref element="JP4" pad="3"/>
<contactref element="R13" pad="1"/>
<wire x1="47.2948" y1="7.112" x2="47.2948" y2="9.6012" width="0.3048" layer="16"/>
<wire x1="47.6504" y1="6.7564" x2="47.2948" y2="7.112" width="0.3048" layer="16"/>
<wire x1="47.2948" y1="9.6012" x2="47.117" y2="9.652" width="0.3048" layer="16"/>
<wire x1="47.6504" y1="6.7564" x2="47.752" y2="6.604" width="0.3048" layer="16"/>
</signal>
<signal name="N$9">
<contactref element="D5" pad="A"/>
<contactref element="Q5" pad="C"/>
<contactref element="J24" pad="2"/>
<wire x1="5.1308" y1="65.0748" x2="4.826" y2="65.104" width="0.3048" layer="16"/>
<wire x1="19.7104" y1="62.9412" x2="21.1328" y2="61.5188" width="0.3048" layer="16"/>
<wire x1="10.4648" y1="62.9412" x2="19.7104" y2="62.9412" width="0.3048" layer="16"/>
<wire x1="10.414" y1="62.8904" x2="10.4648" y2="62.9412" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="61.5188" x2="21.209" y2="61.214" width="0.3048" layer="16"/>
<wire x1="9.7028" y1="60.5028" x2="5.1308" y2="65.0748" width="0.3048" layer="16"/>
<wire x1="9.7028" y1="60.5028" x2="10.414" y2="59.436" width="0.3048" layer="16"/>
<wire x1="10.414" y1="59.436" x2="10.414" y2="62.8904" width="0.3048" layer="16"/>
</signal>
<signal name="N$10">
<contactref element="Q5" pad="B"/>
<contactref element="R5" pad="2"/>
<wire x1="18.8468" y1="19.9136" x2="18.542" y2="19.812" width="0.3048" layer="16"/>
<wire x1="18.8468" y1="19.9136" x2="18.542" y2="19.812" width="0.3048" layer="16"/>
<wire x1="23.622" y1="61.214" x2="27.3304" y2="57.5056" width="0.3048" layer="16"/>
<wire x1="27.3304" y1="57.5056" x2="27.3304" y2="28.6208125" width="0.3048" layer="16"/>
<wire x1="27.3304" y1="28.6208125" x2="18.8468" y2="20.1372125" width="0.3048" layer="16"/>
<wire x1="18.8468" y1="20.1372125" x2="18.8468" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="23.495" y1="61.214" x2="23.622" y2="61.214" width="0.3048" layer="16"/>
</signal>
<signal name="N$11">
<contactref element="D6" pad="A"/>
<contactref element="Q6" pad="C"/>
<contactref element="J25" pad="2"/>
<wire x1="21.1328" y1="66.8528" x2="21.1328" y2="67.9196" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="66.8528" x2="21.209" y2="66.802" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="67.9196" x2="19.4564" y2="69.596" width="0.3048" layer="16"/>
<wire x1="19.4564" y1="69.596" x2="16.51" y2="69.596" width="0.3048" layer="16"/>
<wire x1="16.51" y1="69.596" x2="16.51" y2="74.168" width="0.3048" layer="16"/>
<wire x1="16.51" y1="74.168" x2="16.002" y2="74.676" width="0.3048" layer="16"/>
<wire x1="16.002" y1="74.676" x2="14.732" y2="74.676" width="0.3048" layer="16"/>
<wire x1="14.478" y1="74.93" x2="13.97" y2="74.93" width="0.3048" layer="16"/>
<wire x1="13.97" y1="74.93" x2="10.287" y2="78.613" width="0.3048" layer="16"/>
<wire x1="14.732" y1="74.676" x2="14.478" y2="74.93" width="0.3048" layer="16"/>
<wire x1="10.287" y1="78.613" x2="10.414" y2="78.74" width="0.3048" layer="16"/>
<wire x1="10.414" y1="78.74" x2="10.414" y2="82.296" width="0.3048" layer="16"/>
<wire x1="10.287" y1="78.613" x2="8.763" y2="78.613" width="0.3048" layer="16"/>
<wire x1="8.763" y1="78.613" x2="5.334" y2="75.184" width="0.3048" layer="16"/>
<wire x1="5.334" y1="75.184" x2="4.906" y2="75.184" width="0.3048" layer="16"/>
<wire x1="4.906" y1="75.184" x2="4.826" y2="75.264" width="0.3048" layer="16"/>
</signal>
<signal name="N$12">
<contactref element="Q6" pad="B"/>
<contactref element="R6" pad="2"/>
<wire x1="22.0472" y1="19.9136" x2="21.717" y2="19.812" width="0.3048" layer="16"/>
<wire x1="22.0472" y1="19.9136" x2="21.717" y2="19.812" width="0.3048" layer="16"/>
<wire x1="28.2956" y1="62.1792" x2="23.6728" y2="66.802" width="0.3048" layer="16"/>
<wire x1="22.0472" y1="20.04581875" x2="22.0472" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="22.0472" y1="20.04581875" x2="28.2956" y2="26.29421875" width="0.3048" layer="16"/>
<wire x1="28.2956" y1="26.29421875" x2="28.2956" y2="62.1792" width="0.3048" layer="16"/>
<wire x1="23.6728" y1="66.802" x2="23.495" y2="66.802" width="0.3048" layer="16"/>
</signal>
<signal name="N$13">
<contactref element="D7" pad="A"/>
<contactref element="Q7" pad="C"/>
<contactref element="J26" pad="2"/>
<wire x1="15.4432" y1="80.1624" x2="15.494" y2="80.518" width="0.3048" layer="16"/>
<wire x1="15.494" y1="80.518" x2="15.494" y2="80.772" width="0.3048" layer="16"/>
<wire x1="15.494" y1="80.772" x2="15.494" y2="79.248" width="0.3048" layer="16"/>
<wire x1="15.494" y1="79.248" x2="15.494" y2="76.454" width="0.3048" layer="16"/>
<wire x1="16.764" y1="76.454" x2="15.494" y2="76.454" width="0.3048" layer="16"/>
<wire x1="19.7358" y1="75.8698" x2="21.1836" y2="74.422" width="0.3048" layer="16"/>
<wire x1="15.4432" y1="81.1911" x2="15.4432" y2="80.1624" width="0.3048" layer="16"/>
<wire x1="15.4432" y1="81.1911" x2="13.97" y2="82.296" width="0.3048" layer="16"/>
<wire x1="7.1628" y1="84.9376" x2="3.89" y2="88.2104" width="0.3048" layer="16"/>
<wire x1="12.369796875" y1="84.9376" x2="7.1628" y2="84.9376" width="0.3048" layer="16"/>
<wire x1="12.369796875" y1="84.9376" x2="13.97" y2="82.804003125" width="0.3048" layer="16"/>
<wire x1="21.1836" y1="74.422" x2="21.1836" y2="72.4154" width="0.3048" layer="16"/>
<wire x1="21.1836" y1="72.4154" x2="21.209" y2="72.39" width="0.3048" layer="16"/>
<wire x1="19.7358" y1="75.8698" x2="17.3482" y2="75.8698" width="0.3048" layer="16"/>
<wire x1="17.3482" y1="75.8698" x2="16.764" y2="76.454" width="0.3048" layer="16"/>
<wire x1="13.97" y1="82.804003125" x2="13.97" y2="82.296" width="0.3048" layer="16"/>
<wire x1="3.89" y1="88.2104" x2="3.89" y2="88.773" width="0.3048" layer="16"/>
</signal>
<signal name="N$14">
<contactref element="Q7" pad="B"/>
<contactref element="R7" pad="2"/>
<wire x1="24.9428" y1="19.9136" x2="24.892" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="29.2608" y1="24.2316" x2="24.9428" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="29.2608" y1="37.7952" x2="29.2608" y2="24.2316" width="0.3048" layer="16"/>
<wire x1="29.2608" y1="66.4972" x2="29.2608" y2="37.7952" width="0.3048" layer="16"/>
<wire x1="24.892" y1="19.9136" x2="24.892" y2="19.812" width="0.3048" layer="16"/>
<wire x1="23.622" y1="72.136" x2="23.622" y2="72.1868" width="0.3048" layer="16"/>
<wire x1="23.622" y1="72.1868" x2="23.495" y2="72.39" width="0.3048" layer="16"/>
<wire x1="29.2608" y1="66.4972" x2="23.622" y2="72.136" width="0.3048" layer="16"/>
</signal>
<signal name="N$15">
<contactref element="D8" pad="A"/>
<contactref element="Q8" pad="C"/>
<contactref element="J27" pad="2"/>
<wire x1="14.2748" y1="88.5444" x2="14.05" y2="88.773" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="81.0768" x2="21.1328" y2="78.5876" width="0.3048" layer="16"/>
<wire x1="20.066" y1="82.1436" x2="21.1328" y2="81.0768" width="0.3048" layer="16"/>
<wire x1="21.1328" y1="78.5876" x2="21.209" y2="78.2701" width="0.3048" layer="16"/>
<wire x1="20.066" y1="82.1436" x2="20.066" y2="82.296" width="0.3048" layer="16"/>
<wire x1="20.066" y1="82.7532" x2="14.2748" y2="88.5444" width="0.3048" layer="16"/>
<wire x1="20.066" y1="82.7532" x2="20.066" y2="82.296" width="0.3048" layer="16"/>
</signal>
<signal name="N$16">
<contactref element="Q8" pad="B"/>
<contactref element="R8" pad="2"/>
<wire x1="30.1752" y1="21.9964" x2="28.0924" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="28.0924" y1="19.9136" x2="28.067" y2="19.812" width="0.3048" layer="16"/>
<wire x1="30.1752" y1="71.6788" x2="23.622" y2="78.232" width="0.3048" layer="16"/>
<wire x1="30.1752" y1="21.9964" x2="30.1752" y2="71.6788" width="0.3048" layer="16"/>
<wire x1="23.622" y1="78.232" x2="23.495" y2="78.2701" width="0.3048" layer="16"/>
</signal>
<signal name="N$17">
<contactref element="D9" pad="A"/>
<contactref element="Q9" pad="C"/>
<contactref element="J28" pad="2"/>
<wire x1="41.9608" y1="80.01" x2="41.9608" y2="78.3463" width="0.3048" layer="16"/>
<wire x1="43.0276" y1="81.0768" x2="41.9608" y2="80.01" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="78.3463" x2="41.656" y2="78.1939" width="0.3048" layer="16"/>
<wire x1="43.3832" y1="83.9216" x2="43.3832" y2="88.9" width="0.3048" layer="16"/>
<wire x1="43.3832" y1="88.9" x2="43.26" y2="89.027" width="0.3048" layer="16"/>
<wire x1="43.3832" y1="83.9216" x2="43.3832" y2="82.8548" width="0.3048" layer="16"/>
<wire x1="43.3832" y1="82.8548" x2="43.434" y2="82.55" width="0.3048" layer="16"/>
<wire x1="43.3832" y1="81.4324" x2="43.3832" y2="82.4992" width="0.3048" layer="16"/>
<wire x1="43.0276" y1="81.0768" x2="43.3832" y2="81.4324" width="0.3048" layer="16"/>
<wire x1="43.3832" y1="82.4992" x2="43.434" y2="82.55" width="0.3048" layer="16"/>
</signal>
<signal name="N$18">
<contactref element="Q9" pad="B"/>
<contactref element="R9" pad="2"/>
<wire x1="33.4264" y1="71.8312" x2="33.4264" y2="20.8026" width="0.3048" layer="16"/>
<wire x1="37.6936" y1="76.0984" x2="33.4264" y2="71.8312" width="0.3048" layer="16"/>
<wire x1="37.6936" y1="76.0984" x2="39.37" y2="78.1939" width="0.3048" layer="16"/>
<wire x1="33.4264" y1="20.8026" x2="34.417" y2="19.812" width="0.3048" layer="16"/>
</signal>
<signal name="N$19">
<contactref element="D10" pad="A"/>
<contactref element="Q10" pad="C"/>
<contactref element="J29" pad="2"/>
<wire x1="47.2948" y1="82.3087" x2="47.2948" y2="78.232" width="0.3048" layer="16"/>
<wire x1="47.2948" y1="82.3087" x2="48.26" y2="82.55" width="0.3048" layer="16"/>
<wire x1="47.752" y1="83.312" x2="53.34" y2="88.9" width="0.3048" layer="16"/>
<wire x1="53.34" y1="88.9" x2="53.42" y2="89.027" width="0.3048" layer="16"/>
<wire x1="47.752" y1="83.312" x2="48.26" y2="82.55" width="0.3048" layer="16"/>
<wire x1="47.2948" y1="78.232" x2="47.244" y2="78.1812" width="0.3048" layer="16"/>
<wire x1="47.244" y1="78.1812" x2="47.244" y2="77.978" width="0.3048" layer="16"/>
<wire x1="47.244" y1="77.978" x2="45.847" y2="76.581" width="0.3048" layer="16"/>
<wire x1="45.847" y1="76.581" x2="44.958" y2="75.692" width="0.3048" layer="16"/>
<wire x1="44.958" y1="75.692" x2="41.656" y2="75.692" width="0.3048" layer="16"/>
<wire x1="41.656" y1="75.692" x2="41.656" y2="72.136" width="0.3048" layer="16"/>
</signal>
<signal name="N$20">
<contactref element="Q10" pad="B"/>
<contactref element="R10" pad="2"/>
<wire x1="37.338" y1="19.9644" x2="37.338" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="34.1376" y1="23.1648" x2="37.338" y2="19.9644" width="0.3048" layer="16"/>
<wire x1="34.1376" y1="66.8528" x2="34.1376" y2="23.1648" width="0.3048" layer="16"/>
<wire x1="39.116" y1="71.8312" x2="34.1376" y2="66.8528" width="0.3048" layer="16"/>
<wire x1="37.338" y1="19.9136" x2="37.592" y2="19.812" width="0.3048" layer="16"/>
<wire x1="39.116" y1="71.8312" x2="39.37" y2="72.136" width="0.3048" layer="16"/>
</signal>
<signal name="N$21">
<contactref element="D11" pad="A"/>
<contactref element="Q11" pad="C"/>
<contactref element="J30" pad="2"/>
<wire x1="57.2516" y1="80.3656" x2="57.277" y2="80.184" width="0.3048" layer="16"/>
<wire x1="45.4914" y1="65.8114" x2="44.196" y2="64.516" width="0.3048" layer="16"/>
<wire x1="44.196" y1="64.516" x2="42.672" y2="64.516" width="0.3048" layer="16"/>
<wire x1="42.672" y1="64.516" x2="41.656" y2="65.532" width="0.3048" layer="16"/>
<wire x1="41.656" y1="65.532" x2="41.656" y2="66.548" width="0.3048" layer="16"/>
<wire x1="45.4914" y1="65.8114" x2="45.4914" y2="73.533" width="0.3048" layer="16"/>
<wire x1="51.689" y1="82.55" x2="53.8734" y2="80.3656" width="0.3048" layer="16"/>
<wire x1="53.8734" y1="80.3656" x2="57.2516" y2="80.3656" width="0.3048" layer="16"/>
<wire x1="45.4914" y1="73.533" x2="47.9044" y2="75.946" width="0.3048" layer="16"/>
<wire x1="47.9044" y1="75.946" x2="50.8" y2="75.946" width="0.3048" layer="16"/>
<wire x1="53.8734" y1="79.0194" x2="53.8734" y2="80.3656" width="0.3048" layer="16"/>
<wire x1="50.8" y1="75.946" x2="53.8734" y2="79.0194" width="0.3048" layer="16"/>
</signal>
<signal name="N$22">
<contactref element="Q11" pad="B"/>
<contactref element="R11" pad="2"/>
<wire x1="34.8488" y1="25.5524" x2="40.5892" y2="19.812" width="0.3048" layer="16"/>
<wire x1="34.8488" y1="62.23" x2="34.8488" y2="25.5524" width="0.3048" layer="16"/>
<wire x1="39.116" y1="66.4972" x2="34.8488" y2="62.23" width="0.3048" layer="16"/>
<wire x1="39.116" y1="66.4972" x2="39.37" y2="66.548" width="0.3048" layer="16"/>
<wire x1="40.5892" y1="19.812" x2="40.767" y2="19.812" width="0.3048" layer="16"/>
</signal>
<signal name="N$23">
<contactref element="D12" pad="A"/>
<contactref element="Q12" pad="C"/>
<contactref element="J31" pad="2"/>
<wire x1="43.3832" y1="59.3852" x2="41.9608" y2="60.8076" width="0.3048" layer="16"/>
<wire x1="48.0568" y1="59.3852" x2="43.3832" y2="59.3852" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="60.8076" x2="41.656" y2="60.96" width="0.3048" layer="16"/>
<wire x1="48.0568" y1="59.3852" x2="48.26" y2="59.436" width="0.3048" layer="16"/>
<wire x1="48.26" y1="60.706" x2="57.2516" y2="69.6976" width="0.3048" layer="16"/>
<wire x1="57.2516" y1="69.6976" x2="57.277" y2="70.024" width="0.3048" layer="16"/>
<wire x1="48.26" y1="60.706" x2="48.26" y2="59.436" width="0.3048" layer="16"/>
</signal>
<signal name="N$24">
<contactref element="Q12" pad="B"/>
<contactref element="R12" pad="2"/>
<wire x1="43.7388" y1="20.0152" x2="43.7388" y2="19.9136" width="0.3048" layer="16"/>
<wire x1="35.56" y1="28.194" x2="43.7388" y2="20.0152" width="0.3048" layer="16"/>
<wire x1="35.56" y1="57.2516" x2="35.56" y2="28.194" width="0.3048" layer="16"/>
<wire x1="39.116" y1="60.8076" x2="35.56" y2="57.2516" width="0.3048" layer="16"/>
<wire x1="43.7388" y1="19.9136" x2="43.942" y2="19.812" width="0.3048" layer="16"/>
<wire x1="39.37" y1="60.96" x2="39.116" y2="60.8076" width="0.3048" layer="16"/>
</signal>
<signal name="N$25">
<contactref element="D13" pad="A"/>
<contactref element="Q13" pad="C"/>
<contactref element="J32" pad="2"/>
<wire x1="41.9608" y1="55.8292" x2="41.9608" y2="54.9656" width="0.3048" layer="16"/>
<wire x1="42.9768" y1="56.8452" x2="41.9608" y2="55.8292" width="0.3048" layer="16"/>
<wire x1="51.1556" y1="56.8452" x2="42.9768" y2="56.8452" width="0.3048" layer="16"/>
<wire x1="51.816" y1="57.5056" x2="51.1556" y2="56.8452" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="54.9656" x2="41.656" y2="54.864" width="0.3048" layer="16"/>
<wire x1="52.0192" y1="59.7408" x2="57.2516" y2="59.7408" width="0.3048" layer="16"/>
<wire x1="57.2516" y1="59.7408" x2="57.277" y2="59.864" width="0.3048" layer="16"/>
<wire x1="52.0192" y1="59.7408" x2="51.816" y2="59.436" width="0.3048" layer="16"/>
<wire x1="51.816" y1="59.436" x2="51.816" y2="57.5056" width="0.3048" layer="16"/>
</signal>
<signal name="N$26">
<contactref element="Q13" pad="B"/>
<contactref element="R13" pad="2"/>
<wire x1="46.9392" y1="19.9136" x2="47.117" y2="19.812" width="0.3048" layer="16"/>
<wire x1="39.37" y1="54.864" x2="36.2712" y2="51.7652" width="0.3048" layer="16"/>
<wire x1="36.2712" y1="51.7652" x2="36.2712" y2="30.69215625" width="0.3048" layer="16"/>
<wire x1="36.2712" y1="30.69215

license: MIT

license_type: permissive

branch_name: refs/heads/master


text:
625" x2="46.9392" y2="20.02415625" width="0.3048" layer="16"/>
<wire x1="46.9392" y1="20.02415625" x2="46.9392" y2="19.9136" width="0.3048" layer="16"/>
</signal>
<signal name="N$27">
<contactref element="D14" pad="A"/>
<contactref element="Q14" pad="C"/>
<contactref element="J33" pad="2"/>
<wire x1="43.3832" y1="50.8508" x2="41.9608" y2="49.4284" width="0.3048" layer="16"/>
<wire x1="45.5168" y1="50.8508" x2="43.3832" y2="50.8508" width="0.3048" layer="16"/>
<wire x1="46.9392" y1="49.4284" x2="45.5168" y2="50.8508" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="49.4284" x2="41.656" y2="49.276" width="0.3048" layer="16"/>
<wire x1="46.9392" y1="49.4284" x2="47.244" y2="49.276" width="0.3048" layer="16"/>
<wire x1="54.3052" y1="49.784" x2="57.2516" y2="49.784" width="0.3048" layer="16"/>
<wire x1="52.2224" y1="51.8668" x2="54.3052" y2="49.784" width="0.3048" layer="16"/>
<wire x1="47.3456" y1="51.8668" x2="52.2224" y2="51.8668" width="0.3048" layer="16"/>
<wire x1="57.2516" y1="49.784" x2="57.277" y2="49.704" width="0.3048" layer="16"/>
<wire x1="47.3456" y1="51.8668" x2="47.244" y2="51.562" width="0.3048" layer="16"/>
<wire x1="47.244" y1="51.562" x2="47.244" y2="49.276" width="0.3048" layer="16"/>
</signal>
<signal name="N$28">
<contactref element="Q14" pad="B"/>
<contactref element="R14" pad="2"/>
<wire x1="36.9824" y1="46.9392" x2="36.9824" y2="33.01875" width="0.3048" layer="16"/>
<wire x1="39.116" y1="49.0728" x2="36.9824" y2="46.9392" width="0.3048" layer="16"/>
<wire x1="39.37" y1="49.276" x2="39.116" y2="49.0728" width="0.3048" layer="16"/>
<wire x1="36.9824" y1="33.01875" x2="50.18915" y2="19.812" width="0.3048" layer="16"/>
<wire x1="50.18915" y1="19.812" x2="50.292" y2="19.812" width="0.3048" layer="16"/>
</signal>
<signal name="N$29">
<contactref element="D15" pad="A"/>
<contactref element="Q15" pad="C"/>
<contactref element="J34" pad="2"/>
<wire x1="44.196" y1="45.6184" x2="41.9608" y2="43.3832" width="0.3048" layer="16"/>
<wire x1="48.2092" y1="45.6184" x2="44.196" y2="45.6184" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="43.3832" x2="41.656" y2="43.18" width="0.3048" layer="16"/>
<wire x1="50.495203125" y1="48.869596875" x2="50.8" y2="49.276" width="0.3048" layer="16"/>
<wire x1="49.7078" y1="47.117" x2="57.276625" y2="39.548175" width="0.3048" layer="16"/>
<wire x1="57.276625" y1="39.548175" x2="57.277" y2="39.544" width="0.3048" layer="16"/>
<wire x1="50.9778" y1="48.387" x2="49.7078" y2="47.117" width="0.3048" layer="16"/>
<wire x1="50.495203125" y1="48.869596875" x2="50.9778" y2="48.387" width="0.3048" layer="16"/>
<wire x1="49.7078" y1="47.117" x2="48.2092" y2="45.6184" width="0.3048" layer="16"/>
</signal>
<signal name="N$30">
<contactref element="Q15" pad="B"/>
<contactref element="R15" pad="2"/>
<wire x1="37.6936" y1="41.6052" x2="37.6936" y2="35.34534375" width="0.3048" layer="16"/>
<wire x1="39.116" y1="43.0276" x2="37.6936" y2="41.6052" width="0.3048" layer="16"/>
<wire x1="39.37" y1="43.18" x2="39.116" y2="43.0276" width="0.3048" layer="16"/>
<wire x1="37.6936" y1="35.34534375" x2="53.226946875" y2="19.812" width="0.3048" layer="16"/>
<wire x1="53.226946875" y1="19.812" x2="53.467" y2="19.812" width="0.3048" layer="16"/>
</signal>
<signal name="N$31">
<contactref element="D16" pad="A"/>
<contactref element="Q16" pad="C"/>
<contactref element="J35" pad="2"/>
<wire x1="53.6956" y1="29.1592" x2="57.2516" y2="29.1592" width="0.3048" layer="16"/>
<wire x1="52.188534375" y1="27.652134375" x2="53.6956" y2="29.1592" width="0.3048" layer="16"/>
<wire x1="57.2516" y1="29.1592" x2="57.277" y2="29.384" width="0.3048" layer="16"/>
<wire x1="52.188534375" y1="27.652134375" x2="51.816" y2="26.162" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="35.6616" x2="51.4604" y2="26.162" width="0.3048" layer="16"/>
<wire x1="41.656" y1="37.084" x2="41.9608" y2="36.7792" width="0.3048" layer="16"/>
<wire x1="41.9608" y1="36.7792" x2="41.9608" y2="35.6616" width="0.3048" layer="16"/>
<wire x1="51.816" y1="26.162" x2="51.4604" y2="26.162" width="0.3048" layer="16"/>
</signal>
<signal name="N$32">
<contactref element="Q16" pad="B"/>
<contactref element="R16" pad="2"/>
<wire x1="55.88" y1="19.812" x2="54.356" y2="21.336" width="0.3048" layer="16"/>
<wire x1="54.356" y1="21.336" x2="54.2327375" y2="21.336" width="0.3048" layer="16"/>
<wire x1="39.37" y1="36.1987375" x2="54.2327375" y2="21.336" width="0.3048" layer="16"/>
<wire x1="56.642" y1="19.812" x2="55.88" y2="19.812" width="0.3048" layer="16"/>
<wire x1="39.37" y1="37.084" x2="39.37" y2="36.1987375" width="0.3048" layer="16"/>
</signal>
</signals>
<mfgpreviewcolors>
<mfgpreviewcolor name="soldermaskcolor" color="0xC8008000"/>
<mfgpreviewcolor name="silkscreencolor" color="0xFFFEFEFE"/>
<mfgpreviewcolor name="backgroundcolor" color="0xFF282828"/>
<mfgpreviewcolor name="coppercolor" color="0xFFFFBF00"/>
<mfgpreviewcolor name="substratecolor" color="0xFF786E46"/>
</mfgpreviewcolors>
</board>
</drawing>
<compatibility>
<note version="8.2" severity="warning">
Since Version 8.2, EAGLE supports online libraries. The ids
of those online libraries will not be understood (or retained)
with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports URNs for individual library
assets (packages, symbols, and devices). The URNs of those assets
will not be understood (or retained) with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports the association of 3D packages
with devices in libraries, schematics, and board files. Those 3D
packages will not be understood (or retained) with this version.
</note>
</compatibility>
</eagle>

repository: sheggen/pavement-painter

repo_name: sheggen/pavement-painter

gha_license_id: MIT

gha_language: Python

extension: brd


text:
SUMMARY = "The cinnamon-desktop library"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = " \
    file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
    file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
"

DEPENDS = " \
    glib-2.0-native \
    intltool-native \
    gtk+3 \
    libxkbfile \
    pulseaudio \
"

PACKAGECONFIG ?= "alsa"
PACKAGECONFIG[alsa] = "-Dalsa=true,-Dalsa=false,alsa-lib"

inherit meson pkgconfig features_check gobject-introspection gettext gsettings

REQUIRED_DISTRO_FEATURES = "x11 pulseaudio"

# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
GIR_MESON_OPTION = ""

SRC_URI = "git://github.com/linuxmint/cinnamon-desktop.git;branch=master;protocol=https"
SRCREV = "3828f6bcbd4bcbd9f825ec2a9467b310fe0258bc"
PV = "5.2.1"
S = "${WORKDIR}/git"

FILES:${PN} += " \
    ${datadir}/glib-2.0/schemas \
    ${datadir}/libcinnamon-desktop \
"

RDEPENDS:${PN} += " \
    accountsservice \
"

repository: schnitzeltony/meta-gnome-forks

repo_name: schnitzeltony/meta-gnome-forks

extension: bb


text:
require ledge-gateway.bb

SUMMARY = "Gateway image for LEDGE (for Lava test)"

CORE_IMAGE_BASE_INSTALL += "\
    ${@bb.utils.contains("MACHINE_FEATURES", "tpm2", "packagegroup-ledge-tpm-lava", "", d)} \
    fwts \
    "

repository: Linaro/meta-ledge

repo_name: Linaro/meta-ledge

branch_name: refs/heads/hardknott

gha_language: Shell


text:
package gogl

/* Vertex structures */

// A Vertex in gogl is a value of empty interface type.
//
// This is largely comensurate with graph theory, as vertices are, in the general
// case, known to be unique within the graph context, but the particular property
// that makes them unique has no bearing on the graph's behavior. In Go-speak, that
// translates pretty nicely to interface{}.
type Vertex interface{}

repository: sdboyer/gogl

repo_name: sdboyer/gogl

gha_language: Go

extension: go


text:
// Copyright 2020 The Execstub Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package comproto

// DiscoveredBy specifies how executable is discovered.
type DiscoveredBy string

const (
	// DiscoveredByPath specifies that the command is discovered using environment path
	DiscoveredByPath = "PATH"

	// DiscoveredByHomeBinDir specifies that the command is discovered using
	// an home directory setting in environment.
	DiscoveredByHomeBinDir = "HomeBinDir"
)

// ExecType specifies the type of exec used for stubbing
type ExecType string

const (
	// ExecTypeExe requires the use of an Executable for the stubbing
	ExecTypeExe = "EXE"

	// ExecTypeBash requires the use of a bash script for the stubbing
	ExecTypeBash = "BASH"
)

// StubbingMode specifies the stubing mode (static or dynamic).
type StubbingMode string

const (
	// StubbingModeStatic requires static stubbing.
	// The stubfunc will be evaludated immediately (before the command execution)
	// with zero request.
	// The outcome is static and cannot  depend on the command arguments
	StubbingModeStatic = "STATIC"

	// StubbingModeDyna reuqires dynamic stubbing.
	// The stub-func will be evaluated online (reacting to the command execution)
	// The outome ca there for depends on command arguments
	StubbingModeDyna = "DYNAMIC"
)

// DiscoveredByHomeDirBinData holds data used to the home environment key and
// the binary sub-directory structure which contains the executable
// e.g. For Java: EnvHomeKey=JAVA_HOME and BinDirs=[]string{"bin"}
// 			so that the java binary is located in ${JAVA_HOME}/bin/
type DiscoveredByHomeDirBinData struct {
	EnvHomeKey string
	// BinDirs bin sub directory paths.
	// using to avoid guessing path separator
	BinDirs []string
}

// Settings holds setting data for an exec stubbing
type Settings struct {
	DiscoveredBy               DiscoveredBy
	DiscoveredByHomeDirBinData DiscoveredByHomeDirBinData

	ExecType ExecType

	Mode StubbingMode

	TestHelperProcessMethodName string

	Timeout OptionalDuration
}

// SettingsDynaStubCmdDiscoveredByPath constructs a new Settings for dynamically stubbing
// a cmd which is discovered by Path.
func SettingsDynaStubCmdDiscoveredByPath() *Settings {
	s := Settings{}
	s.DiscoveredByPath()
	s.ExecTypeExe()
	s.ModeDanymic()
	s.WithoutTestProcessHelper()
	return &s
}

// IsCmdDiscoveredByHomeDir true is cmd are set to be discovered by home-dir.
func (s Settings) IsCmdDiscoveredByHomeDir() bool {
	return DiscoveredByHomeBinDir == s.DiscoveredBy
}

// DiscoveredByPath selects discovery by path
func (s *Settings) DiscoveredByPath() {
	s.DiscoveredBy = DiscoveredByPath
	s.DiscoveredByHomeDirBinData.BinDirs = []string{}
	s.DiscoveredByHomeDirBinData.EnvHomeKey = ""
}

// DiscoveredByHomeDirBin selects discovery by home dir
func (s *Settings) DiscoveredByHomeDirBin(envHomeKey string, binDirs ...string) {
	s.DiscoveredBy = DiscoveredByHomeBinDir
	s.DiscoveredByHomeDirBinData.BinDirs = binDirs
	s.DiscoveredByHomeDirBinData.EnvHomeKey = envHomeKey
}

// ExecTypeBash sets exec type to BASH
func (s *Settings) ExecTypeBash() {
	s.ExecType = ExecTypeBash
}

// ExecTypeExe sets exec type to EXE
func (s *Settings) ExecTypeExe() {
	s.ExecType = ExecTypeExe
}

// ModeStatic set stubbing mode to static
func (s *Settings) ModeStatic() {
	s.Mode = StubbingModeStatic
}

// ModeDanymic set stubbing mode to dynamic
func (s *Settings) ModeDanymic() {
	s.Mode = StubbingModeDyna
}

// WithTestProcessHelper requires the use a test process helper.
func (s *Settings) WithTestProcessHelper(methodName string) {
	s.TestHelperProcessMethodName = methodName
}

// WithoutTestProcessHelper requires stubbing without the use of a test process helper
func (s *Settings) WithoutTestProcessHelper() {
	s.TestHelperProcessMethodName = ""
}

// InModStatic returns true if in mode static false otherwise.
func (s Settings) InModStatic() bool {
	return StubbingModeStatic == s.Mode
}

// InModDyna returns true if in mode dynamic false otherwise.
func (s Settings) InModDyna() bool {
	return StubbingModeDyna == s.Mode
}

// IsUsingTestProcessHelper returns true if TestProcessHelper is provided
// and expected to be used; false otherwise.
func (s Settings) IsUsingTestProcessHelper() bool {
	return s.TestHelperProcessMethodName != ""
}

// IsUsingExecTypeBash returns true bash is specified as exec type; false otherwise.
func (s Settings) IsUsingExecTypeBash() bool {
	return ExecTypeBash == s.ExecType
}

repository: congop/execstub

repo_name: congop/execstub


text:
namespace Couchbase {
namespace Internal {

template<typename T>
MultiContextT<T>::MultiContextT()
: m_inner(NULL), cookie(NULL), client(NULL) {
}

template<typename T>
MultiContextT<T>::MultiContextT(lcb_MULTICMD_CTX *c, Handler *handler, Client *cli)
: m_inner(c), cookie(handler), client(cli) {
}

template <typename T> MultiContextT<T>&
MultiContextT<T>::operator=(MultiContextT<T>&& other) {
    assert(m_inner == NULL);
    m_inner = other.m_inner;
    cookie = other.cookie;
    client = other.client;
    other.m_inner = NULL;
    return *this;
}

template<typename T>
MultiContextT<T>::~MultiContextT() {
    bail();
}

template <typename T> Status
MultiContextT<T>::add(const T* cmd) {
    return m_inner->addcmd(m_inner, reinterpret_cast<const lcb_CMDBASE*>(cmd));
}

template <typename T> Status
MultiContextT<T>::done() {
    client->enter();
    Status s = m_inner->done(m_inner, cookie->as_cookie());
    if (!s) {
        client->fail();
    } else {
        client->leave();
    }
    m_inner = NULL;
    return s;
}

template <typename T> void
MultiContextT<T>::bail() {
    if (m_inner != NULL) {
        m_inner->fail(m_inner);
        m_inner = NULL;
    }
}

} // namespace Couchbase
} // namespace Internal

repository: griels/libcouchbase-cxx

repo_name: griels/libcouchbase-cxx

extension: h


text:
package main

import (
	"crypto/sha256"
	"encoding/hex"
	"flag"
	"fmt"
	"io"
	"log"
	"os"
	"path/filepath"
	"strconv"
	"sync"

	"github.com/mrdbarros/csgo_analyze/database"

	dem "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs"
	metadata "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs/metadata"
	"github.com/mrdbarros/csgo_analyze/composite_handlers"

	utils "github.com/mrdbarros/csgo_analyze/utils"
)

func ProcessDemoFile(demPath string, fileID int, destDir string, tickRate int) {
	fileStat, err := os.Stat(demPath)

	f, err := os.Open(demPath)
	utils.CheckError(err)
	defer func() {
		if r := recover(); r != nil {
			fmt.Println("Erro no processamento do arquivo!", r)
		}
	}()
	fileName := filepath.Base(demPath)
	fmt.Println("Processing demo: ", fileName)
	hasher := sha256.New()

	_, err = io.Copy(hasher, f)
	utils.CheckError(err)
	defer f.Close()

	hashString := hex.EncodeToString(hasher.Sum(nil))

	dbConn := database.OpenDBConn()
	skipProcessedFile := true

	f, err = os.Open(demPath)
	utils.CheckError(err)

	p := dem.NewParser(f)

	header, err := p.ParseHeader()
	utils.CheckError(err)

	fmt.Println("Map:", header.MapName)
	rootMatchPath := destDir + "/" + header.MapName + "/" + hashString
	dirExists, _ := utils.Exists(rootMatchPath)

	if dbConn.CheckIfProcessed(hashString) && skipProcessedFile && dirExists {
		fmt.Println("Demo already processed, skipping...")
		dbConn.Close()
		return
	} else {
		dbConn.Close()
	}

	if !dirExists {
		err = os.MkdirAll(rootMatchPath, 0700)
		utils.CheckError(err)
	}

	imgSize := 800

	mapMetadata := metadata.MapNameToMap[header.MapName]
	var allIconGenerators []composite_handlers.PeriodicIconGenerator
	var allStatGenerators []composite_handlers.StatGenerator
	var allTabularGenerators []composite_handlers.PeriodicTabularGenerator
	var allPlayerStatCalculators []composite_handlers.PlayerStatisticCalculator
	var basicHandler composite_handlers.BasicHandler

	basicHandler.Setup(&p, tickRate, mapMetadata, fileStat.ModTime(), fileName)
	basicHandler.RegisterBasicEvents()
	allTabularGenerators = append(allTabularGenerators, &basicHandler)
	allPlayerStatCalculators = append(allPlayerStatCalculators, &basicHandler)

	tradeIntervalLimit := 3.0
	var kdatHandler composite_handlers.KDATCalculator
	kdatHandler.Register(&basicHandler)
	kdatHandler.Setup(tradeIntervalLimit)
	allPlayerStatCalculators = append(allPlayerStatCalculators, &kdatHandler)

	var adrHandler composite_handlers.ADRCalculator
	adrHandler.Register(&basicHandler)
	allPlayerStatCalculators = append(allPlayerStatCalculators, &adrHandler)

	var flashCalc composite_handlers.FlashUsageCalculator
	flashCalc.Register(&basicHandler)
	allPlayerStatCalculators = append(allPlayerStatCalculators, &flashCalc)

	var popHandler composite_handlers.PoppingGrenadeHandler
	popHandler.SetBaseIcons()
	popHandler.Register(&basicHandler)

	var bmbHandler composite_handlers.BombHandler
	bmbHandler.Register(&basicHandler)
	allTabularGenerators = append(allTabularGenerators, &bmbHandler)
	allPlayerStatCalculators = append(allPlayerStatCalculators, &bmbHandler)

	var playerHandler composite_handlers.PlayerPeriodicInfoHandler
	playerHandler.Register(&basicHandler)
	allTabularGenerators = append(allTabularGenerators, &playerHandler)

	generateIcons := false
	if generateIcons {
		allIconGenerators = append(allIconGenerators, &popHandler)
		allIconGenerators = append(allIconGenerators, &bmbHandler)
		allIconGenerators = append(allIconGenerators, &playerHandler)
		allIconGenerators = append(allIconGenerators, &flashCalc)
	}

	var infoHandler composite_handlers.InfoGenerationHandler
	updateInterval := 2.0 //# of seconds between framegroups
	infoHandler.Register(&basicHandler)
	infoHandler.Setup(imgSize, updateInterval, rootMatchPath, hashString,
		&allIconGenerators, &allTabularGenerators, &allStatGenerators, &allPlayerStatCalculators)

	err = p.ParseToEnd()
	p.Close()

	utils.CheckError(err)

	// Parse to end
}

type demoFile struct {
	demPath  string
	fileID   int
	destDir  string
	tickRate int
}

func worker(wg *sync.WaitGroup, jobChan <-chan demoFile) {
	defer wg.Done()
	for demFile := range jobChan {
		fmt.Println("Demos left:", len(jobChan))
		ProcessDemoFile(demFile.demPath, demFile.fileID, demFile.destDir, demFile.tickRate)
	}
}

func main() {
	demPath := os.Args[2]
	destDir := os.Args[3]

	mode := flag.String("mode", "file", "process mode (file/dir)")
	fileID := 0
	tickRate, _ := strconv.Atoi(os.Args[4])
	flag.Parse()
	if *mode == "file" {
		ProcessDemoFile(demPath, fileID, destDir, tickRate)
	} else if *mode == "dir" {
		workerCount := 7
		// use a WaitGroup
		var wg sync.WaitGroup

		// make a channel with a capacity of 100.
		jobChan := make(chan demoFile, 500)

		for i := 0; i < workerCount; i++ {
			go worker(&wg, jobChan)
		}
		wg.Add(workerCount)

		filepath.Walk(demPath, func(path string, info os.FileInfo, err error) error {
			if err != nil {
				fmt.Printf("prevent panic by handling failure accessing a path %q: %v\n", path, err)
				return err
			}
			if info.IsDir() {
				return nil
			}
			// enqueue a job
			jobChan <- demoFile{demPath: path, fileID: fileID, destDir: destDir, tickRate: tickRate}
			fileID++
			return nil
		})
		wg.Wait()

	} else {
		log.Fatal("invalid mode.")
	}

}


text:
require recipes-core/images/core-image-minimal.bb

IMAGE_INSTALL_append = " \
  docker-ce \
  less \
  "

IMAGE_FEATURES_append = " ssh-server-openssh"

repository: pcengines/meta-pcengines

repo_name: pcengines/meta-pcengines


text:
// Package app is a multi-function universal binary that does all the things.
//
// Parallelcoin Save
//
// This is the heart of configuration and coordination of the parts that compose the parallelcoin Save - Ctl, Node and
// Wallet, and the extended, combined Shell and the Gio GUI.
package app

import (
	"github.com/p9c/pod/pkg/pod"
	"os"
)

const (
	Name              = "pod"
	confExt           = ".json"
	appLanguage       = "en"
	podConfigFilename = Name + confExt
	PARSER            = "json"
)

// Main is the entrypoint for the pod AiO suite
func Main() int {
	cx := pod.GetNewContext(Name, appLanguage, "main")
	cx.App = getApp(cx)
	if e := cx.App.Run(os.Args); E.Chk(e) {
		return 1
	}
	return 0
}

license: Unlicense

repository: marcetin/parallelcoin

repo_name: marcetin/parallelcoin

gha_license_id: NOASSERTION


text:
PR = "r1"

TOOLCHAIN_TARGET_TASK = "task-fso-toolchain-target"
TOOLCHAIN_HOST_TASK = "task-fso-toolchain-host"

require meta-toolchain.bb
SDK_SUFFIX = "toolchain-fso"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
SUMMARY = "NES Controller kernel module"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "drivers"

inherit module

SRC_URI = " \
          file://nesctrl.c \
          file://Makefile \
          "

S = "${WORKDIR}"

PR = "r10"


text:
//  Copyright 2015 Stefan Negritoiu (FreeBusy). See LICENSE file for more information.

using System;
using System.Collections.Generic;
using NLog;
using AlexaSkillsKit.Speechlet;
using AlexaSkillsKit.Slu;
using AlexaSkillsKit.UI;
using AlexaSkillsKit.Interfaces.Display;
using AlexaSkillsKit.Interfaces.VideoApp;
using AlexaSkillsKit.Interfaces.Display.Directives;
using AlexaSkillsKit.Interfaces.VideoApp.Directives;

namespace Sample.Controllers
{
    public class SampleSessionSpeechlet : Speechlet
    {
        private static Logger Log = LogManager.GetCurrentClassLogger();

        // Note: NAME_KEY being a JSON property key gets camelCased during serialization
        private const string NAME_KEY = "name";
        private const string NAME_SLOT = "Name";

        public override void OnSessionStarted(SessionStartedRequest request, Session session) {
            Log.Info("OnSessionStarted requestId={0}, sessionId={1}", request.RequestId, session.SessionId);
        }

        public override SpeechletResponse OnLaunch(LaunchRequest request, Session session) {
            Log.Info("OnLaunch requestId={0}, sessionId={1}", request.RequestId, session.SessionId);
            return GetWelcomeResponse();
        }

        public override SpeechletResponse OnIntent(IntentRequest request, Session session) {
            Log.Info("OnIntent requestId={0}, sessionId={1}", request.RequestId, session.SessionId);

            // Get intent from the request object.
            Intent intent = request.Intent;
            string intentName = (intent != null) ? intent.Name : null;

            // Note: If the session is started with an intent, no welcome message will be rendered;
            // rather, the intent specific response will be returned.
            if ("MyNameIsIntent".Equals(intentName)) {
                return SetNameInSessionAndSayHello(intent, session);
            }
            else if ("WhatsMyNameIntent".Equals(intentName)) {
                return GetNameFromSessionAndSayHello(intent, session);
            }
            else {
                throw new SpeechletException("Invalid Intent");
            }
        }

        public override void OnSessionEnded(SessionEndedRequest request, Session session) {
            Log.Info("OnSessionEnded requestId={0}, sessionId={1}", request.RequestId, session.SessionId);
        }

        /**
         * Creates and returns a {@code SpeechletResponse} with a welcome message.
         *
         * @return SpeechletResponse spoken and visual welcome message
         */
        private SpeechletResponse GetWelcomeResponse() {
            // Create the welcome message.
            string speechOutput =
                "Welcome to the Alexa AppKit session sample app, please tell me your name by saying, my name is Sam";

            // Here we are setting shouldEndSession to false to not end the session and
            // prompt the user for input
            return BuildSpeechletResponse("Welcome", speechOutput, false);
        }

        /**
         * Creates a {@code SpeechletResponse} for the intent and stores the extracted name in the
         * Session.
         *
         * @param intent
         *            intent for the request
         * @return SpeechletResponse spoken and visual response the given intent
         */
        private SpeechletResponse SetNameInSessionAndSayHello(Intent intent, Session session) {
            // Get the slots from the intent.
            IDictionary<string, Slot> slots = intent.Slots;

            // Get the name slot from the list slots.
            Slot nameSlot = slots[NAME_SLOT];
            string speechOutput = "";

            // Check for name and create output to user.
            if (nameSlot != null) {
                // Store the user's name in the Session and create response.
                string name = nameSlot.Value;
                session.Attributes[NAME_KEY] = name;
                speechOutput = String.Format(
                    "Hello {0}, now I can remember your name, you can ask me your name by saying, whats my name?", name);
            }
            else {
                // Render an error since we don't know what the users name is.
                speechOutput = "I'm not sure what your name is, please try again";
            }

            // Here we are setting shouldEndSession to false to not end the session and
            // prompt the user for input
            return BuildSpeechletResponse(intent.Name, speechOutput, false);
        }

        /**
         * Creates a {@code SpeechletResponse} for the intent and get the user's name from the Session.
         *
         * @param intent
         *            intent for the request
         * @return SpeechletResponse spoken and visual response for the intent
         */
        private SpeechletResponse GetNameFromSessionAndSayHello(Intent intent, Session session) {
            string speechOutput = "";
            bool shouldEndSession = false;

            // Get the user's name from the session.
            string name = (String)session.Attributes[NAME_KEY];

            // Check to make sure user's name is set in the session.
            if (!String.IsNullOrEmpty(name)) {
                speechOutput = String.Format("Your name is {0}, goodbye", name);
                shouldEndSession = true;
            }
            else {
                // Since the user's name is not set render an error message.
                speechOutput = "I'm not sure what your name is, you can say, my name is Sam";
            }

            return BuildSpeechletResponse(intent.Name, speechOutput, shouldEndSession);
        }

        /**
         * Creates and returns the visual and spoken response with shouldEndSession flag
         *
         * @param title
         *            title for the companion application home card
         * @param output
         *            output content for speech and companion application home card
         * @param shouldEndSession
         *            should the session be closed
         * @return SpeechletResponse spoken and visual response for the given input
         */
        private SpeechletResponse BuildSpeechletResponse(string title, string output, bool shouldEndSession) {
            // Create the Simple card content.
            SimpleCard card = new SimpleCard();
            card.Title = String.Format("SessionSpeechlet - {0}", title);
            card.Subtitle = String.Format("SessionSpeechlet - Sub Title");
            card.Content = String.Format("SessionSpeechlet - {0}", output);

            // Create the plain text output.
            PlainTextOutputSpeech speech = new PlainTextOutputSpeech();
            speech.Text = output;

            /* Create a directive for Echo Show (example)
             * This can be separeted so it can be easier to create
             * a Show Directive where you can only need to write
             * the important information
             */
            IList<Directive> listDirectiveTest = new List<Directive>();
            DisplayRenderTemplateDirective directiveTest = new DisplayRenderTemplateDirective();
            DisplayTemplate templateTest = new DisplayTemplate();
            DisplayImage backgroundTest = new DisplayImage();
            DisplayImage imageTest = new DisplayImage();

            IList<DisplayImageSource> backgroundSourcesTest = new List<DisplayImageSource>();
            IList<DisplayImageSource> imageSourcesTest = new List<DisplayImageSource>();

            DisplayImageSource backgroundSource = new DisplayImageSource();
            backgroundSource.Url = "URL for the background image - must be secure (https)";
            DisplayImageSource imageSource = new DisplayImageSource();
            imageSource.Url = "URL for the main image - must be secure (https)";

            backgroundSourcesTest.Add(backgroundSource);
            imageSourcesTest.Add(imageSource);

            backgroundTest.ContentDescription = "Description for the background image";
            backgroundTest.Sources = backgroundSourcesTest;

            imageTest.ContentDescription = "Description for the main image";
            imageTest.Sources = imageSourcesTest;

            TextContent textContentTest = new TextContent();
            TextField primaryContentTest = new TextField();
            TextField secondaryContentTest = new TextField();
            TextField tertiaryContentTest = new TextField();

            primaryContentTest.Text = "Primary Text (could be formatted)";
            primaryContentTest.Type = TextField.TextTypeEnum.RichText;

            secondaryContentTest.Text = "Secondary Text (could be formatted)";
            secondaryContentTest.Type = TextField.TextTypeEnum.RichText;

            tertiaryContentTest.Text = "Tertiary Text (could be formatted)";
            tertiaryContentTest.Type = TextField.TextTypeEnum.RichText;

            textContentTest.PrimaryText = primaryContentTest;
            textContentTest.SecondaryText = secondaryContentTest;
            textContentTest.TertiaryText = tertiaryContentTest;

            templateTest.Title = "Hello, this is a Test";
            templateTest.BackButton = DisplayTemplate.ButtonStateEnum.HIDDEN;
            templateTest.BackgroundImage = backgroundTest;
            templateTest.Image = imageTest;
            templateTest.Type = "BodyTemplate2";
            templateTest.Token = "";
            templateTest.TextContent = textContentTest;

            directiveTest.Template = templateTest;
            listDirectiveTest.Add(directiveTest);

            // Create the speechlet response.
            SpeechletResponse response = new SpeechletResponse();
            response.ShouldEndSession = shouldEndSession;
            response.OutputSpeech = speech;
            response.Card = card;
            response.Directives = listDirectiveTest;

            return response;
        }

        /// <summary>
        /// Creates an echo show video response
        /// </summary>
        /// <param name="title">video title</param>
        /// <param name="subtitle">video subtitle</param>
        /// <param name="url">url to video (must be https!)</param>
        /// <remarks>shouldEndSession should be null (not true or false, null) for the video to work!</remarks>
        /// <returns>Echo Show Video Directive, playing a single video.</returns>
        private Directive BuildEchoShowVideoAppResponse(string title, string subtitle, string url)
        {
            VideoAppLaunchDirective videoDirectiveTest = new VideoAppLaunchDirective();

            var videoItem = new VideoItem
            {
                Source = url,
                Metadata = new VideoItemMetadata
                {
                    Title = title,
                    Subtitle = subtitle
                }
            };

            videoDirectiveTest.VideoItem = videoItem;

            return videoDirectiveTest;
        }
    }
}

gha_language: C#

extension: cs


text:
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.IO;
using System.Xml;
using System.Xml.XPath;
using static Chessar.UnitTests.Utils;
using static Microsoft.VisualStudio.TestTools.UnitTesting.Assert;

namespace Chessar.UnitTests
{
    partial class XPathDocumentTests
    {
        [TestMethod]
        public void XPathDocument() => XPathDocumentCtor(false, false, false);

        [TestMethod]
        public void XPathDocument_UNC() => XPathDocumentCtor(false, false, true);

        [TestMethod]
        public void XPathDocument_WithSpaces() => XPathDocumentCtor(true, false, false);

        [TestMethod]
        public void XPathDocument_WithSpaces_UNC() => XPathDocumentCtor(true, false, true);

        [TestMethod]
        public void XPathDocument_WithLongPrefix() => XPathDocumentCtor(false, true, false);

        [TestMethod]
        public void XPathDocument_WithLongPrefix_UNC() => XPathDocumentCtor(false, true, true);

        private static void XPathDocumentCtor(in bool withSpaces, in bool withPrefix, in bool asNetwork)
        {
            var (path, pathWithPrefix) = CreateLongTempFile(asNetwork: in asNetwork);
            File.WriteAllText(pathWithPrefix, XmlContent, Utf8WithoutBom);
            var xmlFile = withPrefix ? pathWithPrefix : path;

            var xpd = withSpaces
                ? new XPathDocument(xmlFile, XmlSpace.Preserve)
                : new XPathDocument(xmlFile);

            var xpn = xpd.CreateNavigator();
            var node = xpn.SelectSingleNode("//Element");

            AreEqual(node?.InnerXml, "Value");
        }
    }
}

repository: chessar/LongPaths

repo_name: chessar/LongPaths


text:
package main

// #cgo CFLAGS: -I../cpp/include
// #cgo LDFLAGS: -L../cpp -lbridge
// #include <stdio.h>
// #include <stdlib.h>
// #include "bridge.h"
import "C"

import (
	"fmt"
	"unsafe"
)

type goClient struct {
	client C.WrapClient
}

// https://www.cntofu.com/book/73/ch2-cgo/readme.md

func NewGoClient() goClient {
	var ret goClient
	ret.client = C.WrapClientInit()
	return ret
}

func (g goClient) SendMessage(message string) string {
	msg := C.CString(message)
	defer C.free(unsafe.Pointer(msg))
	r := C.WrapClientSendMessage(unsafe.Pointer(g.client), msg)
	resp := C.GoString(r)
	fmt.Println(resp)
	return resp
}

// export LD_LIBRARY_PATH=../cpp
func main() {
	client := NewGoClient()
	client.SendMessage("hello")
}

repository: Peizhong/letsgo

repo_name: Peizhong/letsgo


text:
/*
Copyright 2021 The Crossplane Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// Code generated by ack-generate. DO NOT EDIT.

package secret

import (
	"github.com/aws/aws-sdk-go/aws/awserr"
	svcsdk "github.com/aws/aws-sdk-go/service/secretsmanager"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

	svcapitypes "github.com/crossplane-contrib/provider-aws/apis/secretsmanager/v1beta1"
)

// NOTE(muvaf): We return pointers in case the function needs to start with an
// empty object, hence need to return a new pointer.

// GenerateDescribeSecretInput returns input for read
// operation.
func GenerateDescribeSecretInput(cr *svcapitypes.Secret) *svcsdk.DescribeSecretInput {
	res := &svcsdk.DescribeSecretInput{}

	return res
}

// GenerateSecret returns the current state in the form of *svcapitypes.Secret.
func GenerateSecret(resp *svcsdk.DescribeSecretOutput) *svcapitypes.Secret {
	cr := &svcapitypes.Secret{}

	if resp.ARN != nil {
		cr.Status.AtProvider.ARN = resp.ARN
	} else {
		cr.Status.AtProvider.ARN = nil
	}
	if resp.Description != nil {
		cr.Spec.ForProvider.Description = resp.Description
	} else {
		cr.Spec.ForProvider.Description = nil
	}
	if resp.KmsKeyId != nil {
		cr.Spec.ForProvider.KMSKeyID = resp.KmsKeyId
	} else {
		cr.Spec.ForProvider.KMSKeyID = nil
	}
	if resp.ReplicationStatus != nil {
		f10 := []*svcapitypes.ReplicationStatusType{}
		for _, f10iter := range resp.ReplicationStatus {
			f10elem := &svcapitypes.ReplicationStatusType{}
			if f10iter.KmsKeyId != nil {
				f10elem.KMSKeyID = f10iter.KmsKeyId
			}
			if f10iter.LastAccessedDate != nil {
				f10elem.LastAccessedDate = &metav1.Time{*f10iter.LastAccessedDate}
			}
			if f10iter.Region != nil {
				f10elem.Region = f10iter.Region
			}
			if f10iter.Status != nil {
				f10elem.Status = f10iter.Status
			}
			if f10iter.StatusMessage != nil {
				f10elem.StatusMessage = f10iter.StatusMessage
			}
			f10 = append(f10, f10elem)
		}
		cr.Status.AtProvider.ReplicationStatus = f10
	} else {
		cr.Status.AtProvider.ReplicationStatus = nil
	}
	if resp.Tags != nil {
		f14 := []*svcapitypes.Tag{}
		for _, f14iter := range resp.Tags {
			f14elem := &svcapitypes.Tag{}
			if f14iter.Key != nil {
				f14elem.Key = f14iter.Key
			}
			if f14iter.Value != nil {
				f14elem.Value = f14iter.Value
			}
			f14 = append(f14, f14elem)
		}
		cr.Spec.ForProvider.Tags = f14
	} else {
		cr.Spec.ForProvider.Tags = nil
	}

	return cr
}

// GenerateCreateSecretInput returns a create input.
func GenerateCreateSecretInput(cr *svcapitypes.Secret) *svcsdk.CreateSecretInput {
	res := &svcsdk.CreateSecretInput{}

	if cr.Spec.ForProvider.AddReplicaRegions != nil {
		f0 := []*svcsdk.ReplicaRegionType{}
		for _, f0iter := range cr.Spec.ForProvider.AddReplicaRegions {
			f0elem := &svcsdk.ReplicaRegionType{}
			if f0iter.KMSKeyID != nil {
				f0elem.SetKmsKeyId(*f0iter.KMSKeyID)
			}
			if f0iter.Region != nil {
				f0elem.SetRegion(*f0iter.Region)
			}
			f0 = append(f0, f0elem)
		}
		res.SetAddReplicaRegions(f0)
	}
	if cr.Spec.ForProvider.Description != nil {
		res.SetDescription(*cr.Spec.ForProvider.Description)
	}
	if cr.Spec.ForProvider.ForceOverwriteReplicaSecret != nil {
		res.SetForceOverwriteReplicaSecret(*cr.Spec.ForProvider.ForceOverwriteReplicaSecret)
	}
	if cr.Spec.ForProvider.KMSKeyID != nil {
		res.SetKmsKeyId(*cr.Spec.ForProvider.KMSKeyID)
	}
	if cr.Spec.ForProvider.Tags != nil {
		f4 := []*svcsdk.Tag{}
		for _, f4iter := range cr.Spec.ForProvider.Tags {
			f4elem := &svcsdk.Tag{}
			if f4iter.Key != nil {
				f4elem.SetKey(*f4iter.Key)
			}
			if f4iter.Value != nil {
				f4elem.SetValue(*f4iter.Value)
			}
			f4 = append(f4, f4elem)
		}
		res.SetTags(f4)
	}

	return res
}

// GenerateUpdateSecretInput returns an update input.
func GenerateUpdateSecretInput(cr *svcapitypes.Secret) *svcsdk.UpdateSecretInput {
	res := &svcsdk.UpdateSecretInput{}

	if cr.Spec.ForProvider.Description != nil {
		res.SetDescription(*cr.Spec.ForProvider.Description)
	}
	if cr.Spec.ForProvider.KMSKeyID != nil {
		res.SetKmsKeyId(*cr.Spec.ForProvider.KMSKeyID)
	}

	return res
}

// GenerateDeleteSecretInput returns a deletion input.
func GenerateDeleteSecretInput(cr *svcapitypes.Secret) *svcsdk.DeleteSecretInput {
	res := &svcsdk.DeleteSecretInput{}

	return res
}

// IsNotFound returns whether the given error is of type NotFound or not.
func IsNotFound(err error) bool {
	awsErr, ok := err.(awserr.Error)
	return ok && awsErr.Code() == "ResourceNotFoundException"
}

repository: janwillies/stack-aws

repo_name: janwillies/stack-aws