text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.6.2">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="2" name="Route2" color="16" fill="1" visible="no" active="no"/>
<layer number="3" name="Route3" color="17" fill="1" visible="no" active="no"/>
<layer number="4" name="Route4" color="18" fill="1" visible="no" active="no"/>
<layer number="5" name="Route5" color="19" fill="1" visible="no" active="no"/>
<layer number="6" name="Route6" color="25" fill="1" visible="no" active="no"/>
<layer number="7" name="Route7" color="26" fill="1" visible="no" active="no"/>
<layer number="8" name="Route8" color="27" fill="1" visible="no" active="no"/>
<layer number="9" name="Route9" color="28" fill="1" visible="no" active="no"/>
<layer number="10" name="Route10" color="29" fill="1" visible="no" active="no"/>
<layer number="11" name="Route11" color="30" fill="1" visible="no" active="no"/>
<layer number="12" name="Route12" color="20" fill="1" visible="no" active="no"/>
<layer number="13" name="Route13" color="21" fill="1" visible="no" active="no"/>
<layer number="14" name="Route14" color="22" fill="1" visible="no" active="no"/>
<layer number="15" name="Route15" color="23" fill="1" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="24" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="61" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="47" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="57" name="tCAD" color="7" fill="1" visible="no" active="no"/>
<layer number="59" name="tCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="60" name="bCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
<layer number="99" name="SpiceOrder" color="7" fill="1" visible="no" active="no"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
<layer number="108" name="tplace-old" color="10" fill="1" visible="yes" active="yes"/>
<layer number="109" name="ref-old" color="11" fill="1" visible="yes" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="yes" active="yes"/>
<layer number="111" name="LPC17xx" color="7" fill="1" visible="yes" active="yes"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="113" name="IDFDebug" color="4" fill="1" visible="yes" active="yes"/>
<layer number="114" name="Badge_Outline" color="7" fill="1" visible="yes" active="yes"/>
<layer number="115" name="ReferenceISLANDS" color="7" fill="1" visible="yes" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
<layer number="117" name="PM_Ref" color="7" fill="1" visible="no" active="no"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="yes" active="yes"/>
<layer number="119" name="PF_Ref" color="7" fill="1" visible="no" active="no"/>
<layer number="120" name="WFL_Ref" color="7" fill="1" visible="no" active="no"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="129" name="Mask" color="7" fill="1" visible="yes" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="yes" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="153" name="FabDoc1" color="7" fill="1" visible="yes" active="yes"/>
<layer number="154" name="FabDoc2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="155" name="FabDoc3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="yes" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="225" name="225bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="231" name="231bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="248" name="Housing" color="7" fill="1" visible="yes" active="yes"/>
<layer number="249" name="Edge" color="7" fill="1" visible="yes" active="yes"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="yes" active="yes"/>
<layer number="255" name="routoute" color="7" fill="1" visible="yes" active="yes"/>
</layers>
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
<libraries>
<library name="TMF_Frames">
<packages>
</packages>
<symbols>
<symbol name="LETTER_LANDSCAPE">
<frame x1="0" y1="0" x2="254" y2="190.5" columns="12" rows="17" layer="94" border-left="no" border-top="no" border-right="no" border-bottom="no"/>
</symbol>
<symbol name="DOCFIELD">
<wire x1="0" y1="0" x2="71.12" y2="0" width="0.254" layer="94"/>
<wire x1="101.6" y1="15.24" x2="87.63" y2="15.24" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="0" y2="5.08" width="0.254" layer="94"/>
<wire x1="0" y1="5.08" x2="71.12" y2="5.08" width="0.254" layer="94"/>
<wire x1="0" y1="5.08" x2="0" y2="15.24" width="0.254" layer="94"/>
<wire x1="101.6" y1="15.24" x2="101.6" y2="5.08" width="0.254" layer="94"/>
<wire x1="71.12" y1="5.08" x2="71.12" y2="0" width="0.254" layer="94"/>
<wire x1="71.12" y1="5.08" x2="87.63" y2="5.08" width="0.254" layer="94"/>
<wire x1="71.12" y1="0" x2="101.6" y2="0" width="0.254" layer="94"/>
<wire x1="87.63" y1="15.24" x2="87.63" y2="5.08" width="0.254" layer="94"/>
<wire x1="87.63" y1="15.24" x2="0" y2="15.24" width="0.254" layer="94"/>
<wire x1="87.63" y1="5.08" x2="101.6" y2="5.08" width="0.254" layer="94"/>
<wire x1="101.6" y1="5.08" x2="101.6" y2="0" width="0.254" layer="94"/>
<wire x1="0" y1="15.24" x2="0" y2="22.86" width="0.254" layer="94"/>
<wire x1="0" y1="22.86" x2="101.6" y2="22.86" width="0.254" layer="94"/>
<wire x1="101.6" y1="22.86" x2="101.6" y2="15.24" width="0.254" layer="94"/>
<text x="1.27" y="1.27" size="2.54" layer="94">Date:</text>
<text x="12.7" y="1.27" size="2.54" layer="94">>LAST_DATE_TIME</text>
<text x="72.39" y="1.27" size="2.54" layer="94">Sheet:</text>
<text x="86.36" y="1.27" size="2.54" layer="94">>SHEET</text>
<text x="88.9" y="11.43" size="2.54" layer="94">REV:</text>
<text x="1.524" y="17.78" size="2.54" layer="94">TITLE:</text>
<text x="15.24" y="17.78" size="2.54" layer="94">>DRAWING_NAME</text>
<text x="1.27" y="11.43" size="2.54" layer="94">Design by:</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="LETTER_LANDSCAPE" prefix="FRAME" uservalue="yes">
<gates>
<gate name="G$1" symbol="LETTER_LANDSCAPE" x="0" y="0"/>
<gate name="G$2" symbol="DOCFIELD" x="152.4" y="0" addlevel="must"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="TMF_Discretes">
<packages>
<package name="SOT23">
<description><B>SOT23<\B></description>
<wire x1="-2.5" y1="2.5" x2="2.5" y2="2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="-2.5" x2="-2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="-2.5" y1="-2.5" x2="-2.5" y2="2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="2.5" x2="2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="1.45" y1="0.65" x2="1.45" y2="-0.65" width="0.127" layer="51"/>
<wire x1="1.45" y1="-0.65" x2="-1.45" y2="-0.65" width="0.127" layer="51"/>
<wire x1="-1.45" y1="-0.65" x2="-1.45" y2="0.65" width="0.127" layer="51"/>
<wire x1="-1.45" y1="0.65" x2="1.45" y2="0.65" width="0.127" layer="51"/>
<smd name="3" x="0" y="1" dx="0.8" dy="0.9" layer="1"/>
<smd name="2" x="0.95" y="-1" dx="0.8" dy="0.9" layer="1"/>
<smd name="1" x="-0.95" y="-1" dx="0.8" dy="0.9" layer="1"/>
<text x="-1" y="2" size="1.27" layer="25" font="vector" ratio="10">>NAME</text>
<text x="-3" y="-3.25" size="1.27" layer="27" font="vector" ratio="10">>VALUE</text>
<rectangle x1="-0.2" y1="0.65" x2="0.2" y2="1.2" layer="51"/>
<rectangle x1="0.75" y1="-1.2" x2="1.15" y2="-0.65" layer="51"/>
<rectangle x1="-1.15" y1="-1.2" x2="-0.75" y2="-0.65" layer="51"/>
<wire x1="-1.7" y1="0.9" x2="-0.7" y2="0.9" width="0.127" layer="21"/>
<wire x1="0.7" y1="0.9" x2="1.7" y2="0.9" width="0.127" layer="21"/>
<wire x1="-1.7" y1="-0.3" x2="-1.7" y2="0.9" width="0.127" layer="21"/>
<wire x1="1.7" y1="0.9" x2="1.7" y2="-0.3" width="0.127" layer="21"/>
</package>
<package name="SOT23-6">
<description><B>SOT23-6<\b><P>

