text:
42C

      CVR-42A/C

      -

      -

ALT =&nbsp;ALTERNATE

&nbsp;

</description>
<packages>
<package name="R0402">
<description>RESISTOR</description>
<wire x1="-0.245" y1="0.224" x2="0.245" y2="0.224" width="0.1524" layer="51"/>
<wire x1="0.245" y1="-0.224" x2="-0.245" y2="-0.224" width="0.1524" layer="51"/>
<wire x1="-1.473" y1="0.483" x2="1.473" y2="0.483" width="0.0508" layer="39"/>
<wire x1="1.473" y1="0.483" x2="1.473" y2="-0.483" width="0.0508" layer="39"/>
<wire x1="1.473" y1="-0.483" x2="-1.473" y2="-0.483" width="0.0508" layer="39"/>
<wire x1="-1.473" y1="-0.483" x2="-1.473" y2="0.483" width="0.0508" layer="39"/>
<smd name="1" x="-0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
<smd name="2" x="0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
<text x="-0.635" y="0.635" size="1.27" layer="25">>NAME</text>
<text x="-0.635" y="-1.905" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-0.554" y1="-0.3048" x2="-0.254" y2="0.2951" layer="51"/>
<rectangle x1="0.2588" y1="-0.3048" x2="0.5588" y2="0.2951" layer="51"/>
<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
</package>
</packages>
</library>
<library name="optocoupler">
<description>Opto Couplers

Siemens, Hewlett-Packard, Texas Instuments, Sharp, Motorola

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="SMD4">
<description>SMD 4

Source: http://www.vishay.com/docs/83673/sfh618.pdf</description>
<wire x1="2.315" y1="3.18" x2="2.315" y2="-3.18" width="0.1524" layer="21"/>
<wire x1="-2.315" y1="-1.085" x2="-2.315" y2="3.18" width="0.1524" layer="21"/>
<wire x1="-2.315" y1="3.18" x2="2.315" y2="3.18" width="0.1524" layer="51"/>
<wire x1="2.315" y1="-3.18" x2="-2.315" y2="-3.18" width="0.1524" layer="51"/>
<wire x1="-2.315" y1="-2.13" x2="-2.315" y2="-1.085" width="0.1524" layer="21" curve="180"/>
<wire x1="-2.315" y1="-3.18" x2="-2.315" y2="-2.13" width="0.1524" layer="21"/>
<wire x1="-2.315" y1="-2.13" x2="-2.315" y2="-1.085" width="0.1524" layer="21"/>
<smd name="1" x="-1.27" y="-3.5" dx="1.78" dy="1.55" layer="1"/>
<smd name="2" x="1.27" y="-3.5" dx="1.78" dy="1.55" layer="1"/>
<smd name="3" x="1.27" y="3.5" dx="1.78" dy="1.55" layer="1" rot="R180"/>
<smd name="4" x="-1.27" y="3.5" dx="1.78" dy="1.55" layer="1" rot="R180"/>
<text x="-2.54" y="-3.175" size="1.27" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="3.81" y="-3.175" size="1.27" layer="27" ratio="10" rot="R90">>VALUE</text>
<rectangle x1="-1.651" y1="-3.925" x2="-0.889" y2="-3.2" layer="51"/>
<rectangle x1="0.889" y1="-3.925" x2="1.651" y2="-3.2" layer="51"/>
<rectangle x1="0.889" y1="3.2" x2="1.651" y2="3.925" layer="51" rot="R180"/>
<rectangle x1="-1.651" y1="3.2" x2="-0.889" y2="3.925" layer="51" rot="R180"/>
</package>
</packages>
</library>
<library name="relay">
<description>Relays

Eichhoff

Finder

Fujitsu

HAMLIN

OMRON

Matsushita

NAiS

Siemens

Schrack

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="G6K-2F-Y">
<description>Low Signal Relay

oeiwcsnts1.omron.com/.. D20G6K0100.pdf</description>
<wire x1="-5" y1="3.3" x2="-4.5" y2="3.3" width="0.254" layer="21"/>
<wire x1="-4.5" y1="3.3" x2="-3.1" y2="3.3" width="0.254" layer="51"/>
<wire x1="-3.1" y1="3.3" x2="-1.3" y2="3.3" width="0.254" layer="21"/>
<wire x1="-1.3" y1="3.3" x2="0.1" y2="3.3" width="0.254" layer="51"/>
<wire x1="0.1" y1="3.3" x2="0.9" y2="3.3" width="0.254" layer="21"/>
<wire x1="0.9" y1="3.3" x2="2.3" y2="3.3" width="0.254" layer="51"/>
<wire x1="2.3" y1="3.3" x2="3.1" y2="3.3" width="0.254" layer="21"/>
<wire x1="3.1" y1="3.3" x2="4.6" y2="3.3" width="0.254" layer="51"/>
<wire x1="5" y1="3.3" x2="5" y2="-3.3" width="0.254" layer="21"/>
<wire x1="5" y1="-3.3" x2="4.6" y2="-3.3" width="0.254" layer="21"/>
<wire x1="4.6" y1="-3.3" x2="3.1" y2="-3.3" width="0.254" layer="51"/>
<wire x1="3.1" y1="-3.3" x2="2.3" y2="-3.3" width="0.254" layer="21"/>
<wire x1="2.3" y1="-3.3" x2="0.9" y2="-3.3" width="0.254" layer="51"/>
<wire x1="0.9" y1="-3.3" x2="0.1" y2="-3.3" width="0.254" layer="21"/>
<wire x1="0.1" y1="-3.3" x2="-1.3" y2="-3.3" width="0.254" layer="51"/>
<wire x1="-1.3" y1="-3.3" x2="-3" y2="-3.3" width="0.254" layer="21"/>
<wire x1="-3" y1="-3.3" x2="-4.5" y2="-3.3" width="0.254" layer="51"/>
<wire x1="-5" y1="-3.3" x2="-5" y2="3.3" width="0.254" layer="21"/>
<wire x1="-5" y1="-3.3" x2="-4.5" y2="-3.3" width="0.254" layer="21"/>
<wire x1="5" y1="3.3" x2="4.6" y2="3.3" width="0.254" layer="21"/>
<smd name="1" x="-3.8" y="-3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="8" x="-3.8" y="3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="2" x="-0.6" y="-3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="7" x="-0.6" y="3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="3" x="1.6" y="-3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="6" x="1.6" y="3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="4" x="3.8" y="-3.5" dx="1.2" dy="1.8" layer="1"/>
<smd name="5" x="3.8" y="3.5" dx="1.2" dy="1.8" layer="1"/>
<text x="-3.81" y="0.635" size="1.27" layer="25">>NAME</text>
<text x="-3.81" y="-1.905" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-4.05" y1="-3.9" x2="-3.55" y2="-3.4" layer="51"/>
<rectangle x1="-0.85" y1="-3.9" x2="-0.35" y2="-3.4" layer="51"/>
<rectangle x1="1.35" y1="-3.9" x2="1.85" y2="-3.4" layer="51"/>
<rectangle x1="3.55" y1="-3.9" x2="4.05" y2="-3.4" layer="51"/>
<rectangle x1="3.55" y1="3.4" x2="4.05" y2="3.9" layer="51"/>
<rectangle x1="1.35" y1="3.4" x2="1.85" y2="3.9" layer="51"/>
<rectangle x1="-0.85" y1="3.4" x2="-0.35" y2="3.9" layer="51"/>
<rectangle x1="-4.05" y1="3.4" x2="-3.55" y2="3.9" layer="51"/>
</package>
</packages>
</library>
<library name="SparkFun-DiscreteSemi">
<description>
SparkFun Electronics' preferred foot prints

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

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

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

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="SMA-DIODE">
<description>Diode

Basic SMA packaged diode. Good for reverse polarization protection. Common part #: MBRA140</description>
<wire x1="-2.3" y1="1" x2="-2.3" y2="1.45" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="1.45" x2="2.3" y2="1.45" width="0.2032" layer="21"/>
<wire x1="2.3" y1="1.45" x2="2.3" y2="1" width="0.2032" layer="21"/>
<wire x1="2.3" y1="-1" x2="2.3" y2="-1.45" width="0.2032" layer="21"/>
<wire x1="2.3" y1="-1.45" x2="-2.3" y2="-1.45" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-1.45" x2="-2.3" y2="-1" width="0.2032" layer="21"/>
<wire x1="1" y1="1" x2="1" y2="-1" width="0.2032" layer="21"/>
<smd name="A" x="-2.15" y="0" dx="1.27" dy="1.47" layer="1" rot="R180"/>
<smd name="C" x="2.15" y="0" dx="1.27" dy="1.47" layer="1"/>
<text x="-2.286" y="1.651" size="0.4064" layer="25">>NAME</text>
<text x="0.254" y="1.651" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="SOT23-3">
<wire x1="1.4224" y1="0.6604" x2="1.4224" y2="-0.6604" width="0.1524" layer="51"/>
<wire x1="1.4224" y1="-0.6604" x2="-1.4224" y2="-0.6604" width="0.1524" layer="51"/>
<wire x1="-1.4224" y1="-0.6604" x2="-1.4224" y2="0.6604" width="0.1524" layer="51"/>
<wire x1="-1.4224" y1="0.6604" x2="1.4224" y2="0.6604" width="0.1524" layer="51"/>
<wire x1="-0.8" y1="0.7" x2="-1.4" y2="0.7" width="0.2032" layer="21"/>
<wire x1="-1.4" y1="0.7" x2="-1.4" y2="-0.1" width="0.2032" layer="21"/>
<wire x1="0.8" y1="0.7" x2="1.4" y2="0.7" width="0.2032" layer="21"/>
<wire x1="1.4" y1="0.7" x2="1.4" y2="-0.1" width="0.2032" layer="21"/>
<smd name="1" x="-0.95" 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="3" x="0" y="1.1" dx="0.8" dy="0.9" layer="1"/>
<text x="-0.8255" y="1.778" size="0.4064" layer="25">>NAME</text>
<text x="-1.016" y="-0.1905" size="0.4064" layer="27">>VALUE</text>
</package>
</packages>
</library>
<library name="con-phoenix-500">
<description>Phoenix Connectors

Grid 5.00 mm

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="MSTBV2">
<description>PHOENIX</description>
<wire x1="-3.135" y1="0.635" x2="-3.135" y2="-0.635" width="0.1524" layer="51"/>
<wire x1="-3.135" y1="-0.635" x2="-1.865" y2="-0.635" width="0.1524" layer="51"/>
<wire x1="-1.865" y1="-0.635" x2="-1.865" y2="0.635" width="0.1524" layer="51"/>
<wire x1="-1.865" y1="0.635" x2="-3.135" y2="0.635" width="0.1524" layer="51"/>
<wire x1="-3.135" y1="0.635" x2="-1.865" y2="-0.635" width="0.1524" layer="51"/>
<wire x1="-3.135" y1="-0.635" x2="-1.865" y2="0.635" width="0.1524" layer="51"/>
<wire x1="5.755" y1="-3.81" x2="5.755" y2="3.81" width="0.1524" layer="21"/>
<wire x1="-5.675" y1="3.81" x2="5.755" y2="3.81" width="0.1524" layer="21"/>
<wire x1="-5.675" y1="3.81" x2="-5.675" y2="-3.81" width="0.1524" layer="21"/>
<wire x1="-5.04" y1="-2.54" x2="-5.04" y2="3.175" width="0.1524" layer="21"/>
<wire x1="-5.04" y1="3.175" x2="5.12" y2="3.175" width="0.1524" layer="21"/>
<wire x1="5.12" y1="3.175" x2="5.12" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="1.865" y1="0.635" x2="1.865" y2="-0.635" width="0.1524" layer="51"/>
<wire x1="1.865" y1="-0.635" x2="3.135" y2="-0.635" width="0.1524" layer="51"/>
<wire x1="3.135" y1="-0.635" x2="3.135" y2="0.635" width="0.1524" layer="51"/>
<wire x1="3.135" y1="0.635" x2="1.865" y2="0.635" width="0.1524" layer="51"/>
<wire x1="1.865" y1="0.635" x2="3.135" y2="-0.635" width="0.1524" layer="51"/>
<wire x1="1.865" y1="-0.635" x2="3.135" y2="0.635" width="0.1524" layer="51"/>
<wire x1="-5.675" y1="11.43" x2="-5.04" y2="11.43" width="0.1524" layer="21"/>
<wire x1="-4.405" y1="11.43" x2="-0.595" y2="11.43" width="0.1524" layer="21"/>
<wire x1="0.04" y1="11.43" x2="4.485" y2="11.43" width="0.1524" layer="21"/>
<wire x1="5.12" y1="11.43" x2="5.755" y2="11.43" width="0.1524" layer="21"/>
<wire x1="5.755" y1="11.43" x2="5.755" y2="10.16" width="0.1524" layer="21"/>
<wire x1="5.755" y1="9.525" x2="5.755" y2="5.08" width="0.1524" layer="21"/>
<wire x1="5.755" y1="4.445" x2="5.755" y2="3.81" width="0.1524" layer="21"/>
<wire x1="-5.675" y1="11.43" x2="-5.675" y2="10.16" width="0.1524" layer="21"/>
<wire x1="-5.675" y1="9.525" x2="-5.675" y2="5.08" width="0.1524" layer="21"/>
<wire x1="-5.675" y1="4.445" x2="-5.675" y2="3.81" width="0.1524" layer="21"/>
<wire x1="-5.675" y1="-3.81" x2="5.755" y2="-3.81" width="0.1524" layer="21"/>
<wire x1="-2.5" y1="-3.556" x2="-0.2262" y2="-2.5116" width="0.1524" layer="21" curve="49.343704"/>
<wire x1="-4.765" y1="-2.5218" x2="-2.5" y2="-3.5561" width="0.1524" layer="21" curve="49.085306"/>
<wire x1="-5.04" y1="-2.54" x2="-4.786" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="-0.214" y1="-2.54" x2="0.294" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="0.315" y1="-2.5218" x2="2.58" y2="-3.556" width="0.1524" layer="21" curve="49.086179"/>
<wire x1="2.58" y1="-3.556" x2="4.8538" y2="-2.5116" width="0.1524" layer="21" curve="49.343704"/>
<wire x1="4.866" y1="-2.54" x2="5.12" y2="-2.54" width="0.1524" layer="21"/>
<pad name="1" x="-2.5" y="0" drill="1.397" shape="long" rot="R90"/>
<pad name="2" x="2.5" y="0" drill="1.397" shape="long" rot="R90"/>
<text x="-5.04" y="-5.715" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-5.04" y="5.08" size="1.27" layer="27" ratio="10">>VALUE</text>
<text x="1.8688" y="8.255" size="1.27" layer="21" ratio="10">2</text>
<text x="-3.0588" y="8.255" size="1.27" layer="21" ratio="10">1</text>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0.2032" drill="0">
<clearance class="0" value="0.1524"/>
</class>
<class number="1" name="VCC1" width="0.508" drill="0">
<clearance class="1" value="0.3048"/>
</class>
<class number="2" name="AC" width="1.016" drill="0">
<clearance class="2" value="2.54"/>
</class>
<class number="3" name="SWITCH" width="0.6096" drill="0">
<clearance class="3" value="0.4064"/>
</class>
</classes>
<designrules name="default *">
<description language="de">EAGLE Design Rules

