text:
" y="3.099" dx="3.6" dy="2.2" layer="1"/>
<text x="-3.14" y="0.0508" size="1.27" layer="25">>NAME</text>
<text x="-3.14" y="-1.4208" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-1.6002" y1="1.8034" x2="1.6002" y2="3.6576" layer="51"/>
<rectangle x1="-0.4318" y1="-3.6576" x2="0.4318" y2="-1.8034" layer="51"/>
<rectangle x1="-2.7432" y1="-3.6576" x2="-1.8796" y2="-1.8034" layer="51"/>
<rectangle x1="1.8796" y1="-3.6576" x2="2.7432" y2="-1.8034" layer="51"/>
<rectangle x1="-1.6002" y1="1.8034" x2="1.6002" y2="3.6576" layer="51"/>
<rectangle x1="-0.4318" y1="-3.6576" x2="0.4318" y2="-1.8034" layer="51"/>
<rectangle x1="-2.7432" y1="-3.6576" x2="-1.8796" y2="-1.8034" layer="51"/>
<rectangle x1="1.8796" y1="-3.6576" x2="2.7432" y2="-1.8034" layer="51"/>
</package>
</packages>
</library>
<library name="SparkFun-Capacitors">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="0603-CAP">
<wire x1="-1.473" y1="0.983" x2="1.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="1.473" y1="0.983" x2="1.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="1.473" y1="-0.983" x2="-1.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-1.473" y1="-0.983" x2="-1.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="-0.356" y1="0.432" x2="0.356" y2="0.432" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.419" x2="0.356" y2="-0.419" width="0.1016" layer="51"/>
<wire x1="0" y1="0.0305" x2="0" y2="-0.0305" width="0.5588" layer="21"/>
<smd name="1" x="-0.85" y="0" dx="1.1" dy="1" layer="1"/>
<smd name="2" x="0.85" y="0" dx="1.1" dy="1" layer="1"/>
<text x="-0.889" y="0.762" size="0.4064" layer="25" font="vector">>NAME</text>
<text x="-1.016" y="-1.143" size="0.4064" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.8382" y1="-0.4699" x2="-0.3381" y2="0.4801" layer="51"/>
<rectangle x1="0.3302" y1="-0.4699" x2="0.8303" y2="0.4801" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
</package>
</packages>
</library>
<library name="SparkFun-DiscreteSemi">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find discrete semiconductors- transistors, diodes, TRIACs, optoisolators, etc.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="SOT323">
<wire x1="1.1224" y1="0.6604" x2="1.1224" y2="-0.6604" width="0.1524" layer="51"/>
<wire x1="1.1224" y1="-0.6604" x2="-1.1224" y2="-0.6604" width="0.1524" layer="51"/>
<wire x1="-1.1224" y1="-0.6604" x2="-1.1224" y2="0.6604" width="0.1524" layer="51"/>
<wire x1="-1.1224" y1="0.6604" x2="1.1224" y2="0.6604" width="0.1524" layer="51"/>
<wire x1="-0.8" y1="0.7" x2="-1.1" y2="0.7" width="0.2032" layer="21"/>
<wire x1="-1.1" y1="0.7" x2="-1.1" y2="-0.1" width="0.2032" layer="21"/>
<wire x1="0.8" y1="0.7" x2="1.1" y2="0.7" width="0.2032" layer="21"/>
<wire x1="1.1" y1="0.7" x2="1.1" y2="-0.1" width="0.2032" layer="21"/>
<smd name="1" x="-0.65" y="-0.925" dx="0.7" dy="0.7" layer="1"/>
<smd name="2" x="0.65" y="-0.925" dx="0.7" dy="0.7" layer="1"/>
<smd name="3" x="0" y="0.925" dx="0.7" dy="0.7" layer="1"/>
<text x="-1.1255" y="1.878" size="0.4064" layer="25">>NAME</text>
<text x="-1.116" y="1.3095" size="0.4064" layer="27">>VALUE</text>
</package>
</packages>
</library>
<library name="SparkFun-Passives">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="PAD-JUMPER-2-NC_BY_PASTE_YES_SILK">
<wire x1="0.8" y1="-1" x2="-0.8" y2="-1" width="0.2032" layer="21"/>
<wire x1="0.8" y1="1" x2="1" y2="0.7" width="0.2032" layer="21" curve="-90.076445"/>
<wire x1="-1" y1="0.7" x2="-0.8" y2="1" width="0.2032" layer="21" curve="-90.03821"/>
<wire x1="-1" y1="-0.7" x2="-0.8" y2="-1" width="0.2032" layer="21" curve="90.03821"/>
<wire x1="0.8" y1="-1" x2="1" y2="-0.7" width="0.2032" layer="21" curve="90.03821"/>
<wire x1="-0.8" y1="1" x2="0.8" y2="1" width="0.2032" layer="21"/>
<smd name="1" x="-0.4009" y="0" dx="0.635" dy="1.27" layer="1" rot="R180" cream="no"/>
<smd name="2" x="0.4127" y="0" dx="0.635" dy="1.27" layer="1" cream="no"/>
<text x="-0.9525" y="1.27" size="0.4064" layer="25">>NAME</text>
<text x="-0.9525" y="-1.651" size="0.4064" layer="27">>VALUE</text>
<rectangle x1="-1.016" y1="-1.016" x2="1.016" y2="1.016" layer="31"/>
</package>
</packages>
</library>
<library name="SparkFun-Aesthetics">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find non-functional items- supply symbols, logos, notations, frame blocks, etc.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="OSHW-LOGO-M">
<polygon width="0.0762" layer="21">
<vertex x="0.6578" y="-1.588" curve="9.499253"/>
<vertex x="0.9108" y="-1.4576"/>
<vertex x="1.5392" y="-1.97"/>
<vertex x="1.97" y="-1.5392"/>
<vertex x="1.4576" y="-0.9108" curve="19.001165"/>
<vertex x="1.6747" y="-0.3866"/>
<vertex x="2.4814" y="-0.3047"/>
<vertex x="2.4814" y="0.3047"/>
<vertex x="1.6747" y="0.3866" curve="19.001165"/>
<vertex x="1.4576" y="0.9108"/>
<vertex x="1.97" y="1.5392"/>
<vertex x="1.5392" y="1.97"/>
<vertex x="0.9108" y="1.4576" curve="19.001165"/>
<vertex x="0.3866" y="1.6747"/>
<vertex x="0.3047" y="2.4814"/>
<vertex x="-0.3047" y="2.4814"/>
<vertex x="-0.3866" y="1.6747" curve="19.001165"/>
<vertex x="-0.9108" y="1.4576"/>
<vertex x="-1.5392" y="1.97"/>
<vertex x="-1.97" y="1.5392"/>
<vertex x="-1.4576" y="0.9108" curve="19.001165"/>
<vertex x="-1.6747" y="0.3866"/>
<vertex x="-2.4814" y="0.3047"/>
<vertex x="-2.4814" y="-0.3047"/>
<vertex x="-1.6747" y="-0.3866" curve="19.001165"/>
<vertex x="-1.4576" y="-0.9108"/>
<vertex x="-1.97" y="-1.5392"/>
<vertex x="-1.5392" y="-1.97"/>
<vertex x="-0.9108" y="-1.4576" curve="9.499253"/>
<vertex x="-0.6578" y="-1.588"/>
<vertex x="-0.299" y="-0.7218" curve="-67.507353"/>
<vertex x="-0.7813" y="0" curve="-247.497552"/>
<vertex x="0.299" y="-0.7218"/>
</polygon>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules name="dirt_cheap_dirty_boards.v1">
<description language="en">Dirty Cheap Dirty Board Design Rules

Min width/Spacing: 5/5mil