Also known as SOT26 & SC-74</description>
<wire x1="1.5" y1="-0.8" x2="-1.5" y2="-0.8" width="0.127" layer="51"/>
<wire x1="-1.8" y1="-0.8" x2="-1.8" y2="0.8" width="0.127" layer="21"/>
<wire x1="-1.5" y1="0.8" x2="1.5" y2="0.8" width="0.127" layer="51"/>
<wire x1="1.8" y1="0.8" x2="1.8" y2="-0.8" width="0.127" layer="21"/>
<circle x="-1.7" y="-1.3" radius="0.0635" width="0.127" layer="21"/>
<smd name="1" x="-0.95" y="-1.15" dx="0.6" dy="0.9" layer="1"/>
<smd name="2" x="0" y="-1.15" dx="0.6" dy="0.9" layer="1"/>
<smd name="3" x="0.95" y="-1.15" dx="0.6" dy="0.9" layer="1"/>
<smd name="4" x="0.95" y="1.15" dx="0.6" dy="0.9" layer="1"/>
<smd name="5" x="0" y="1.15" dx="0.6" dy="0.9" layer="1"/>
<smd name="6" x="-0.95" y="1.15" dx="0.6" dy="0.9" layer="1"/>
<text x="-3" y="-3.5" size="1.27" layer="27" font="vector" ratio="10">>VALUE</text>
<text x="-1" y="2" size="1.27" layer="25" font="vector" ratio="10">>NAME</text>
<rectangle x1="-1.14" y1="-1.4" x2="-0.76" y2="-0.8" layer="51"/>
<rectangle x1="-0.19" y1="-1.4" x2="0.19" y2="-0.8" layer="51"/>
<rectangle x1="0.76" y1="-1.4" x2="1.14" y2="-0.8" layer="51"/>
<rectangle x1="0.76" y1="0.8" x2="1.14" y2="1.4" layer="51"/>
<rectangle x1="-0.19" y1="0.8" x2="0.19" y2="1.4" layer="51"/>
<rectangle x1="-1.14" y1="0.8" x2="-0.76" y2="1.4" layer="51"/>
<wire x1="1.5" y1="0.8" x2="1.5" y2="-0.8" width="0.127" layer="51"/>
<wire x1="-1.5" y1="-0.8" x2="-1.5" y2="0.8" width="0.127" layer="51"/>
<wire x1="-2.5" y1="2.5" x2="2.5" y2="2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="2.5" x2="2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="-2.5" x2="-2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="-2.5" y1="-2.5" x2="-2.5" y2="2.5" width="0.127" layer="39"/>
<circle x="-1.1" y="-0.4" radius="0.0635" width="0.127" layer="51"/>
</package>
<package name="SOT323">
<wire x1="-1.905" y1="1.905" x2="1.905" y2="1.905" width="0.127" layer="39"/>
<wire x1="1.905" y1="-1.905" x2="-1.905" y2="-1.905" width="0.127" layer="39"/>
<wire x1="-1.905" y1="-1.905" x2="-1.905" y2="1.905" width="0.127" layer="39"/>
<wire x1="1.905" y1="1.905" x2="1.905" y2="-1.905" width="0.127" layer="39"/>
<wire x1="1.075" y1="0.65" x2="1.075" y2="-0.65" width="0.127" layer="51"/>
<wire x1="1.075" y1="-0.65" x2="-1.075" y2="-0.65" width="0.127" layer="51"/>
<wire x1="-1.075" y1="-0.65" x2="-1.075" y2="0.65" width="0.127" layer="51"/>
<wire x1="-1.075" y1="0.65" x2="1.075" y2="0.65" width="0.127" layer="51"/>
<smd name="3" x="0" y="0.95" dx="0.7" dy="0.9" layer="1"/>
<smd name="2" x="0.65" y="-0.95" dx="0.7" dy="0.9" layer="1"/>
<smd name="1" x="-0.65" y="-0.95" dx="0.7" dy="0.9" layer="1"/>
<text x="2.54" y="0" size="1.27" layer="25" font="vector" ratio="10" align="center-left">>NAME</text>
<text x="2.54" y="-1.905" size="1.27" layer="27" font="vector" ratio="10" align="center-left">>VALUE</text>
<rectangle x1="-0.15" y1="0.65" x2="0.15" y2="1.05" layer="51"/>
<rectangle x1="0.5" y1="-1.05" x2="0.8" y2="-0.65" layer="51"/>
<rectangle x1="-0.8" y1="-1.05" x2="-0.5" y2="-0.65" layer="51"/>
<wire x1="-1.325" y1="0.9" x2="-0.7" y2="0.9" width="0.127" layer="21"/>
<wire x1="0.7" y1="0.9" x2="1.325" y2="0.9" width="0.127" layer="21"/>
<wire x1="-1.325" y1="-0.3" x2="-1.325" y2="0.9" width="0.127" layer="21"/>
<wire x1="1.325" y1="0.9" x2="1.325" y2="-0.3" width="0.127" layer="21"/>
</package>
<package name="SON_Q3">
<wire x1="1.65" y1="-1.65" x2="-1.65" y2="-1.65" width="0.127" layer="51"/>
<wire x1="-1.65" y1="1.65" x2="1.65" y2="1.65" width="0.127" layer="51"/>
<circle x="-2.05" y="-2.05" radius="0.0635" width="0.127" layer="21"/>
<smd name="1" x="-0.975" y="-1.435" dx="0.5" dy="0.63" layer="1" stop="no" thermals="no" cream="no"/>
<text x="2.54" y="-2.54" size="1.27" layer="27" font="vector" ratio="10" align="center-left">>VALUE</text>
<text x="2.54" y="0" size="1.27" layer="25" font="vector" ratio="10" align="center-left">>NAME</text>
<wire x1="1.65" y1="1.65" x2="1.65" y2="-1.65" width="0.127" layer="51"/>
<wire x1="-1.65" y1="-1.65" x2="-1.65" y2="1.65" width="0.127" layer="51"/>
<wire x1="-2.5" y1="2.5" x2="2.5" y2="2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="2.5" x2="2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="-2.5" x2="-2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="-2.5" y1="-2.5" x2="-2.5" y2="2.5" width="0.127" layer="39"/>
<circle x="-1.25" y="-1.25" radius="0.0635" width="0.127" layer="51"/>
<rectangle x1="-1.145" y1="-1.66" x2="-0.805" y2="-1.21" layer="31"/>
<rectangle x1="-1.145" y1="-0.46" x2="-0.125" y2="0.985" layer="31"/>
<rectangle x1="0.125" y1="-0.46" x2="1.145" y2="0.985" layer="31"/>
<smd name="5-8" x="0" y="0.4" dx="2.15" dy="1.6" layer="1" stop="no" thermals="no" cream="no"/>
<polygon width="0.02" layer="1">
<vertex x="-1.215" y="1.74"/>
<vertex x="-0.735" y="1.74"/>
<vertex x="-0.735" y="1.33"/>
<vertex x="-0.565" y="1.33"/>
<vertex x="-0.565" y="1.74"/>
<vertex x="-0.085" y="1.74"/>
<vertex x="-0.085" y="1.33"/>
<vertex x="0.085" y="1.33"/>
<vertex x="0.085" y="1.74"/>
<vertex x="0.565" y="1.74"/>
<vertex x="0.565" y="1.33"/>
<vertex x="0.735" y="1.33"/>
<vertex x="0.735" y="1.74"/>
<vertex x="1.215" y="1.74"/>
<vertex x="1.215" y="-0.55"/>
<vertex x="-1.215" y="-0.55"/>
</polygon>
<smd name="2" x="-0.325" y="-1.435" dx="0.5" dy="0.63" layer="1" stop="no" thermals="no" cream="no"/>
<smd name="3" x="0.325" y="-1.435" dx="0.5" dy="0.63" layer="1" stop="no" thermals="no" cream="no"/>
<smd name="4" x="0.975" y="-1.435" dx="0.5" dy="0.63" layer="1" stop="no" thermals="no" cream="no"/>
<rectangle x1="-0.495" y1="-1.66" x2="-0.155" y2="-1.21" layer="31"/>
<rectangle x1="0.155" y1="-1.66" x2="0.495" y2="-1.21" layer="31"/>
<rectangle x1="0.805" y1="-1.66" x2="1.145" y2="-1.21" layer="31"/>
<rectangle x1="0.805" y1="1.21" x2="1.145" y2="1.66" layer="31" rot="R180"/>
<rectangle x1="0.155" y1="1.21" x2="0.495" y2="1.66" layer="31" rot="R180"/>
<rectangle x1="-0.495" y1="1.21" x2="-0.155" y2="1.66" layer="31" rot="R180"/>
<rectangle x1="-1.145" y1="1.21" x2="-0.805" y2="1.66" layer="31" rot="R180"/>
<rectangle x1="-1.145" y1="-1.66" x2="-0.805" y2="-1.21" layer="29"/>
<rectangle x1="-0.495" y1="-1.66" x2="-0.155" y2="-1.21" layer="29"/>
<rectangle x1="0.155" y1="-1.66" x2="0.495" y2="-1.21" layer="29"/>
<rectangle x1="0.805" y1="-1.66" x2="1.145" y2="-1.21" layer="29"/>
<polygon width="0.02" layer="29">
<vertex x="-1.135" y="1.65"/>
<vertex x="-0.815" y="1.65"/>
<vertex x="-0.815" y="1.2"/>
<vertex x="-0.485" y="1.2"/>
<vertex x="-0.485" y="1.65"/>
<vertex x="-0.165" y="1.65"/>
<vertex x="-0.165" y="1.2"/>
<vertex x="0.165" y="1.2"/>
<vertex x="0.165" y="1.65"/>
<vertex x="0.485" y="1.65"/>
<vertex x="0.485" y="1.2"/>
<vertex x="0.815" y="1.2"/>
<vertex x="0.815" y="1.65"/>
<vertex x="1.135" y="1.65"/>
<vertex x="1.135" y="1.2"/>
<vertex x="1.215" y="1.2"/>
<vertex x="1.215" y="-0.55"/>
<vertex x="-1.215" y="-0.55"/>
<vertex x="-1.215" y="1.2"/>
<vertex x="-1.135" y="1.2"/>
</polygon>
<smd name="PAD_BTM" x="0" y="0.39" dx="2.45" dy="1.9" layer="16" stop="no" thermals="no" cream="no"/>
<pad name="VIA1" x="-0.8" y="0.95" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA2" x="0" y="0.95" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA3" x="0.8" y="0.95" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA4" x="-0.8" y="-0.17" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA5" x="0" y="-0.17" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA6" x="0.8" y="-0.17" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
</package>
<package name="SOT1210">
<wire x1="1.65" y1="-1.1" x2="-1.65" y2="-1.1" width="0.127" layer="51"/>
<wire x1="-1.65" y1="1.46" x2="1.65" y2="1.46" width="0.127" layer="51"/>
<smd name="1" x="-0.975" y="-1.535" dx="0.4" dy="0.83" layer="1" stop="no" thermals="no" cream="no"/>
<text x="2.54" y="-2.54" size="1.27" layer="27" font="vector" ratio="10" align="center-left">>VALUE</text>
<text x="2.54" y="0" size="1.27" layer="25" font="vector" ratio="10" align="center-left">>NAME</text>
<wire x1="1.65" y1="1.46" x2="1.65" y2="-1.1" width="0.127" layer="51"/>
<wire x1="-1.65" y1="-1.1" x2="-1.65" y2="1.46" width="0.127" layer="51"/>
<wire x1="-2.5" y1="2.5" x2="2.5" y2="2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="2.5" x2="2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="2.5" y1="-2.5" x2="-2.5" y2="-2.5" width="0.127" layer="39"/>
<wire x1="-2.5" y1="-2.5" x2="-2.5" y2="2.5" width="0.127" layer="39"/>
<circle x="-1.25" y="-0.7" radius="0.0635" width="0.127" layer="51"/>
<rectangle x1="-1.125" y1="-1.95" x2="-0.825" y2="-1.12" layer="31"/>
<rectangle x1="-0.9435" y1="0.39" x2="-0.3085" y2="0.9" layer="31"/>
<rectangle x1="0.3085" y1="0.39" x2="0.9435" y2="0.9" layer="31"/>
<smd name="PAD" x="0" y="0.4" dx="2.15" dy="1.6" layer="1" stop="no" thermals="no" cream="no"/>
<polygon width="0.02" layer="1">
<vertex x="-1.165" y="1.94"/>
<vertex x="-0.785" y="1.94"/>
<vertex x="-0.785" y="1.32"/>
<vertex x="-0.515" y="1.32"/>
<vertex x="-0.515" y="1.94"/>
<vertex x="-0.135" y="1.94"/>
<vertex x="-0.135" y="1.32"/>
<vertex x="0.135" y="1.32"/>
<vertex x="0.135" y="1.94"/>
<vertex x="0.515" y="1.94"/>
<vertex x="0.515" y="1.32"/>
<vertex x="0.785" y="1.32"/>
<vertex x="0.785" y="1.94"/>
<vertex x="1.165" y="1.94"/>
<vertex x="1.165" y="1.21"/>
<vertex x="1.115" y="1.21"/>
<vertex x="1.115" y="-0.51"/>
<vertex x="-1.115" y="-0.51"/>
<vertex x="-1.115" y="1.21"/>
<vertex x="-1.165" y="1.21"/>
</polygon>
<rectangle x1="-1.125" y1="1.2" x2="-0.825" y2="1.95" layer="31"/>
<rectangle x1="-1.225" y1="-2" x2="-0.725" y2="-1.07" layer="29"/>
<smd name="2" x="-0.325" y="-1.535" dx="0.4" dy="0.83" layer="1" stop="no" thermals="no" cream="no"/>
<smd name="3" x="0.325" y="-1.535" dx="0.4" dy="0.83" layer="1" stop="no" thermals="no" cream="no"/>
<smd name="4" x="0.975" y="-1.535" dx="0.4" dy="0.83" layer="1" stop="no" thermals="no" cream="no"/>
<rectangle x1="-0.575" y1="-2" x2="-0.075" y2="-1.07" layer="29"/>
<rectangle x1="0.075" y1="-2" x2="0.575" y2="-1.07" layer="29"/>
<rectangle x1="0.725" y1="-2" x2="1.225" y2="-1.07" layer="29"/>
<polygon width="0.02" layer="29">
<vertex x="-1.215" y="1.99"/>
<vertex x="-0.735" y="1.99"/>
<vertex x="-0.735" y="1.37"/>
<vertex x="-0.565" y="1.37"/>
<vertex x="-0.565" y="1.99"/>
<vertex x="-0.085" y="1.99"/>
<vertex x="-0.085" y="1.37"/>
<vertex x="0.085" y="1.37"/>
<vertex x="0.085" y="1.99"/>
<vertex x="0.565" y="1.99"/>
<vertex x="0.565" y="1.37"/>
<vertex x="0.735" y="1.37"/>
<vertex x="0.735" y="1.99"/>
<vertex x="1.215" y="1.99"/>
<vertex x="1.215" y="1.16"/>
<vertex x="1.165" y="1.16"/>
<vertex x="1.165" y="-0.56"/>
<vertex x="-1.165" y="-0.56"/>
<vertex x="-1.165" y="1.16"/>
<vertex x="-1.215" y="1.16"/>
</polygon>
<rectangle x1="-0.475" y1="-1.95" x2="-0.175" y2="-1.12" layer="31"/>
<rectangle x1="0.175" y1="-1.95" x2="0.475" y2="-1.12" layer="31"/>
<rectangle x1="0.825" y1="-1.95" x2="1.125" y2="-1.12" layer="31"/>
<rectangle x1="-0.475" y1="1.2" x2="-0.175" y2="1.95" layer="31"/>
<rectangle x1="0.175" y1="1.2" x2="0.475" y2="1.95" layer="31"/>
<rectangle x1="0.825" y1="1.2" x2="1.125" y2="1.95" layer="31"/>
<rectangle x1="-0.9435" y1="-0.47" x2="-0.3085" y2="0.04" layer="31"/>
<rectangle x1="0.3085" y1="-0.47" x2="0.9435" y2="0.04" layer="31"/>
<rectangle x1="-1.125" y1="1.46" x2="-0.825" y2="1.65" layer="51"/>
<rectangle x1="-0.475" y1="1.46" x2="-0.175" y2="1.65" layer="51"/>
<rectangle x1="0.175" y1="1.46" x2="0.475" y2="1.65" layer="51"/>
<rectangle x1="0.825" y1="1.46" x2="1.125" y2="1.65" layer="51"/>
<rectangle x1="-1.125" y1="-1.65" x2="-0.825" y2="-1.1" layer="51"/>
<rectangle x1="-0.475" y1="-1.65" x2="-0.175" y2="-1.1" layer="51"/>
<rectangle x1="0.175" y1="-1.65" x2="0.475" y2="-1.1" layer="51"/>
<rectangle x1="0.825" y1="-1.65" x2="1.125" y2="-1.1" layer="51"/>
</package>
<package name="POWERDI3333-8">
<wire x1="1.65" y1="-1.65" x2="-1.65" y2="-1.65" width="0.127" layer="51"/>
<wire x1="-1.65" y1="1.65" x2="1.65" y2="1.65" width="0.127" layer="51"/>
<circle x="-2.05" y="-2.05" radius="0.0635" width="0.127" layer="21"/>
<smd name="1" x="-0.975" y="-1.5" dx="0.42" dy="0.7" layer="1" stop="no" thermals="no" cream="no"/>
<text x="2.54" y="-2.54" size="1.27" layer="27" font="vector" ratio="10" align="center-left">>VALUE</text>
<text x="2.54" y="0" size="1.27" layer="25" font="vector" ratio="10" align="center-left">>NAME</text>
<wire x1="1.65" y1="1.65" x2="1.65" y2="-1.65" width="0.127" layer="51"/>
<wire x1="-1.65" y1="-1.65" x2="-1.65" y2="1.65" width="0.127" layer="51"/>
<wire x1="-2" y1="2" x2="2" y2="2" width="0.127" layer="39"/>
<wire x1="2" y1="2" x2="2" y2="-2" width="0.127" layer="39"/>
<wire x1="2" y1="-2" x2="-2" y2="-2" width="0.127" layer="39"/>
<wire x1="-2" y1="-2" x2="-2" y2="2" width="0.127" layer="39"/>
<circle x="-1.25" y="-1.25" radius="0.0635" width="0.127" layer="51"/>
<rectangle x1="-1.135" y1="-1.8" x2="-0.815" y2="-1.2" layer="31"/>
<rectangle x1="-1.135" y1="-0.2" x2="-0.1" y2="1.11" layer="31"/>
<rectangle x1="0.1" y1="-0.2" x2="1.135" y2="1.11" layer="31"/>
<smd name="5-8" x="0" y="0.4" dx="2.15" dy="1.5" layer="1" stop="no" thermals="no" cream="no"/>
<polygon width="0.02" layer="1">
<vertex x="-1.175" y="1.84"/>
<vertex x="-0.775" y="1.84"/>
<vertex x="-0.775" y="1.3"/>
<vertex x="-0.525" y="1.3"/>
<vertex x="-0.525" y="1.84"/>
<vertex x="-0.125" y="1.84"/>
<vertex x="-0.125" y="1.3"/>
<vertex x="0.125" y="1.3"/>
<vertex x="0.125" y="1.84"/>
<vertex x="0.525" y="1.84"/>
<vertex x="0.525" y="1.3"/>
<vertex x="0.775" y="1.3"/>
<vertex x="0.775" y="1.84"/>
<vertex x="1.175" y="1.84"/>
<vertex x="1.175" y="-0.39"/>
<vertex x="-1.175" y="-0.39"/>
</polygon>
<rectangle x1="-1.135" y1="1.31" x2="-0.815" y2="1.8" layer="31"/>
<rectangle x1="-1.235" y1="-1.9" x2="-0.715" y2="-1.1" layer="29"/>
<polygon width="0.02" layer="29">
<vertex x="-1.225" y="1.89"/>
<vertex x="-0.725" y="1.89"/>
<vertex x="-0.725" y="1.35"/>
<vertex x="-0.575" y="1.35"/>
<vertex x="-0.575" y="1.89"/>
<vertex x="-0.075" y="1.89"/>
<vertex x="-0.075" y="1.35"/>
<vertex x="0.075" y="1.35"/>
<vertex x="0.075" y="1.89"/>
<vertex x="0.575" y="1.89"/>
<vertex x="0.575" y="1.35"/>
<vertex x="0.725" y="1.35"/>
<vertex x="0.725" y="1.89"/>
<vertex x="1.225" y="1.89"/>
<vertex x="1.225" y="-0.44"/>
<vertex x="-1.225" y="-0.44"/>
</polygon>
<smd name="PAD_BTM" x="0" y="0.455" dx="2.37" dy="1.71" layer="16" stop="no" thermals="no" cream="no"/>
<pad name="VIA1" x="-0.8" y="0.855" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA2" x="0" y="0.855" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA3" x="0.8" y="0.855" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA4" x="-0.8" y="0.055" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA5" x="0" y="0.055" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<pad name="VIA6" x="0.8" y="0.055" drill="0.25" diameter="0.3048" stop="no" thermals="no"/>
<smd name="2" x="-0.325" y="-1.5" dx="0.42" dy="0.7" layer="1" stop="no" thermals="no" cream="no"/>
<smd name="3" x="0.325" y="-1.5" dx="0.42" dy="0.7" layer="1" stop="no" thermals="no" cream="no"/>
<smd name="4" x="0.975" y="-1.5" dx="0.42" dy="0.7" layer="1" stop="no" thermals="no" cream="no"/>
<rectangle x1="-0.585" y1="-1.9" x2="-0.065" y2="-1.1" layer="29"/>
<rectangle x1="0.065" y1="-1.9" x2="0.585" y2="-1.1" layer="29"/>
<rectangle x1="0.715" y1="-1.9" x2="1.235" y2="-1.1" layer="29"/>
<rectangle x1="-0.485" y1="-1.8" x2="-0.165" y2="-1.2" layer="31"/>
<rectangle x1="0.165" y1="-1.8" x2="0.485" y2="-1.2" layer="31"/>
<rectangle x1="0.815" y1="-1.8" x2="1.135" y2="-1.2" layer="31"/>
<rectangle x1="-0.485" y1="1.31" x2="-0.165" y2="1.8" layer="31"/>
<rectangle x1="0.165" y1="1.31" x2="0.485" y2="1.8" layer="31"/>
<rectangle x1="0.815" y1="1.31" x2="1.135" y2="1.8" layer="31"/>
</package>
</packages>
<symbols>
<symbol name="N_MOSFET">
<wire x1="0.762" y1="0.762" x2="0.762" y2="0" width="0.254" layer="94"/>
<wire x1="0.762" y1="0" x2="0.762" y2="-0.762" width="0.254" layer="94"/>
<wire x1="0.762" y1="3.175" x2="0.762" y2="2.54" width="0.254" layer="94"/>
<wire x1="0.762" y1="2.54" x2="0.762" y2="1.905" width="0.254" layer="94"/>
<wire x1="0.762" y1="0" x2="2.54" y2="0" width="0.1524" layer="94"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="0.762" y1="-1.905" x2="0.762" y2="-2.54" width="0.254" layer="94"/>
<wire x1="0.762" y1="-2.54" x2="0.762" y2="-3.175" width="0.254" layer="94"/>
<wire x1="0" y1="2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="0.762" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="3.81" y1="2.54" x2="3.81" y2="0.508" width="0.1524" layer="94"/>
<wire x1="3.81" y1="0.508" x2="3.81" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="3.81" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="0.762" y1="2.54" x2="3.81" y2="2.54" width="0.1524" layer="94"/>
<wire x1="4.572" y1="0.762" x2="4.318" y2="0.508" width="0.1524" layer="94"/>
<wire x1="4.318" y1="0.508" x2="3.81" y2="0.508" width="0.1524" layer="94"/>
<wire x1="3.81" y1="0.508" x2="3.302" y2="0.508" width="0.1524" layer="94"/>
<wire x1="3.302" y1="0.508" x2="3.048" y2="0.254" width="0.1524" layer="94"/>
<circle x="2.54" y="-2.54" radius="0.3592" width="0" layer="94"/>
<circle x="2.54" y="2.54" radius="0.3592" width="0" layer="94"/>
<text x="6.35" y="-2.54" size="1.778" layer="96">>VALUE</text>
<text x="6.35" y="0" size="1.778" layer="95">>NAME</text>
<pin name="S" x="2.54" y="-5.08" visible="off" length="short" direction="pas" rot="R90"/>
<pin name="G" x="-2.54" y="0" visible="off" length="short" direction="pas"/>
<pin name="D" x="2.54" y="5.08" visible="off" length="short" direction="pas" rot="R270"/>
<polygon width="0.1524" layer="94">
<vertex x="3.81" y="0.508"/>
<vertex x="3.302" y="-0.254"/>
<vertex x="4.318" y="-0.254"/>
</polygon>
<polygon width="0.1524" layer="94">
<vertex x="1.016" y="0"/>
<vertex x="2.032" y="0.762"/>
<vertex x="2.032" y="-0.762"/>
</polygon>
</symbol>
</symbols>
<devicesets>
<deviceset name="N_MOSFET" prefix="Q">
<gates>
<gate name="G$1" symbol="N_MOSFET" x="0" y="0"/>
</gates>
<devices>
<device name="_IRLML2502" package="SOT23">
<connects>
<connect gate="G$1" pin="D" pad="3"/>
<connect gate="G$1" pin="G" pad="1"/>
<connect gate="G$1" pin="S" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_BSS138" package="SOT23">
<connects>
<connect gate="G$1" pin="D" pad="3"/>
<connect gate="G$1" pin="G" pad="1"/>
<connect gate="G$1" pin="S" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_ZVN4525E6" package="SOT23-6">
<connects>
<connect gate="G$1" pin="D" pad="1 2 5 6"/>
<connect gate="G$1" pin="G" pad="3"/>
<connect gate="G$1" pin="S" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_BSS138W" package="SOT323">
<connects>
<connect gate="G$1" pin="D" pad="3"/>
<connect gate="G$1" pin="G" pad="1"/>
<connect gate="G$1" pin="S" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_CSD17308Q3" package="SON_Q3">
<connects>
<connect gate="G$1" pin="D" pad="5-8 PAD_BTM VIA1 VIA2 VIA3 VIA4 VIA5 VIA6"/>
<connect gate="G$1" pin="G" pad="4"/>
<connect gate="G$1" pin="S" pad="1 2 3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_PSMN075-100MSE" package="SOT1210">
<connects>
<connect gate="G$1" pin="D" pad="PAD"/>
<connect gate="G$1" pin="G" pad="4"/>
<connect gate="G$1" pin="S" pad="1 2 3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_DMN10H120SFG" package="POWERDI3333-8">
<connects>
<connect gate="G$1" pin="D" pad="5-8 PAD_BTM VIA1 VIA2 VIA3 VIA4 VIA5 VIA6"/>
<connect gate="G$1" pin="G" pad="4"/>
<connect gate="G$1" pin="S" pad="1 2 3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="TMF_Resistors">
<packages>
<package name="0603">
<wire x1="-0.8" y1="0.4" x2="0.8" y2="0.4" width="0.127" layer="51"/>
<wire x1="0.8" y1="0.4" x2="0.8" y2="-0.4" width="0.127" layer="51"/>
<wire x1="0.8" y1="-0.4" x2="-0.8" y2="-0.4" width="0.127" layer="51"/>
<wire x1="-0.8" y1="-0.4" x2="-0.8" y2="0.4" width="0.127" layer="51"/>
<rectangle x1="-0.8" y1="-0.4" x2="-0.5" y2="0.4" layer="51"/>
<rectangle x1="0.5" y1="-0.4" x2="0.8" y2="0.4" layer="51"/>
<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"/>
<rectangle x1="-0.07" y1="-0.4" x2="0.07" y2="0.4" layer="21"/>
<text x="0" y="1.27" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">>NAME</text>
<text x="0" y="-1.27" size="1.27" layer="27" font="vector" ratio="10" align="top-center">>VALUE</text>
<wire x1="-2.5" y1="1" x2="2.5" y2="1" width="0.127" layer="39"/>
<wire x1="2.5" y1="1" x2="2.5" y2="-1" width="0.127" layer="39"/>
<wire x1="2.5" y1="-1" x2="-2.5" y2="-1" width="0.127" layer="39"/>
<wire x1="-2.5" y1="-1" x2="-2.5" y2="1" width="0.127" layer="39"/>
</package>
<package name="2512">
<wire x1="-3.15" y1="1.6" x2="3.15" y2="1.6" width="0.127" layer="51"/>
<wire x1="3.15" y1="1.6" x2="3.15" y2="-1.6" width="0.127" layer="51"/>
<wire x1="3.15" y1="-1.6" x2="-3.15" y2="-1.6" width="0.127" layer="51"/>
<wire x1="-3.15" y1="-1.6" x2="-3.15" y2="1.6" width="0.127" layer="51"/>
<rectangle x1="-3.15" y1="-1.6" x2="-2.55" y2="1.6" layer="51"/>
<rectangle x1="2.55" y1="-1.6" x2="3.15" y2="1.6" layer="51"/>
<smd name="1" x="-2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<smd name="2" x="2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<rectangle x1="-0.254" y1="-1.6" x2="0.254" y2="1.6" layer="21"/>
<text x="-1.5" y="2" size="1.27" layer="25" font="vector" ratio="10">>NAME</text>
<text x="-2.5" y="-3.25" size="1.27" layer="27" font="vector" ratio="10">>VALUE</text>
<wire x1="-4.5" y1="2" x2="4.5" y2="2" width="0.127" layer="39"/>
<wire x1="4.5" y1="2" x2="4.5" y2="-2" width="0.127" layer="39"/>
<wire x1="4.5" y1="-2" x2="-4.5" y2="-2" width="0.127" layer="39"/>
<wire x1="-4.5" y1="-2" x2="-4.5" y2="2" width="0.127" layer="39"/>
</package>
<package name="1206">
<wire x1="-1.6" y1="0.8" x2="1.6" y2="0.8" width="0.127" layer="51"/>
<wire x1="1.6" y1="0.8" x2="1.6" y2="-0.8" width="0.127" layer="51"/>
<wire x1="1.6" y1="-0.8" x2="-1.6" y2="-0.8" width="0.127" layer="51"/>
<wire x1="-1.6" y1="-0.8" x2="-1.6" y2="0.8" width="0.127" layer="51"/>
<rectangle x1="-1.6" y1="-0.8" x2="-1.1" y2="0.8" layer="51"/>
<rectangle x1="1.1" y1="-0.8" x2="1.6" y2="0.8" layer="51"/>
<smd name="1" x="-1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<smd name="2" x="1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<rectangle x1="-0.127" y1="-0.8" x2="0.127" y2="0.8" layer="21"/>
<text x="0" y="1.5" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">>NAME</text>
<text x="0" y="-2.5" size="1.27" layer="27" font="vector" ratio="10" align="bottom-center">>VALUE</text>
<wire x1="-3" y1="1.5" x2="3" y2="1.5" width="0.127" layer="39"/>
<wire x1="3" y1="1.5" x2="3" y2="-1.5" width="0.127" layer="39"/>
<wire x1="3" y1="-1.5" x2="-3" y2="-1.5" width="0.127" layer="39"/>
<wire x1="-3" y1="-1.5" x2="-3" y2="1.5" width="0.127" layer="39"/>
</package>
<package name="AXIAL_0.4">
<pad name="2" x="5.08" y="0" drill="0.8"/>
<pad name="1" x="-5.08" y="0" drill="0.8"/>
<wire x1="-3.15" y1="1.2" x2="3.15" y2="1.2" width="0.127" layer="51"/>
<wire x1="3.15" y1="1.2" x2="3.15" y2="0" width="0.127" layer="51"/>
<wire x1="3.15" y1="0" x2="3.15" y2="-1.2" width="0.127" layer="51"/>
<wire x1="3.15" y1="-1.2" x2="-3.15" y2="-1.2" width="0.127" layer="51"/>
<wire x1="-3.15" y1="-1.2" x2="-3.15" y2="0" width="0.127" layer="51"/>
<text x="0" y="1.905" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">>NAME</text>
<text x="0" y="-1.905" size="1.27" layer="27" font="vector" ratio="10" align="top-center">>VALUE</text>
<wire x1="-3.15" y1="0" x2="-3.15" y2="1.2" width="0.127" layer="51"/>
<wire x1="-3.15" y1="0" x2="-5.08" y2="0" width="0.55" layer="51"/>
<rectangle x1="-3.15" y1="-1.2" x2="-2.85" y2="1.2" layer="51"/>
<rectangle x1="2.85" y1="-1.2" x2="3.15" y2="1.2" layer="51"/>
<wire x1="3.15" y1="0" x2="5.08" y2="0" width="0.55" layer="51"/>
<wire x1="-6.35" y1="2.54" x2="6.35" y2="2.54" width="0.127" layer="39"/>
<wire x1="6.35" y1="2.54" x2="6.35" y2="-2.54" width="0.127" layer="39"/>
<wire x1="6.35" y1="-2.54" x2="-6.35" y2="-2.54" width="0.127" layer="39"/>
<wire x1="-6.35" y1="-2.54" x2="-6.35" y2="2.54" width="0.127" layer="39"/>
<wire x1="-3.2" y1="1.25" x2="3.2" y2="1.25" width="0.127" layer="21"/>
<wire x1="3.2" y1="1.25" x2="3.2" y2="0" width="0.127" layer="21"/>
<wire x1="3.2" y1="0" x2="3.2" y2="-1.25" width="0.127" layer="21"/>
<wire x1="3.2" y1="-1.25" x2="-3.2" y2="-1.25" width="0.127" layer="21"/>
<wire x1="-3.2" y1="-1.25" x2="-3.2" y2="0" width="0.127" layer="21"/>
<wire x1="-3.2" y1="0" x2="-3.2" y2="1.25" width="0.127" layer="21"/>
<wire x1="3.2" y1="0" x2="4.1" y2="0" width="0.127" layer="21"/>
<wire x1="-3.2" y1="0" x2="-4.1" y2="0" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="RESISTOR">
<wire x1="-2.54" y1="0" x2="-2.159" y2="1.016" width="0.1524" layer="94"/>
<wire x1="-2.159" y1="1.016" x2="-1.524" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="-1.524" y1="-1.016" x2="-0.889" y2="1.016" width="0.1524" layer="94"/>
<wire x1="-0.889" y1="1.016" x2="-0.254" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="-0.254" y1="-1.016" x2="0.381" y2="1.016" width="0.1524" layer="94"/>
<wire x1="0.381" y1="1.016" x2="1.016" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="1.016" y1="-1.016" x2="1.651" y2="1.016" width="0.1524" layer="94"/>
<wire x1="1.651" y1="1.016" x2="2.286" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="2.286" y1="-1.016" x2="2.54" y2="0" width="0.1524" layer="94"/>
<text x="0" y="2.54" size="1.778" layer="95" align="bottom-center">>NAME</text>
<text x="0" y="-2.54" size="1.778" layer="96" align="top-center">>VALUE</text>
<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="RESISTOR" prefix="R" uservalue="yes">
<gates>
<gate name="G$1" symbol="RESISTOR" x="0" y="0"/>
</gates>
<devices>
<device name="_0603" package="0603">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_2512" package="2512">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_1206" package="1206">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_PTH_1/4W" package="AXIAL_0.4">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="TMF_Connectors">
<packages>
<package name="TE_CONN_ED555_4DS">
<wire x1="-3.8" y1="7" x2="-1.7" y2="7" width="0.127" layer="51"/>
<wire x1="-1.7" y1="7" x2="1.7" y2="7" width="0.127" layer="51"/>
<wire x1="1.7" y1="7" x2="2.7" y2="7" width="0.127" layer="51"/>
<wire x1="2.7" y1="7" x2="2.7" y2="-7" width="0.127" layer="51"/>
<wire x1="2.7" y1="-7" x2="1.7" y2="-7" width="0.127" layer="51"/>
<wire x1="1.7" y1="-7" x2="-1.7" y2="-7" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-7" x2="-3.8" y2="-7" width="0.127" layer="51"/>
<wire x1="-3.8" y1="-7" x2="-3.8" y2="7" width="0.127" layer="51"/>
<circle x="0" y="5.25" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="4.3661" x2="0.8839" y2="6.1339" width="0.127" layer="51"/>
<circle x="0" y="1.75" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="0.8661" x2="0.8839" y2="2.6339" width="0.127" layer="51"/>
<circle x="0" y="-1.75" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="-2.6339" x2="0.8839" y2="-0.8661" width="0.127" layer="51"/>
<circle x="0" y="-5.25" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="-6.1339" x2="0.8839" y2="-4.3661" width="0.127" layer="51"/>
<wire x1="1.7" y1="-7" x2="1.7" y2="7" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-7" x2="-1.7" y2="7" width="0.127" layer="51"/>
<pad name="1" x="0" y="5.25" drill="1.1" shape="square"/>
<pad name="2" x="0" y="1.75" drill="1.1"/>
<pad name="3" x="0" y="-1.75" drill="1.1"/>
<pad name="4" x="0" y="-5.25" drill="1.1"/>
<text x="-2.5" y="8" size="1.27" layer="25" font="vector" ratio="10">>NAME</text>
<text x="-3.5" y="-9" size="1.27" layer="27" font="vector" ratio="10">>VALUE</text>
<wire x1="4" y1="8" x2="-25" y2="8" width="0.127" layer="39"/>
<wire x1="-25" y1="8" x2="-25" y2="-8" width="0.127" layer="39"/>
<wire x1="-25" y1="-8" x2="4" y2="-8" width="0.127" layer="39"/>
<wire x1="4" y1="-8" x2="4" y2="8" width="0.127" layer="39"/>
</package>
<package name="TE_CONN_ED555_5DS">
<wire x1="-3.8" y1="8.75" x2="-1.7" y2="8.75" width="0.127" layer="51"/>
<wire x1="-1.7" y1="8.75" x2="1.7" y2="8.75" width="0.127" layer="51"/>
<wire x1="1.7" y1="8.75" x2="2.7" y2="8.75" width="0.127" layer="51"/>
<wire x1="2.7" y1="8.75" x2="2.7" y2="-8.75" width="0.127" layer="51"/>
<wire x1="2.7" y1="-8.75" x2="1.7" y2="-8.75" width="0.127" layer="51"/>
<wire x1="1.7" y1="-8.75" x2="-1.7" y2="-8.75" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-8.75" x2="-3.8" y2="-8.75" width="0.127" layer="51"/>
<wire x1="-3.8" y1="-8.75" x2="-3.8" y2="8.75" width="0.127" layer="51"/>
<circle x="0" y="7" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="6.1161" x2="0.8839" y2="7.8839" width="0.127" layer="51"/>
<circle x="0" y="3.5" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="2.6161" x2="0.8839" y2="4.3839" width="0.127" layer="51"/>
<circle x="0" y="0" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="-0.8839" x2="0.8839" y2="0.8839" width="0.127" layer="51"/>
<circle x="0" y="-3.5" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="-4.3839" x2="0.8839" y2="-2.6161" width="0.127" layer="51"/>
<wire x1="1.7" y1="-8.75" x2="1.7" y2="8.75" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-8.75" x2="-1.7" y2="8.75" width="0.127" layer="51"/>
<pad name="1" x="0" y="7" drill="1.1" shape="square"/>
<pad name="2" x="0" y="3.5" drill="1.1"/>
<pad name="3" x="0" y="0" drill="1.1"/>
<pad name="4" x="0" y="-3.5" drill="1.1"/>
<text x="-2.5" y="9.75" size="1.27" layer="25" font="vector" ratio="10">>NAME</text>
<text x="-3.5" y="-10.75" size="1.27" layer="27" font="vector" ratio="10">>VALUE</text>
<wire x1="4" y1="9.75" x2="-25" y2="9.75" width="0.127" layer="39"/>
<wire x1="-25" y1="9.75" x2="-25" y2="-9.75" width="0.127" layer="39"/>
<wire x1="-25" y1="-9.75" x2="4" y2="-9.75" width="0.127" layer="39"/>
<wire x1="4" y1="-9.75" x2="4" y2="9.75" width="0.127" layer="39"/>
<circle x="0" y="-7" radius="1.25" width="0.127" layer="51"/>
<wire x1="-0.8839" y1="-7.8839" x2="0.8839" y2="-6.1161" width="0.127" layer="51"/>
<pad name="5" x="0" y="-7" drill="1.1"/>
</package>
<package name="ON_SHORE_OSTVN04A150">
<wire x1="-3.2" y1="5.28" x2="-1.7" y2="5.28" width="0.127" layer="51"/>
<wire x1="-1.7" y1="5.28" x2="1.7" y2="5.28" width="0.127" layer="51"/>
<wire x1="1.7" y1="5.28" x2="3.3" y2="5.28" width="0.127" layer="51"/>
<wire x1="3.3" y1="5.28" x2="3.3" y2="-5.28" width="0.127" layer="51"/>
<wire x1="3.3" y1="-5.28" x2="1.7" y2="-5.28" width="0.127" layer="51"/>
<wire x1="1.7" y1="-5.28" x2="-1.7" y2="-5.28" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-5.28" x2="-3.2" y2="-5.28" width="0.127" layer="51"/>
<wire x1="-3.2" y1="-5.28" x2="-3.2" y2="5.28" width="0.127" layer="51"/>
<circle x="0" y="1.27" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="0.56289375" x2="0.70710625" y2="1.97710625" width="0.127" layer="51"/>
<wire x1="1.7" y1="-5.28" x2="1.7" y2="5.28" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-5.28" x2="-1.7" y2="5.28" width="0.127" layer="51"/>
<pad name="1" x="0" y="3.81" drill="1.3" shape="square"/>
<pad name="2" x="0" y="1.27" drill="1.3"/>
<pad name="3" x="0" y="-1.27" drill="1.3"/>
<pad name="4" x="0" y="-3.81" drill="1.3"/>
<text x="0" y="6.35" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">>NAME</text>
<text x="0" y="-6.35" size="1.27" layer="27" font="vector" ratio="10" align="top-center">>VALUE</text>
<wire x1="4" y1="5.715" x2="-25" y2="5.715" width="0.127" layer="39"/>
<wire x1="-25" y1="5.715" x2="-25" y2="-5.715" width="0.127" layer="39"/>
<wire x1="-25" y1="-5.715" x2="4" y2="-5.715" width="0.127" layer="39"/>
<wire x1="4" y1="-5.715" x2="4" y2="5.715" width="0.127" layer="39"/>
<circle x="0" y="3.81" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="3.10289375" x2="0.70710625" y2="4.51710625" width="0.127" layer="51"/>
<circle x="0" y="-1.27" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="-1.97710625" x2="0.70710625" y2="-0.56289375" width="0.127" layer="51"/>
<circle x="0" y="-3.81" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="-4.51710625" x2="0.70710625" y2="-3.10289375" width="0.127" layer="51"/>
</package>
<package name="ON_SHORE_OSTVN05A150">
<wire x1="-3.2" y1="6.55" x2="-1.7" y2="6.55" width="0.127" layer="51"/>
<wire x1="-1.7" y1="6.55" x2="1.7" y2="6.55" width="0.127" layer="51"/>
<wire x1="1.7" y1="6.55" x2="3.3" y2="6.55" width="0.127" layer="51"/>
<wire x1="3.3" y1="6.55" x2="3.3" y2="-6.55" width="0.127" layer="51"/>
<wire x1="3.3" y1="-6.55" x2="1.7" y2="-6.55" width="0.127" layer="51"/>
<wire x1="1.7" y1="-6.55" x2="-1.7" y2="-6.55" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-6.55" x2="-3.2" y2="-6.55" width="0.127" layer="51"/>
<wire x1="-3.2" y1="-6.55" x2="-3.2" y2="6.55" width="0.127" layer="51"/>
<circle x="0" y="2.54" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="1.83289375" x2="0.70710625" y2="3.24710625" width="0.127" layer="51"/>
<wire x1="1.7" y1="-6.55" x2="1.7" y2="6.55" width="0.127" layer="51"/>
<wire x1="-1.7" y1="-6.55" x2="-1.7" y2="6.55" width="0.127" layer="51"/>
<pad name="1" x="0" y="5.08" drill="1.3" shape="square"/>
<pad name="2" x="0" y="2.54" drill="1.3"/>
<pad name="3" x="0" y="0" drill="1.3"/>
<pad name="4" x="0" y="-2.54" drill="1.3"/>
<text x="0" y="7.62" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">>NAME</text>
<text x="0" y="-7.62" size="1.27" layer="27" font="vector" ratio="10" align="top-center">>VALUE</text>
<wire x1="4" y1="6.985" x2="-25" y2="6.985" width="0.127" layer="39"/>
<wire x1="-25" y1="6.985" x2="-25" y2="-6.985" width="0.127" layer="39"/>
<wire x1="-25" y1="-6.985" x2="4" y2="-6.985" width="0.127" layer="39"/>
<wire x1="4" y1="-6.985" x2="4" y2="6.985" width="0.127" layer="39"/>
<circle x="0" y="5.08" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="4.37289375" x2="0.70710625" y2="5.78710625" width="0.127" layer="51"/>
<circle x="0" y="0" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="-0.70710625" x2="0.70710625" y2="0.70710625" width="0.127" layer="51"/>
<circle x="0" y="-2.54" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="-3.24710625" x2="0.70710625" y2="-1.83289375" width="0.127" layer="51"/>
<pad name="5" x="0" y="-5.08" drill="1.3"/>
<circle x="0" y="-5.08" radius="1" width="0.127" layer="51"/>
<wire x1="-0.70710625" y1="-5.78710625" x2="0.70710625" y2="-4.37289375" width="0.127" layer="51"/>
</package>
<package name="JMP_PAD_2X1_CLOSED_BY_PASTE">
<wire x1="0.8382" y1="-1.016" x2="-0.8382" y2="-1.016" width="0.127" layer="21"/>
<wire x1="0.8382" y1="1.016" x2="1.0922" y2="0.762" width="0.127" layer="21" curve="-90"/>
<wire x1="-1.0922" y1="0.762" x2="-0.8382" y2="1.016" width="0.127" layer="21" curve="-90"/>
<wire x1="-1.0922" y1="-0.762" x2="-0.8382" y2="-1.016" width="0.127" layer="21" curve="90"/>
<wire x1="0.8382" y1="-1.016" x2="1.0922" y2="-0.762" width="0.127" layer="21" curve="90"/>
<wire x1="1.0922" y1="-0.762" x2="1.0922" y2="0.762" width="0.127" layer="21"/>
<wire x1="-1.0922" y1="-0.762" x2="-1.0922" y2="0.762" width="0.127" layer="21"/>
<wire x1="-0.8382" y1="1.016" x2="0.8382" y2="1.016" width="0.127" layer="21"/>
<smd name="1" x="-0.4064" y="0" dx="0.635" dy="1.27" layer="1" stop="no" cream="no"/>
<smd name="2" x="0.4064" y="0" dx="0.635" dy="1.27" layer="1" stop="no" cream="no"/>
<text x="0" y="1.27" size="1.27" layer="25" font="vector" ratio="10" align="bottom-center">>NAME</text>
<text x="0" y="-1.27" size="1.27" layer="27" font="vector" ratio="10" align="top-center">>VALUE</text>
<wire x1="-1.27" y1="1.27" x2="1.27" y2="1.27" width="0.127" layer="39"/>
<wire x1="1.27" y1="1.27" x2="1.27" y2="-1.27" width="0.127" layer="39"/>
<wire x1="1.27" y1="-1.27" x2="-1.27" y2="-1.27" width="0.127" layer="39"/>
<wire x1="-1.27" y1="-1.27" x2="-1.27" y2="1.27" width="0.127" layer="39"/>
<rectangle x1="-1.0922" y1="-1.016" x2="1.0922" y2="1.016" layer="31"/>
<wire x1="0.5969" y1="-0.508" x2="-0.5969" y2="-0.508" width="0.127" layer="51"/>
<wire x1="-0.5969" y1="-0.508" x2="-0.5969" y2="0.508" width="0.127" layer="51"/>
<wire x1="-0.5969" y1="0.508" x2="0.5969" y2="0.508" width="0.127" layer="51"/>
<wire x1="0.5969" y1="0.508" x2="0.5969" y2="-0.508" width="0.127" layer="51"/>
<rectangle x1="-0.7874" y1="-0.6985" x2="0.7874" y2="0.6985" layer="29"/>
</package>
</packages>
<symbols>
<symbol name="TB_4X1">
<pin name="1" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="0.7112" y1="0.7112" x2="-0.7112" y2="-0.7112" width="0.254" layer="94"/>
<circle x="0" y="0" radius="1.016" width="0.254" layer="94"/>
<pin name="2" x="7.62" y="0" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="2.54" y1="0" x2="1.016" y2="0" width="0.1524" layer="94"/>
<pin name="3" x="7.62" y="-2.54" visible="pad" length="middle" direction="pas" rot="R180"/>
<pin name="4" x="7.62" y="-5.08" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="-2.54" y1="5.08" x2="2.54" y2="5.08" width="0.254" layer="94"/>
<wire x1="2.54" y1="5.08" x2="2.54" y2="0" width="0.254" layer="94"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-7.62" width="0.254" layer="94"/>
<wire x1="2.54" y1="-7.62" x2="-2.54" y2="-7.62" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-7.62" x2="-2.54" y2="5.08" width="0.254" layer="94"/>
<text x="0" y="6.35" size="1.778" layer="95" align="bottom-center">>NAME</text>
<text x="0" y="-8.89" size="1.778" layer="96" align="top-center">>VALUE</text>
<wire x1="0.7112" y1="3.2512" x2="-0.7112" y2="1.8288" width="0.254" layer="94"/>
<circle x="0" y="2.54" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="2.54" x2="1.016" y2="2.54" width="0.1524" layer="94"/>
<wire x1="0.7112" y1="-1.8288" x2="-0.7112" y2="-3.2512" width="0.254" layer="94"/>
<circle x="0" y="-2.54" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="1.016" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="0.7112" y1="-4.3688" x2="-0.7112" y2="-5.7912" width="0.254" layer="94"/>
<circle x="0" y="-5.08" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="-5.08" x2="1.016" y2="-5.08" width="0.1524" layer="94"/>
</symbol>
<symbol name="TB_5X1">
<pin name="1" x="7.62" y="5.08" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="0.7112" y1="3.2512" x2="-0.7112" y2="1.8288" width="0.254" layer="94"/>
<circle x="0" y="2.54" radius="1.016" width="0.254" layer="94"/>
<pin name="2" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="2.54" y1="2.54" x2="1.016" y2="2.54" width="0.1524" layer="94"/>
<pin name="3" x="7.62" y="0" visible="pad" length="middle" direction="pas" rot="R180"/>
<pin name="4" x="7.62" y="-2.54" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="-2.54" y1="7.62" x2="2.54" y2="7.62" width="0.254" layer="94"/>
<wire x1="2.54" y1="7.62" x2="2.54" y2="2.54" width="0.254" layer="94"/>
<wire x1="2.54" y1="2.54" x2="2.54" y2="-7.62" width="0.254" layer="94"/>
<wire x1="2.54" y1="-7.62" x2="-2.54" y2="-7.62" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-7.62" x2="-2.54" y2="7.62" width="0.254" layer="94"/>
<text x="0" y="8.89" size="1.778" layer="95" align="bottom-center">>NAME</text>
<text x="0" y="-8.89" size="1.778" layer="96" align="top-center">>VALUE</text>
<wire x1="0.7112" y1="5.7912" x2="-0.7112" y2="4.3688" width="0.254" layer="94"/>
<circle x="0" y="5.08" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="5.08" x2="1.016" y2="5.08" width="0.1524" layer="94"/>
<wire x1="0.7112" y1="0.7112" x2="-0.7112" y2="-0.7112" width="0.254" layer="94"/>
<circle x="0" y="0" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="0" x2="1.016" y2="0" width="0.1524" layer="94"/>
<wire x1="0.7112" y1="-1.8288" x2="-0.7112" y2="-3.2512" width="0.254" layer="94"/>
<circle x="0" y="-2.54" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="1.016" y2="-2.54" width="0.1524" layer="94"/>
<pin name="5" x="7.62" y="-5.08" visible="pad" length="middle" direction="pas" rot="R180"/>
<wire x1="0.7112" y1="-4.3688" x2="-0.7112" y2="-5.7912" width="0.254" layer="94"/>
<circle x="0" y="-5.08" radius="1.016" width="0.254" layer="94"/>
<wire x1="2.54" y1="-5.08" x2="1.016" y2="-5.08" width="0.1524" layer="94"/>
</symbol>
<symbol name="JMP_PAD_2X1_CLOSED_BY_PASTE">
<wire x1="-0.635" y1="0.381" x2="0.635" y2="0.381" width="1.27" layer="94" curve="-180" cap="flat"/>
<wire x1="0.635" y1="-0.381" x2="-0.635" y2="-0.381" width="1.27" layer="94" curve="-180" cap="flat"/>
<wire x1="0" y1="2.54" x2="0" y2="1.651" width="0.1524" layer="94"/>
<wire x1="0" y1="-2.54" x2="0" y2="-1.651" width="0.1524" layer="94"/>
<text x="2.54" y="0" size="1.778" layer="95">>NAME</text>
<text x="2.54" y="-2.54" size="1.778" layer="96">>VALUE</text>
<pin name="1" x="0" y="5.08" visible="off" length="short" direction="pas" swaplevel="1" rot="R270"/>
<pin name="2" x="0" y="-5.08" visible="off" length="short" direction="pas" swaplevel="1" rot="R90"/>
<polygon width="0.127" layer="95">
<vertex x="1.524" y="-0.381" curve="-90"/>
<vertex x="0" y="-1.905" curve="-90"/>
<vertex x="-1.524" y="-0.381"/>
<vertex x="-1.524" y="0.381" curve="-90"/>
<vertex x="0" y="1.905" curve="-90"/>
<vertex x="1.524" y="0.381"/>
</polygon>
</symbol>
</symbols>
<devicesets>
<deviceset name="TB_4X1" prefix="J">
<gates>
<gate name="G$1" symbol="TB_4X1" x="0" y="0"/>
</gates>
<devices>
<device name="_TE_CONN_ED555_4DS" package="TE_CONN_ED555_4DS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_ON_SHORE_OSTVN04A150" package="ON_SHORE_OSTVN04A150">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="TB_5X1" prefix="J">
<gates>
<gate name="G$1" symbol="TB_5X1" x="0" y="0"/>
</gates>
<devices>
<device name="_TE_CONN_ED555_5DS" package="TE_CONN_ED555_5DS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_ON_SHORE_OSTVN05A150" package="ON_SHORE_OSTVN05A150">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="5" pad="5"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="JMP_PAD_2X1_CLOSED_BY_PASTE" prefix="SJ">
<gates>
<gate name="G$1" symbol="JMP_PAD_2X1_CLOSED_BY_PASTE" x="0" y="0"/>
</gates>
<devices>
<device name="_NORMAL" package="JMP_PAD_2X1_CLOSED_BY_PASTE">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="TMF_Supply">
<packages>
</packages>
<symbols>
<symbol name="GND">
<wire x1="-1.905" y1="-2.54" x2="1.905" y2="-2.54" width="0.254" layer="94"/>
<text x="0" y="-5.08" size="1.778" layer="96" align="bottom-center">>VALUE</text>
<pin name="GND" x="0" y="0" visible="off" length="short" direction="sup" rot="R270"/>
</symbol>
<symbol name="VCC">
<wire x1="0.762" y1="1.27" x2="0" y2="2.54" width="0.254" layer="94"/>
<wire x1="0" y1="2.54" x2="-0.762" y2="1.27" width="0.254" layer="94"/>
<text x="0" y="3.81" size="1.778" layer="96" align="bottom-center">>VALUE</text>
<pin name="VCC" x="0" y="0" visible="off" length="point" direction="sup" rot="R90"/>
<wire x1="-0.762" y1="1.27" x2="0" y2="1.27" width="0.254" layer="94"/>
<wire x1="0" y1="1.27" x2="0.762" y2="1.27" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="0" y2="1.27" width="0.1524" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" prefix="SUPPLY">
<gates>
<gate name="G$