Die Standard-Design-Rules sind so gewählt, dass sie für
die meisten Anwendungen passen. Sollte ihre Platine
besondere Anforderungen haben, treffen Sie die erforderlichen
Einstellungen hier und speichern die Design Rules unter
einem neuen Namen ab.</description>
<description language="en">EAGLE Design Rules

The default Design Rules have been set to cover
a wide range of applications. Your particular design
may have different requirements, so please make the
necessary adjustments and save your customized
design rules under a new name.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="8mil"/>
<param name="mdWirePad" value="8mil"/>
<param name="mdWireVia" value="8mil"/>
<param name="mdPadPad" value="8mil"/>
<param name="mdPadVia" value="8mil"/>
<param name="mdViaVia" value="8mil"/>
<param name="mdSmdPad" value="8mil"/>
<param name="mdSmdVia" value="8mil"/>
<param name="mdSmdSmd" value="8mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="10mil"/>
<param name="mdDrill" value="8mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="10mil"/>
<param name="msDrill" value="24mil"/>
<param name="msMicroVia" value="9.99mm"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="10mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="10mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="10mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="6mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="6mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="-1"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="4mil"/>
<param name="mlMaxStopFrame" value="4mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="0mil"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkGrid" value="0"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="1"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="0.0625mm"/>
<param name="AutoGrid" value="0"/>
<param name="Efforts" value="0"/>
<param name="TopRouterVariant" value="0"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="-"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="|"/>
<param name="cfVia" value="50"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="30"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
<param name="cfVia" value="8"/>
<param name="mnVias" value="20"/>
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="mnVias" value="20"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
</pass>
<pass name="Optimize4" refer="Optimize3" active="yes">
<param name="cfChangeDir" value="6"/>
<param name="cfDiagStep" value="4"/>
</pass>
<pass name="Optimize5" refer="Optimize4" active="no">
<param name="cfChangeDir" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfBonusStep" value="0"/>
<param name="cfMalusStep" value="0"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize6" refer="Optimize5" active="no">
</pass>
<pass name="Optimize7" refer="Optimize6" active="no">
</pass>
<pass name="Optimize8" refer="Optimize7" active="no">
</pass>
</autorouter>
<elements>
<element name="X1" library="Multiconnect_base" package="FTE-114-XX-G-DH" value="SSW-114-02-S-D-DH" x="77" y="24" locked="yes" smashed="yes" rot="MR270">
<attribute name="NAME" x="80" y="30.5" size="0.4064" layer="26" rot="MR0"/>
<attribute name="VALUE" x="78.5" y="30.5" size="0.4064" layer="28" rot="MR0"/>
</element>
<element name="OK1" library="optocoupler" package="SMD4" value="LTV816S" x="79.5" y="30" smashed="yes" rot="R180">
<attribute name="MPN" value="" x="130" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="OC_FARNELL" value="unknown" x="130" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="OC_NEWARK" value="unknown" x="130" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="MF" value="" x="130" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="NAME" x="77" y="35" size="0.4064" layer="25" ratio="10"/>
<attribute name="VALUE" x="77" y="34.5" size="0.4064" layer="27" ratio="10"/>
</element>
<element name="OK2" library="optocoupler" package="SMD4" value="LTV816S" x="72.5" y="30" smashed="yes" rot="R180">
<attribute name="MPN" value="" x="141" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="OC_FARNELL" value="unknown" x="141" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="OC_NEWARK" value="unknown" x="141" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="MF" value="" x="141" y="-28" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="NAME" x="70" y="35" size="0.4064" layer="25" ratio="10"/>
<attribute name="VALUE" x="70" y="34.5" size="0.4064" layer="27" ratio="10"/>
</element>
<element name="R4" library="rcl" package="R0402" value="4k7" x="76" y="27.5" smashed="yes" rot="R90">
<attribute name="NAME" x="75.5" y="30" size="0.4064" layer="25"/>
<attribute name="VALUE" x="75.5" y="29.5" size="0.4064" layer="27"/>
</element>
<element name="R3" library="rcl" package="R0402" value="4k7" x="76" y="32.5" smashed="yes" rot="R90">
<attribute name="NAME" x="75.5" y="35" size="0.4064" layer="25"/>
<attribute name="VALUE" x="75.5" y="34.5" size="0.4064" layer="27"/>
</element>
<element name="R7" library="rcl" package="R0402" value="10k" x="83" y="27.5" smashed="yes" rot="R90">
<attribute name="NAME" x="82.5" y="30" size="0.4064" layer="25"/>
<attribute name="VALUE" x="82.5" y="29.5" size="0.4064" layer="27"/>
</element>
<element name="R8" library="rcl" package="R0402" value="10k" x="83" y="32.5" smashed="yes" rot="R90">
<attribute name="NAME" x="82.5" y="35" size="0.4064" layer="25"/>
<attribute name="VALUE" x="82.5" y="34.5" size="0.4064" layer="27"/>
</element>
<element name="K1" library="relay" package="G6K-2F-Y" value="G6K-2F-Y" x="80" y="18.5" smashed="yes" rot="R270">
<attribute name="MPN" value="G6K-2F-Y DC3" x="22" y="54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_FARNELL" value="1690316" x="22" y="54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_NEWARK" value="89C6451" x="22" y="54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="MF" value="OMRON COMPONENTS USA" x="22" y="54" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="NAME" x="78" y="15" size="0.4064" layer="25"/>
<attribute name="VALUE" x="78" y="14" size="0.4064" layer="27"/>
</element>
<element name="D1" library="SparkFun-DiscreteSemi" package="SMA-DIODE" value="MBRA140" x="72" y="21.5" smashed="yes" rot="R90">
<attribute name="PROD_ID" value="DIO-08053" x="75" y="-35" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="NAME" x="70" y="19" size="0.4064" layer="25" rot="R90"/>
<attribute name="VALUE" x="70" y="20.5" size="0.4064" layer="27" rot="R90"/>
</element>
<element name="Q1" library="SparkFun-DiscreteSemi" package="SOT23-3" value="MMBT5088" x="71" y="3.5" smashed="yes" rot="R90">
<attribute name="PROD_ID" value="TRANS-11160" x="71" y="3.5" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" value="MMBT5088" x="71" y="3.5" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="NAME" x="69.5" y="5.5" size="0.4064" layer="25"/>
<attribute name="VALUE" x="70.5" y="5.5" size="0.4064" layer="27"/>
</element>
<element name="R11" library="rcl" package="R0402" value="1k" x="74" y="3.5" smashed="yes" rot="R270">
<attribute name="NAME" x="73" y="1" size="0.4064" layer="25"/>
<attribute name="VALUE" x="74.5" y="1" size="0.4064" layer="27"/>
</element>
<element name="K2" library="relay" package="G6K-2F-Y" value="G6K-2F-Y" x="80" y="7" smashed="yes" rot="R270">
<attribute name="MPN" value="G6K-2F-Y DC3" x="-2" y="42.5" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_FARNELL" value="1690316" x="-2" y="42.5" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="OC_NEWARK" value="89C6451" x="-2" y="42.5" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="MF" value="OMRON COMPONENTS USA" x="-2" y="42.5" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="NAME" x="78" y="3.5" size="0.4064" layer="25"/>
<attribute name="VALUE" x="78" y="2.5" size="0.4064" layer="27"/>
</element>
<element name="D2" library="SparkFun-DiscreteSemi" package="SMA-DIODE" value="MBRA140" x="72" y="9.5" smashed="yes" rot="R90">
<attribute name="PROD_ID" value="DIO-08053" x="126.5" y="-41" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="NAME" x="70" y="7" size="0.4064" layer="25" rot="R90"/>
<attribute name="VALUE" x="70" y="8.5" size="0.4064" layer="27" rot="R90"/>
</element>
<element name="Q2" library="SparkFun-DiscreteSemi" package="SOT23-3" value="MMBT5088" x="71" y="15" smashed="yes" rot="R90">
<attribute name="PROD_ID" value="TRANS-11160" x="71" y="15" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" value="MMBT5088" x="71" y="15" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="NAME" x="69.5" y="17" size="0.4064" layer="25"/>
<attribute name="VALUE" x="70.5" y="17" size="0.4064" layer="27"/>
</element>
<element name="R12" library="rcl" package="R0402" value="1k" x="74" y="15" smashed="yes" rot="R270">
<attribute name="NAME" x="73" y="12.5" size="0.4064" layer="25"/>
<attribute name="VALUE" x="74.5" y="12.5" size="0.4064" layer="27"/>
</element>
<element name="X2" library="con-phoenix-500" package="MSTBV2" value="" x="89" y="30" locked="yes" smashed="yes" rot="MR90">
<attribute name="MPN" value="" x="89" y="30" size="1.778" layer="28" rot="MR90" display="off"/>
<attribute name="OC_FARNELL" value="unknown" x="89" y="30" size="1.778" layer="28" rot="MR90" display="off"/>
<attribute name="OC_NEWARK" value="unknown" x="89" y="30" size="1.778" layer="28" rot="MR90" display="off"/>
<attribute name="MF" value="" x="89" y="30" size="1.778" layer="28" rot="MR90" display="off"/>
<attribute name="NAME" x="84.25" y="35" size="0.4064" layer="26" ratio="10" rot="MR90"/>
<attribute name="VALUE" x="94.08" y="24.96" size="1.27" layer="28" ratio="10" rot="MR90"/>
</element>
<element name="X3" library="Multiconnect_base" package="8POL254" value="" x="90" y="12.5" smashed="yes" rot="MR270">
<attribute name="MPN" value="" x="90" y="12.5" size="1.778" layer="28" rot="MR270" display="off"/>
<attribute name="OC_FARNELL" value="unknown" x="90" y="12.5" size="1.778" layer="28" rot="MR270" display="off"/>
<attribute name="OC_NEWARK" value="unknown" x="90" y="12.5" size="1.778" layer="28" rot="MR270" display="off"/>
<attribute name="MF" value="" x="90" y="12.5" size="1.778" layer="28" rot="MR270" display="off"/>
<attribute name="NAME" x="88" y="23" size="0.4064" layer="26" rot="MR90"/>
<attribute name="VALUE" x="101.303" y="23.549" size="1.27" layer="28" rot="MR270"/>
</element>
<element name="PWS1" library="Multiconnect_base" package="TRACO_TMPS03XXX" value="TRACO_TMLM-TMPS2" x="71.5" y="36.5" smashed="yes" rot="MR90">
<attribute name="NAME" x="80.5" y="61" size="0.4064" layer="25" rot="R180"/>
<attribute name="VALUE" x="78" y="61" size="0.4064" layer="27" rot="R180"/>
</element>
</elements>
<signals>
<signal name="VCC33" class="1">
<contactref element="X1" pad="2"/>
<contactref element="X1" pad="1"/>
<contactref element="R3" pad="2"/>
<contactref element="R4" pad="2"/>
<contactref element="D1" pad="C"/>
<contactref element="K1" pad="8"/>
<contactref element="D2" pad="C"/>
<contactref element="K2" pad="8"/>
<contactref element="PWS1" pad="5"/>
<wire x1="81.0625" y1="23.625" x2="80.3125" y2="23.625" width="0.508" layer="1"/>
<wire x1="80.3125" y1="23.625" x2="72" y2="23.625" width="0.508" layer="1"/>
<wire x1="82.375" y1="22.3125" x2="81.0625" y2="23.625" width="0.508" layer="1"/>
<wire x1="83.5" y1="22.3125" x2="82.375" y2="22.3125" width="0.508" layer="1"/>
<wire x1="72" y1="23.625" x2="72" y2="23.65" width="0.508" layer="1"/>
<wire x1="83.5" y1="22.3125" x2="83.5" y2="22.3" width="0.508" layer="1"/>
<wire x1="74.4375" y1="11.625" x2="72" y2="11.625" width="0.508" layer="1"/>
<wire x1="74.9375" y1="12.125" x2="74.4375" y2="11.625" width="0.508" layer="1"/>
<wire x1="81.5625" y1="12.125" x2="80.5" y2="12.125" width="0.508" layer="1"/>
<wire x1="80.5" y1="12.125" x2="74.9375" y2="12.125" width="0.508" layer="1"/>
<wire x1="82.375" y1="11.3125" x2="81.5625" y2="12.125" width="0.508" layer="1"/>
<wire x1="82.375" y1="10.8125" x2="82.375" y2="11.3125" width="0.508" layer="1"/>
<wire x1="83.5" y1="10.8125" x2="82.375" y2="10.8125" width="0.508" layer="1"/>
<wire x1="72" y1="11.625" x2="72" y2="11.65" width="0.508" layer="1"/>
<wire x1="83.5" y1="10.8125" x2="83.5" y2="10.8" width="0.508" layer="1"/>
<wire x1="76" y1="30.25" x2="76" y2="28.15" width="0.508" layer="1"/>
<wire x1="75.75" y1="30.25" x2="76" y2="30.25" width="0.508" layer="1"/>
<wire x1="75.75" y1="29.25" x2="75.75" y2="30.25" width="0.508" layer="16"/>
<wire x1="75.75" y1="29.25" x2="75.73" y2="29.2" width="0.508" layer="16"/>
<wire x1="76" y1="34.3125" x2="76" y2="33.15" width="0.508" layer="1"/>
<wire x1="75.8125" y1="34.3125" x2="76" y2="34.3125" width="0.508" layer="1"/>
<wire x1="75.8125" y1="30.5" x2="75.8125" y2="34.3125" width="0.508" layer="16"/>
<wire x1="75.8125" y1="30.5" x2="75.75" y2="30.25" width="0.508" layer="16"/>
<wire x1="78.125" y1="29.375" x2="78.25" y2="29.25" width="0.508" layer="16"/>
<wire x1="76" y1="29.375" x2="78.125" y2="29.375" width="0.508" layer="16"/>
<wire x1="78.25" y1="29.25" x2="78.27" y2="29.2" width="0.508" layer="16"/>
<wire x1="76" y1="29.375" x2="75.73" y2="29.2" width="0.508" layer="16"/>
<wire x1="74.0625" y1="51.875" x2="74.0625" y2="59.3125" width="0.508" layer="16"/>
<wire x1="75.5625" y1="50.375" x2="74.0625" y2="51.875" width="0.508" layer="16"/>
<wire x1="75.5625" y1="34.375" x2="75.5625" y2="50.375" width="0.508" layer="16"/>
<wire x1="74.0625" y1="59.3125" x2="74.06" y2="59.36" width="0.508" layer="16"/>
<wire x1="75.5625" y1="34.375" x2="75.8125" y2="34.3125" width="0.508" layer="16"/>
<wire x1="80.6875" y1="12.375" x2="80.5" y2="12.375" width="0.508" layer="16"/>
<wire x1="80.6875" y1="16.25" x2="80.6875" y2="12.375" width="0.508" layer="16"/>
<wire x1="80.5625" y1="16.375" x2="80.6875" y2="16.25" width="0.508" layer="16"/>
<wire x1="80.5625" y1="23.6875" x2="80.5625" y2="23.625" width="0.508" layer="16"/>
<wire x1="80.5625" y1="23.625" x2="80.5625" y2="16.375" width="0.508" layer="16"/>
<wire x1="80" y1="24.25" x2="80.5625" y2="23.6875" width="0.508" layer="16"/>
<wire x1="80" y1="28.75" x2="80" y2="24.25" width="0.508" layer="16"/>
<wire x1="79.375" y1="29.375" x2="80" y2="28.75" width="0.508" layer="16"/>
<wire x1="78.5" y1="29.375" x2="79.375" y2="29.375" width="0.508" layer="16"/>
<wire x1="78.5" y1="29.3125" x2="78.5" y2="29.375" width="0.508" layer="16"/>
<wire x1="80.5" y1="12.375" x2="80.5" y2="12.125" width="0.508" layer="1"/>
<wire x1="78.5" y1="29.3125" x2="78.27" y2="29.2" width="0.508" layer="16"/>
<wire x1="80.3125" y1="23.625" x2="80.5625" y2="23.625" width="0.508" layer="16"/>
<via x="75.75" y="30.25" extent="1-16" drill="0.6096"/>
<via x="75.8125" y="34.3125" extent="1-16" drill="0.6096"/>
<via x="80.5" y="12.375" extent="1-16" drill="0.6096"/>
<via x="80.3125" y="23.625" extent="1-16" drill="0.6096"/>
</signal>
<signal name="GND" class="1">
<contactref element="X1" pad="28"/>
<contactref element="X1" pad="27"/>
<contactref element="Q1" pad="2"/>
<contactref element="OK2" pad="3"/>
<contactref element="OK1" pad="3"/>
<contactref element="Q2" pad="2"/>
<contactref element="PWS1" pad="4"/>
<wire x1="71.25" y1="25" x2="71.25" y2="26.5" width="0.508" layer="1"/>
<wire x1="75.75" y1="25" x2="71.25" y2="25" width="0.508" layer="1"/>
<wire x1="77.25" y1="26.5" x2="75.75" y2="25" width="0.508" layer="1"/>
<wire x1="78.23" y1="26.5" x2="77.25" y2="26.5" width="0.508" layer="1"/>
<wire x1="71.25" y1="26.5" x2="71.23" y2="26.5" width="0.508" layer="1"/>
<wire x1="75.875" y1="18.625" x2="75.75" y2="18.75" width="0.508" layer="16"/>
<wire x1="78.25" y1="18.625" x2="75.875" y2="18.625" width="0.508" layer="16"/>
<wire x1="78.25" y1="18.75" x2="78.25" y2="18.625" width="0.508" layer="16"/>
<wire x1="75.75" y1="18.75" x2="75.73" y2="18.8" width="0.508" layer="16"/>
<wire x1="78.25" y1="18.75" x2="78.27" y2="18.8" width="0.508" layer="16"/>
<wire x1="71.1875" y1="4.4375" x2="72" y2="4.4375" width="0.508" layer="1"/>
<wire x1="70.9375" y1="4.6875" x2="71.1875" y2="4.4375" width="0.508" layer="1"/>
<wire x1="69.75" y1="4.6875" x2="70.9375" y2="4.6875" width="0.508" layer="1"/>
<wire x1="69.5625" y1="4.6875" x2="69.75" y2="4.6875" width="0.508" layer="16"/>
<wire x1="69.5625" y1="16" x2="69.5625" y2="4.6875" width="0.508" layer="16"/>
<wire x1="69.75" y1="16.1875" x2="69.5625" y2="16" width="0.508" layer="16"/>
<wire x1="69.8125" y1="16.125" x2="69.75" y2="16.1875" width="0.508" layer="1"/>
<wire x1="71" y1="16.125" x2="69.8125" y2="16.125" width="0.508" layer="1"/>
<wire x1="71.1875" y1="15.9375" x2="71" y2="16.125" width="0.508" layer="1"/>
<wire x1="72" y1="15.9375" x2="71.1875" y2="15.9375" width="0.508" layer="1"/>
<wire x1="72" y1="4.4375" x2="72" y2="4.45" width="0.508" layer="1"/>
<wire x1="72" y1="15.9375" x2="72" y2="15.95" width="0.508" layer="1"/>
<wire x1="69.5625" y1="49.1875" x2="74" y2="49.1875" width="0.508" layer="16"/>
<wire x1="69.5625" y1="30.3125" x2="69.5625" y2="49.1875" width="0.508" layer="16"/>
<wire x1="70.0625" y1="29.8125" x2="69.5625" y2="30.3125" width="0.508" layer="16"/>
<wire x1="70.0625" y1="16.1875" x2="70.0625" y2="24.9375" width="0.508" layer="16"/>
<wire x1="70.0625" y1="24.9375" x2="70.0625" y2="29.8125" width="0.508" layer="16"/>
<wire x1="70" y1="16.125" x2="70.0625" y2="16.1875" width="0.508" layer="16"/>
<wire x1="74" y1="49.1875" x2="74.06" y2="49.2" width="0.508" layer="16"/>
<wire x1="70" y1="16.125" x2="69.75" y2="16.1875" width="0.508" layer="16"/>
<wire x1="74.6875" y1="17.875" x2="75.5" y2="18.6875" width="0.508" layer="16"/>
<wire x1="74.6875" y1="16.75" x2="74.6875" y2="17.875" width="0.508" layer="16"/>
<wire x1="74.625" y1="16.6875" x2="74.6875" y2="16.75" width="0.508" layer="1"/>
<wire x1="72.5625" y1="16.6875" x2="74.625" y2="16.6875" width="0.508" layer="1"/>
<wire x1="72.0625" y1="16.1875" x2="72.5625" y2="16.6875" width="0.508" layer="1"/>
<wire x1="75.5" y1="18.6875" x2="75.73" y2="18.8" width="0.508" layer="16"/>
<wire x1="72.0625" y1="16.1875" x2="72" y2="15.95" width="0.508" layer="1"/>
<wire x1="70.375" y1="25" x2="71.25" y2="25" width="0.508" layer="1"/>
<wire x1="70.3125" y1="24.9375" x2="70.375" y2="25" width="0.508" layer="1"/>
<wire x1="70.3125" y1="24.9375" x2="70.0625" y2="24.9375" width="0.508" layer="16"/>
<via x="69.75" y="4.6875" extent="1-16" drill="0.6096"/>
<via x="69.75" y="16.1875" extent="1-16" drill="0.6096"/>
<via x="74.6875" y="16.75" extent="1-16" drill="0.6096"/>
<via x="70.3125" y="24.9375" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$14">
<contactref element="OK1" pad="1"/>
<contactref element="R7" pad="2"/>
<wire x1="82.3125" y1="28.125" x2="83" y2="28.125" width="0.254" layer="1"/>
<wire x1="81.6875" y1="28.75" x2="82.3125" y2="28.125" width="0.254" layer="1"/>
<wire x1="81.6875" y1="33.5" x2="81.6875" y2="28.75" width="0.254" layer="1"/>
<wire x1="80.77" y1="33.5" x2="81.6875" y2="33.5" width="0.254" layer="1"/>
<wire x1="83" y1="28.125" x2="83" y2="28.15" width="0.254" layer="1"/>
</signal>
<signal name="N$15">
<contactref element="OK2" pad="1"/>
<contactref element="R8" pad="2"/>
<wire x1="83" y1="35.1875" x2="83" y2="33.15" width="0.254" layer="1"/>
<wire x1="81.8125" y1="35.1875" x2="83" y2="35.1875" width="0.254" layer="1"/>
<wire x1="81.75" y1="35.25" x2="81.8125" y2="35.1875" width="0.254" layer="1"/>
<wire x1="75.25" y1="35.25" x2="81.75" y2="35.25" width="0.254" layer="1"/>
<wire x1="74.6875" y1="34.6875" x2="75.25" y2="35.25" width="0.254" layer="1"/>
<wire x1="74.6875" y1="33.5" x2="74.6875" y2="34.6875" width="0.254" layer="1"/>
<wire x1="73.77" y1="33.5" x2="74.6875" y2="33.5" width="0.254" layer="1"/>
</signal>
<signal name="N$12">
<contactref element="OK1" pad="2"/>
<contactref element="X3" pad="2"/>
<wire x1="78.625" y1="33.5" x2="78.23" y2="33.5" width="0.254" layer="1"/>
<wire x1="80.0625" y1="32.0625" x2="78.625" y2="33.5" width="0.254" layer="1"/>
<wire x1="80.6875" y1="32.0625" x2="80.0625" y2="32.0625" width="0.254" layer="1"/>
<wire x1="80.6875" y1="24.5625" x2="80.6875" y2="32.0625" width="0.254" layer="16"/>
<wire x1="81.25" y1="24" x2="80.6875" y2="24.5625" width="0.254" layer="16"/>
<wire x1="81.25" y1="18.625" x2="81.25" y2="24" width="0.254" layer="16"/>
<wire x1="81.625" y1="18.25" x2="81.25" y2="18.625" width="0.254" layer="16"/>
<wire x1="81.875" y1="18" x2="81.625" y2="18.25" width="0.254" layer="1"/>
<wire x1="88" y1="18" x2="81.875" y2="18" width="0.254" layer="1"/>
<wire x1="88.875" y1="18.875" x2="88" y2="18" width="0.254" layer="1"/>
<wire x1="90" y1="18.875" x2="88.875" y2="18.875" width="0.254" layer="1"/>
<wire x1="90" y1="18.875" x2="90" y2="18.85" width="0.254" layer="1"/>
<via x="80.6875" y="32.0625" extent="1-16" drill="0.6096"/>
<via x="81.625" y="18.25" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$16">
<contactref element="OK2" pad="2"/>
<contactref element="X3" pad="4"/>
<wire x1="71.625" y1="33.5" x2="71.23" y2="33.5" width="0.254" layer="1"/>
<wire x1="73.875" y1="35.75" x2="71.625" y2="33.5" width="0.254" layer="1"/>
<wire x1="81.875" y1="35.75" x2="73.875" y2="35.75" width="0.254" layer="1"/>
<wire x1="82.125" y1="36" x2="81.875" y2="35.75" width="0.254" layer="1"/>
<wire x1="82.125" y1="30.5" x2="82.125" y2="36" width="0.254" layer="16"/>
<wire x1="82.4375" y1="30.1875" x2="82.125" y2="30.5" width="0.254" layer="16"/>
<wire x1="82.4375" y1="25.375" x2="82.4375" y2="30.1875" width="0.254" layer="16"/>
<wire x1="83.0625" y1="24.75" x2="82.4375" y2="25.375" width="0.254" layer="16"/>
<wire x1="83.0625" y1="24" x2="83.0625" y2="24.75" width="0.254" layer="16"/>
<wire x1="87.3125" y1="19.75" x2="83.0625" y2="24" width="0.254" layer="16"/>
<wire x1="87.3125" y1="18.125" x2="87.3125" y2="19.75" width="0.254" layer="16"/>
<wire x1="87.8125" y1="17.625" x2="87.3125" y2="18.125" width="0.254" layer="16"/>
<wire x1="87.8125" y1="15.8125" x2="87.8125" y2="17.625" width="0.254" layer="16"/>
<wire x1="88.75" y1="14.875" x2="87.8125" y2="15.8125" width="0.254" layer="16"/>
<wire x1="90" y1="14.875" x2="88.75" y2="14.875" width="0.254" layer="16"/>
<wire x1="90" y1="13.77" x2="90" y2="14.875" width="0.254" layer="16"/>
<via x="82.125" y="36" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$19">
<contactref element="D1" pad="A"/>
<contactref element="K1" pad="1"/>
<contactref element="Q1" pad="3"/>
<wire x1="70.0625" y1="3.5" x2="69.9" y2="3.5" width="0.254" layer="1"/>
<wire x1="70.875" y1="2.6875" x2="70.0625" y2="3.5" width="0.254" layer="1"/>
<wire x1="70.6875" y1="2.875" x2="70.875" y2="2.6875" width="0.254" layer="16"/>
<wire x1="70.6875" y1="5.0625" x2="70.6875" y2="2.875" width="0.254" layer="16"/>
<wire x1="70.25" y1="5.5" x2="70.6875" y2="5.0625" width="0.254" layer="16"/>
<wire x1="70.25" y1="15.375" x2="70.25" y2="5.5" width="0.254" layer="16"/>
<wire x1="70.75" y1="15.875" x2="70.25" y2="15.375" width="0.254" layer="16"/>
<wire x1="70.75" y1="17.625" x2="70.75" y2="15.875" width="0.254" layer="16"/>
<wire x1="71.125" y1="18" x2="70.75" y2="17.625" width="0.254" layer="16"/>
<wire x1="71.125" y1="19.375" x2="71.125" y2="18" width="0.254" layer="1"/>
<wire x1="72" y1="19.375" x2="71.125" y2="19.375" width="0.254" layer="1"/>
<wire x1="72" y1="19.375" x2="72" y2="19.35" width="0.254" layer="1"/>
<wire x1="76.5" y1="20.875" x2="76.5" y2="22.3" width="0.254" layer="1"/>
<wire x1="75.3125" y1="20.875" x2="76.5" y2="20.875" width="0.254" layer="1"/>
<wire x1="73.8125" y1="19.375" x2="75.3125" y2="20.875" width="0.254" layer="1"/>
<wire x1="72.125" y1="19.375" x2="73.8125" y2="19.375" width="0.254" layer="1"/>
<wire x1="72.125" y1="19.375" x2="72" y2="19.35" width="0.254" layer="1"/>
<via x="70.875" y="2.6875" extent="1-16" drill="0.6096"/>
<via x="71.125" y="18" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$23">
<contactref element="R11" pad="2"/>
<contactref element="Q1" pad="1"/>
<wire x1="72.9375" y1="2.5625" x2="72" y2="2.5625" width="0.254" layer="1"/>
<wire x1="73.25" y1="2.875" x2="72.9375" y2="2.5625" width="0.254" layer="1"/>
<wire x1="74" y1="2.875" x2="73.25" y2="2.875" width="0.254" layer="1"/>
<wire x1="72" y1="2.5625" x2="72" y2="2.55" width="0.254" layer="1"/>
<wire x1="74" y1="2.875" x2="74" y2="2.85" width="0.254" layer="1"/>
</signal>
<signal name="N$8" class="3">
<contactref element="K1" pad="4"/>
<contactref element="X3" pad="5"/>
<wire x1="79.875" y1="14.6875" x2="76.5" y2="14.6875" width="0.6096" layer="1"/>
<wire x1="81.4375" y1="13.125" x2="79.875" y2="14.6875" width="0.6096" layer="1"/>
<wire x1="81.9375" y1="13.125" x2="81.4375" y2="13.125" width="0.6096" layer="1"/>
<wire x1="82.8125" y1="12.25" x2="81.9375" y2="13.125" width="0.6096" layer="1"/>
<wire x1="87.875" y1="12.25" x2="82.8125" y2="12.25" width="0.6096" layer="1"/>
<wire x1="88.875" y1="11.25" x2="87.875" y2="12.25" width="0.6096" layer="1"/>
<wire x1="90" y1="11.25" x2="88.875" y2="11.25" width="0.6096" layer="1"/>
<wire x1="76.5" y1="14.6875" x2="76.5" y2="14.7" width="0.6096" layer="1"/>
<wire x1="90" y1="11.25" x2="90" y2="11.23" width="0.6096" layer="1"/>
</signal>
<signal name="N$18" class="3">
<contactref element="K1" pad="3"/>
<contactref element="X3" pad="6"/>
<wire x1="81.6875" y1="16.875" x2="76.5" y2="16.875" width="0.6096" layer="1"/>
<wire x1="81.6875" y1="9.0625" x2="81.6875" y2="16.875" width="0.6096" layer="16"/>
<wire x1="88.5" y1="9.0625" x2="81.6875" y2="9.0625" width="0.6096" layer="1"/>
<wire x1="88.875" y1="8.6875" x2="88.5" y2="9.0625" width="0.6096" layer="1"/>
<wire x1="90" y1="8.6875" x2="88.875" y2="8.6875" width="0.6096" layer="1"/>
<wire x1="76.5" y1="16.875" x2="76.5" y2="16.9" width="0.6096" layer="1"/>
<wire x1="90" y1="8.6875" x2="90" y2="8.69" width="0.6096" layer="1"/>
<via x="81.6875" y="16.875" extent="1-16" drill="0.6096"/>
<via x="81.6875" y="9.0625" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$20" class="3">
<contactref element="K1" pad="2"/>
</signal>
<signal name="N$22">
<contactref element="K1" pad="5"/>
</signal>
<signal name="N$25">
<contactref element="K1" pad="6"/>
</signal>
<signal name="N$26">
<contactref element="K1" pad="7"/>
</signal>
<signal name="N$21">
<contactref element="D2" pad="A"/>
<contactref element="K2" pad="1"/>
<contactref element="Q2" pad="3"/>
<wire x1="69.75" y1="15" x2="69.9" y2="15" width="0.254" layer="1"/>
<wire x1="69.4375" y1="14.6875" x2="69.75" y2="15" width="0.254" layer="1"/>
<wire x1="69.4375" y1="10.4375" x2="69.4375" y2="14.6875" width="0.254" layer="1"/>
<wire x1="75" y1="10.4375" x2="72" y2="10.4375" width="0.254" layer="1"/>
<wire x1="72" y1="10.4375" x2="69.4375" y2="10.4375" width="0.254" layer="1"/>
<wire x1="75.375" y1="10.8125" x2="75" y2="10.4375" width="0.254" layer="1"/>
<wire x1="76.5" y1="10.8125" x2="75.375" y2="10.8125" width="0.254" layer="1"/>
<wire x1="76.5" y1="10.8125" x2="76.5" y2="10.8" width="0.254" layer="1"/>
<wire x1="72" y1="10.4375" x2="72" y2="7.35" width="0.254" layer="1"/>
</signal>
<signal name="N$24">
<contactref element="R12" pad="2"/>
<contactref element="Q2" pad="1"/>
<wire x1="72.75" y1="14.0625" x2="72" y2="14.0625" width="0.254" layer="1"/>
<wire x1="73.0625" y1="14.375" x2="72.75" y2="14.0625" width="0.254" layer="1"/>
<wire x1="74" y1="14.375" x2="73.0625" y2="14.375" width="0.254" layer="1"/>
<wire x1="72" y1="14.0625" x2="72" y2="14.05" width="0.254" layer="1"/>
<wire x1="74" y1="14.375" x2="74" y2="14.35" width="0.254" layer="1"/>
</signal>
<signal name="N$27" class="3">
<contactref element="K2" pad="4"/>
<contactref element="X3" pad="7"/>
<wire x1="78.9375" y1="3.1875" x2="76.5" y2="3.1875" width="0.6096" layer="1"/>
<wire x1="81.5625" y1="0.5625" x2="78.9375" y2="3.1875" width="0.6096" layer="1"/>
<wire x1="90.4375" y1="0.5625" x2="81.5625" y2="0.5625" width="0.6096" layer="1"/>
<wire x1="92.5625" y1="2.6875" x2="90.4375" y2="0.5625" width="0.6096" layer="1"/>
<wire x1="92.5625" y1="6.125" x2="92.5625" y2="2.6875" width="0.6096" layer="1"/>
<wire x1="90" y1="6.125" x2="92.5625" y2="6.125" width="0.6096" layer="1"/>
<wire x1="76.5" y1="3.1875" x2="76.5" y2="3.2" width="0.6096" layer="1"/>
<wire x1="90" y1="6.125" x2="90" y2="6.15" width="0.6096" layer="1"/>
</signal>
<signal name="N$28" class="3">
<contactref element="K2" pad="3"/>
<contactref element="X3" pad="8"/>
<wire x1="77.625" y1="5.375" x2="76.5" y2="5.375" width="0.6096" layer="1"/>
<wire x1="78.75" y1="4.25" x2="77.625" y2="5.375" width="0.6096" layer="1"/>
<wire x1="79.3125" y1="4.25" x2="78.75" y2="4.25" width="0.6096" layer="1"/>
<wire x1="81.9375" y1="1.625" x2="79.3125" y2="4.25" width="0.6096" layer="1"/>
<wire x1="90.0625" y1="1.625" x2="81.9375" y2="1.625" width="0.6096" layer="1"/>
<wire x1="90.3125" y1="1.875" x2="90.0625" y2="1.625" width="0.6096" layer="1"/>
<wire x1="90.3125" y1="3.625" x2="90.3125" y2="1.875" width="0.6096" layer="1"/>
<wire x1="90" y1="3.625" x2="90.3125" y2="3.625" width="0.6096" layer="1"/>
<wire x1="76.5" y1="5.375" x2="76.5" y2="5.4" width="0.6096" layer="1"/>
<wire x1="90" y1="3.625" x2="90" y2="3.61" width="0.6096" layer="1"/>
</signal>
<signal name="N$29" class="3">
<contactref element="K2" pad="2"/>
</signal>
<signal name="N$30">
<contactref element="K2" pad="5"/>
</signal>
<signal name="N$31">
<contactref element="K2" pad="6"/>
</signal>
<signal name="N$32">
<contactref element="K2" pad="7"/>
</signal>
<signal name="N$3">
<contactref element="X3" pad="1"/>
<contactref element="R7" pad="1"/>
<wire x1="83" y1="25.875" x2="83" y2="26.85" width="0.254" layer="1"/>
<wire x1="83.75" y1="25.875" x2="83" y2="25.875" width="0.254" layer="1"/>
<wire x1="84.0625" y1="25.875" x2="83.75" y2="25.875" width="0.254" layer="16"/>
<wire x1="84.0625" y1="24.375" x2="84.0625" y2="25.875" width="0.254" layer="16"/>
<wire x1="85.5" y1="22.9375" x2="84.0625" y2="24.375" width="0.254" layer="16"/>
<wire x1="90" y1="22.9375" x2="85.5" y2="22.9375" width="0.254" layer="16"/>
<wire x1="90" y1="21.39" x2="90" y2="22.9375" width="0.254" layer="16"/>
<via x="83.75" y="25.875" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$4">
<contactref element="X3" pad="3"/>
<contactref element="R8" pad="1"/>
<wire x1="83" y1="30.8125" x2="83" y2="31.85" width="0.254" layer="1"/>
<wire x1="82.9375" y1="30.8125" x2="83" y2="30.8125" width="0.254" layer="1"/>
<wire x1="82.9375" y1="25.5625" x2="82.9375" y2="30.8125" width="0.254" layer="16"/>
<wire x1="83.5625" y1="24.9375" x2="82.9375" y2="25.5625" width="0.254" layer="16"/>
<wire x1="83.5625" y1="24.1875" x2="83.5625" y2="24.9375" width="0.254" layer="16"/>
<wire x1="87.8125" y1="19.9375" x2="83.5625" y2="24.1875" width="0.254" layer="16"/>
<wire x1="87.8125" y1="18.3125" x2="87.8125" y2="19.9375" width="0.254" layer="16"/>
<wire x1="88.75" y1="17.375" x2="87.8125" y2="18.3125" width="0.254" layer="16"/>
<wire x1="90" y1="17.375" x2="88.75" y2="17.375" width="0.254" layer="16"/>
<wire x1="90" y1="16.31" x2="90" y2="17.375" width="0.254" layer="16"/>
<via x="82.9375" y="30.8125" extent="1-16" drill="0.6096"/>
</signal>
<signal name="EXT_IN_1">
<contactref element="X1" pad="3"/>
<contactref element="OK1" pad="4"/>
<contactref element="R3" pad="1"/>
<wire x1="77.875" y1="31.875" x2="76" y2="31.875" width="0.254" layer="1"/>
<wire x1="81.6875" y1="28.0625" x2="77.875" y2="31.875" width="0.254" layer="1"/>
<wire x1="81.6875" y1="26.5" x2="81.6875" y2="28.0625" width="0.254" layer="1"/>
<wire x1="80.77" y1="26.5" x2="81.6875" y2="26.5" width="0.254" layer="1"/>
<wire x1="76" y1="31.875" x2="76" y2="31.85" width="0.254" layer="1"/>
<wire x1="74.5625" y1="28.375" x2="75.6875" y2="28.375" width="0.254" layer="16"/>
<wire x1="74" y1="28.9375" x2="74.5625" y2="28.375" width="0.254" layer="16"/>
<wire x1="73.125" y1="28.9375" x2="74" y2="28.9375" width="0.254" layer="16"/>
<wire x1="73.125" y1="31.875" x2="73.125" y2="28.9375" width="0.254" layer="16"/>
<wire x1="75.875" y1="31.875" x2="73.125" y2="31.875" width="0.254" layer="1"/>
<wire x1="75.6875" y1="28.375" x2="75.73" y2="28.4" width="0.254" layer="16"/>
<wire x1="75.875" y1="31.875" x2="76" y2="31.85" width="0.254" layer="1"/>
<via x="73.125" y="31.875" extent="1-16" drill="0.6096"/>
</signal>
<signal name="EXT_IN_2">
<contactref element="X1" pad="5"/>
<contactref element="OK2" pad="4"/>
<contactref element="R4" pad="1"/>
<wire x1="75.0625" y1="26.875" x2="76" y2="26.875" width="0.254" layer="1"/>
<wire x1="74.6875" y1="26.5" x2="75.0625" y2="26.875" width="0.254" layer="1"/>
<wire x1="73.77" y1="26.5" x2="74.6875" y2="26.5" width="0.254" layer="1"/>
<wire x1="76" y1="26.875" x2="76" y2="26.85" width="0.254" layer="1"/>
<wire x1="73.875" y1="27.625" x2="75.6875" y2="27.625" width="0.254" layer="16"/>
<wire x1="73.875" y1="27.9375" x2="73.875" y2="27.625" width="0.254" layer="16"/>
<wire x1="74.8125" y1="27" x2="73.875" y2="27.9375" width="0.254" layer="1"/>
<wire x1="75.0625" y1="27" x2="74.8125" y2="27" width="0.254" layer="1"/>
<wire x1="75.6875" y1="27.625" x2="75.73" y2="27.6" width="0.254" layer="16"/>
<wire x1="75.0625" y1="27" x2="75.0625" y2="26.875" width="0.254" layer="1"/>
<via x="73.875" y="27.9375" extent="1-16" drill="0.6096"/>
</signal>
<signal name="EXT_OUT_1">
<contactref element="X1" pad="13"/>
<contactref element="R11" pad="1"/>
<wire x1="74" y1="8.875" x2="74" y2="4.15" width="0.254" layer="1"/>
<wire x1="80.4375" y1="8.875" x2="74" y2="8.875" width="0.254" layer="1"/>
<wire x1="81.625" y1="7.6875" x2="80.4375" y2="8.875" width="0.254" layer="1"/>
<wire x1="81.9375" y1="7.6875" x2="81.625" y2="7.6875" width="0.254" layer="1"/>
<wire x1="82.6875" y1="8.4375" x2="81.9375" y2="7.6875" width="0.254" layer="16"/>
<wire x1="82.6875" y1="9.5" x2="82.6875" y2="8.4375" width="0.254" layer="16"/>
<wire x1="82.5625" y1="9.625" x2="82.6875" y2="9.5" width="0.254" layer="16"/>
<wire x1="82.5625" y1="16.3125" x2="82.5625" y2="9.625" width="0.254" layer="16"/>
<wire x1="82.6875" y1="16.4375" x2="82.5625" y2="16.3125" width="0.254" layer="16"/>
<wire x1="82.6875" y1="20.375" x2="82.6875" y2="16.4375" width="0.254" layer="16"/>
<wire x1="75.5" y1="20.375" x2="82.6875" y2="20.375" width="0.254" layer="1"/>
<wire x1="74.4375" y1="19.3125" x2="75.5" y2="20.375" width="0.254" layer="1"/>
<wire x1="74.4375" y1="17.6875" x2="74.4375" y2="19.3125" width="0.254" layer="1"/>
<wire x1="74.3125" y1="17.6875" x2="74.4375" y2="17.6875" width="0.254" layer="1"/>
<wire x1="74" y1="17.375" x2="74.3125" y2="17.6875" width="0.254" layer="1"/>
<wire x1="72.25" y1="17.375" x2="74" y2="17.375" width="0.254" layer="1"/>
<wire x1="72.0625" y1="17.1875" x2="72.25" y2="17.375" width="0.254" layer="1"/>
<wire x1="70.8125" y1="17.1875" x2="72.0625" y2="17.1875" width="0.254" layer="1"/>
<wire x1="69.9375" y1="18.0625" x2="70.8125" y2="17.1875" width="0.254" layer="1"/>
<wire x1="69.9375" y1="20.6875" x2="69.9375" y2="18.0625" width="0.254" layer="1"/>
<wire x1="72.3125" y1="20.6875" x2="69.9375" y2="20.6875" width="0.254" layer="1"/>
<wire x1="72.625" y1="20.6875" x2="72.3125" y2="20.6875" width="0.254" layer="16"/>
<wire x1="72.625" y1="22.5625" x2="72.625" y2="20.6875" width="0.254" layer="16"/>
<wire x1="74.4375" y1="24.375" x2="72.625" y2="22.5625" width="0.254" layer="16"/>
<wire x1="75.6875" y1="24.375" x2="74.4375" y2="24.375" width="0.254" layer="16"/>
<wire x1="75.6875" y1="24.375" x2="75.73" y2="24.4" width="0.254" layer="16"/>
<via x="81.9375" y="7.6875" extent="1-16" drill="0.6096"/>
<via x="82.6875" y="20.375" extent="1-16" drill="0.6096"/>
<via x="72.3125" y="20.6875" extent="1-16" drill="0.6096"/>
</signal>
<signal name="EXT_OUT_2">
<contactref element="X1" pad="15"/>
<contactref element="R12" pad="1"/>
<wire x1="74.4375" y1="15.625" x2="74" y2="15.625" width="0.254" layer="1"/>
<wire x1="74.9375" y1="15.125" x2="74.4375" y2="15.625" width="0.254" layer="1"/>
<wire x1="74.9375" y1="13.3125" x2="74.9375" y2="15.125" width="0.254" layer="1"/>
<wire x1="73.125" y1="13.3125" x2="74.9375" y2="13.3125" width="0.254" layer="1"/>
<wire x1="73.125" y1="22.375" x2="73.125" y2="13.3125" width="0.254" layer="16"/>
<wire x1="74.375" y1="23.625" x2="73.125" y2="22.375" width="0.254" layer="16"/>
<wire x1="75.6875" y1="23.625" x2="74.375" y2="23.625" width="0.254" layer="16"/>
<wire x1="74" y1="15.625" x2="74" y2="15.65" width="0.254" layer="1"/>
<wire x1="75.6875" y1="23.625" x2="75.73" y2="23.6" width="0.254" layer="16"/>
<via x="73.125" y="13.3125" extent="1-16" drill="0.6096"/>
</signal>
<signal name="N$6">
<polygon width="0.254" layer="1" pour="cutout" thermals="no">
<vertex x="85.5" y="24.375"/>
<vertex x="85.5" y="62.5"/>
<vertex x="97" y="62.5"/>
<vertex x="97" y="24.375"/>
</polygon>
</signal>
<signal name="N$7">
<polygon width="0.254" layer="16" pour="cutout" thermals="no">
<vertex x="85.5" y="24.375"/>
<vertex x="85.5" y="62.5"/>
<vertex x="97" y="62.5"/>
<vertex x="97" y="24.375"/>
</polygon>
</signal>
<signal name="N$1">
<contactref element="X2" pad="1"/>
<contactref element="PWS1" pad="1"/>
<wire x1="94.36" y1="54.28" x2="94.4" y2="54.28" width="1.27" layer="16"/>
<wire x1="94.4" y1="54.28" x2="94.4" y2="27.5" width="1.27" layer="16"/>
<wire x1="94.4" y1="27.5" x2="89" y2="27.5" width="1.27" layer="16"/>
</signal>
<signal name="N$2">
<contactref element="X2" pad="2"/>
<contactref element="PWS1" pad="2"/>
<wire x1="94.36" y1="59.36" x2="89" y2="59.36" width="1.27" layer="16"/>
<wire x1="89" y1="59.36" x2="89" y2="32.5" width="1.27" layer="16"/>
</signal>
</signals>
</board>
</drawing>
<compatibility>
<note version="6.3" minversion="6.2.2" severity="warning">
Since Version 6.2.2 text objects can contain more than one line,
which will not be processed correctly with this version.
</note>
</compatibility>
</eagle>