Min diameter of finished hole 12mil</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.035mm 0.0175mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.0175mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 1.1mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="5mil"/>
<param name="mdWirePad" value="5mil"/>
<param name="mdWireVia" value="5mil"/>
<param name="mdPadPad" value="5mil"/>
<param name="mdPadVia" value="5mil"/>
<param name="mdViaVia" value="5mil"/>
<param name="mdSmdPad" value="0mil"/>
<param name="mdSmdVia" value="0mil"/>
<param name="mdSmdSmd" value="0mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="10mil"/>
<param name="mdDrill" value="10mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="5mil"/>
<param name="msDrill" value="12mil"/>
<param name="msMicroVia" value="12mil"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="10mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="10mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="10mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="6mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="6mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="0"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="2mil"/>
<param name="mlMaxStopFrame" value="2mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="25mil"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkGrid" value="0"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="0"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="50mil"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="|"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="-"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="cfExtdStep" value="10"/>
<param name="cfHugging" value="1"/>
<param name="mnExtdSteps" value="1"/>
<param name="mnRipupLevel" value="0"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
<param name="cfNonPref" value="0"/>
<param name="cfChangeDir" value="6"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="2"/>
<param name="cfMalusStep" value="2"/>
<param name="cfPadImpact" value="2"/>
<param name="cfSmdImpact" value="2"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
<param name="cfChangeDir" value="8"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
</pass>
<pass name="Optimize4" refer="Optimize3" active="yes">
<param name="cfChangeDir" value="25"/>
</pass>
</autorouter>
<elements>
<element name="X1" library="adafruit" package="ESP-12" value="" x="25.4" y="20.32" smashed="yes">
<attribute name="VALUE" x="29.9" y="8.32" size="1.4224" layer="27" font="vector" ratio="12" align="center"/>
</element>
<element name="JP1" library="SparkFun-Connectors" package="1X08_ROUND" value="" x="16.3482" y="1.928434375" smashed="yes">
<attribute name="VALUE" x="15.0782" y="-1.246565625" size="1.27" layer="27"/>
</element>
<element name="U2" library="Atmel_By_element14_Batch_1-00" package="SOIC127P600X175-8N" value="SPI flash" x="11.43" y="36.83" smashed="yes" rot="R270">
<attribute name="PACKAGE" value="SOIC-8" x="5.08" y="-2.54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_NEWARK" value="15R0303" x="5.08" y="-2.54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="MPN" value="AT25DF021-SSH-B" x="5.08" y="-2.54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="SUPPLIER" value="Atmel" x="5.08" y="-2.54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_FARNELL" value="1715438" x="5.08" y="-2.54" size="1.778" layer="27" rot="R270" display="off"/>
</element>
<element name="R1" library="resistor" package="R0603" value="4k7" x="33.02" y="36.83" smashed="yes" rot="R90">
<attribute name="VALUE" x="32.006353125" y="35.5656" size="1.27" layer="27" rot="R90"/>
</element>
<element name="R2" library="resistor" package="R0603" value="4k7" x="27.94" y="36.83" smashed="yes" rot="R90">
<attribute name="VALUE" x="26.90549375" y="35.565596875" size="1.27" layer="27" rot="R90"/>
</element>
<element name="R3" library="resistor" package="R0603" value="4k7" x="22.86" y="36.83" smashed="yes" rot="R90">
<attribute name="VALUE" x="21.8672125" y="35.294471875" size="1.27" layer="27" rot="R90"/>
</element>
<element name="R4" library="resistor" package="R0603" value="4k7" x="17.78" y="36.83" smashed="yes" rot="R90">
<attribute name="VALUE" x="16.74549375" y="35.357040625" size="1.27" layer="27" rot="R90"/>
</element>
<element name="R5" library="resistor" package="R0603" value="4k7" x="36.83" y="7.62" smashed="yes" rot="R180">
<attribute name="VALUE" x="37.719" y="9.652" size="1.27" layer="27" rot="R180"/>
</element>
<element name="S1" library="SparkFun-Electromechanical" package="TACTILE-SWITCH-1101NE" value="SWITCH-MOMENTARY-2SMD-1101NE" x="43.815" y="6.35" smashed="yes" rot="R45">
<attribute name="PROD_ID" value="SWCH-00815" x="96.798509375" y="-5.32433125" size="1.778" layer="27" rot="R45" display="off"/>
</element>
<element name="U1" library="ELL-i-PowerIC" package="SOT223" value="NCP1117" x="29.21" y="44.45" smashed="yes">
<attribute name="VALUE" x="26.07" y="43.0292" size="1.27" layer="27"/>
</element>
<element name="C1" library="SparkFun-Capacitors" package="0603-CAP" value="10uF" x="22.86" y="43.18" smashed="yes" rot="R90">
<attribute name="VALUE" x="24.003" y="42.164" size="0.4064" layer="27" font="vector" rot="R90"/>
</element>
<element name="C2" library="SparkFun-Capacitors" package="0603-CAP" value="10uF" x="13.97" y="7.62" smashed="yes" rot="R270">
<attribute name="VALUE" x="12.827" y="8.636" size="0.4064" layer="27" font="vector" rot="R270"/>
</element>
<element name="S2" library="SparkFun-Electromechanical" package="TACTILE-SWITCH-1101NE" value="SWITCH-MOMENTARY-2SMD-1101NE" x="6.35" y="6.35" smashed="yes" rot="R315">
<attribute name="PROD_ID" value="SWCH-00815" x="-9.81445625" y="-51.123628125" size="1.778" layer="27" rot="R315" display="off"/>
</element>
<element name="Q1" library="SparkFun-DiscreteSemi" package="SOT323" value="MOSFET-NCHANNEL2N7002PW" x="29.464" y="6.858" smashed="yes" rot="R270">
<attribute name="PROD_ID" value="TRANS-11151" x="-32.766" y="-14.732" size="1.778" layer="27" rot="R270" display="off"/>
</element>
<element name="R6" library="resistor" package="R0603" value="10k" x="25.4" y="6.858" smashed="yes" rot="R90">
<attribute name="VALUE" x="27.432" y="5.969" size="1.27" layer="27" rot="R90"/>
</element>
<element name="JP3" library="SparkFun-Connectors" package="1X08_ROUND" value="" x="10.16" y="12.7" smashed="yes" rot="R90">
<attribute name="VALUE" x="13.335" y="11.43" size="1.27" layer="27" rot="R90"/>
</element>
<element name="JP4" library="SparkFun-Connectors" package="1X08_ROUND" value="" x="13.97" y="12.7" smashed="yes" rot="R90">
<attribute name="VALUE" x="17.145" y="11.43" size="1.27" layer="27" rot="R90"/>
</element>
<element name="JP5" library="SparkFun-Connectors" package="1X08_ROUND" value="" x="36.83" y="12.7" smashed="yes" rot="R90">
<attribute name="VALUE" x="40.005" y="11.43" size="1.27" layer="27" rot="R90"/>
</element>
<element name="JP6" library="SparkFun-Connectors" package="1X08_ROUND" value="" x="40.64" y="12.7" smashed="yes" rot="R90">
<attribute name="VALUE" x="43.815" y="11.43" size="1.27" layer="27" rot="R90"/>
</element>
<element name="JP7" library="SparkFun-Connectors" package="FTDI_DEVICE_SIDE" value="FTDI_DEVICE" x="13.208" y="47.244" smashed="yes"/>
<element name="JP9" library="SparkFun-Connectors" package="POWER_JACK_SLOT" value="POWER_JACKSLT" x="44.45" y="52.07" smashed="yes" rot="R180">
<attribute name="PROD_ID" value="PRT-00119" x="44.45" y="52.07" size="1.778" layer="27" rot="R180" display="off"/>
</element>
<element name="SJ1" library="SparkFun-Passives" package="PAD-JUMPER-2-NC_BY_PASTE_YES_SILK" value="JUMPER-PAD-2-NC_BY_PASTE" x="21.336" y="6.858" smashed="yes" rot="R270"/>
<element name="SJ2" library="SparkFun-Passives" package="PAD-JUMPER-2-NC_BY_PASTE_YES_SILK" value="JUMPER-PAD-2-NC_BY_PASTE" x="2.286" y="41.91" smashed="yes" rot="R270"/>
<element name="U$1" library="SparkFun-Aesthetics" package="OSHW-LOGO-M" value="" x="4.064" y="36.83"/>
</elements>
<signals>
<signal name="RXI">
<contactref element="X1" pad="16"/>
<contactref element="JP5" pad="8"/>
<contactref element="JP6" pad="8"/>
<contactref element="JP7" pad="P$3"/>
<wire x1="36.83" y1="30.48" x2="40.64" y2="30.48" width="0.254" layer="1"/>
<wire x1="32.9" y1="24.82" x2="32.9" y2="25.28" width="0.254" layer="1"/>
<wire x1="32.9" y1="25.28" x2="34.29" y2="26.67" width="0.254" layer="1"/>
<wire x1="34.29" y1="26.67" x2="34.29" y2="27.94" width="0.254" layer="1"/>
<wire x1="34.29" y1="27.94" x2="36.83" y2="30.48" width="0.254" layer="1"/>
<wire x1="17.145" y1="45.085" x2="34.29" y2="45.085" width="0.254" layer="1"/>
<wire x1="34.29" y1="45.085" x2="34.925" y2="44.45" width="0.254" layer="1"/>
<via x="34.925" y="44.45" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="34.925" y1="44.45" x2="34.925" y2="31.115" width="0.254" layer="16"/>
<wire x1="34.925" y1="31.115" x2="35.56" y2="30.48" width="0.254" layer="16"/>
<wire x1="35.56" y1="30.48" x2="36.83" y2="30.48" width="0.254" layer="16"/>
<wire x1="17.145" y1="45.085" x2="12.827" y2="45.085" width="0.254" layer="1"/>
<wire x1="12.827" y1="45.085" x2="12.7" y2="44.958" width="0.254" layer="1"/>
<via x="12.7" y="44.958" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="12.7" y1="44.958" x2="12.192" y2="44.958" width="0.254" layer="16"/>
<wire x1="12.192" y1="44.958" x2="11.938" y2="45.212" width="0.254" layer="16"/>
<wire x1="11.938" y1="45.212" x2="11.938" y2="47.244" width="0.254" layer="16"/>
</signal>
<signal name="TXO">
<contactref element="X1" pad="15"/>
<contactref element="JP5" pad="7"/>
<contactref element="JP6" pad="7"/>
<contactref element="JP7" pad="P$2"/>
<wire x1="32.9" y1="22.82" x2="33.615" y2="22.82" width="0.254" layer="1"/>
<wire x1="33.615" y1="22.82" x2="34.29" y2="23.495" width="0.254" layer="1"/>
<wire x1="34.29" y1="23.495" x2="34.29" y2="24.13" width="0.254" layer="1"/>
<wire x1="34.29" y1="24.13" x2="34.925" y2="24.765" width="0.254" layer="1"/>
<wire x1="34.925" y1="24.765" x2="34.925" y2="26.035" width="0.254" layer="1"/>
<wire x1="34.925" y1="26.035" x2="36.83" y2="27.94" width="0.254" layer="1"/>
<wire x1="36.83" y1="27.94" x2="37.465" y2="27.94" width="0.254" layer="1"/>
<wire x1="37.465" y1="27.94" x2="40.64" y2="27.94" width="0.254" layer="1"/>
<wire x1="18.415" y1="45.72" x2="38.1" y2="45.72" width="0.254" layer="1"/>
<wire x1="38.1" y1="45.72" x2="38.735" y2="45.085" width="0.254" layer="1"/>
<via x="38.735" y="45.085" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="38.735" y1="45.085" x2="38.735" y2="29.21" width="0.254" layer="16"/>
<wire x1="38.735" y1="29.21" x2="38.1" y2="28.575" width="0.254" layer="16"/>
<wire x1="38.1" y1="28.575" x2="37.465" y2="27.94" width="0.254" layer="16"/>
<wire x1="37.465" y1="27.94" x2="36.83" y2="27.94" width="0.254" layer="16"/>
<wire x1="18.415" y1="45.72" x2="10.922" y2="45.72" width="0.254" layer="1"/>
<wire x1="10.922" y1="45.72" x2="9.398" y2="47.244" width="0.254" layer="1"/>
</signal>
<signal name="GPIO0/SCL">
<contactref element="X1" pad="12"/>
<contactref element="S1" pad="1"/>
<contactref element="R2" pad="1"/>
<contactref element="JP1" pad="8"/>
<contactref element="JP6" pad="4"/>
<contactref element="JP5" pad="4"/>
<wire x1="32.9" y1="16.82" x2="33.33" y2="16.82" width="0.254" layer="1"/>
<wire x1="33.33" y1="16.82" x2="36.83" y2="20.32" width="0.254" layer="1"/>
<wire x1="36.83" y1="20.32" x2="40.64" y2="20.32" width="0.254" layer="1"/>
<wire x1="34.1282" y1="1.928434375" x2="34.1282" y2="2.0668" width="0.254" layer="16"/>
<wire x1="34.1282" y1="2.0668" x2="32.385" y2="3.81" width="0.254" layer="16"/>
<wire x1="32.385" y1="3.81" x2="32.385" y2="8.89" width="0.254" layer="16"/>
<via x="32.385" y="8.89" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="32.385" y1="8.89" x2="30.48" y2="10.795" width="0.254" layer="1"/>
<wire x1="30.48" y1="10.795" x2="29.845" y2="11.43" width="0.254" layer="1"/>
<via x="29.845" y="11.43" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="29.845" y1="11.43" x2="29.845" y2="15.24" width="0.254" layer="16"/>
<via x="29.845" y="15.24" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="29.845" y1="15.24" x2="29.845" y2="15.875" width="0.254" layer="1"/>
<wire x1="29.845" y1="15.875" x2="30.48" y2="16.51" width="0.254" layer="1"/>
<wire x1="30.48" y1="16.51" x2="32.59" y2="16.51" width="0.254" layer="1"/>
<wire x1="32.59" y1="16.51" x2="32.9" y2="16.82" width="0.254" layer="1"/>
<wire x1="41.5876125" y1="4.1226125" x2="41.5876125" y2="3.4876125" width="0.254" layer="1"/>
<wire x1="41.5876125" y1="3.4876125" x2="40.005" y2="1.905" width="0.254" layer="1"/>
<wire x1="40.005" y1="1.905" x2="34.151634375" y2="1.905" width="0.254" layer="1"/>
<wire x1="34.151634375" y1="1.905" x2="34.1282" y2="1.928434375" width="0.254" layer="1"/>
<wire x1="36.83" y1="20.32" x2="34.29" y2="22.86" width="0.254" layer="16"/>
<wire x1="34.29" y1="22.86" x2="33.655" y2="23.495" width="0.254" layer="16"/>
<wire x1="33.655" y1="23.495" x2="33.655" y2="33.655" width="0.254" layer="16"/>
<wire x1="33.655" y1="33.655" x2="33.02" y2="34.29" width="0.254" layer="16"/>
<wire x1="33.02" y1="34.29" x2="26.67" y2="34.29" width="0.254" layer="16"/>
<wire x1="26.67" y1="34.29" x2="26.035" y2="34.29" width="0.254" layer="16"/>
<wire x1="26.035" y1="34.29" x2="25.4" y2="34.925" width="0.254" layer="16"/>
<wire x1="25.4" y1="34.925" x2="25.4" y2="35.56" width="0.254" layer="16"/>
<wire x1="25.4" y1="35.56" x2="25.4" y2="36.195" width="0.254" layer="16"/>
<via x="25.4" y="36.195" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="25.4" y1="36.195" x2="27.725" y2="36.195" width="0.254" layer="1"/>
<wire x1="27.725" y1="36.195" x2="27.94" y2="35.98" width="0.254" layer="1"/>
</signal>
<signal name="GPIO2/SDA">
<contactref element="X1" pad="11"/>
<contactref element="R3" pad="1"/>
<contactref element="JP1" pad="7"/>
<contactref element="JP6" pad="3"/>
<contactref element="JP5" pad="3"/>
<wire x1="32.9" y1="14.82" x2="33.87" y2="14.82" width="0.254" layer="1"/>
<wire x1="33.87" y1="14.82" x2="36.83" y2="17.78" width="0.254" layer="1"/>
<wire x1="36.83" y1="17.78" x2="40.64" y2="17.78" width="0.254" layer="1"/>
<wire x1="31.5882" y1="1.928434375" x2="31.5882" y2="9.6868" width="0.254" layer="16"/>
<wire x1="31.5882" y1="9.6868" x2="31.115" y2="10.16" width="0.254" layer="16"/>
<wire x1="31.115" y1="10.16" x2="31.115" y2="13.97" width="0.254" layer="16"/>
<via x="31.115" y="13.97" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="31.115" y1="13.97" x2="31.75" y2="14.605" width="0.254" layer="1"/>
<wire x1="31.75" y1="14.605" x2="32.685" y2="14.605" width="0.254" layer="1"/>
<wire x1="32.685" y1="14.605" x2="32.9" y2="14.82" width="0.254" layer="1"/>
<wire x1="36.83" y1="17.78" x2="33.02" y2="21.59" width="0.254" layer="16"/>
<wire x1="33.02" y1="21.59" x2="33.02" y2="33.02" width="0.254" layer="16"/>
<wire x1="33.02" y1="33.02" x2="32.385" y2="33.655" width="0.254" layer="16"/>
<wire x1="32.385" y1="33.655" x2="20.955" y2="33.655" width="0.254" layer="16"/>
<wire x1="20.955" y1="33.655" x2="20.32" y2="34.29" width="0.254" layer="16"/>
<wire x1="20.32" y1="34.29" x2="20.32" y2="36.195" width="0.254" layer="16"/>
<via x="20.32" y="36.195" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="20.32" y1="36.195" x2="22.645" y2="36.195" width="0.254" layer="1"/>
<wire x1="22.645" y1="36.195" x2="22.86" y2="35.98" width="0.254" layer="1"/>
</signal>
<signal name="GPIO13/MOSI">
<contactref element="X1" pad="7"/>
<contactref element="JP1" pad="2"/>
<contactref element="U2" pad="5"/>
<contactref element="JP3" pad="2"/>
<contactref element="JP4" pad="2"/>
<wire x1="17.9" y1="12.82" x2="17.025" y2="12.82" width="0.254" layer="1"/>
<wire x1="17.025" y1="12.82" x2="14.605" y2="15.24" width="0.254" layer="1"/>
<wire x1="14.605" y1="15.24" x2="13.97" y2="15.24" width="0.254" layer="1"/>
<wire x1="13.97" y1="15.24" x2="10.16" y2="15.24" width="0.254" layer="1"/>
<wire x1="10.16" y1="15.24" x2="8.89" y2="15.24" width="0.254" layer="1"/>
<wire x1="8.89" y1="15.24" x2="8.255" y2="15.875" width="0.254" layer="1"/>
<wire x1="8.255" y1="15.875" x2="8.255" y2="19.685" width="0.254" layer="1"/>
<wire x1="8.255" y1="19.685" x2="7.62" y2="20.32" width="0.254" layer="1"/>
<wire x1="7.62" y1="20.32" x2="7.62" y2="31.75" width="0.254" layer="1"/>
<wire x1="7.62" y1="31.75" x2="8.255" y2="32.385" width="0.254" layer="1"/>
<wire x1="8.255" y1="32.385" x2="9.525" y2="33.655" width="0.254" layer="1"/>
<wire x1="9.525" y1="33.655" x2="9.525" y2="34.3662" width="0.254" layer="1"/>
<wire x1="17.9" y1="12.82" x2="19.565" y2="12.82" width="0.254" layer="1"/>
<wire x1="19.565" y1="12.82" x2="19.685" y2="12.7" width="0.254" layer="1"/>
<via x="19.685" y="12.7" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="19.685" y1="12.7" x2="20.32" y2="12.065" width="0.254" layer="16"/>
<wire x1="20.32" y1="12.065" x2="20.32" y2="10.16" width="0.254" layer="16"/>
<wire x1="20.32" y1="10.16" x2="19.05" y2="8.89" width="0.254" layer="16"/>
<wire x1="19.05" y1="8.89" x2="19.05" y2="2.090234375" width="0.254" layer="16"/>
<wire x1="19.05" y1="2.090234375" x2="18.8882" y2="1.928434375" width="0.254" layer="16"/>
</signal>
<signal name="GPIO12/MISO">
<contactref element="X1" pad="6"/>
<contactref element="JP1" pad="3"/>
<contactref element="U2" pad="2"/>
<contactref element="JP3" pad="3"/>
<contactref element="JP4" pad="3"/>
<wire x1="17.9" y1="14.82" x2="16.93" y2="14.82" width="0.254" layer="1"/>
<wire x1="16.93" y1="14.82" x2="13.97" y2="17.78" width="0.254" layer="1"/>
<wire x1="13.97" y1="17.78" x2="10.16" y2="17.78" width="0.254" layer="1"/>
<wire x1="12.065" y1="39.2938" x2="12.065" y2="36.83" width="0.254" layer="1"/>
<via x="12.065" y="36.83" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="12.065" y1="36.83" x2="12.065" y2="19.05" width="0.254" layer="16"/>
<wire x1="12.065" y1="19.05" x2="10.795" y2="17.78" width="0.254" layer="16"/>
<wire x1="10.795" y1="17.78" x2="10.16" y2="17.78" width="0.254" layer="16"/>
<wire x1="17.9" y1="14.82" x2="18.835" y2="14.82" width="0.254" layer="1"/>
<wire x1="18.835" y1="14.82" x2="20.955" y2="12.7" width="0.254" layer="1"/>
<via x="20.955" y="12.7" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="20.955" y1="12.7" x2="20.955" y2="9.525" width="0.254" layer="16"/>
<wire x1="20.955" y1="9.525" x2="19.685" y2="8.255" width="0.254" layer="16"/>
<wire x1="19.685" y1="8.255" x2="19.685" y2="3.81" width="0.254" layer="16"/>
<wire x1="19.685" y1="3.81" x2="20.32" y2="3.175" width="0.254" layer="16"/>
<wire x1="20.32" y1="3.175" x2="20.32" y2="3.036634375" width="0.254" layer="16"/>
<wire x1="20.32" y1="3.036634375" x2="21.4282" y2="1.928434375" width="0.254" layer="16"/>
</signal>
<signal name="GPIO14/SCK">
<contactref element="X1" pad="5"/>
<contactref element="JP1" pad="4"/>
<contactref element="U2" pad="6"/>
<contactref element="JP3" pad="4"/>
<contactref element="JP4" pad="4"/>
<wire x1="17.9" y1="16.82" x2="17.47" y2="16.82" width="0.254" layer="1"/>
<wire x1="17.47" y1="16.82" x2="13.97" y2="20.32" width="0.254" layer="1"/>
<wire x1="10.16" y1="20.32" x2="13.97" y2="20.32" width="0.254" layer="1"/>
<wire x1="10.16" y1="20.32" x2="8.89" y2="20.32" width="0.254" layer="1"/>
<wire x1="8.89" y1="20.32" x2="8.255" y2="20.955" width="0.254" layer="1"/>
<wire x1="8.255" y1="20.955" x2="8.255" y2="31.115" width="0.254" layer="1"/>
<wire x1="8.255" y1="31.115" x2="9.525" y2="32.385" width="0.254" layer="1"/>
<wire x1="9.525" y1="32.385" x2="10.795" y2="33.655" width="0.254" layer="1"/>
<wire x1="10.795" y1="33.655" x2="10.795" y2="34.3662" width="0.254" layer="1"/>
<wire x1="17.9" y1="16.82" x2="23.82" y2="16.82" width="0.254" layer="1"/>
<wire x1="23.82" y1="16.82" x2="24.13" y2="16.51" width="0.254" layer="1"/>
<via x="24.13" y="16.51" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="24.13" y1="16.51" x2="24.13" y2="2.090234375" width="0.254" layer="16"/>
<wire x1="24.13" y1="2.090234375" x2="23.9682" y2="1.928434375" width="0.254" layer="16"/>
</signal>
<signal name="GPIO16">
<contactref element="X1" pad="4"/>
<contactref element="JP3" pad="5"/>
<contactref element="JP4" pad="5"/>
<wire x1="17.9" y1="18.82" x2="17.375" y2="18.82" width="0.254" layer="1"/>
<wire x1="17.375" y1="18.82" x2="16.51" y2="19.685" width="0.254" layer="1"/>
<wire x1="16.51" y1="19.685" x2="15.875" y2="20.32" width="0.254" layer="1"/>
<wire x1="15.875" y1="20.32" x2="15.875" y2="20.955" width="0.254" layer="1"/>
<wire x1="15.875" y1="20.955" x2="13.97" y2="22.86" width="0.254" layer="1"/>
<wire x1="13.97" y1="22.86" x2="10.16" y2="22.86" width="0.254" layer="1"/>
</signal>
<signal name="CH_PD">
<contactref element="X1" pad="3"/>
<contactref element="R4" pad="1"/>
<contactref element="JP3" pad="6"/>
<contactref element="JP4" pad="6"/>
<wire x1="17.9" y1="20.82" x2="17.9" y2="20.835" width="0.254" layer="1"/>
<wire x1="17.9" y1="20.835" x2="17.78" y2="20.955" width="0.254" layer="1"/>
<wire x1="17.78" y1="20.955" x2="17.145" y2="20.955" width="0.254" layer="1"/>
<wire x1="17.145" y1="20.955" x2="15.875" y2="22.225" width="0.254" layer="1"/>
<wire x1="15.875" y1="22.225" x2="15.875" y2="23.495" width="0.254" layer="1"/>
<wire x1="15.875" y1="23.495" x2="13.97" y2="25.4" width="0.254" layer="1"/>
<wire x1="13.97" y1="25.4" x2="10.16" y2="25.4" width="0.254" layer="1"/>
<wire x1="17.78" y1="35.98" x2="17.36" y2="35.98" width="0.254" layer="1"/>
<wire x1="17.36" y1="35.98" x2="17.018" y2="36.322" width="0.254" layer="1"/>
<wire x1="17.018" y1="36.322" x2="14.986" y2="36.322" width="0.254" layer="1"/>
<wire x1="14.986" y1="36.322" x2="14.732" y2="36.068" width="0.254" layer="1"/>
<via x="14.732" y="36.068" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="14.732" y1="36.068" x2="14.732" y2="35.052" width="0.254" layer="16"/>
<wire x1="14.732" y1="35.052" x2="14.478" y2="34.798" width="0.254" layer="16"/>
<wire x1="14.478" y1="34.798" x2="14.478" y2="32.766" width="0.254" layer="16"/>
<wire x1="14.478" y1="32.766" x2="15.494" y2="31.75" width="0.254" layer="16"/>
<wire x1="15.494" y1="31.75" x2="15.494" y2="26.924" width="0.254" layer="16"/>
<wire x1="15.494" y1="26.924" x2="13.97" y2="25.4" width="0.254" layer="16"/>
</signal>
<signal name="ADC">
<contactref element="X1" pad="2"/>
<contactref element="JP3" pad="7"/>
<contactref element="JP4" pad="7"/>
<wire x1="17.9" y1="22.82" x2="17.185" y2="22.82" width="0.254" layer="1"/>
<wire x1="17.185" y1="22.82" x2="16.51" y2="23.495" width="0.254" layer="1"/>
<wire x1="16.51" y1="23.495" x2="16.51" y2="24.13" width="0.254" layer="1"/>
<wire x1="16.51" y1="24.13" x2="15.875" y2="24.765" width="0.254" layer="1"/>
<wire x1="15.875" y1="24.765" x2="15.875" y2="26.035" width="0.254" layer="1"/>
<wire x1="15.875" y1="26.035" x2="13.97" y2="27.94" width="0.254" layer="1"/>
<wire x1="13.97" y1="27.94" x2="10.16" y2="27.94" width="0.254" layer="1"/>
</signal>
<signal name="RST">
<contactref element="X1" pad="1"/>
<contactref element="R1" pad="1"/>
<contactref element="S2" pad="1"/>
<contactref element="JP3" pad="8"/>
<contactref element="JP4" pad="8"/>
<contactref element="SJ2" pad="2"/>
<wire x1="13.97" y1="30.48" x2="10.16" y2="30.48" width="0.254" layer="1"/>
<wire x1="17.9" y1="24.82" x2="17.9" y2="25.28" width="0.254" layer="1"/>
<wire x1="17.9" y1="25.28" x2="16.51" y2="26.67" width="0.254" layer="1"/>
<wire x1="16.51" y1="26.67" x2="16.51" y2="27.305" width="0.254" layer="1"/>
<wire x1="16.51" y1="27.305" x2="16.51" y2="27.94" width="0.254" layer="1"/>
<wire x1="16.51" y1="27.94" x2="13.97" y2="30.48" width="0.254" layer="1"/>
<wire x1="16.51" y1="27.94" x2="16.51" y2="33.655" width="0.254" layer="1"/>
<wire x1="16.51" y1="33.655" x2="17.145" y2="34.29" width="0.254" layer="1"/>
<wire x1="17.145" y1="34.29" x2="32.385" y2="34.29" width="0.254" layer="1"/>
<wire x1="32.385" y1="34.29" x2="33.02" y2="34.925" width="0.254" layer="1"/>
<wire x1="33.02" y1="34.925" x2="33.02" y2="35.98" width="0.254" layer="1"/>
<wire x1="6.604" y1="31.496" x2="6.604" y2="31.242" width="0.254" layer="16"/>
<wire x1="6.604" y1="31.242" x2="7.366" y2="30.48" width="0.254" layer="16"/>
<wire x1="7.366" y1="30.48" x2="10.16" y2="30.48" width="0.254" layer="16"/>
<wire x1="4.1226125" y1="8.577384375" x2="4.1226125" y2="29.0146125" width="0.254" layer="1"/>
<wire x1="4.1226125" y1="29.0146125" x2="5.334" y2="30.226" width="0.254" layer="1"/>
<via x="5.334" y="30.226" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="5.334" y1="30.226" x2="6.604" y2="31.496" width="0.254" layer="16"/>
<wire x1="6.604" y1="31.496" x2="6.604" y2="33.02" width="0.254" layer="16"/>
<via x="6.604" y="33.02" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="6.604" y1="33.02" x2="6.604" y2="38.608" width="0.254" layer="1"/>
<wire x1="6.604" y1="38.608" x2="5.588" y2="39.624" width="0.254" layer="1"/>
<wire x1="5.588" y1="39.624" x2="3.048" y2="39.624" width="0.254" layer="1"/>
<wire x1="3.048" y1="39.624" x2="2.286" y2="40.386" width="0.254" layer="1"/>
<wire x1="2.286" y1="40.386" x2="2.286" y2="41.4973" width="0.254" layer="1"/>
</signal>
<signal name="VCC">
<contactref element="R1" pad="2"/>
<contactref element="R2" pad="2"/>
<contactref element="R3" pad="2"/>
<contactref element="R4" pad="2"/>
<contactref element="X1" pad="8"/>
<contactref element="U2" pad="8"/>
<contactref element="U2" pad="3"/>
<contactref element="U2" pad="7"/>
<contactref element="U1" pad="2"/>
<contactref element="C2" pad="1"/>
<contactref element="JP1" pad="6"/>
<contactref element="JP3" pad="1"/>
<contactref element="JP4" pad="1"/>
<wire x1="29.21" y1="41.3512" x2="29.21" y2="39.37" width="0.6096" layer="1"/>
<wire x1="29.21" y1="39.37" x2="27.94" y2="38.1" width="0.6096" layer="1"/>
<wire x1="27.94" y1="38.1" x2="27.94" y2="37.68" width="0.6096" layer="1"/>
<wire x1="33.02" y1="37.68" x2="27.94" y2="37.68" width="0.6096" layer="1"/>
<wire x1="17.78" y1="37.68" x2="22.86" y2="37.68" width="0.6096" layer="1"/>
<wire x1="22.86" y1="37.68" x2="27.94" y2="37.68" width="0.6096" layer="1"/>
<wire x1="13.97" y1="12.7" x2="13.97" y2="8.47" width="0.6096" layer="1"/>
<wire x1="10.16" y1="12.7" x2="13.97" y2="12.7" width="0.6096" layer="1"/>
<wire x1="17.9" y1="10.82" x2="17.12" y2="10.82" width="0.6096" layer="1"/>
<wire x1="17.12" y1="10.82" x2="15.24" y2="12.7" width="0.6096" layer="1"/>
<wire x1="15.24" y1="12.7" x2="13.97" y2="12.7" width="0.6096" layer="1"/>
<wire x1="13.335" y1="34.3662" x2="12.065" y2="34.3662" width="0.4064" layer="1"/>
<wire x1="12.065" y1="34.3662" x2="12.065" y2="34.925" width="0.254" layer="1"/>
<wire x1="12.065" y1="34.925" x2="10.795" y2="36.195" width="0.254" layer="1"/>
<wire x1="10.795" y1="36.195" x2="10.795" y2="39.2938" width="0.254" layer="1"/>
<wire x1="17.78" y1="37.68" x2="16.725" y2="37.68" width="0.6096" layer="1"/>
<wire x1="16.725" y1="37.68" x2="16.51" y2="37.465" width="0.6096" layer="1"/>
<via x="16.51" y="37.465" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="16.51" y1="37.465" x2="16.51" y2="34.29" width="0.6096" layer="16"/>
<wire x1="16.51" y1="34.29" x2="16.51" y2="13.335" width="0.6096" layer="16"/>
<wire x1="16.51" y1="13.335" x2="15.875" y2="12.7" width="0.6096" layer="16"/>
<wire x1="15.875" y1="12.7" x2="13.97" y2="12.7" width="0.6096" layer="16"/>
<wire x1="13.335" y1="34.3662" x2="13.335" y2="33.655" width="0.4064" layer="1"/>
<wire x1="13.335" y1="33.655" x2="15.24" y2="33.655" width="0.4064" layer="1"/>
<via x="15.24" y="33.655" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="15.24" y1="33.655" x2="15.875" y2="33.655" width="0.4064" layer="16"/>
<wire x1="15.875" y1="33.655" x2="16.51" y2="34.29" width="0.4064" layer="16"/>
<wire x1="29.0482" y1="1.928434375" x2="29.0482" y2="3.4638" width="0.6096" layer="16"/>
<wire x1="29.0482" y1="3.4638" x2="27.305" y2="5.207" width="0.6096" layer="16"/>
<wire x1="27.305" y1="5.207" x2="27.305" y2="11.049" width="0.6096" layer="16"/>
<wire x1="27.305" y1="11.049" x2="26.797" y2="11.557" width="0.6096" layer="16"/>
<via x="26.797" y="11.557" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="26.797" y1="11.557" x2="25.654" y2="11.557" width="0.6096" layer="1"/>
<wire x1="25.654" y1="11.557" x2="24.892" y2="10.795" width="0.6096" layer="1"/>
<wire x1="24.892" y1="10.795" x2="17.925" y2="10.795" width="0.6096" layer="1"/>
<wire x1="17.925" y1="10.795" x2="17.9" y2="10.82" width="0.6096" layer="1"/>
</signal>
<signal name="GND">
<contactref element="R5" pad="2"/>
<contactref element="S1" pad="2"/>
<contactref element="S2" pad="2"/>
<contactref element="X1" pad="9"/>
<contactref element="U2" pad="4"/>
<contactref element="C2" pad="2"/>
<contactref element="C1" pad="2"/>
<contactref element="Q1" pad="2"/>
<contactref element="R6" pad="1"/>
<contactref element="JP6" pad="1"/>
<contactref element="JP5" pad="1"/>
<contactref element="JP7" pad="P$6"/>
<contactref element="SJ1" pad="1"/>
<contactref element="JP9" pad="GND@2"/>
<contactref element="JP9" pad="GND@1"/>
<wire x1="32.9" y1="10.82" x2="33.68" y2="10.82" width="0.254" layer="1"/>
<wire x1="33.68" y1="10.82" x2="35.56" y2="12.7" width="0.254" layer="1"/>
<wire x1="35.56" y1="12.7" x2="36.83" y2="12.7" width="0.254" layer="1"/>
<wire x1="36.83" y1="12.7" x2="40.64" y2="12.7" width="0.254" layer="1"/>
<wire x1="33.68" y1="10.82" x2="34.9" y2="10.82" width="0.254" layer="1"/>
<wire x1="34.9" y1="10.82" x2="35.56" y2="10.16" width="0.254" layer="1"/>
<wire x1="35.56" y1="10.16" x2="35.56" y2="8.04" width="0.254" layer="1"/>
<wire x1="35.56" y1="8.04" x2="35.98" y2="7.62" width="0.254" layer="1"/>
<polygon width="0.3048" layer="1" rank="6">
<vertex x="0" y="48.038"/>
<vertex x="0" y="2" curve="90"/>
<vertex x="2" y="0"/>
<vertex x="48.038" y="0" curve="90"/>
<vertex x="50.038" y="2"/>
<vertex x="50.038" y="48.038" curve="90"/>
<vertex x="48.038" y="50.038"/>
<vertex x="2" y="50.038" curve="90"/>
</polygon>
<polygon width="0.3048" layer="16" rank="6">
<vertex x="0" y="48.038"/>
<vertex x="0" y="2" curve="90"/>
<vertex x="2" y="0"/>
<vertex x="48.038" y="0" curve="90"/>
<vertex x="50.038" y="2"/>
<vertex x="50.038" y="48.038" curve="90"/>
<vertex x="48.038" y="50.038"/>
<vertex x="2" y="50.038" curve="90"/>
</polygon>
<via x="12.446" y="1.016" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="42.926" y="32.766" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="12.446" y="2.54" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="13.97" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="15.748" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="17.78" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="12.446" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.1" y="2.794" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="33.528" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="35.052" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="44.45" y="32.766" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="36.576" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.1" y="4.064" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.1" y="1.016" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="14.732" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="16.002" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="25.527" y="13.97" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="17.526" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="30.48" y="17.653" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="18.542" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="20.066" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="21.59" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="23.114" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.32" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="12.192" y="16.51" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="12.192" y="13.97" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="21.717" y="14.097" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="22.987" y="14.097" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="41.402" y="32.766" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="27.178" y="13.97" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="25.146" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="39.878" y="32.766" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="30.48" y="20.066" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="30.48" y="21.59" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="30.48" y="23.114" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="30.48" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="19.05" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="20.574" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="28.956" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="21.844" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="23.622" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="23.368" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="25.4" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="27.432" y="24.638" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="22.098" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="8.128" y="39.878" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="8.128" y="33.782" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="16.002" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="8.128" y="38.354" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="8.128" y="36.83" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="8.128" y="35.306" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.608" y="26.67" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.608" y="24.13" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.608" y="21.59" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.608" y="19.05" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="38.608" y="16.51" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="26.67" y="39.37" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="13.081" y="32.512" extent="1-16" drill="0.3048" diameter="0.254"/>
</signal>
<signal name="GPIO4/FLASH_CS">
<contactref element="X1" pad="14"/>
<contactref element="JP6" pad="6"/>
<contactref element="JP5" pad="6"/>
<contactref element="U2" pad="1"/>
<wire x1="32.9" y1="20.82" x2="33.52" y2="20.82" width="0.254" layer="1"/>
<wire x1="33.52" y1="20.82" x2="34.925" y2="22.225" width="0.254" layer="1"/>
<wire x1="34.925" y1="22.225" x2="34.925" y2="23.495" width="0.254" layer="1"/>
<wire x1="34.925" y1="23.495" x2="36.83" y2="25.4" width="0.254" layer="1"/>
<wire x1="36.83" y1="25.4" x2="40.64" y2="25.4" width="0.254" layer="1"/>
<wire x1="13.335" y1="39.2938" x2="13.335" y2="36.195" width="0.254" layer="1"/>
<wire x1="13.335" y1="36.195" x2="14.605" y2="34.925" width="0.254" layer="1"/>
<wire x1="14.605" y1="34.925" x2="30.48" y2="34.925" width="0.254" layer="1"/>
<via x="30.48" y="34.925" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="30.48" y1="34.925" x2="33.655" y2="34.925" width="0.254" layer="16"/>
<wire x1="33.655" y1="34.925" x2="34.29" y2="34.29" width="0.254" layer="16"/>
<wire x1="34.29" y1="34.29" x2="34.29" y2="27.94" width="0.254" layer="16"/>
<wire x1="34.29" y1="27.94" x2="36.83" y2="25.4" width="0.254" layer="16"/>
</signal>
<signal name="CAM_VCC_EN">
<contactref element="Q1" pad="1"/>
<contactref element="X1" pad="13"/>
<contactref element="R6" pad="2"/>
<contactref element="JP6" pad="5"/>
<contactref element="JP5" pad="5"/>
<wire x1="32.9" y1="18.82" x2="33.425" y2="18.82" width="0.254" layer="1"/>
<wire x1="33.425" y1="18.82" x2="34.925" y2="20.32" width="0.254" layer="1"/>
<wire x1="34.925" y1="20.32" x2="34.925" y2="20.955" width="0.254" layer="1"/>
<wire x1="34.925" y1="20.955" x2="36.83" y2="22.86" width="0.254" layer="1"/>
<wire x1="36.83" y1="22.86" x2="40.64" y2="22.86" width="0.254" layer="1"/>
<wire x1="25.4" y1="7.708" x2="28.339" y2="7.708" width="0.254" layer="1"/>
<wire x1="28.339" y1="7.708" x2="28.539" y2="7.508" width="0.254" layer="1"/>
<wire x1="32.9" y1="18.82" x2="29.488" y2="18.82" width="0.254" layer="1"/>
<wire x1="29.488" y1="18.82" x2="28.575" y2="17.907" width="0.254" layer="1"/>
<via x="28.575" y="17.907" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="28.575" y1="17.907" x2="28.575" y2="9.271" width="0.254" layer="16"/>
<wire x1="28.575" y1="9.271" x2="29.591" y2="8.255" width="0.254" layer="16"/>
<via x="29.591" y="8.255" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="29.591" y1="8.255" x2="29.591" y2="7.747" width="0.254" layer="1"/>
<wire x1="29.591" y1="7.747" x2="29.337" y2="7.493" width="0.254" layer="1"/>
<wire x1="29.337" y1="7.493" x2="28.554" y2="7.493" width="0.254" layer="1"/>
<wire x1="28.554" y1="7.493" x2="28.539" y2="7.508" width="0.254" layer="1"/>
</signal>
<signal name="GPIO15/CAM_CS">
<contactref element="X1" pad="10"/>
<contactref element="R5" pad="1"/>
<contactref element="JP6" pad="2"/>
<contactref element="JP5" pad="2"/>
<contactref element="JP1" pad="1"/>
<wire x1="32.9" y1="12.82" x2="33.775" y2="12.82" width="0.254" layer="1"/>
<wire x1="33.775" y1="12.82" x2="36.195" y2="15.24" width="0.254" layer="1"/>
<wire x1="36.195" y1="15.24" x2="36.83" y2="15.24" width="0.254" layer="1"/>
<wire x1="36.83" y1="15.24" x2="40.64" y2="15.24" width="0.254" layer="1"/>
<wire x1="32.9" y1="12.82" x2="22.345" y2="12.82" width="0.254" layer="1"/>
<wire x1="22.345" y1="12.82" x2="22.225" y2="12.7" width="0.254" layer="1"/>
<via x="22.225" y="12.7" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="22.225" y1="12.7" x2="21.59" y2="12.065" width="0.254" layer="16"/>
<wire x1="21.59" y1="12.065" x2="21.59" y2="8.89" width="0.254" layer="16"/>
<wire x1="21.59" y1="8.89" x2="20.955" y2="8.255" width="0.254" layer="16"/>
<via x="20.955" y="8.255" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="20.955" y1="8.255" x2="17.145" y2="8.255" width="0.254" layer="1"/>
<wire x1="17.145" y1="8.255" x2="16.51" y2="7.62" width="0.254" layer="1"/>
<via x="16.51" y="7.62" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="16.51" y1="7.62" x2="16.51" y2="2.090234375" width="0.254" layer="16"/>
<wire x1="16.51" y1="2.090234375" x2="16.3482" y2="1.928434375" width="0.254" layer="16"/>
<wire x1="37.68" y1="7.62" x2="38.1" y2="7.62" width="0.254" layer="1"/>
<wire x1="38.1" y1="7.62" x2="38.735" y2="8.255" width="0.254" layer="1"/>
<via x="38.735" y="8.255" extent="1-16" drill="0.3048" diameter="0.254"/>
<wire x1="38.735" y1="8.255" x2="38.735" y2="13.97" width="0.254" layer="16"/>
<wire x1="38.735" y1="13.97" x2="37.465" y2="15.24" width="0.254" layer="16"/>
<wire x1="37.465" y1="15.24" x2="36.83" y2="15.24" width="0.254" layer="16"/>
</signal>
<signal name="VIN">
<contactref element="U1" pad="3"/>
<contactref element="JP9" pad="PWR"/>
<wire x1="41.87" y1="38.27" x2="35.39" y2="38.27" width="0.6096" layer="1"/>
<wire x1="35.39" y1="38.27" x2="34.29" y2="39.37" width="0.6096" layer="1"/>
<wire x1="34.29" y1="39.37" x2="31.75" y2="41.91" width="0.6096" layer="1"/>
<wire x1="31.75" y1="41.91" x2="31.75" y2="41.5798" width="0.6096" layer="1"/>
<wire x1="31.75" y1="41.5798" x2="31.5214" y2="41.3512" width="0.6096" layer="1"/>
</signal>
<signal name="N$11">
<contactref element="U1" pad="1"/>
<contactref element="C1" pad="1"/>
<wire x1="26.8986" y1="41.3512" x2="23.8388" y2="41.3512" width="0.6096" layer="1"/>
<wire x1="23.8388" y1="41.3512" x2="22.86" y2="42.33" width="0.6096" layer="1"/>
</signal>
<signal name="CAM_VDD">
<contactref element="JP1" pad="5"/>
<contactref element="Q1" pad="3"/>
<contactref element="SJ1" pad="2"/>
<wire x1="26.5082" y1="1.928434375" x2="26.820434375" y2="1.928434375" width="0.254" layer="1"/>
<wire x1="26.820434375" y1="1.928434375" x2="30.48" y2="5.588" width="0.254" layer="1"/>
<wire x1="30.48" y1="5.588" x2="30.48" y2="6.767" width="0.254" layer="1"/>
<wire x1="30.48" y1="6.767" x2="30.389" y2="6.858" width="0.254" layer="1"/>
<wire x1="26.5082" y1="1.928434375" x2="25.852865625" y2="1.928434375" width="0.254" layer="1"/>
<wire x1="25.852865625" y1="1.928434375" x2="21.336" y2="6.4453" width="0.254" layer="1"/>
</signal>
<signal name="DTR">
<contactref element="SJ2" pad="1"/>
<contactref element="JP7" pad="P$1"/>
<wire x1="2.286" y1="42.3109" x2="2.286" y2="42.672" width="0.254" layer="1"/>
<wire x1="2.286" y1="42.672" x2="6.858" y2="47.244" width="0.254" layer="1"/>
</signal>
<signal name="TAB">
<contactref element="U1" pad="4"/>
<via x="24.384" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="24.384" y="47.244" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="25.654" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="25.654" y="47.244" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="32.766" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="32.766" y="47.244" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="34.036" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="34.036" y="47.244" extent="1-16" drill="0.3048" diameter="0.254"/>
<polygon width="0.254" layer="1" isolate="0.3048" thermals="no">
<vertex x="23.622" y="49.784"/>
<vertex x="35.052" y="49.784"/>
<vertex x="35.052" y="46.228"/>
<vertex x="23.622" y="46.228"/>
</polygon>
<via x="31.496" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="31.496" y="47.244" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="26.924" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="26.924" y="47.244" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="28.448" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<via x="29.972" y="48.768" extent="1-16" drill="0.3048" diameter="0.254"/>
<polygon width="0.254" layer="16" isolate="0.3048" thermals="no">
<vertex x="23.622" y="49.784"/>
<vertex x="35.052" y="49.784"/>
<vertex x="35.052" y="46.228"/>
<vertex x="23.622" y="46.228"/>
</polygon>
</signal>
</signals>
</board>
</drawing>
<compatibility>
<note version="6.3" minversion="6.2.2" severity="warning">
Since Version 6.2.2 text objects can contain more than one line,
which will not be processed correctly with this version.
</note>
</compatibility>
</eagle>