repository: TinkerMill/tinkerAccess

path: /Hardware/PCBs/RGB_LED_Driver/TinkerAccess RGB LED Driver.sch

repo_name: TinkerMill/tinkerAccess

filename: TinkerAccess RGB LED Driver.sch


text:
1" symbol="GND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="VCC" prefix="SUPPLY">
<gates>
<gate name="G$1" symbol="VCC" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="TMF_Hardware">
<packages>
<package name="STANDOFF_3.2MM_NO_CU">
<description>Diameter of through hole is 3.2mm which is appropriate for #4-40 standoffs.  All copper is restricted under the screw and standoffs on top and bottom layers.</description>
<hole x="0" y="0" drill="3.2"/>
<circle x="0" y="0" radius="3.175" width="0" layer="40"/>
<circle x="0" y="0" radius="3.175" width="0" layer="41"/>
<circle x="0" y="0" radius="3.175" width="0" layer="42"/>
<circle x="0" y="0" radius="3.175" width="0" layer="39"/>
</package>
<package name="STANDOFF_3.2MM">
<description>Diameter of through hole is 3.2mm which is appropriate for #4-40 standoffs.  No copper or solder mask restrictions</description>
<hole x="0" y="0" drill="3.2"/>
<circle x="0" y="0" radius="3.175" width="0" layer="40"/>
<circle x="0" y="0" radius="3.175" width="0" layer="39"/>
</package>
<package name="STANDOFF_3.2MM_NO_CU_MASK">
<description>Diameter of through hole is 3.2mm which is appropriate for #4-40 standoffs.  All copper and solder maks is restricted under the screw and standoffs on top and bottom layers.</description>
<hole x="0" y="0" drill="3.2"/>
<circle x="0" y="0" radius="3.175" width="0" layer="40"/>
<circle x="0" y="0" radius="3.175" width="0" layer="41"/>
<circle x="0" y="0" radius="3.175" width="0" layer="42"/>
<circle x="0" y="0" radius="3.175" width="0" layer="39"/>
<circle x="0" y="0" radius="3.175" width="0" layer="29"/>
<circle x="0" y="0" radius="3.175" width="0" layer="30"/>
</package>
<package name="STANDOFF_2.75MM_NO_CU_MASK">
<description>Diameter of through hole is 2.75mm which is appropriate for M2.5 standoffs used by Raspberry Pi.  All copper and solder maks is restricted under the screw and standoffs on top and bottom layers.</description>
<hole x="0" y="0" drill="2.75"/>
<circle x="0" y="0" radius="3.1" width="0" layer="29"/>
<circle x="0" y="0" radius="3.1" width="0" layer="30"/>
<circle x="0" y="0" radius="3.1" width="0" layer="39"/>
<circle x="0" y="0" radius="3.1" width="0" layer="41"/>
<circle x="0" y="0" radius="3.1" width="0" layer="42"/>
<circle x="0" y="0" radius="3.1" width="0" layer="40"/>
</package>
<package name="STANDOFF_2.3MM_NO_CU">
<description>Diameter of through hole is 2.3mm which is appropriate for #2-56 standoffs. All copper is restricted under the screw and standoffs on top and bottom layers.</description>
<hole x="0" y="0" drill="2.3"/>
<circle x="0" y="0" radius="2.38125" width="0" layer="40"/>
<circle x="0" y="0" radius="2.38125" width="0" layer="41"/>
<circle x="0" y="0" radius="2.38125" width="0" layer="42"/>
<circle x="0" y="0" radius="2.38125" width="0" layer="39"/>
</package>
</packages>
<symbols>
<symbol name="STANDOFF">
<circle x="0" y="0" radius="1.0795" width="0.254" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="STANDOFF" prefix="STANDOFF">
<gates>
<gate name="G$1" symbol="STANDOFF" x="0" y="0"/>
</gates>
<devices>
<device name="_3.2MM_NO_CU" package="STANDOFF_3.2MM_NO_CU">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_3.2MM" package="STANDOFF_3.2MM">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_3.2MM_NO_CU_MASK" package="STANDOFF_3.2MM_NO_CU_MASK">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_2.75MM_NO_CU_MASK" package="STANDOFF_2.75MM_NO_CU_MASK">
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="_2.3MM_NO_CU" package="STANDOFF_2.3MM_NO_CU">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="FRAME1" library="TMF_Frames" deviceset="LETTER_LANDSCAPE" device=""/>
<part name="Q1" library="TMF_Discretes" deviceset="N_MOSFET" device="_BSS138W" value="BSS138W"/>
<part name="Q2" library="TMF_Discretes" deviceset="N_MOSFET" device="_BSS138W" value="BSS138W"/>
<part name="Q3" library="TMF_Discretes" deviceset="N_MOSFET" device="_BSS138W" value="BSS138W"/>
<part name="R1" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="10K"/>
<part name="R2" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="10K"/>
<part name="R3" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="10K"/>
<part name="SUPPLY1" library="TMF_Supply" deviceset="GND" device=""/>
<part name="SUPPLY2" library="TMF_Supply" deviceset="GND" device=""/>
<part name="SUPPLY3" library="TMF_Supply" deviceset="GND" device=""/>
<part name="SUPPLY4" library="TMF_Supply" deviceset="GND" device=""/>
<part name="J2" library="TMF_Connectors" deviceset="TB_4X1" device="_ON_SHORE_OSTVN04A150" value="LED"/>
<part name="J1" library="TMF_Connectors" deviceset="TB_5X1" device="_ON_SHORE_OSTVN05A150" value="IN"/>
<part name="R5" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="DNP"/>
<part name="R6" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="DNP"/>
<part name="R7" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="DNP"/>
<part name="R4" library="TMF_Resistors" deviceset="RESISTOR" device="_0603" value="DNP"/>
<part name="STANDOFF1" library="TMF_Hardware" deviceset="STANDOFF" device="_2.3MM_NO_CU" value="STANDOFF_2.3MM_NO_CU"/>
<part name="STANDOFF2" library="TMF_Hardware" deviceset="STANDOFF" device="_2.3MM_NO_CU" value="STANDOFF_2.3MM_NO_CU"/>
<part name="STANDOFF3" library="TMF_Hardware" deviceset="STANDOFF" device="_2.3MM_NO_CU" value="STANDOFF_2.3MM_NO_CU"/>
<part name="STANDOFF4" library="TMF_Hardware" deviceset="STANDOFF" device="_2.3MM_NO_CU" value="STANDOFF_2.3MM_NO_CU"/>
<part name="SJ2" library="TMF_Connectors" deviceset="JMP_PAD_2X1_CLOSED_BY_PASTE" device="_NORMAL" value="RED"/>
<part name="SJ3" library="TMF_Connectors" deviceset="JMP_PAD_2X1_CLOSED_BY_PASTE" device="_NORMAL" value="GRN"/>
<part name="SJ4" library="TMF_Connectors" deviceset="JMP_PAD_2X1_CLOSED_BY_PASTE" device="_NORMAL" value="BLU"/>
<part name="SJ1" library="TMF_Connectors" deviceset="JMP_PAD_2X1_CLOSED_BY_PASTE" device="_NORMAL" value="ANODE"/>
<part name="SUPPLY5" library="TMF_Supply" deviceset="VCC" device=""/>
</parts>
<sheets>
<sheet>
<plain>
<text x="60.96" y="91.44" size="1.778" layer="97" align="center-right">VCC</text>
<text x="60.96" y="88.9" size="1.778" layer="97" align="center-right">RED</text>
<text x="60.96" y="86.36" size="1.778" layer="97" align="center-right">GREEN</text>
<text x="60.96" y="83.82" size="1.778" layer="97" align="center-right">BLUE</text>
<text x="60.96" y="81.28" size="1.778" layer="97" align="center-right">GND</text>
<text x="203.2" y="91.44" size="1.778" layer="97" align="center-left">COMMON ANODE</text>
<text x="203.2" y="88.9" size="1.778" layer="97" align="center-left">RED</text>
<text x="203.2" y="86.36" size="1.778" layer="97" align="center-left">GREEN</text>
<text x="203.2" y="83.82" size="1.778" layer="97" align="center-left">BLUE</text>
<text x="175.26" y="12.7" size="2.1844" layer="95" align="top-left">TinkerMill
Longmont, CO</text>
<text x="243.84" y="7.62" size="2.1844" layer="95">1.0</text>
</plain>
<instances>
<instance part="FRAME1" gate="G$1" x="0" y="0" smashed="yes"/>
<instance part="FRAME1" gate="G$2" x="152.4" y="0" smashed="yes">
<attribute name="LAST_DATE_TIME" x="165.1" y="1.27" size="2.54" layer="94"/>
<attribute name="SHEET" x="238.76" y="1.27" size="2.54" layer="94"/>
<attribute name="DRAWING_NAME" x="167.64" y="17.78" size="2.54" layer="94"/>
</instance>
<instance part="Q1" gate="G$1" x="104.14" y="114.3" smashed="yes">
<attribute name="VALUE" x="110.49" y="111.76" size="1.778" layer="96"/>
<attribute name="NAME" x="110.49" y="114.3" size="1.778" layer="95"/>
</instance>
<instance part="Q2" gate="G$1" x="104.14" y="86.36" smashed="yes">
<attribute name="VALUE" x="110.49" y="83.82" size="1.778" layer="96"/>
<attribute name="NAME" x="110.49" y="86.36" size="1.778" layer="95"/>
</instance>
<instance part="Q3" gate="G$1" x="104.14" y="58.42" smashed="yes">
<attribute name="VALUE" x="110.49" y="55.88" size="1.778" layer="96"/>
<attribute name="NAME" x="110.49" y="58.42" size="1.778" layer="95"/>
</instance>
<instance part="R1" gate="G$1" x="96.52" y="109.22" smashed="yes" rot="R90">
<attribute name="NAME" x="99.06" y="110.49" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="99.06" y="107.95" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="R2" gate="G$1" x="96.52" y="81.28" smashed="yes" rot="R90">
<attribute name="NAME" x="99.06" y="82.55" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="99.06" y="80.01" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="R3" gate="G$1" x="96.52" y="53.34" smashed="yes" rot="R90">
<attribute name="NAME" x="99.06" y="54.61" size="1.778" layer="95" align="center-left"/>
<attribute name="VALUE" x="99.06" y="52.07" size="1.778" layer="96" align="center-left"/>
</instance>
<instance part="SUPPLY1" gate="G$1" x="106.68" y="104.14" smashed="yes">
<attribute name="VALUE" x="106.68" y="99.06" size="1.778" layer="96" align="bottom-center"/>
</instance>
<instance part="SUPPLY2" gate="G$1" x="106.68" y="76.2" smashed="yes">
<attribute name="VALUE" x="106.68" y="71.12" size="1.778" layer="96" align="bottom-center"/>
</instance>
<instance part="SUPPLY3" gate="G$1" x="106.68" y="48.26" smashed="yes">
<attribute name="VALUE" x="106.68" y="43.18" size="1.778" layer="96" align="bottom-center"/>
</instance>
<instance part="SUPPLY4" gate="G$1" x="76.2" y="78.74" smashed="yes">
<attribute name="VALUE" x="76.2" y="73.66" size="1.778" layer="96" align="bottom-center"/>
</instance>
<instance part="J2" gate="G$1" x="198.12" y="88.9" smashed="yes" rot="MR0">
<attribute name="NAME" x="198.12" y="95.25" size="1.778" layer="95" rot="MR0" align="bottom-center"/>
<attribute name="VALUE" x="198.12" y="80.01" size="1.778" layer="96" rot="MR0" align="top-center"/>
</instance>
<instance part="J1" gate="G$1" x="66.04" y="86.36" smashed="yes" rot="MR180">
<attribute name="NAME" x="66.04" y="95.25" size="1.778" layer="95" rot="MR0" align="bottom-center"/>
<attribute name="VALUE" x="66.04" y="77.47" size="1.778" layer="96" rot="MR0" align="top-center"/>
</instance>
<instance part="R5" gate="G$1" x="139.7" y="121.92" smashed="yes">
<attribute name="NAME" x="139.7" y="124.46" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="119.38" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="R6" gate="G$1" x="139.7" y="93.98" smashed="yes">
<attribute name="NAME" x="139.7" y="96.52" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="91.44" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="R7" gate="G$1" x="139.7" y="66.04" smashed="yes">
<attribute name="NAME" x="139.7" y="68.58" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="63.5" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="R4" gate="G$1" x="139.7" y="149.86" smashed="yes">
<attribute name="NAME" x="139.7" y="152.4" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="147.32" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="STANDOFF1" gate="G$1" x="241.3" y="25.4" smashed="yes"/>
<instance part="STANDOFF2" gate="G$1" x="243.84" y="25.4" smashed="yes"/>
<instance part="STANDOFF3" gate="G$1" x="246.38" y="25.4" smashed="yes"/>
<instance part="STANDOFF4" gate="G$1" x="248.92" y="25.4" smashed="yes"/>
<instance part="SJ2" gate="G$1" x="139.7" y="109.22" smashed="yes" rot="R90">
<attribute name="NAME" x="139.7" y="111.76" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="106.68" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="SJ3" gate="G$1" x="139.7" y="81.28" smashed="yes" rot="R90">
<attribute name="NAME" x="139.7" y="83.82" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="78.74" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="SJ4" gate="G$1" x="139.7" y="53.34" smashed="yes" rot="R90">
<attribute name="NAME" x="139.7" y="55.88" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="50.8" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="SJ1" gate="G$1" x="139.7" y="137.16" smashed="yes" rot="R90">
<attribute name="NAME" x="139.7" y="139.7" size="1.778" layer="95" align="bottom-center"/>
<attribute name="VALUE" x="139.7" y="134.62" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="SUPPLY5" gate="G$1" x="86.36" y="154.94" smashed="yes">
<attribute name="VALUE" x="86.36" y="158.75" size="1.778" layer="96" align="bottom-center"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="N$1" class="0">
<segment>
<pinref part="R1" gate="G$1" pin="2"/>
<pinref part="Q1" gate="G$1" pin="G"/>
<wire x1="96.52" y1="114.3" x2="101.6" y2="114.3" width="0.1524" layer="91"/>
<wire x1="73.66" y1="88.9" x2="86.36" y2="88.9" width="0.1524" layer="91"/>
<wire x1="86.36" y1="88.9" x2="86.36" y2="114.3" width="0.1524" layer="91"/>
<wire x1="86.36" y1="114.3" x2="96.52" y2="114.3" width="0.1524" layer="91"/>
<junction x="96.52" y="114.3"/>
<pinref part="J1" gate="G$1" pin="4"/>
</segment>
</net>
<net name="GND" class="0">
<segment>
<pinref part="Q1" gate="G$1" pin="S"/>
<pinref part="SUPPLY1" gate="G$1" pin="GND"/>
<wire x1="106.68" y1="109.22" x2="106.68" y2="104.14" width="0.1524" layer="91"/>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="96.52" y1="104.14" x2="106.68" y2="104.14" width="0.1524" layer="91"/>
<junction x="106.68" y="104.14"/>
</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="S"/>
<pinref part="SUPPLY2" gate="G$1" pin="GND"/>
<wire x1="106.68" y1="76.2" x2="106.68" y2="81.28" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="1"/>
<wire x1="96.52" y1="76.2" x2="106.68" y2="76.2" width="0.1524" layer="91"/>
<junction x="106.68" y="76.2"/>
</segment>
<segment>
<pinref part="R3" gate="G$1" pin="1"/>
<pinref part="SUPPLY3" gate="G$1" pin="GND"/>
<wire x1="96.52" y1="48.26" x2="106.68" y2="48.26" width="0.1524" layer="91"/>
<pinref part="Q3" gate="G$1" pin="S"/>
<wire x1="106.68" y1="48.26" x2="106.68" y2="53.34" width="0.1524" layer="91"/>
<junction x="106.68" y="48.26"/>
</segment>
<segment>
<pinref part="SUPPLY4" gate="G$1" pin="GND"/>
<wire x1="76.2" y1="78.74" x2="76.2" y2="81.28" width="0.1524" layer="91"/>
<wire x1="76.2" y1="81.28" x2="73.66" y2="81.28" width="0.1524" layer="91"/>
<pinref part="J1" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="R2" gate="G$1" pin="2"/>
<pinref part="Q2" gate="G$1" pin="G"/>
<wire x1="96.52" y1="86.36" x2="101.6" y2="86.36" width="0.1524" layer="91"/>
<wire x1="73.66" y1="86.36" x2="96.52" y2="86.36" width="0.1524" layer="91"/>
<junction x="96.52" y="86.36"/>
<pinref part="J1" gate="G$1" pin="3"/>
</segment>
</net>
<net name="N$3" class="0">
<segment>
<pinref part="Q3" gate="G$1" pin="G"/>
<pinref part="R3" gate="G$1" pin="2"/>
<wire x1="101.6" y1="58.42" x2="96.52" y2="58.42" width="0.1524" layer="91"/>
<wire x1="73.66" y1="83.82" x2="86.36" y2="83.82" width="0.1524" layer="91"/>
<wire x1="86.36" y1="83.82" x2="86.36" y2="58.42" width="0.1524" layer="91"/>
<wire x1="86.36" y1="58.42" x2="96.52" y2="58.42" width="0.1524" layer="91"/>
<junction x="96.52" y="58.42"/>
<pinref part="J1" gate="G$1" pin="2"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<pinref part="J2" gate="G$1" pin="2"/>
<wire x1="144.78" y1="121.92" x2="147.32" y2="121.92" width="0.1524" layer="91"/>
<wire x1="147.32" y1="121.92" x2="172.72" y2="121.92" width="0.1524" layer="91"/>
<wire x1="190.5" y1="88.9" x2="172.72" y2="88.9" width="0.1524" layer="91"/>
<wire x1="172.72" y1="88.9" x2="172.72" y2="121.92" width="0.1524" layer="91"/>
<pinref part="R5" gate="G$1" pin="2"/>
<pinref part="SJ2" gate="G$1" pin="2"/>
<wire x1="144.78" y1="109.22" x2="147.32" y2="109.22" width="0.1524" layer="91"/>
<wire x1="147.32" y1="109.22" x2="147.32" y2="121.92" width="0.1524" layer="91"/>
<junction x="147.32" y="121.92"/>
</segment>
</net>
<net name="N$5" class="0">
<segment>
<wire x1="165.1" y1="93.98" x2="147.32" y2="93.98" width="0.1524" layer="91"/>
<pinref part="J2" gate="G$1" pin="3"/>
<wire x1="190.5" y1="86.36" x2="165.1" y2="86.36" width="0.1524" layer="91"/>
<wire x1="165.1" y1="86.36" x2="165.1" y2="93.98" width="0.1524" layer="91"/>
<pinref part="R6" gate="G$1" pin="2"/>
<wire x1="144.78" y1="93.98" x2="147.32" y2="93.98" width="0.1524" layer="91"/>
<pinref part="SJ3" gate="G$1" pin="2"/>
<wire x1="144.78" y1="81.28" x2="147.32" y2="81.28" width="0.1524" layer="91"/>
<wire x1="147.32" y1="81.28" x2="147.32" y2="93.98" width="0.1524" layer="91"/>
<junction x="147.32" y="93.98"/>
</segment>
</net>
<net name="N$6" class="0">
<segment>
<wire x1="165.1" y1="66.04" x2="165.1" y2="83.82" width="0.1524" layer="91"/>
<wire x1="165.1" y1="83.82" x2="190.5" y2="83.82" width="0.1524" layer="91"/>
<pinref part="J2" gate="G$1" pin="4"/>
<pinref part="R7" gate="G$1" pin="2"/>
<wire x1="144.78" y1="66.04" x2="147.32" y2="66.04" width="0.1524" layer="91"/>
<pinref part="SJ4" gate="G$1" pin="2"/>
<wire x1="147.32" y1="66.04" x2="165.1" y2="66.04" width="0.1524" layer="91"/>
<wire x1="144.78" y1="53.34" x2="147.32" y2="53.34" width="0.1524" layer="91"/>
<wire x1="147.32" y1="53.34" x2="147.32" y2="66.04" width="0.1524" layer="91"/>
<junction x="147.32" y="66.04"/>
</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="R4" gate="G$1" pin="2"/>
<wire x1="180.34" y1="149.86" x2="147.32" y2="149.86" width="0.1524" layer="91"/>
<pinref part="J2" gate="G$1" pin="1"/>
<wire x1="147.32" y1="149.86" x2="144.78" y2="149.86" width="0.1524" layer="91"/>
<wire x1="190.5" y1="91.44" x2="180.34" y2="91.44" width="0.1524" layer="91"/>
<wire x1="180.34" y1="91.44" x2="180.34" y2="149.86" width="0.1524" layer="91"/>
<pinref part="SJ1" gate="G$1" pin="2"/>
<wire x1="147.32" y1="149.86" x2="147.32" y2="137.16" width="0.1524" layer="91"/>
<wire x1="147.32" y1="137.16" x2="144.78" y2="137.16" width="0.1524" layer="91"/>
<junction x="147.32" y="149.86"/>
</segment>
</net>
<net name="N$8" class="0">
<segment>
<pinref part="R5" gate="G$1" pin="1"/>
<wire x1="106.68" y1="121.92" x2="132.08" y2="121.92" width="0.1524" layer="91"/>
<pinref part="Q1" gate="G$1" pin="D"/>
<wire x1="132.08" y1="121.92" x2="134.62" y2="121.92" width="0.1524" layer="91"/>
<wire x1="106.68" y1="119.38" x2="106.68" y2="121.92" width="0.1524" layer="91"/>
<pinref part="SJ2" gate="G$1" pin="1"/>
<wire x1="134.62" y1="109.22" x2="132.08" y2="109.22" width="0.1524" layer="91"/>
<wire x1="132.08" y1="109.22" x2="132.08" y2="121.92" width="0.1524" layer="91"/>
<junction x="132.08" y="121.92"/>
</segment>
</net>
<net name="N$9" class="0">
<segment>
<pinref part="R6" gate="G$1" pin="1"/>
<wire x1="106.68" y1="93.98" x2="132.08" y2="93.98" width="0.1524" layer="91"/>
<pinref part="Q2" gate="G$1" pin="D"/>
<wire x1="132.08" y1="93.98" x2="134.62" y2="93.98" width="0.1524" layer="91"/>
<wire x1="106.68" y1="91.44" x2="106.68" y2="93.98" width="0.1524" layer="91"/>
<pinref part="SJ3" gate="G$1" pin="1"/>
<wire x1="134.62" y1="81.28" x2="132.08" y2="81.28" width="0.1524" layer="91"/>
<wire x1="132.08" y1="81.28" x2="132.08" y2="93.98" width="0.1524" layer="91"/>
<junction x="132.08" y="93.98"/>
</segment>
</net>
<net name="N$10" class="0">
<segment>
<pinref part="R7" gate="G$1" pin="1"/>
<wire x1="106.68" y1="66.04" x2="132.08" y2="66.04" width="0.1524" layer="91"/>
<pinref part="Q3" gate="G$1" pin="D"/>
<wire x1="132.08" y1="66.04" x2="134.62" y2="66.04" width="0.1524" layer="91"/>
<wire x1="106.68" y1="63.5" x2="106.68" y2="66.04" width="0.1524" layer="91"/>
<pinref part="SJ4" gate="G$1" pin="1"/>
<wire x1="134.62" y1="53.34" x2="132.08" y2="53.34" width="0.1524" layer="91"/>
<wire x1="132.08" y1="53.34" x2="132.08" y2="66.04" width="0.1524" layer="91"/>
<junction x="132.08" y="66.04"/>
</segment>
</net>
<net name="VCC" class="0">
<segment>
<wire x1="76.2" y1="149.86" x2="76.2" y2="91.44" width="0.1524" layer="91"/>
<wire x1="76.2" y1="91.44" x2="73.66" y2="91.44" width="0.1524" layer="91"/>
<pinref part="J1" gate="G$1" pin="5"/>
<pinref part="R4" gate="G$1" pin="1"/>
<wire x1="134.62" y1="149.86" x2="132.08" y2="149.86" width="0.1524" layer="91"/>
<pinref part="SJ1" gate="G$1" pin="1"/>
<wire x1="132.08" y1="149.86" x2="86.36" y2="149.86" width="0.1524" layer="91"/>
<wire x1="86.36" y1="149.86" x2="76.2" y2="149.86" width="0.1524" layer="91"/>
<wire x1="134.62" y1="137.16" x2="132.08" y2="137.16" width="0.1524" layer="91"/>
<wire x1="132.08" y1="137.16" x2="132.08" y2="149.86" width="0.1524" layer="91"/>
<junction x="132.08" y="149.86"/>
<pinref part="SUPPLY5" gate="G$1" pin="VCC"/>
<wire x1="86.36" y1="154.94" x2="86.36" y2="149.86" width="0.1524" layer="91"/>
<junction x="86.36" y="149.86"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
</schematic>
</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