path: /Hardware/Eagle files/Smart ezNODE 503 M3.brd

license_type: permissive

branch_name: refs/heads/master


text:
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: trillian.proto

package trillian

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import keyspb "github.com/google/trillian/crypto/keyspb"
import sigpb "github.com/google/trillian/crypto/sigpb"
import google_protobuf "github.com/golang/protobuf/ptypes/any"
import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// Defines the way empty / node / leaf hashes are constructed incorporating
// preimage protection, which can be application specific.
type HashStrategy int32

const (
	// Hash strategy cannot be determined. Included to enable detection of
	// mismatched proto versions being used. Represents an invalid value.
	HashStrategy_UNKNOWN_HASH_STRATEGY HashStrategy = 0
	// Certificate Transparency strategy: leaf hash prefix = 0x00, node prefix =
	// 0x01, empty hash is digest([]byte{}), as defined in the specification.
	HashStrategy_RFC6962_SHA256 HashStrategy = 1
	// Sparse Merkle Tree strategy:  leaf hash prefix = 0x00, node prefix = 0x01,
	// empty branch is recursively computed from empty leaf nodes.
	// NOT secure in a multi tree environment. For testing only.
	HashStrategy_TEST_MAP_HASHER HashStrategy = 2
	// Append-only log strategy where leaf nodes are defined as the ObjectHash.
	// All other properties are equal to RFC6962_SHA256.
	HashStrategy_OBJECT_RFC6962_SHA256 HashStrategy = 3
	// The CONIKS sparse tree hasher with SHA512_256 as the hash algorithm.
	HashStrategy_CONIKS_SHA512_256 HashStrategy = 4
)