license: MIT

license_type: permissive

branch_name: refs/heads/master

gha_license_id: MIT

extension: brd


text:
DESCRIPTION = "A collection of programs and scripts to be used for stereo playback"
HOMEPAGE = "http://frankl.luebecknet.de/frankl/stereoutils/index.html"
SECTION = "devel/libs"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"

SRCREV = "${AUTOREV}"
PV = "0.7+git${SRCPV}"

SRC_URI = "git://github.com/10ne1/frankl_stereo"

S = "${WORKDIR}/git"

DEPENDS += "alsa-lib libsndfile1 libsoxr"

RDEPENDS_${PN} += "libsoxr"

TARGET_CC_ARCH += "${LDFLAGS}"

do_compile() {
    oe_runmake REFRESH=VFP
}

do_install() {
    install -d ${D}${bindir}
    install -m 0755 ${S}/bin/* ${D}${bindir}
}

extension: bb


text:
package caipiao

import (
	"net/url"

	"github.com/bububa/opentaobao/model"
)

// TaobaoCaipiaoGoodsInfoInputAPIRequest 录入参加送彩票商品信息 API请求
// taobao.caipiao.goods.info.input
//
// 录入参加送彩票商品信息，如果录入成功，返回true，如果录入失败，返回false，后端会根据商品id与赠送类型（goodsid_presenttype_uk）来决定是新增数据还是修改数据。
type TaobaoCaipiaoGoodsInfoInputAPIRequest struct {
	model.Params
	// 商品标题
	_goodsTitle string
	// 商品主图地址
	_goodsImage string
	// 活动开始时间，格式需严格遵守yyyy-MM-dd HH:mm:ss，不可为空
	_actStartDate string
	// 活动结束时间，格式需严格遵守yyyy-MM-dd HH:mm:ss，不可为空
	_actEndDate string
	// 店铺相关商品参加的送彩票活动描述
	_goodsDesc string
	// 商品在淘宝的唯一id，不可为空
	_goodsId int64
	// 商品价格,保留两位小数，不可为空
	_goodsPrice float64
	// 赠送类型：0-满就送；1-好评送；2-分享送；3-游戏送；4-收藏送，不可为空
	_presentType int64
	// 商品类目编号，不可为空
	_goodsType int64
	// 彩种id,不可为空
	_lotteryTypeId int64
}

// NewTaobaoCaipiaoGoodsInfoInputRequest 初始化TaobaoCaipiaoGoodsInfoInputAPIRequest对象
func NewTaobaoCaipiaoGoodsInfoInputRequest() *TaobaoCaipiaoGoodsInfoInputAPIRequest {
	return &TaobaoCaipiaoGoodsInfoInputAPIRequest{
		Params: model.NewParams(),
	}
}

// GetApiMethodName IRequest interface 方法, 获取Api method
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetApiMethodName() string {
	return "taobao.caipiao.goods.info.input"
}

// GetApiParams IRequest interface 方法, 获取API参数
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetApiParams(params url.Values) {
	for k, v := range r.Params {
		params.Set(k, v.String())
	}
}

// GetRawParams IRequest interface 方法, 获取API原始参数
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetRawParams() model.Params {
	return r.Params
}

// SetGoodsTitle is GoodsTitle Setter
// 商品标题
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetGoodsTitle(_goodsTitle string) error {
	r._goodsTitle = _goodsTitle
	r.Set("goods_title", _goodsTitle)
	return nil
}

// GetGoodsTitle GoodsTitle Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetGoodsTitle() string {
	return r._goodsTitle
}

// SetGoodsImage is GoodsImage Setter
// 商品主图地址
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetGoodsImage(_goodsImage string) error {
	r._goodsImage = _goodsImage
	r.Set("goods_image", _goodsImage)
	return nil
}

// GetGoodsImage GoodsImage Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetGoodsImage() string {
	return r._goodsImage
}

// SetActStartDate is ActStartDate Setter
// 活动开始时间，格式需严格遵守yyyy-MM-dd HH:mm:ss，不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetActStartDate(_actStartDate string) error {
	r._actStartDate = _actStartDate
	r.Set("act_start_date", _actStartDate)
	return nil
}

// GetActStartDate ActStartDate Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetActStartDate() string {
	return r._actStartDate
}

// SetActEndDate is ActEndDate Setter
// 活动结束时间，格式需严格遵守yyyy-MM-dd HH:mm:ss，不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetActEndDate(_actEndDate string) error {
	r._actEndDate = _actEndDate
	r.Set("act_end_date", _actEndDate)
	return nil
}

// GetActEndDate ActEndDate Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetActEndDate() string {
	return r._actEndDate
}

// SetGoodsDesc is GoodsDesc Setter
// 店铺相关商品参加的送彩票活动描述
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetGoodsDesc(_goodsDesc string) error {
	r._goodsDesc = _goodsDesc
	r.Set("goods_desc", _goodsDesc)
	return nil
}

// GetGoodsDesc GoodsDesc Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetGoodsDesc() string {
	return r._goodsDesc
}

// SetGoodsId is GoodsId Setter
// 商品在淘宝的唯一id，不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetGoodsId(_goodsId int64) error {
	r._goodsId = _goodsId
	r.Set("goods_id", _goodsId)
	return nil
}

// GetGoodsId GoodsId Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetGoodsId() int64 {
	return r._goodsId
}

// SetGoodsPrice is GoodsPrice Setter
// 商品价格,保留两位小数，不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetGoodsPrice(_goodsPrice float64) error {
	r._goodsPrice = _goodsPrice
	r.Set("goods_price", _goodsPrice)
	return nil
}

// GetGoodsPrice GoodsPrice Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetGoodsPrice() float64 {
	return r._goodsPrice
}

// SetPresentType is PresentType Setter
// 赠送类型：0-满就送；1-好评送；2-分享送；3-游戏送；4-收藏送，不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetPresentType(_presentType int64) error {
	r._presentType = _presentType
	r.Set("present_type", _presentType)
	return nil
}

// GetPresentType PresentType Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetPresentType() int64 {
	return r._presentType
}

// SetGoodsType is GoodsType Setter
// 商品类目编号，不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetGoodsType(_goodsType int64) error {
	r._goodsType = _goodsType
	r.Set("goods_type", _goodsType)
	return nil
}

// GetGoodsType GoodsType Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetGoodsType() int64 {
	return r._goodsType
}

// SetLotteryTypeId is LotteryTypeId Setter
// 彩种id,不可为空
func (r *TaobaoCaipiaoGoodsInfoInputAPIRequest) SetLotteryTypeId(_lotteryTypeId int64) error {
	r._lotteryTypeId = _lotteryTypeId
	r.Set("lottery_type_id", _lotteryTypeId)
	return nil
}

// GetLotteryTypeId LotteryTypeId Getter
func (r TaobaoCaipiaoGoodsInfoInputAPIRequest) GetLotteryTypeId() int64 {
	return r._lotteryTypeId
}

repository: bububa/opentaobao

repo_name: bububa/opentaobao

branch_name: refs/heads/main

gha_language: Go

extension: go


text:
SUMMARY = "CPURTT drive Module"
LICENSE = "GPLv2 & MIT"
LIC_FILES_CHKSUM = " \
    file://${S}/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
    file://${S}/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
"

inherit module

RENESAS_CPURTTDRV_URL ?= "git://github.com/renesas-rcar/cpurttdrv3.git;protocol=https"
SRCREV = "df25612bf6ff6f2f5fc78ef490362df211c32169"

SRC_URI = "${RENESAS_CPURTTDRV_URL};nobranch=1"

S = "${WORKDIR}/git"

PR = "r0"
PV = "0.1"

libmoduledir = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/"

do_install () {
    install -d ${D}${libmoduledir}
    install -d ${D}${includedir}/kernel-module-cpurttdrv3/v4h
    install -m 644 ${S}/v4h/cpurttmod3_v4h.ko ${D}${libmoduledir}
    install -m 644 ${S}/v4h/Module.symvers ${D}${includedir}/kernel-module-cpurttdrv3/v4h

    install -d ${D}${prefix}/local/include/cpurttmod3_v4h
    install -m 644 ${S}/v4h/cpurtt_common.h ${D}${prefix}/local/include/cpurttmod3_v4h
}

FILES_${PN}-dev = " \
    ${includedir}/kernel-module-cpurttdrv3 \
    ${prefix}/local/include/cpurttmod3_v4h \
"

KERNEL_MODULE_PROBECONF += "cpurttmod3_v4h"
module_conf_cpurttmod3_v4h = "blacklist cpurttmod3_v4h"

repository: renesas-rcar/meta-renesas

repo_name: renesas-rcar/meta-renesas

branch_name: refs/heads/dunfell

gha_language: BitBake


text:
DESCRIPTION = "Illume theme for the freesmartphone.org project"
HOMEPAGE = "http://illume.projects.openmoko.org/"
LICENSE = "MIT/BSD"
DEPENDS = "edje-native eet-native"
SRCREV = "b1b0f6adc59e6f72a3929771058e3750bf181bc5"
PV = "0.1.0+gitr${SRCPV}"
PE = "1"
PR = "r0"

SRC_URI = "${FREESMARTPHONE_GIT}/artwork.git;protocol=git;branch=master"
S = "${WORKDIR}/git/illume"

do_compile() {
   cd illume && ./build.sh && cd ..
   cd illume_init && ./build.sh && cd ..
   cd illume-config
   eet -e e.cfg config e.src 1
   eet -e module.battery.cfg config module.battery.src 1
   eet -e module.illume.cfg config module.illume.src 1
}

do_install() {
    install -d ${D}${sysconfdir}/enlightenment
    install -d ${D}${datadir}/enlightenment/data/themes/
    install -d ${D}${datadir}/enlightenment/data/init/
    install -d ${D}${datadir}/enlightenment/data/config/fso/

    # Make fso the default profile
    echo 'E_PROFILE="-profile fso"' > ${D}${sysconfdir}/enlightenment/default_profile

    install -m 0644 ${S}/illume/fso.edj ${D}${datadir}/enlightenment/data/themes/
    install -m 0644 ${S}/illume_init/fso_init.edj ${D}${datadir}/enlightenment/data/init/

    install -m 0644 ${S}/illume-config/e.cfg ${D}${datadir}/enlightenment/data/config/fso/
    install -m 0644 ${S}/illume-config/module.battery.cfg ${D}${datadir}/enlightenment/data/config/fso/
    install -m 0644 ${S}/illume-config/module.illume.cfg ${D}${datadir}/enlightenment/data/config/fso/
}

RPROVIDES_${PN} = "illume-theme"
CONFFILES_${PN} = "${sysconfdir}/enlightenment/default_profile"
FILES_${PN} = "${sysconfdir}/enlightenment ${datadir}/enlightenment"

PACKAGE_ARCH_${PN} = "all"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
package command

import (
	"das-frama/dudes-bot/pkg/bot"
	"unicode"
)

// MemeResponse is a struct for response for https://meme-api.herokuapp.com/gimme
type MemeResponse struct {
	PostLink  string
	Subreddit string
	Title     string
	URL       string
	Nsfw      bool
	Spoiler   bool
}

func inChats(chats []*bot.Chat, id int) bool {
	for _, chat := range chats {
		if chat.ID == id {
			return true
		}
	}
	return false
}

func isMention(entities []bot.MessageEntity) bool {
	for _, entity := range entities {
		if entity.Type == "mention" {
			return true
		}
	}

	return false
}

// UcFirst make first letter uppercase.
func UcFirst(str string) string {
	for _, v := range str {
		u := string(unicode.ToUpper(v))
		return u + str[len(u):]
	}

	return ""
}

repository: das-frama/dudes-bot

repo_name: das-frama/dudes-bot