gha_language: Python

extension: sch


text:
/*
Copyright 2021 The Kubernetes 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 topology

import (
	"testing"

	"github.com/google/go-cmp/cmp"
	"github.com/google/go-cmp/cmp/cmpopts"
	. "github.com/onsi/gomega"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	clusterv1 "sigs.k8s.io/cluster-api/api/v1alpha4"
	"sigs.k8s.io/cluster-api/controllers/topology/internal/scope"
	"sigs.k8s.io/cluster-api/internal/testtypes"
	"sigs.k8s.io/controller-runtime/pkg/client"
	"sigs.k8s.io/controller-runtime/pkg/client/fake"
)

func TestGetBlueprint(t *testing.T) {
	crds := []client.Object{
		testtypes.GenericInfrastructureClusterTemplateCRD,
		testtypes.GenericInfrastructureMachineTemplateCRD,
		testtypes.GenericInfrastructureMachineCRD,
		testtypes.GenericControlPlaneTemplateCRD,
		testtypes.GenericBootstrapConfigTemplateCRD,
	}

	// ignoreResourceVersion is an option to pass to cmpopts to ignore this field which is set by the fakeClient
	// TODO: Make composable version of these options in the builder package to reuse these filters across tests.
	ignoreResourceVersion := cmpopts.IgnoreFields(metav1.ObjectMeta{}, "ResourceVersion")

	infraClusterTemplate := testtypes.NewInfrastructureClusterTemplateBuilder(metav1.NamespaceDefault, "infraclustertemplate1").
		Build()
	controlPlaneTemplate := testtypes.NewControlPlaneTemplateBuilder(metav1.NamespaceDefault, "controlplanetemplate1").
		Build()

	controlPlaneInfrastructureMachineTemplate := testtypes.NewInfrastructureMachineTemplateBuilder(metav1.NamespaceDefault, "controlplaneinframachinetemplate1").
		Build()
	controlPlaneTemplateWithInfrastructureMachine := testtypes.NewControlPlaneTemplateBuilder(metav1.NamespaceDefault, "controlplanetempaltewithinfrastructuremachine1").
		WithInfrastructureMachineTemplate(controlPlaneInfrastructureMachineTemplate).
		Build()

	workerInfrastructureMachineTemplate := testtypes.NewInfrastructureMachineTemplateBuilder(metav1.NamespaceDefault, "workerinframachinetemplate1").
		Build()
	workerBootstrapTemplate := testtypes.NewBootstrapTemplateBuilder(metav1.NamespaceDefault, "workerbootstraptemplate1").
		Build()
	machineDeployment := testtypes.NewMachineDeploymentClassBuilder(metav1.NamespaceDefault, "machinedeployment1").
		WithClass("workerclass1").
		WithLabels(map[string]string{"foo": "bar"}).
		WithAnnotations(map[string]string{"a": "b"}).
		WithInfrastructureTemplate(workerInfrastructureMachineTemplate).
		WithBootstrapTemplate(workerBootstrapTemplate).
		Build()
	mds := []clusterv1.MachineDeploymentClass{*machineDeployment}

	tests := []struct {
		name         string
		clusterClass *clusterv1.ClusterClass
		objects      []client.Object
		want         *scope.ClusterBlueprint
		wantErr      bool
	}{
		{
			name:    "ClusterClass does not exist",
			wantErr: true,
		},
		{
			name: "ClusterClass exists without references",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "clusterclass1").
				Build(),
			wantErr: true,
		},
		{
			name: "Ref to missing InfraClusterTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "clusterclass1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				Build(),
			wantErr: true,
		},
		{
			name: "Valid ref to InfraClusterTemplate, Ref to missing ControlPlaneTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplate).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
			},
			wantErr: true,
		},
		{
			name: "Valid refs to InfraClusterTemplate and ControlPlaneTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplate).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
				controlPlaneTemplate,
			},
			want: &scope.ClusterBlueprint{
				ClusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
					WithInfrastructureClusterTemplate(infraClusterTemplate).
					WithControlPlaneTemplate(controlPlaneTemplate).
					Build(),
				InfrastructureClusterTemplate: infraClusterTemplate,
				ControlPlane: &scope.ControlPlaneBlueprint{
					Template: controlPlaneTemplate,
				},
				MachineDeployments: map[string]*scope.MachineDeploymentBlueprint{},
			},
		},
		{
			name: "Valid refs to InfraClusterTemplate, ControlPlaneTemplate and ControlPlaneInfrastructureMachineTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplateWithInfrastructureMachine).
				WithControlPlaneInfrastructureMachineTemplate(controlPlaneInfrastructureMachineTemplate).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
				controlPlaneTemplateWithInfrastructureMachine,
				controlPlaneInfrastructureMachineTemplate,
			},
			want: &scope.ClusterBlueprint{
				ClusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
					WithInfrastructureClusterTemplate(infraClusterTemplate).
					WithControlPlaneTemplate(controlPlaneTemplateWithInfrastructureMachine).
					WithControlPlaneInfrastructureMachineTemplate(controlPlaneInfrastructureMachineTemplate).
					Build(),
				InfrastructureClusterTemplate: infraClusterTemplate,
				ControlPlane: &scope.ControlPlaneBlueprint{
					Template:                      controlPlaneTemplateWithInfrastructureMachine,
					InfrastructureMachineTemplate: controlPlaneInfrastructureMachineTemplate,
				},
				MachineDeployments: map[string]*scope.MachineDeploymentBlueprint{},
			},
		},
		{
			name: "Valid refs to InfraClusterTemplate, ControlPlaneTemplate, Ref to missing ControlPlaneInfrastructureMachineTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplate).
				WithControlPlaneInfrastructureMachineTemplate(controlPlaneInfrastructureMachineTemplate).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
				controlPlaneTemplate,
			},
			wantErr: true,
		},
		{
			name: "Valid refs to InfraClusterTemplate, ControlPlaneTemplate, worker InfrastructureMachineTemplate and BootstrapTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplate).
				WithWorkerMachineDeploymentClasses(mds).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
				controlPlaneTemplate,
				workerInfrastructureMachineTemplate,
				workerBootstrapTemplate,
			},
			want: &scope.ClusterBlueprint{
				ClusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
					WithInfrastructureClusterTemplate(infraClusterTemplate).
					WithControlPlaneTemplate(controlPlaneTemplate).
					WithWorkerMachineDeploymentClasses(mds).
					Build(),
				InfrastructureClusterTemplate: infraClusterTemplate,
				ControlPlane: &scope.ControlPlaneBlueprint{
					Template: controlPlaneTemplate,
				},
				MachineDeployments: map[string]*scope.MachineDeploymentBlueprint{
					"workerclass1": {
						Metadata: clusterv1.ObjectMeta{
							Labels:      map[string]string{"foo": "bar"},
							Annotations: map[string]string{"a": "b"},
						},
						InfrastructureMachineTemplate: workerInfrastructureMachineTemplate,
						BootstrapTemplate:             workerBootstrapTemplate,
					},
				},
			},
		},
		{
			name: "Valid refs to InfraClusterTemplate, ControlPlaneTemplate, InfrastructureMachineTemplate, Ref to missing BootstrapTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplate).
				WithWorkerMachineDeploymentClasses(mds).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
				controlPlaneTemplate,
				workerInfrastructureMachineTemplate,
			},
			wantErr: true,
		},
		{
			name: "Valid refs to InfraClusterTemplate, ControlPlaneTemplate, worker BootstrapTemplate, Ref to missing InfrastructureMachineTemplate",
			clusterClass: testtypes.NewClusterClassBuilder(metav1.NamespaceDefault, "class1").
				WithInfrastructureClusterTemplate(infraClusterTemplate).
				WithControlPlaneTemplate(controlPlaneTemplate).
				WithWorkerMachineDeploymentClasses(mds).
				Build(),
			objects: []client.Object{
				infraClusterTemplate,
				controlPlaneTemplate,
				workerBootstrapTemplate,
			},
			wantErr: true,
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			g := NewWithT(t)

			objs := []client.Object{}
			objs = append(objs, crds...)
			objs = append(objs, tt.objects...)

			cluster := testtypes.NewClusterBuilder(metav1.NamespaceDefault, "cluster1").Build()

			if tt.clusterClass != nil {
				cluster.Spec.Topology = &clusterv1.Topology{
					Class: tt.clusterClass.Name,
				}
				objs = append(objs, tt.clusterClass)
			} else {
				cluster.Spec.Topology = &clusterv1.Topology{
					Class: "foo",
				}
			}

			fakeClient := fake.NewClientBuilder().
				WithScheme(fakeScheme).
				WithObjects(objs...).
				Build()

			r := &ClusterReconciler{
				Client:                    fakeClient,
				UnstructuredCachingClient: fakeClient,
			}
			got, err := r.getBlueprint(ctx, scope.New(cluster).Current.Cluster)
			if tt.wantErr {
				g.Expect(err).To(HaveOccurred())
			} else {
				g.Expect(err).NotTo(HaveOccurred())
			}

			if tt.want == nil {
				g.Expect(got).To(BeNil())
				return
			}

			// Expect the Diff resulting from each object comparison to be empty when ignoring ObjectMeta.ResourceVersion
			// This is necessary as the FakeClient adds its own ResourceVersion on object creation.
			g.Expect(cmp.Diff(tt.want.ClusterClass, got.ClusterClass, ignoreResourceVersion)).To(Equal(""),
				cmp.Diff(tt.want.ClusterClass, got.ClusterClass, ignoreResourceVersion))
			g.Expect(cmp.Diff(tt.want.InfrastructureClusterTemplate, got.InfrastructureClusterTemplate, ignoreResourceVersion)).To(Equal(""),
				cmp.Diff(tt.want.InfrastructureClusterTemplate, got.InfrastructureClusterTemplate, ignoreResourceVersion))
			g.Expect(cmp.Diff(tt.want.ControlPlane, got.ControlPlane, ignoreResourceVersion)).To(Equal(""),
				cmp.Diff(tt.want.ControlPlane, got.ControlPlane, ignoreResourceVersion))
			g.Expect(cmp.Diff(tt.want.MachineDeployments, got.MachineDeployments, ignoreResourceVersion)).To(Equal(""),
				cmp.Diff(tt.want.MachineDeployments, got.MachineDeployments, ignoreResourceVersion))
		})
	}
}

repository: juan-lee/cluster-api

repo_name: juan-lee/cluster-api

extension: go


text:
import * as bodyParser from "body-parser";
import * as cors from "cors";
import * as express from "express";
import { NextFunction, Request, Response, Router } from "express";
import { StockPriceApi } from "./stockPriceApi";

/**
 * ApiServer
 */