var HashStrategy_name = map[int32]string{
	0: "UNKNOWN_HASH_STRATEGY",
	1: "RFC6962_SHA256",
	2: "TEST_MAP_HASHER",
	3: "OBJECT_RFC6962_SHA256",
	4: "CONIKS_SHA512_256",
}
var HashStrategy_value = map[string]int32{
	"UNKNOWN_HASH_STRATEGY": 0,
	"RFC6962_SHA256":        1,
	"TEST_MAP_HASHER":       2,
	"OBJECT_RFC6962_SHA256": 3,
	"CONIKS_SHA512_256":     4,
}

func (x HashStrategy) String() string {
	return proto.EnumName(HashStrategy_name, int32(x))
}
func (HashStrategy) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }

// State of the tree.
type TreeState int32

const (
	// Tree state cannot be determined. Included to enable detection of
	// mismatched proto versions being used. Represents an invalid value.
	TreeState_UNKNOWN_TREE_STATE TreeState = 0
	// Active trees are able to respond to both read and write requests.
	TreeState_ACTIVE TreeState = 1
	// Frozen trees are only able to respond to read requests, writing to a frozen
	// tree is forbidden.
	TreeState_FROZEN TreeState = 2
	// Tree was been deleted, therefore is invisible and acts similarly to a
	// non-existing tree for all requests.
	// A soft deleted tree may be undeleted while the soft-deletion period has not
	// passed.
	TreeState_SOFT_DELETED TreeState = 3
	// A hard deleted tree was been definitely deleted and cannot be recovered.
	// Acts an a non-existing tree for all read and write requests, but blocks the
	// tree ID from ever being reused.
	TreeState_HARD_DELETED TreeState = 4
)

var TreeState_name = map[int32]string{
	0: "UNKNOWN_TREE_STATE",
	1: "ACTIVE",
	2: "FROZEN",
	3: "SOFT_DELETED",
	4: "HARD_DELETED",
}
var TreeState_value = map[string]int32{
	"UNKNOWN_TREE_STATE": 0,
	"ACTIVE":             1,
	"FROZEN":             2,
	"SOFT_DELETED":       3,
	"HARD_DELETED":       4,
}

func (x TreeState) String() string {
	return proto.EnumName(TreeState_name, int32(x))
}
func (TreeState) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }

// Type of the tree.
type TreeType int32

const (
	// Tree type cannot be determined. Included to enable detection of
	// mismatched proto versions being used. Represents an invalid value.
	TreeType_UNKNOWN_TREE_TYPE TreeType = 0
	// Tree represents a verifiable log.
	TreeType_LOG TreeType = 1
	// Tree represents a verifiable map.
	TreeType_MAP TreeType = 2
)

var TreeType_name = map[int32]string{
	0: "UNKNOWN_TREE_TYPE",
	1: "LOG",
	2: "MAP",
}
var TreeType_value = map[string]int32{
	"UNKNOWN_TREE_TYPE": 0,
	"LOG":               1,
	"MAP":               2,
}

func (x TreeType) String() string {
	return proto.EnumName(TreeType_name, int32(x))
}
func (TreeType) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }

// Represents a tree, which may be either a verifiable log or map.
// Readonly attributes are assigned at tree creation, after which they may not
// be modified.
type Tree struct {
	// ID of the tree.
	// Readonly.
	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
	// State of the tree.
	// Trees are active after creation. At any point the tree may transition
	// between ACTIVE and FROZEN.
	// Deleted trees are set as SOFT_DELETED for a certain time period, after
	// which they'll automatically transition to HARD_DELETED.
	TreeState TreeState `protobuf:"varint,2,opt,name=tree_state,json=treeState,enum=trillian.TreeState" json:"tree_state,omitempty"`
	// Type of the tree.
	// Readonly.
	TreeType TreeType `protobuf:"varint,3,opt,name=tree_type,json=treeType,enum=trillian.TreeType" json:"tree_type,omitempty"`
	// Hash strategy to be used by the tree.
	// Readonly.
	HashStrategy HashStrategy `protobuf:"varint,4,opt,name=hash_strategy,json=hashStrategy,enum=trillian.HashStrategy" json:"hash_strategy,omitempty"`
	// Hash algorithm to be used by the tree.
	// Readonly.
	// TODO(gdbelvin): Deprecate in favor of signature_cipher_suite and hash_strategy.
	HashAlgorithm sigpb.DigitallySigned_HashAlgorithm `protobuf:"varint,5,opt,name=hash_algorithm,json=hashAlgorithm,enum=sigpb.DigitallySigned_HashAlgorithm" json:"hash_algorithm,omitempty"`
	// Signature algorithm to be used by the tree.
	// Readonly.
	// TODO(gdbelvin): Deprecate in favor of signature_cipher_suite.
	SignatureAlgorithm sigpb.DigitallySigned_SignatureAlgorithm `protobuf:"varint,6,opt,name=signature_algorithm,json=signatureAlgorithm,enum=sigpb.DigitallySigned_SignatureAlgorithm" json:"signature_algorithm,omitempty"`
	// Signature cipher suite specifies the algorithms used to generate signatures.
	SignatureCipherSuite sigpb.DigitallySigned_SignatureCipherSuite `protobuf:"varint,18,opt,name=signature_cipher_suite,json=signatureCipherSuite,enum=sigpb.DigitallySigned_SignatureCipherSuite" json:"signature_cipher_suite,omitempty"`
	// Display name of the tree.
	// Optional.
	DisplayName string `protobuf:"bytes,8,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
	// Description of the tree,
	// Optional.
	Description string `protobuf:"bytes,9,opt,name=description" json:"description,omitempty"`
	// Identifies the private key used for signing tree heads and entry
	// timestamps.
	// This can be any type of message to accommodate different key management
	// systems, e.g. PEM files, HSMs, etc.
	// Private keys are write-only: they're never returned by RPCs.
	// TODO(RJPercival): Implement sufficient validation to allow this field to be
	// mutable. It should be mutable in the sense that the key can be migrated to
	// a different key management system, but the key itself should never change.
	PrivateKey *google_protobuf.Any `protobuf:"bytes,12,opt,name=private_key,json=privateKey" json:"private_key,omitempty"`
	// Storage-specific settings.
	// Varies according to the storage implementation backing Trillian.
	StorageSettings *google_protobuf.Any `protobuf:"bytes,13,opt,name=storage_settings,json=storageSettings" json:"storage_settings,omitempty"`
	// The public key used for verifying tree heads and entry timestamps.
	// Readonly.
	PublicKey *keyspb.PublicKey `protobuf:"bytes,14,opt,name=public_key,json=publicKey" json:"public_key,omitempty"`
	// Interval after which a new signed root is produced even if there have been
	// no submission.  If zero, this behavior is disabled.
	MaxRootDuration *google_protobuf1.Duration `protobuf:"bytes,15,opt,name=max_root_duration,json=maxRootDuration" json:"max_root_duration,omitempty"`
	// Time of tree creation.
	// Readonly.
	CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,16,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
	// Time of last tree update.
	// Readonly (automatically assigned on updates).
	UpdateTime *google_protobuf2.Timestamp `protobuf:"bytes,17,opt,name=update_time,json=updateTime" json:"update_time,omitempty"`
}

func (m *Tree) Reset()                    { *m = Tree{} }
func (m *Tree) String() string            { return proto.CompactTextString(m) }
func (*Tree) ProtoMessage()               {}
func (*Tree) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }

func (m *Tree) GetTreeId() int64 {
	if m != nil {
		return m.TreeId
	}
	return 0
}

func (m *Tree) GetTreeState() TreeState {
	if m != nil {
		return m.TreeState
	}
	return TreeState_UNKNOWN_TREE_STATE
}

func (m *Tree) GetTreeType() TreeType {
	if m != nil {
		return m.TreeType
	}
	return TreeType_UNKNOWN_TREE_TYPE
}

func (m *Tree) GetHashStrategy() HashStrategy {
	if m != nil {
		return m.HashStrategy
	}
	return HashStrategy_UNKNOWN_HASH_STRATEGY
}

func (m *Tree) GetHashAlgorithm() sigpb.DigitallySigned_HashAlgorithm {
	if m != nil {
		return m.HashAlgorithm
	}
	return sigpb.DigitallySigned_NONE
}

func (m *Tree) GetSignatureAlgorithm() sigpb.DigitallySigned_SignatureAlgorithm {
	if m != nil {
		return m.SignatureAlgorithm
	}
	return sigpb.DigitallySigned_ANONYMOUS
}

func (m *Tree) GetSignatureCipherSuite() sigpb.DigitallySigned_SignatureCipherSuite {
	if m != nil {
		return m.SignatureCipherSuite
	}
	return sigpb.DigitallySigned_UNKNOWN_CIPHER_SUITE
}

func (m *Tree) GetDisplayName() string {
	if m != nil {
		return m.DisplayName
	}
	return ""
}

func (m *Tree) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Tree) GetPrivateKey() *google_protobuf.Any {
	if m != nil {
		return m.PrivateKey
	}
	return nil
}

func (m *Tree) GetStorageSettings() *google_protobuf.Any {
	if m != nil {
		return m.StorageSettings
	}
	return nil
}

func (m *Tree) GetPublicKey() *keyspb.PublicKey {
	if m != nil {
		return m.PublicKey
	}
	return nil
}

func (m *Tree) GetMaxRootDuration() *google_protobuf1.Duration {
	if m != nil {
		return m.MaxRootDuration
	}
	return nil
}

func (m *Tree) GetCreateTime() *google_protobuf2.Timestamp {
	if m != nil {
		return m.CreateTime
	}
	return nil
}

func (m *Tree) GetUpdateTime() *google_protobuf2.Timestamp {
	if m != nil {
		return m.UpdateTime
	}
	return nil
}

type SignedEntryTimestamp struct {
	TimestampNanos int64                  `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos,omitempty"`
	LogId          int64                  `protobuf:"varint,2,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	Signature      *sigpb.DigitallySigned `protobuf:"bytes,3,opt,name=signature" json:"signature,omitempty"`
}

func (m *SignedEntryTimestamp) Reset()                    { *m = SignedEntryTimestamp{} }
func (m *SignedEntryTimestamp) String() string            { return proto.CompactTextString(m) }
func (*SignedEntryTimestamp) ProtoMessage()               {}
func (*SignedEntryTimestamp) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }

func (m *SignedEntryTimestamp) GetTimestampNanos() int64 {
	if m != nil {
		return m.TimestampNanos
	}
	return 0
}

func (m *SignedEntryTimestamp) GetLogId() int64 {
	if m != nil {
		return m.LogId
	}
	return 0
}

func (m *SignedEntryTimestamp) GetSignature() *sigpb.DigitallySigned {
	if m != nil {
		return m.Signature
	}
	return nil
}

// SignedLogRoot represents a commitment by a Log to a particular tree.
type SignedLogRoot struct {
	// epoch nanoseconds, good until 2500ish
	TimestampNanos int64  `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos,omitempty"`
	RootHash       []byte `protobuf:"bytes,2,opt,name=root_hash,json=rootHash,proto3" json:"root_hash,omitempty"`
	// TreeSize is the number of entries in the tree.
	TreeSize     int64                  `protobuf:"varint,3,opt,name=tree_size,json=treeSize" json:"tree_size,omitempty"`
	Signature    *sigpb.DigitallySigned `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"`
	LogId        int64                  `protobuf:"varint,5,opt,name=log_id,json=logId" json:"log_id,omitempty"`
	TreeRevision int64                  `protobuf:"varint,6,opt,name=tree_revision,json=treeRevision" json:"tree_revision,omitempty"`
}

func (m *SignedLogRoot) Reset()                    { *m = SignedLogRoot{} }
func (m *SignedLogRoot) String() string            { return proto.CompactTextString(m) }
func (*SignedLogRoot) ProtoMessage()               {}
func (*SignedLogRoot) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }

func (m *SignedLogRoot) GetTimestampNanos() int64 {
	if m != nil {
		return m.TimestampNanos
	}
	return 0
}

func (m *SignedLogRoot) GetRootHash() []byte {
	if m != nil {
		return m.RootHash
	}
	return nil
}

func (m *SignedLogRoot) GetTreeSize() int64 {
	if m != nil {
		return m.TreeSize
	}
	return 0
}

func (m *SignedLogRoot) GetSignature() *sigpb.DigitallySigned {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *SignedLogRoot) GetLogId() int64 {
	if m != nil {
		return m.LogId
	}
	return 0
}

func (m *SignedLogRoot) GetTreeRevision() int64 {
	if m != nil {
		return m.TreeRevision
	}
	return 0
}

type MapperMetadata struct {
	SourceLogId                  []byte `protobuf:"bytes,1,opt,name=source_log_id,json=sourceLogId,proto3" json:"source_log_id,omitempty"`
	HighestFullyCompletedSeq     int64  `protobuf:"varint,2,opt,name=highest_fully_completed_seq,json=highestFullyCompletedSeq" json:"highest_fully_completed_seq,omitempty"`
	HighestPartiallyCompletedSeq int64  `protobuf:"varint,3,opt,name=highest_partially_completed_seq,json=highestPartiallyCompletedSeq" json:"highest_partially_completed_seq,omitempty"`
}

func (m *MapperMetadata) Reset()                    { *m = MapperMetadata{} }
func (m *MapperMetadata) String() string            { return proto.CompactTextString(m) }
func (*MapperMetadata) ProtoMessage()               {}
func (*MapperMetadata) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }

func (m *MapperMetadata) GetSourceLogId() []byte {
	if m != nil {
		return m.SourceLogId
	}
	return nil
}

func (m *MapperMetadata) GetHighestFullyCompletedSeq() int64 {
	if m != nil {
		return m.HighestFullyCompletedSeq
	}
	return 0
}

func (m *MapperMetadata) GetHighestPartiallyCompletedSeq() int64 {
	if m != nil {
		return m.HighestPartiallyCompletedSeq
	}
	return 0
}

// SignedMapRoot represents a commitment by a Map to a particular tree.
type SignedMapRoot struct {
	TimestampNanos int64           `protobuf:"varint,1,opt,name=timestamp_nanos,json=timestampNanos" json:"timestamp_nanos,omitempty"`
	RootHash       []byte          `protobuf:"bytes,2,opt,name=root_hash,json=rootHash,proto3" json:"root_hash,omitempty"`
	Metadata       *MapperMetadata `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"`
	// TODO(al): define serialized format for the signature scheme.
	Signature   *sigpb.DigitallySigned `protobuf:"bytes,4,opt,name=signature" json:"signature,omitempty"`
	MapId       int64                  `protobuf:"varint,5,opt,name=map_id,json=mapId" json:"map_id,omitempty"`
	MapRevision int64                  `protobuf:"varint,6,opt,name=map_revision,json=mapRevision" json:"map_revision,omitempty"`
}

func (m *SignedMapRoot) Reset()                    { *m = SignedMapRoot{} }
func (m *SignedMapRoot) String() string            { return proto.CompactTextString(m) }
func (*SignedMapRoot) ProtoMessage()               {}
func (*SignedMapRoot) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }

func (m *SignedMapRoot) GetTimestampNanos() int64 {
	if m != nil {
		return m.TimestampNanos
	}
	return 0
}

func (m *SignedMapRoot) GetRootHash() []byte {
	if m != nil {
		return m.RootHash
	}
	return nil
}