export class ApiServer {

    public app: express.Application;
    constructor() {
        this.app = express();
    }

    public config(): ApiServer {
        this.configureMiddlewares();
        this.configApiRoutes();

        return this;
    }

    public startServer(port: number) {
        this.app.listen(port, () => console.log(`Listening on port ${port}`));
    }

    private configureMiddlewares() {
        this.app.use(bodyParser.json());
        this.app.use(bodyParser.urlencoded({ extended: false }));
        this.app.use(cors());
    }
    private configApiRoutes() {
        let router: Router;
        router = Router();

        StockPriceApi.configureRoutes(router);

        // Configure default route
        router.get("/", (_req: Request, res: Response, _next: NextFunction) => {
            res.send("StockWatcher API is up and running...");
        });

        this.app.use(router);
    }
}

repository: LukasMomot/StockWatcher

repo_name: LukasMomot/StockWatcher

gha_language: TypeScript

extension: ts


text:
LICENSE		= "LGPL"
HOMEPAGE 	= "http://gtkextra.sourceforge.net/"
DESCRIPTION	= "Gtk+Extra is a set of custom widget for plots and images"

SRC_URI		= "${SOURCEFORGE_MIRROR}/gtkextra/gtk+extra-${PV}.tar.gz \
		   file://auto-lossage.patch"
DEPENDS		= "gtk+"

inherit autotools

SRC_URI[md5sum] = "10779394f39d39115fa3fd0f3dea4436"
SRC_URI[sha256sum] = "bfc9603e2023ea071f2661ecc29e52c94b1beed6b69deae45b466df7f5b2ce55"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD

extension: bb


text:
package main

import (
	. "fmt"
	"io"
)

// github.com/EndlessCheng/codeforces-go
func CF710E(in io.Reader, out io.Writer) {
	min := func(a, b int64) int64 {
		if a < b {
			return a
		}
		return b
	}
	var n int
	var x, y int64
	Fscan(in, &n, &x, &y)
	dp := make([]int64, n+1)
	for i := 1; i <= n; i++ {
		if i&1 > 0 {
			dp[i] = min(dp[i-1]+x, dp[i/2+1]+x+y)
		} else {
			dp[i] = min(dp[i-1]+x, dp[i/2]+y)
		}
	}
	Fprint(out, dp[n])
}

//func main() { CF710E(os.Stdin, os.Stdout) }

repository: EndlessCheng/codeforces-go

repo_name: EndlessCheng/codeforces-go

gha_language: Go