func (m *SignedMapRoot) GetMetadata() *MapperMetadata {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (m *SignedMapRoot) GetSignature() *sigpb.DigitallySigned {
	if m != nil {
		return m.Signature
	}
	return nil
}

func (m *SignedMapRoot) GetMapId() int64 {
	if m != nil {
		return m.MapId
	}
	return 0
}

func (m *SignedMapRoot) GetMapRevision() int64 {
	if m != nil {
		return m.MapRevision
	}
	return 0
}

func init() {
	proto.RegisterType((*Tree)(nil), "trillian.Tree")
	proto.RegisterType((*SignedEntryTimestamp)(nil), "trillian.SignedEntryTimestamp")
	proto.RegisterType((*SignedLogRoot)(nil), "trillian.SignedLogRoot")
	proto.RegisterType((*MapperMetadata)(nil), "trillian.MapperMetadata")
	proto.RegisterType((*SignedMapRoot)(nil), "trillian.SignedMapRoot")
	proto.RegisterEnum("trillian.HashStrategy", HashStrategy_name, HashStrategy_value)
	proto.RegisterEnum("trillian.TreeState", TreeState_name, TreeState_value)
	proto.RegisterEnum("trillian.TreeType", TreeType_name, TreeType_value)
}

func init() { proto.RegisterFile("trillian.proto", fileDescriptor3) }

var fileDescriptor3 = []byte{
	// 1055 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x5d, 0x6f, 0xdb, 0x36,
	0x14, 0xad, 0x62, 0xd7, 0xb1, 0xaf, 0x3f, 0xa2, 0xb0, 0x4d, 0xa6, 0xb8, 0xc3, 0x9a, 0x79, 0x03,
	0x96, 0x65, 0x80, 0xb3, 0xb9, 0x4d, 0x80, 0xa1, 0x18, 0x06, 0xc7, 0x51, 0xea, 0x7c, 0xd9, 0x86,
	0xa4, 0x6d, 0x68, 0x5e, 0x08, 0xda, 0x66, 0x65, 0xa2, 0x92, 0xa5, 0x4a, 0x74, 0x51, 0xf5, 0x79,
	0x8f, 0x03, 0xf6, 0x7f, 0xf6, 0x7b, 0xf6, 0x2f, 0xf6, 0x32, 0x90, 0xa2, 0x64, 0x27, 0xe9, 0xd6,
	0x62, 0xd8, 0x4b, 0x42, 0x9e, 0x7b, 0xce, 0xe1, 0xc7, 0xbd, 0x97, 0x32, 0x34, 0x78, 0xc4, 0x3c,
	0x8f, 0x91, 0x79, 0x3b, 0x8c, 0x02, 0x1e, 0xa0, 0x72, 0x36, 0x6f, 0x36, 0x27, 0x51, 0x12, 0xf2,
	0xe0, 0xe0, 0x15, 0x4d, 0xe2, 0x70, 0xac, 0xfe, 0xa5, 0xac, 0xa6, 0xa1, 0x62, 0x31, 0x73, 0xc3,
	0x71, 0xfa, 0x57, 0x45, 0x76, 0xdc, 0x20, 0x70, 0x3d, 0x7a, 0x20, 0x67, 0xe3, 0xc5, 0xcb, 0x03,
	0x32, 0x4f, 0x54, 0xe8, 0xb3, 0xdb, 0xa1, 0xe9, 0x22, 0x22, 0x9c, 0x05, 0x6a, 0xe9, 0xe6, 0xe3,
	0xdb, 0x71, 0xce, 0x7c, 0x1a, 0x73, 0xe2, 0x87, 0x29, 0xa1, 0xf5, 0xfb, 0x3a, 0x14, 0x9d, 0x88,
	0x52, 0xf4, 0x09, 0xac, 0xf3, 0x88, 0x52, 0xcc, 0xa6, 0x86, 0xb6, 0xab, 0xed, 0x15, 0xac, 0x92,
	0x98, 0x9e, 0x4d, 0x51, 0x07, 0x40, 0x06, 0x62, 0x4e, 0x38, 0x35, 0xd6, 0x76, 0xb5, 0xbd, 0x46,
	0xe7, 0x41, 0x3b, 0x3f, 0xa2, 0x10, 0xdb, 0x22, 0x64, 0x55, 0x78, 0x36, 0x44, 0x07, 0x20, 0x27,
	0x98, 0x27, 0x21, 0x35, 0x0a, 0x52, 0x82, 0x6e, 0x4a, 0x9c, 0x24, 0xa4, 0x56, 0x99, 0xab, 0x11,
	0x7a, 0x06, 0xf5, 0x19, 0x89, 0x67, 0x38, 0xe6, 0x11, 0xe1, 0xd4, 0x4d, 0x8c, 0xa2, 0x14, 0x6d,
	0x2f, 0x45, 0x7d, 0x12, 0xcf, 0x6c, 0x15, 0xb5, 0x6a, 0xb3, 0x95, 0x19, 0xba, 0x80, 0x86, 0x14,
	0x13, 0xcf, 0x0d, 0x22, 0xc6, 0x67, 0xbe, 0x71, 0x5f, 0xaa, 0xbf, 0x6c, 0xa7, 0xb7, 0x78, 0xc2,
	0x5c, 0xc6, 0x89, 0xe7, 0x25, 0x36, 0x73, 0xe7, 0x74, 0x2a, 0xad, 0xba, 0x19, 0xd7, 0x92, 0x0b,
	0xe7, 0x53, 0x74, 0x0d, 0x0f, 0x62, 0xe6, 0xce, 0x09, 0x5f, 0x44, 0x74, 0xc5, 0xb1, 0x24, 0x1d,
	0xbf, 0xfe, 0x07, 0x47, 0x3b, 0x53, 0x2c, 0x6d, 0x51, 0x7c, 0x07, 0x43, 0x04, 0xb6, 0x97, 0xde,
	0x13, 0x16, 0xce, 0x68, 0x84, 0xe3, 0x05, 0xe3, 0xd4, 0x40, 0xd2, 0xfe, 0x9b, 0x0f, 0xd9, 0xf7,
	0xa4, 0xc6, 0x16, 0x12, 0xeb, 0x61, 0xfc, 0x1e, 0x14, 0x7d, 0x0e, 0xb5, 0x29, 0x8b, 0x43, 0x8f,
	0x24, 0x78, 0x4e, 0x7c, 0x6a, 0x94, 0x77, 0xb5, 0xbd, 0x8a, 0x55, 0x55, 0xd8, 0x80, 0xf8, 0x14,
	0xed, 0x42, 0x75, 0x4a, 0xe3, 0x49, 0xc4, 0x42, 0x51, 0x28, 0x46, 0x45, 0x31, 0x96, 0x10, 0x3a,
	0x84, 0x6a, 0x18, 0xb1, 0x37, 0x84, 0x53, 0xfc, 0x8a, 0x26, 0x46, 0x6d, 0x57, 0xdb, 0xab, 0x76,
	0x1e, 0xb6, 0xd3, 0x5a, 0x6a, 0x67, 0xb5, 0xd4, 0xee, 0xce, 0x13, 0x0b, 0x14, 0xf1, 0x82, 0x26,
	0xe8, 0x47, 0xd0, 0x63, 0x1e, 0x44, 0xc4, 0xa5, 0x38, 0xa6, 0x9c, 0xb3, 0xb9, 0x1b, 0x1b, 0xf5,
	0x7f, 0xd1, 0x6e, 0x28, 0xb6, 0xad, 0xc8, 0xe8, 0x5b, 0x80, 0x70, 0x31, 0xf6, 0xd8, 0x44, 0x2e,
	0xdb, 0x90, 0xd2, 0xcd, 0xb6, 0xea, 0x92, 0x91, 0x8c, 0x5c, 0xd0, 0xc4, 0xaa, 0x84, 0xd9, 0x10,
	0x99, 0xb0, 0xe9, 0x93, 0xb7, 0x38, 0x0a, 0x02, 0x8e, 0xb3, 0xd2, 0x37, 0x36, 0xa4, 0x70, 0xe7,
	0xce, 0x9a, 0x27, 0x8a, 0x60, 0x6d, 0xf8, 0xe4, 0xad, 0x15, 0x04, 0x3c, 0x03, 0xd0, 0x33, 0xa8,
	0x4e, 0x22, 0x2a, 0xce, 0x2b, 0xfa, 0xc3, 0xd0, 0xa5, 0x41, 0xf3, 0x8e, 0x81, 0x93, 0x35, 0x8f,
	0x05, 0x29, 0x5d, 0x00, 0x42, 0xbc, 0x08, 0xa7, 0xb9, 0x78, 0xf3, 0xc3, 0xe2, 0x94, 0x2e, 0x80,
	0xf3, 0x62, 0x79, 0x5d, 0x2f, 0x9f, 0x17, 0xcb, 0xa0, 0x57, 0xcf, 0x8b, 0xe5, 0xaa, 0x5e, 0x6b,
	0xfd, 0xa6, 0xc1, 0xc3, 0x34, 0xef, 0xe6, 0x9c, 0x47, 0x49, 0x2e, 0x43, 0x5f, 0xc1, 0x46, 0xde,
	0xbd, 0x78, 0x4e, 0xe6, 0x41, 0xac, 0x3a, 0xb5, 0x91, 0xc3, 0x03, 0x81, 0xa2, 0x2d, 0x28, 0x79,
	0x81, 0x2b, 0x3a, 0x79, 0x4d, 0xc6, 0xef, 0x7b, 0x81, 0x7b, 0x36, 0x45, 0x4f, 0xa1, 0x92, 0x97,
	0x8c, 0x6c, 0xca, 0x6a, 0x67, 0xfb, 0xfd, 0x05, 0x67, 0x2d, 0x89, 0xad, 0x3f, 0x35, 0xa8, 0xa7,
	0xe8, 0x65, 0xe0, 0x8a, 0x4b, 0xfb, 0xf8, 0x7d, 0x3c, 0x82, 0x8a, 0x4c, 0x8c, 0x68, 0x30, 0xb9,
	0x95, 0x9a, 0x55, 0x16, 0x80, 0xe8, 0x3f, 0x11, 0x4c, 0x9f, 0x15, 0xf6, 0x2e, 0xdd, 0x4d, 0x21,
	0x7d, 0x0e, 0x6c, 0xf6, 0x8e, 0xde, 0xdc, 0x6a, 0xf1, 0x23, 0xb7, 0xba, 0x72, 0xee, 0xfb, 0xab,
	0xe7, 0xfe, 0x02, 0xea, 0x72, 0xa5, 0x88, 0xbe, 0x61, 0xb1, 0xa8, 0x8f, 0x92, 0x8c, 0xd6, 0x04,
	0x68, 0x29, 0xac, 0xf5, 0x87, 0x06, 0x8d, 0x2b, 0x12, 0x86, 0x34, 0xba, 0xa2, 0x9c, 0x4c, 0x09,
	0x27, 0xa8, 0x05, 0xf5, 0x38, 0x58, 0x44, 0x13, 0x8a, 0x95, 0xab, 0x26, 0x8f, 0x50, 0x4d, 0xc1,
	0x4b, 0xe9, 0xfd, 0x03, 0x3c, 0x9a, 0x31, 0x77, 0x46, 0x63, 0x8e, 0x5f, 0x2e, 0x3c, 0x2f, 0xc1,
	0x93, 0xc0, 0x0f, 0x3d, 0xca, 0xe9, 0x14, 0xc7, 0xf4, 0xb5, 0xba, 0x7f, 0x43, 0x51, 0x4e, 0x05,
	0xa3, 0x97, 0x11, 0x6c, 0xfa, 0x1a, 0x99, 0xf0, 0x38, 0x93, 0x87, 0x24, 0xe2, 0x8c, 0xdc, 0xb5,
	0x48, 0xaf, 0xe6, 0x53, 0x45, 0x1b, 0x65, 0xac, 0x55, 0x9b, 0xd6, 0x5f, 0x79, 0x8e, 0xae, 0x48,
	0xf8, 0x3f, 0xe6, 0xe8, 0x29, 0x94, 0x7d, 0x75, 0x1b, 0xaa, 0x60, 0x8c, 0xe5, 0x83, 0x7c, 0xf3,
	0xb6, 0xac, 0x9c, 0xf9, 0xdf, 0x93, 0xe7, 0x93, 0x70, 0x25, 0x79, 0x3e, 0x09, 0xcf, 0xa6, 0xe2,
	0x3d, 0x13, 0xf0, 0xad, 0xdc, 0x55, 0x7d, 0x12, 0x66, 0xa9, 0xdb, 0xff, 0x55, 0x83, 0xda, 0xea,
	0xd7, 0x01, 0xed, 0xc0, 0xd6, 0x4f, 0x83, 0x8b, 0xc1, 0xf0, 0x97, 0x01, 0xee, 0x77, 0xed, 0x3e,
	0xb6, 0x1d, 0xab, 0xeb, 0x98, 0xcf, 0x5f, 0xe8, 0xf7, 0x10, 0x82, 0x86, 0x75, 0xda, 0x3b, 0xfa,
	0xfe, 0xa8, 0x83, 0xed, 0x7e, 0xb7, 0x73, 0x78, 0xa4, 0x6b, 0xe8, 0x01, 0x6c, 0x38, 0xa6, 0xed,
	0xe0, 0xab, 0xee, 0x48, 0xf2, 0x4d, 0x4b, 0x5f, 0x13, 0x1e, 0xc3, 0xe3, 0x73, 0xb3, 0xe7, 0xe0,
	0x5b, 0xfc, 0x02, 0xda, 0x82, 0xcd, 0xde, 0x70, 0x70, 0x76, 0x61, 0x0b, 0xe8, 0xf0, 0xbb, 0x0e,
	0x16, 0x70, 0x71, 0x1f, 0x43, 0x25, 0xff, 0x16, 0xa2, 0x6d, 0x40, 0xd9, 0x16, 0x1c, 0xcb, 0x34,
	0xb1, 0xed, 0x74, 0x1d, 0x53, 0xbf, 0x87, 0x00, 0x4a, 0xdd, 0x9e, 0x73, 0xf6, 0xb3, 0xa9, 0x6b,
	0x62, 0x7c, 0x6a, 0x0d, 0xaf, 0xcd, 0x81, 0xbe, 0x86, 0x74, 0xa8, 0xd9, 0xc3, 0x53, 0x07, 0x9f,
	0x98, 0x97, 0xa6, 0x63, 0x9e, 0xe8, 0x05, 0x81, 0xf4, 0xbb, 0xd6, 0x49, 0x8e, 0x14, 0xf7, 0x9f,
	0x40, 0x39, 0xfb, 0x72, 0x8a, 0x3d, 0xdc, 0xf0, 0x77, 0x5e, 0x8c, 0x84, 0xfd, 0x3a, 0x14, 0x2e,
	0x87, 0xcf, 0x75, 0x4d, 0x0c, 0xae, 0xba, 0x23, 0x7d, 0xed, 0xb8, 0x0f, 0x3b, 0x93, 0xc0, 0xcf,
	0x1e, 0xa3, 0x9b, 0x3f, 0x4c, 0x8e, 0xeb, 0x8e, 0x9a, 0x8f, 0xc4, 0x74, 0xa4, 0x5d, 0x37, 0x5d,
	0xc6, 0x67, 0x8b, 0x71, 0x7b, 0x12, 0xf8, 0x07, 0xea, 0x97, 0x43, 0x26, 0x19, 0x97, 0xa4, 0xe6,
	0xc9, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xad, 0xb3, 0x91, 0x8a, 0xde, 0x08, 0x00, 0x00,
}

repository: baitcode/trillian

repo_name: baitcode/trillian

extension: go


text:
SUMMARY = "Polyphonic synthesizer LV2 plugin"
HOMEPAGE = "http://thunderox.com/thor/?q=node/2"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"

DEPENDS += " \
    gtkmm \
    jack \
    lv2 \
    liblo \
"

inherit waf pkgconfig python3native

SRC_URI = " \
    ${SOURCEFORGE_MIRROR}/project/triceratops/triceratops_${PV}.tar.gz;subdir=${BPN}-${PV} \
    file://0001-wscript-Start-python3-support.patch \
"
SRC_URI[md5sum] = "8f3ea6902cd8bf90f6337c2c4f531b8d"
SRC_URI[sha256sum] = "8056b9e2dbfe3cd5b8e30eb28f5ce2a4f34e272c8bf5c897d02410b905fa91ed"

EXTRA_OECONF = "\
    --libdir=${libdir} \
"

waf_preconfigure() {
}

do_configure:prepend() {
    cd ${S}

    # link python -> python3
    ln -sf `which python3` ${B}/python
    export PATH="${PATH}:${B}"

    # dummy call -> unpacks waf
    ./waf configure -o ${B} --prefix=${prefix} ${EXTRA_OECONF} || true

    for py in `find .waf3-* -name '*.py'`; do

        # -> python3
        2to3 -w -x import $py

        # hmmm
        sed -i 's:^.*raise StopIteration::g' $py

    done

    ./waf configure --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF}
}

do_compile()  {
    export PATH="${PATH}:${B}"

    # waf breaks but gets far enough to build what's necessary
	(cd ${S} && ./waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}) || true
}

do_install()  {
    export PATH="${PATH}:${B}"
	(cd ${S} && ./waf install --destdir=${D}) || true
}

FILES:${PN} += " \
    ${libdir}/lv2 \
"

license: MIT

repository: schnitzeltony/meta-musicians

repo_name: schnitzeltony/meta-musicians

gha_license_id: MIT

gha_language: BitBake

extension: bb


text:
@article{carrillo2008a,
  title = {A real-time spiking cerebellum model for learning robot control},
  author = {Carrillo, R.R. and Ros, E. and Boucheny, C. and Coenen, O.J-M.D.},
  journal = {Biosystems},
  pages = {18--27},
  year = {2008},
  volume = {94},
  publisher = {Elsevier}
}

repository: EduardoRosLab/neurorobotics-website

repo_name: EduardoRosLab/neurorobotics-website

extension: bib


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DD4T.Core.Contracts.ViewModels;
using System.ComponentModel;
using DD4T.ContentModel;

namespace DD4T.ViewModels.Base
{

    /// <summary>
    /// Base class for all View Models
    /// </summary>
    public abstract class ViewModelBase : IViewModel
    {
        [EditorBrowsable(EditorBrowsableState.Never)] //Hidden from intellisense as View Authors should not access this directly
        IModel IViewModel.ModelData
        {
            get;
            set;
        }
    }
}

branch_name: refs/heads/develop

gha_language: C#

extension: cs


text:
package etcd

import (
	"encoding/json"
	"errors"
	"fmt"
	"strings"
	"time"

	dm "github.com/huajiao-tv/gokeeper/model/discovery"
)

const (
	defaultTimeout  = 5 * time.Second  //默认超时时长
	defaultLeaseTTL = 30 * time.Second //默认租约时间

	serviceRootPath  = "/discovery"
	infoTypeInstance = "instance"
	infoTypeProperty = "property"

	//存储etcd leaseId，仅用于etcd，不对外暴露
	etcdMetadataLeaseId = "etcd-metadata-lease_id"
)

var (
	ErrInvalidPath = errors.New("path is invalid")
)

func getRootPath() string {
	return serviceRootPath
}

//获取服务的节点路径
//这里不要采用filepath.Join，etcd中的数据存储路径并不根据client的系统类型而变化
func getServicePath(service string) string {
	return fmt.Sprintf("%s/%s/", serviceRootPath, service)
}

//获取服务的节点路径
func getInstancePath(service, id string) string {
	return fmt.Sprintf("%s/%s/%s/%s/", serviceRootPath, service, infoTypeInstance, id)
}

//获取服务属性的路径,后台设置时，typ为backend
func getPropertyPath(service, typ string) string {
	return fmt.Sprintf("%s/%s/%s/%s/", serviceRootPath, service, infoTypeProperty, typ)
}

//解析路径，返回 service、infoType，id
func parseRawPath(path string) (string, string, string, error) {
	list := strings.Split(strings.Trim(path, "/"), "/")
	if len(list) != 4 {
		return "", "", "", ErrInvalidPath
	}
	return list[1], list[2], list[3], nil
}

func encodeInstance(i *dm.Instance) (string, error) {
	b, err := json.Marshal(i)
	return string(b), err
}

func decodeInstance(s string) (*dm.Instance, error) {
	var instance dm.Instance
	err := json.Unmarshal([]byte(s), &instance)
	if err != nil {
		return nil, err
	}
	if instance.Metadata == nil {
		instance.Metadata = dm.MD{}
	}
	return &instance, err
}

func encodeProperty(p *dm.Property) (string, error) {
	b, err := json.Marshal(p)
	return string(b), err
}

func decodeProperty(s string) (*dm.Property, error) {
	var p dm.Property
	err := json.Unmarshal([]byte(s), &p)
	return &p, err
}


text:
# Find DART Externals
#
# This sets the following variables:
# DARTExt_FOUND - If all the Dart externals were found or not
# DARTExt_INCLUDEDIR - Directories containing the DART external include files.
# DARTExt_LIBRARIES - Libraries needed to use DART External.
# DARTExt_DEFINITIONS - Compiler flags for DART External.
# Boost_LIBRARIES - Boost Libraries required for DART

set(SYS_INSTALL_PREFIX @CMAKE_INSTALL_PREFIX@)

set(DARTExt_FOUND TRUE)

find_package(PkgConfig QUIET)
set(DARTExt_INCLUDEDIR ${SYS_INSTALL_PREFIX}/include)

# Eigen
set(EIGEN3_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${EIGEN3_INCLUDEDIR}/Eigen/Core)
    unset(EIGEN3_INCLUDEDIR)
    find_path(EIGEN3_INCLUDEDIR
        NAMES Eigen/Core
        PATHS ${SYS_INSTALL_PREFIX}/include
        PATH_SUFFIXES eigen3 eigen)
endif()

if(NOT EXISTS ${EIGEN3_INCLUDEDIR}/Eigen/Core)
    message(STATUS "Could not find Eigen3")
    set(DARTExt_FOUND FALSE)
endif()
message(STATUS "EIGEN3_INCLUDEDIR = ${EIGEN3_INCLUDEDIR}")

# OpenGL
find_package(OpenGL REQUIRED)
set(DARTExt_FOUND ${OPENGL_FOUND})

# GLUT
if(WIN32 AND NOT CYGWIN)
    message(STATUS "Defaulting to provided GLUT libraries. Change GLUT_PREFIX_PATH to use a different version of GLUT")
    set(GLUT_PREFIX_PATH "@CMAKE_INSTALL_PREFIX@" CACHE PATH "Root directory of GLUT installation")
    set(GLUT_INCLUDEDIR "@CMAKE_INSTALL_PREFIX@/include")
    set(GLUT_LIBRARIES glut32)
else()
    find_package(GLUT REQUIRED)
    set(GLUT_INCLUDEDIR ${GLUT_INCLUDE_DIR})
    set(GLUT_LIBRARIES ${GLUT_glut_LIBRARY})
endif()

# Boost and Assimp Boost Workaround
find_package(Boost REQUIRED system filesystem)
set(Boost_INCLUDEDIR ${Boost_INCLUDE_DIRS})
set(DARTExt_FOUND ${Boost_FOUND})

if(MSVC OR MSVC90 OR MSVC10)
    add_definitions(-DBOOST_ALL_NO_LIB)
endif()
add_definitions(-DBOOST_TEST_DYN_LINK)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)

# FLANN
set(FLANN_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${FLANN_INCLUDEDIR}/flann/flann.h)
    pkg_check_modules(PC_FLANN flann)
    unset(FLANN_INCLUDEDIR)
    find_path(FLANN_INCLUDEDIR
        NAMES flann/flann.h
        HINTS ${PC_FLANN_INCLUDEDIR}
        PATHS ${DARTExt_INCLUDEDIR})

    if(NOT EXISTS ${FLANN_INCLUDEDIR}/flann/flann.h)
        message(STATUS "Could not find flann")
        set(DARTExt_FOUND FALSE)
    else()
        if(UNIX)
           set(FLANN_LIBRARIES ${PC_FLANN_LIBRARIES})
        endif()
    endif()
endif()
message(STATUS "FLANN_INCLUDEDIR = ${FLANN_INCLUDEDIR}")

# CCD
set(CCD_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${CCD_INCLUDEDIR}/ccd/ccd.h)
    pkg_check_modules(PC_CCD ccd)
    unset(CCD_INCLUDEDIR)
find_path(CCD_INCLUDEDIR ccd/ccd.h
        PATHS ${SYS_INSTALL_PREFIX}/include ${SYS_INSTALL_PREFIX}/local/include ${PC_CCD_INCLUDEDIR} PATH_SUFFIXES ccd)

    if(NOT EXISTS ${CCD_INCLUDEDIR}/ccd/ccd.h)
        message(STATUS "Could not find ccd")
        set(DARTExt_FOUND FALSE)
    endif()
endif()
message(STATUS "CCD_INCLUDEDIR = ${CCD_INCLUDEDIR}")
set(CCD_LIBRARIES ccd)

# FCL
set(FCL_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${FCL_INCLUDEDIR}/fcl/collision.h)
    pkg_check_modules(PC_FCL fcl)
    unset(FCL_INCLUDEDIR)
    find_path(FCL_INCLUDEDIR fcl/collision.h
        PATHS ${SYS_INSTALL_PREFIX}/include ${PC_FCL_INCLUDEDIR} PATH_SUFFIXES fcl)

    if(NOT EXISTS ${FCL_INCLUDEDIR}/fcl/collision.h)
        message(STATUS "Could not find fcl")
        set(DARTExt_FOUND FALSE)
    endif()
endif()
message(STATUS "FCL_INCLUDEDIR = ${FCL_INCLUDEDIR}")
set(FCL_LIBRARIES fcl)

#Assimp
set(ASSIMP_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${ASSIMP_INCLUDEDIR}/assimp/scene.h)
    unset(ASSIMP_INCLUDEDIR)
    find_path(ASSIMP_INCLUDEDIR assimp/scene.h
        PATHS ${SYS_INSTALL_PREFIX}/include PATH_SUFFIXES assimp)

    if(NOT EXISTS ${ASSIMP_INCLUDEDIR}/assimp/scene.h)
        message(STATUS "Could not find assimp")
        set(DARTExt_FOUND FALSE)
    endif()
endif()
message(STATUS "ASSIMP_INCLUDEDIR = ${ASSIMP_INCLUDEDIR}")
set(ASSIMP_LIBRARIES assimp)

#TinyXML
set(TINYXML_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${TINYXML_INCLUDEDIR}/tinyxml.h)
    unset(TINYXML_INCLUDEDIR)
    find_path(TINYXML_INCLUDEDIR tinyxml.h
        PATHS ${SYS_INSTALL_PREFIX}/include PATH_SUFFIXES tinyxml)

    if(NOT EXISTS ${TINYXML_INCLUDEDIR}/tinyxml.h)
        message(STATUS "Could not find tinyxml")
        set(DARTExt_FOUND FALSE)
    endif()
endif()
set(TINYXML_LIBRARIES tinyxml)

# Tinyxml2
set(TINYXML2_INCLUDEDIR ${DARTExt_INCLUDEDIR})
if(NOT EXISTS ${TINYXML2_INCLUDEDIR}/tinyxml2.h)
    unset(TINYXML2_INCLUDEDIR)
    find_path(TINYXML2_INCLUDEDIR tinyxml2.h
        PATHS ${SYS_INSTALL_PREFIX}/include PATH_SUFFIXES tinyxml2)

    if(NOT EXISTS ${TINYXML2_INCLUDEDIR}/tinyxml2.h)
        message(STATUS "Could not find tinyxml2")
        set(DARTExt_FOUND FALSE)
    endif()
endif()
set(TINYXML2_LIBRARIES tinyxml2)

# urdf_headers
find_package( urdfdom_headers REQUIRED )
if( urdfdom_headers_FOUND)
   message( STATUS "Found urdfdom headers" )
else()
   message(STATUS "Could not find urdfdom_headers")
   set(DARTExt_FOUND FALSE)
endif()

# urdfdom
find_package( urdfdom )
if( urdfdom_FOUND )
   find_library( URDFDOM_LIBRARY_DIR urdfdom_model
              PATHS /usr/local/lib )
   if( URDFDOM_LIBRARY_DIR_NOTFOUND )
     message( "urdfdom library directory not found!" )
     set(DARTExt_FOUND FALSE )
   else()
     message( STATUS "Found urdfdom!")
   endif()
else()
   message(STATUS "Could not find urdfdom")
   set(DARTExt_FOUND FALSE)
endif()
set(urdfdom_LIBRARIES urdfdom_sensor urdfdom_model_state urdfdom_model urdfdom_world console_bridge)

# console_bridge is required by urdfdom, so it will be asked when you install it.
# It can be downloaded from here https://github.com/ros/console_bridge

set(DARTExt_LIBRARY_DIRS "${SYS_INSTALL_PREFIX}/lib" ${Boost_LIBRARY_DIRS} )

set(DARTExt_LIBS ${FCL_LIBRARIES} ${TINYXML_LIBRARIES} ${TINYXML2_LIBRARIES} ${urdfdom_LIBRARIES} )
set(DARTExt_LIBS_NO_DEBUG ${CCD_LIBRARIES} ${ASSIMP_LIBRARIES} ${GLUT_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${OPENGL_LIBRARIES})

if(MSVC OR MSVC90 OR MSVC10)
    foreach(DARTExt_LIB ${DARTExt_LIBS})
        set(DARTExt_LIBRARIES ${DARTExt_LIBRARIES} optimized ${DARTExt_LIB} debug ${DARTExt_LIB}d)
    endforeach(DARTExt_LIB)

    foreach(DARTExt_LIB ${DARTExt_LIBS_NO_DEBUG})
        set(DARTExt_LIBRARIES ${DARTExt_LIBRARIES} ${DARTExt_LIB})
    endforeach(DARTExt_LIB)

else()
    set(DARTExt_LIBRARIES ${DARTExt_LIBS_NO_DEBUG} ${DARTExt_LIBS})
endif()

list(APPEND DARTExt_LIBRARIES ${Boost_LIBRARIES})

set(DARTExt_INCLUDEDIR ${EIGEN3_INCLUDEDIR} ${FLANN_INCLUDEDIR} ${CCD_INCLUDEDIR} ${FCL_INCLUDEDIR} ${Boost_INCLUDE_DIRS}
        ${GLUT_INCLUDEDIR} ${OPENGL_INCLUDEDIR} ${ASSIMP_INCLUDEDIR} ${TINYXML_INCLUDEDIR} ${TINYXML2_INCLUDEDIR}
${urdfdom_headers_INCLUDE_DIRS}
${urdfdom_INCLUDE_DIRS} )

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(DARTExt DEFAULT_MSG DARTExt_FOUND)

mark_as_advanced(DARTExt_LIBRARY_DIRS DARTExt_INCLUDEDIR DARTExt_LIBRARIES FLANN_LIBRARIES CCD_LIBRARIES FCL_LIBRARIES Boost_LIBRARIES)

repository: bingjeff/dart

repo_name: bingjeff/dart

extension: in