text:
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

//
// System.Net.ChunkStream
//
// Authors:
//  Gonzalo Paniagua Javier (gonzalo@ximian.com)
//
// (C) 2003 Ximian, Inc (http://www.ximian.com)
//

//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

using System.Collections;
using System.Diagnostics;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text;

namespace System.Net
{
    internal sealed class ChunkStream
    {
        private enum State
        {
            None,
            PartialSize,
            Body,
            BodyFinished,
            Trailer
        }

        private sealed class Chunk
        {
            public byte[] Bytes;
            public int Offset;

            public Chunk(byte[] chunk)
            {
                Bytes = chunk;
            }

            public int Read(byte[] buffer, int offset, int size)
            {
                int nread = (size > Bytes.Length - Offset) ? Bytes.Length - Offset : size;
                Buffer.BlockCopy(Bytes, Offset, buffer, offset, nread);
                Offset += nread;
                return nread;
            }
        }

        internal WebHeaderCollection _headers;
        private int _chunkSize;
        private int _chunkRead;
        private int _totalWritten;
        private State _state;
        private readonly StringBuilder _saved;
        private bool _sawCR;
        private bool _gotit;
        private int _trailerState;
        private readonly List<Chunk> _chunks;

        public ChunkStream(WebHeaderCollection headers)
        {
            _headers = headers;
            _saved = new StringBuilder();
            _chunks = new List<Chunk>();
            _chunkSize = -1;
            _totalWritten = 0;
        }

        public void ResetBuffer()
        {
            _chunkSize = -1;
            _chunkRead = 0;
            _totalWritten = 0;
            _chunks.Clear();
        }

        public int Read(byte[] buffer, int offset, int size)
        {
            return ReadFromChunks(buffer, offset, size);
        }

        private int ReadFromChunks(byte[] buffer, int offset, int size)
        {
            int count = _chunks.Count;
            int nread = 0;

            var chunksForRemoving = new List<Chunk>(count);
            for (int i = 0; i < count; i++)
            {
                Chunk chunk = _chunks[i];

                if (chunk.Offset == chunk.Bytes.Length)
                {
                    chunksForRemoving.Add(chunk);
                    continue;
                }

                nread += chunk.Read(buffer, offset + nread, size - nread);
                if (nread == size)
                    break;
            }

            foreach (var chunk in chunksForRemoving)
                _chunks.Remove(chunk);

            return nread;
        }

        public void Write(byte[] buffer, int offset, int size)
        {
            // Note, the logic here only works when offset is 0 here.
            // Otherwise, it would treat "size" as the end offset instead of an actual byte count from offset.
            Debug.Assert(offset == 0);

            if (offset < size)
                InternalWrite(buffer, ref offset, size);
        }

        private void InternalWrite(byte[] buffer, ref int offset, int size)
        {
            if (_state == State.None || _state == State.PartialSize)
            {
                _state = GetChunkSize(buffer, ref offset, size);
                if (_state == State.PartialSize)
                    return;

                _saved.Length = 0;
                _sawCR = false;
                _gotit = false;
            }

            if (_state == State.Body && offset < size)
            {
                _state = ReadBody(buffer, ref offset, size);
                if (_state == State.Body)
                    return;
            }

            if (_state == State.BodyFinished && offset < size)
            {
                _state = ReadCRLF(buffer, ref offset, size);
                if (_state == State.BodyFinished)
                    return;

                _sawCR = false;
            }

            if (_state == State.Trailer && offset < size)
            {
                _state = ReadTrailer(buffer, ref offset, size);
                if (_state == State.Trailer)
                    return;

                _saved.Length = 0;
                _sawCR = false;
                _gotit = false;
            }

            if (offset < size)
                InternalWrite(buffer, ref offset, size);
        }

        public bool WantMore
        {
            get { return (_chunkRead != _chunkSize || _chunkSize != 0 || _state != State.None); }
        }

        public bool DataAvailable
        {
            get
            {
                int count = _chunks.Count;
                for (int i = 0; i < count; i++)
                {
                    Chunk ch = _chunks[i];
                    if (ch == null || ch.Bytes == null)
                        continue;
                    if (ch.Bytes.Length > 0 && ch.Offset < ch.Bytes.Length)
                        return (_state != State.Body);
                }
                return false;
            }
        }

        public int TotalDataSize
        {
            get { return _totalWritten; }
        }

        public int ChunkLeft
        {
            get { return _chunkSize - _chunkRead; }
        }

        private State ReadBody(byte[] buffer, ref int offset, int size)
        {
            if (_chunkSize == 0)
                return State.BodyFinished;

            int diff = size - offset;
            if (diff + _chunkRead > _chunkSize)
                diff = _chunkSize - _chunkRead;

            byte[] chunk = new byte[diff];
            Buffer.BlockCopy(buffer, offset, chunk, 0, diff);
            _chunks.Add(new Chunk(chunk));
            offset += diff;
            _chunkRead += diff;
            _totalWritten += diff;

            return (_chunkRead == _chunkSize) ? State.BodyFinished : State.Body;
        }

        private State GetChunkSize(byte[] buffer, ref int offset, int size)
        {
            _chunkRead = 0;
            _chunkSize = 0;
            char c = '\0';
            while (offset < size)
            {
                c = (char)buffer[offset++];
                if (c == '\r')
                {
                    if (_sawCR)
                        ThrowProtocolViolation("2 CR found");

                    _sawCR = true;
                    continue;
                }

                if (_sawCR && c == '\n')
                    break;

                if (c == ' ')
                    _gotit = true;

                if (!_gotit)
                    _saved.Append(c);

                if (_saved.Length > 20)
                    ThrowProtocolViolation("chunk size too long.");
            }

            if (!_sawCR || c != '\n')
            {
                if (offset < size)
                    ThrowProtocolViolation("Missing \\n");

                try
                {
                    if (_saved.Length > 0)
                    {
                        _chunkSize = int.Parse(RemoveChunkExtension(_saved.ToString()), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
                    }
                }
                catch (Exception)
                {
                    ThrowProtocolViolation("Cannot parse chunk size.");
                }

                return State.PartialSize;
            }

            _chunkRead = 0;
            try
            {
                _chunkSize = int.Parse(RemoveChunkExtension(_saved.ToString()), NumberStyles.HexNumber, CultureInfo.InvariantCulture);
            }
            catch (Exception)
            {
                ThrowProtocolViolation("Cannot parse chunk size.");
            }

            if (_chunkSize == 0)
            {
                _trailerState = 2;
                return State.Trailer;
            }

            return State.Body;
        }

        private static ReadOnlySpan<char> RemoveChunkExtension(ReadOnlySpan<char> input)
        {
            int idx = input.IndexOf(';');
            return idx >= 0 ? input.Slice(0, idx) : input;
        }

        private State ReadCRLF(byte[] buffer, ref int offset, int size)
        {
            if (!_sawCR)
            {
                if ((char)buffer[offset++] != '\r')
                    ThrowProtocolViolation("Expecting \\r");

                _sawCR = true;
                if (offset == size)
                    return State.BodyFinished;
            }

            if (_sawCR && (char)buffer[offset++] != '\n')
                ThrowProtocolViolation("Expecting \\n");

            return State.None;
        }

        private State ReadTrailer(byte[] buffer, ref int offset, int size)
        {
            char c;

            // short path
            if (_trailerState == 2 && (char)buffer[offset] == '\r' && _saved.Length == 0)
            {
                offset++;
                if (offset < size && (char)buffer[offset] == '\n')
                {
                    offset++;
                    return State.None;
                }
                offset--;
            }

            int st = _trailerState;
            string stString = "\r\n\r";
            while (offset < size && st < 4)
            {
                c = (char)buffer[offset++];
                if ((st == 0 || st == 2) && c == '\r')
                {
                    st++;
                    continue;
                }

                if ((st == 1 || st == 3) && c == '\n')
                {
                    st++;
                    continue;
                }

                if (st > 0)
                {
                    _saved.Append(stString.AsSpan(0, _saved.Length == 0 ? st - 2 : st));
                    st = 0;
                    if (_saved.Length > 4196)
                        ThrowProtocolViolation("Error reading trailer (too long).");
                }
            }

            if (st < 4)
            {
                _trailerState = st;
                if (offset < size)
                    ThrowProtocolViolation("Error reading trailer.");

                return State.Trailer;
            }

            StringReader reader = new StringReader(_saved.ToString());
            string? line;
            while ((line = reader.ReadLine()) != null && line != "")
                _headers.Add(line);

            return State.None;
        }

        private static void ThrowProtocolViolation(string message)
        {
            WebException we = new WebException(message, null, WebExceptionStatus.ServerProtocolViolation, null);
            throw we;
        }
    }
}

repository: dotnet/runtime

repo_name: dotnet/runtime

gha_language: C#


text:
DESCRIPTION = "Lua is a powerful light-weight programming language designed \
for extending applications."
LICENSE = "MIT"
HOMEPAGE = "http://www.lua.org/"

DEPENDS += "readline"
PR = "r4"
SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \
           file://lua5.1.pc"
S = "${WORKDIR}/lua-${PV}"

inherit pkgconfig binconfig

TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"

do_compile () {
	cp ${WORKDIR}/lua5.1.pc ${S}/
	oe_runmake linux
}

do_stage () {
	oe_libinstall -C src liblua ${STAGING_LIBDIR}/
	install -d ${STAGING_INCDIR}/
	install -m 0644 src/lua.h src/luaconf.h src/lualib.h src/lauxlib.h ${STAGING_INCDIR}/
}

do_install () {
	oe_runmake \
		'INSTALL_TOP=${D}${prefix}' \
		'INSTALL_BIN=${D}${bindir}' \
		'INSTALL_INC=${D}${includedir}/' \
		'INSTALL_MAN=${D}${mandir}/man1' \
		'INSTALL_SHARE=${D}${datadir}/lua' \
		install
}

license: MIT

repository: demsey/openembedded

license_type: permissive

repo_name: demsey/openembedded

branch_name: HEAD

extension: bb


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.1.0">
<drawing>
<settings>
<setting alwaysvectorfont="yes"/>
<setting keepoldvectorfont="yes"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="yes"/>
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="yes"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="yes"/>
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="29" name="tStop" color="7" fill="3" visible="yes" active="yes"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
<layer number="31" name="tCream" color="7" fill="4" visible="yes" active="yes"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>
<layer number="44" name="Drills" color="7" fill="1" visible="yes" active="yes"/>
<layer number="45" name="Holes" color="7" fill="1" visible="yes" active="yes"/>
<layer number="46" name="Milling" color="3" fill="1" visible="yes" active="yes"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="6" fill="1" visible="yes" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
<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="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
<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="no" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="no" active="yes"/>
<layer number="103" name="tMap" color="7" fill="1" visible="no" active="yes"/>
<layer number="104" name="Name" color="16" fill="1" visible="no" active="yes"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="no" active="yes"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="no" active="yes"/>
<layer number="107" name="Crop" color="7" fill="1" visible="no" active="yes"/>
<layer number="108" name="tplace-old" color="10" fill="1" visible="no" active="yes"/>
<layer number="109" name="ref-old" color="11" fill="1" visible="no" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="no" active="yes"/>
<layer number="111" name="LPC17xx" color="7" fill="1" visible="no" active="yes"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="113" name="IDFDebug" color="4" fill="1" visible="no" active="yes"/>
<layer number="114" name="Badge_Outline" color="7" fill="1" visible="no" active="yes"/>
<layer number="115" name="ReferenceISLANDS" color="7" fill="1" visible="no" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="no" active="yes"/>
<layer number="117" name="BACKMAAT1" color="7" fill="1" visible="no" active="yes"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="no" active="yes"/>
<layer number="119" name="KAP_TEKEN" color="7" fill="1" visible="no" active="yes"/>
<layer number="120" name="KAP_MAAT1" color="7" fill="1" visible="no" active="yes"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="no" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="no" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="129" name="Mask" color="7" fill="1" visible="no" active="yes"/>
<layer number="130" name="SMDSTROOK" color="7" fill="1" visible="no" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="no" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="no" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="no" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="no" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="yes"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="no" active="yes"/>
<layer number="153" name="FabDoc1" color="7" fill="1" visible="no" active="yes"/>
<layer number="154" name="FabDoc2" color="7" fill="1" visible="no" active="yes"/>
<layer number="155" name="FabDoc3" color="7" fill="1" visible="no" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="no" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="no" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="10" visible="no" active="yes"/>
<layer number="202" name="202bmp" color="3" fill="10" visible="no" active="yes"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="no" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="no" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="no" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="no" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="no" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="no" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="no" 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="no" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="231" name="231bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="no" active="yes"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="no" 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="no" 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="no" active="yes"/>
<layer number="255" name="routoute" color="7" fill="1" visible="no" active="yes"/>
</layers>
<board>
<fusionsync huburn="a.cGVyc29uYWw6dWUyOGI1M2Jj" projecturn="a.cGVyc29uYWw6dWUyOGI1M2JjIzIwMTYxMjE1NTUyNjY1MzE" f3durn="urn:adsk.wipprod:dm.lineage:wdN1ysWjQQ6yzHp-edc0aQ" pcbguid="0a059fb7-bc54-40ae-b987-45511c4a9763" lastpulledtime="" lastsyncedchangeguid="a90f183d-a040-479b-273d-07ed6762edbb"/>
<plain>
<text x="43.18" y="52.07" size="1.778" layer="21" font="vector" ratio="12">KomaHub Remote Power Switch v1.2</text>
<hole x="96.012" y="50.292" drill="3.2"/>
<hole x="96.012" y="7.112" drill="3.2"/>
<wire x1="69.85" y1="43.815" x2="69.215" y2="43.815" width="0.254" layer="21"/>
<wire x1="0" y1="0" x2="107.95" y2="0" width="0.4064" layer="248"/>
<wire x1="107.95" y1="0" x2="107.95" y2="57.15" width="0.4064" layer="248"/>
<wire x1="107.95" y1="57.15" x2="0" y2="57.15" width="0.4064" layer="248"/>
<wire x1="0" y1="57.15" x2="0" y2="0" width="0.4064" layer="248"/>
<circle x="4.826" y="4.826" radius="4.071928125" width="0.4064" layer="248"/>
<circle x="4.826" y="4.826" radius="2.032" width="0.4064" layer="248"/>
<circle x="103.124" y="4.826" radius="4.064" width="0.4064" layer="248"/>
<circle x="103.124" y="4.826" radius="2.032" width="0.4064" layer="248"/>
<circle x="103.124" y="52.324" radius="4.071928125" width="0.4064" layer="248"/>
<circle x="103.124" y="52.324" radius="2.032" width="0.4064" layer="248"/>
<circle x="4.826" y="52.324" radius="4.064" width="0.4064" layer="248"/>
<circle x="4.826" y="52.324" radius="2.032" width="0.4064" layer="248"/>
<circle x="12.192" y="50.292" radius="2.54" width="0.4064" layer="248"/>
<circle x="12.192" y="7.112" radius="2.54" width="0.4064" layer="248"/>
<circle x="12.192" y="50.292" radius="1.27" width="0.4064" layer="248"/>
<circle x="12.192" y="7.112" radius="1.27" width="0.4064" layer="248"/>
<circle x="96.012" y="7.112" radius="1.27" width="0.4064" layer="248"/>
<circle x="96.012" y="7.112" radius="2.54" width="0.4064" layer="248"/>
<circle x="96.012" y="50.292" radius="1.27" width="0.4064" layer="248"/>
<circle x="96.012" y="50.292" radius="2.54" width="0.4064" layer="248"/>
<wire x1="9.906" y1="1.524" x2="9.906" y2="8.89" width="0" layer="20"/>
<wire x1="9.906" y1="8.89" x2="1.143" y2="8.89" width="0" layer="20"/>
<wire x1="1.143" y1="8.89" x2="1.143" y2="48.387" width="0" layer="20"/>
<wire x1="1.143" y1="48.387" x2="9.906" y2="48.387" width="0" layer="20"/>
<wire x1="9.906" y1="48.387" x2="9.906" y2="55.88" width="0" layer="20"/>
<wire x1="9.906" y1="55.88" x2="98.298" y2="55.88" width="0" layer="20"/>
<wire x1="98.298" y1="55.88" x2="98.298" y2="48.387" width="0" layer="20"/>
<wire x1="98.298" y1="48.387" x2="106.807" y2="48.387" width="0" layer="20"/>
<wire x1="106.807" y1="48.387" x2="106.807" y2="8.89" width="0" layer="20"/>
<wire x1="106.807" y1="8.89" x2="98.044" y2="8.89" width="0" layer="20"/>
<wire x1="98.044" y1="8.89" x2="98.044" y2="1.524" width="0" layer="20"/>
<wire x1="98.044" y1="1.524" x2="9.906" y2="1.524" width="0" layer="20"/>
<wire x1="-1.905" y1="-1.905" x2="109.855" y2="-1.905" width="0.4064" layer="248"/>
<wire x1="109.855" y1="-1.905" x2="109.855" y2="59.055" width="0.4064" layer="248"/>
<wire x1="109.855" y1="59.055" x2="-1.905" y2="59.055" width="0.4064" layer="248"/>
<wire x1="-1.905" y1="59.055" x2="-1.905" y2="-1.905" width="0.4064" layer="248"/>
<hole x="12.0142" y="50.292" drill="3.2"/>
<hole x="12.0142" y="7.112" drill="3.2"/>
<text x="2.54" y="45.339" size="1.143" layer="21" font="vector" distance="123" rot="R90" align="top-left">5V
P3
VS
S1
S2
S3
S4
S5
S6
TEMP
LED
FRQ
</text>
<text x="2.54" y="27.432" size="1.143" layer="21" font="vector" distance="123" rot="R90" align="top-right">GND
SS
SCLK
MOSI
MISO
P1
SCL
SDA
P4
P5
P2
FRQ</text>
<text x="12.7" y="35.052" size="1.27" layer="21" font="vector" rot="R270">P6</text>
<text x="102.489" y="14.097" size="0.8382" layer="21" font="vector" distance="22" align="bottom-right">5V
SS
GND
SCLK
SCL
MOSI
SDA
MISO </text>
<text x="13.335" y="40.386" size="1.27" layer="21" font="vector" rot="R90" align="center-right">VREF</text>
<text x="20.955" y="52.324" size="0.8128" layer="21" font="vector" align="top-center">GND</text>
<text x="15.875" y="52.324" size="0.8128" layer="21" font="vector" align="top-center">5V</text>
<text x="26.035" y="52.324" size="0.8128" layer="21" font="vector" align="top-center">VIN</text>
<text x="23.495" y="52.324" size="0.8128" layer="21" font="vector" align="top-center">VREF</text>
<text x="18.415" y="52.324" size="0.8128" layer="21" font="vector" align="top-center">VS</text>
<text x="102.108" y="13.97" size="0.8382" layer="22" font="vector" distance="22" rot="MR0">5V
 SS
GND
 SCLK
SCL
 MOSI
SDA
 MISO</text>
<text x="47.244" y="21.59" size="1.27" layer="21">1</text>
<text x="47.244" y="16.51" size="1.27" layer="21">2</text>
<text x="65.024" y="16.51" size="1.27" layer="21">4</text>
<text x="82.804" y="16.51" size="1.27" layer="21">6</text>
<text x="82.804" y="21.59" size="1.27" layer="21">5</text>
<text x="65.024" y="21.59" size="1.27" layer="21">3</text>
<text x="48.006" y="21.59" size="1.27" layer="22" rot="MR0">1</text>
<text x="48.006" y="16.51" size="1.27" layer="22" rot="MR0">2</text>
<text x="66.04" y="21.59" size="1.27" layer="22" rot="MR0">3</text>
<text x="66.04" y="16.51" size="1.27" layer="22" rot="MR0">4</text>
<text x="83.82" y="16.51" size="1.27" layer="22" rot="MR0">6</text>
<text x="83.82" y="21.59" size="1.27" layer="22" rot="MR0">5</text>
<text x="23.622" y="18.796" size="1.27" layer="21" align="bottom-center">INPUT/THROUGH</text>
<text x="2.54" y="45.339" size="1.143" layer="22" font="vector" distance="123" rot="MR90">FRQ
LED
TEMP
S6
S5
S4
S3
S2
S1
VS
P3
5V</text>
<text x="31.75" y="27.432" size="1.143" layer="22" font="vector" distance="123" rot="MR90" align="top-right">FRQ
P2
P5
P4
SDA
SCL
P1
MISO
MOSI
SCLK
SS
GND</text>
<text x="79.502" y="38.862" size="1.016" layer="22" distance="30" rot="MR0" align="bottom-center">I2C PULL-UP</text>
<text x="40.005" y="40.005" size="1.016" layer="22" rot="MR0" align="bottom-center">FREQ
CONNECT</text>
<text x="40.005" y="50.165" size="1.016" layer="22" rot="MR0" align="bottom-center">1-WIRE
PULL-UP</text>
<text x="68.58" y="48.895" size="1.778" layer="21">Serial#</text>
<rectangle x1="79.375" y1="48.26" x2="92.075" y2="51.435" layer="21" rot="R180"/>
<text x="13.97" y="35.052" size="1.27" layer="22" font="vector" rot="MR270">P6</text>
<text x="13.335" y="40.386" size="1.27" layer="22" font="vector" rot="MR90" align="center-right">VREF</text>
<text x="40.005" y="40.132" size="1.016" layer="21" distance="20" align="bottom-center">FREQ
CONNECT</text>
<text x="40.005" y="45.339" size="1.016" layer="21" distance="20" align="bottom-center">1-WIRE
PULL-UP</text>
<text x="79.629" y="38.481" size="1.016" layer="21" distance="30" align="bottom-center">I2C PULL-UP</text>
<text x="23.368" y="20.066" size="1.27" layer="22" rot="MR180" align="bottom-center">INPUT/THROUGH</text>
</plain>
<libraries>
<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="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="powerpoles">
<description>Anderson Powerpole footprints</description>
<packages>
<package name="POWERPOLE_PAIR_25A_HORIZ_G12">
<pad name="BLACK" x="-3.925" y="-1.13" drill="1.8" shape="long"/>
<pad name="RED" x="3.925" y="-1.13" drill="1.8" shape="long" rot="R180"/>
<wire x1="-7.9" y1="24.6" x2="-7.9" y2="16.4" width="0.127" layer="51"/>
<wire x1="-7.9" y1="16.4" x2="-7.9" y2="15.97" width="0.127" layer="51"/>
<wire x1="-7.9" y1="13.43" x2="-7.9" y2="0" width="0.127" layer="51"/>
<wire x1="-7.9" y1="0" x2="0" y2="0" width="0.127" layer="51"/>
<wire x1="0" y1="0" x2="7.9" y2="0" width="0.127" layer="51"/>
<wire x1="7.9" y1="0" x2="7.9" y2="13.43" width="0.127" layer="51"/>
<wire x1="7.9" y1="15.97" x2="7.9" y2="16.4" width="0.127" layer="51"/>
<wire x1="7.9" y1="16.4" x2="7.9" y2="24.6" width="0.127" layer="51"/>
<wire x1="7.9" y1="24.6" x2="0" y2="24.6" width="0.127" layer="51"/>
<wire x1="0" y1="24.6" x2="-7.9" y2="24.6" width="0.127" layer="51"/>
<wire x1="0" y1="0" x2="0" y2="13.43" width="0.127" layer="51"/>
<wire x1="0" y1="15.97" x2="0" y2="24.6" width="0.127" layer="51"/>
<circle x="0" y="14.7" radius="1.27" width="0.127" layer="51"/>
<wire x1="-7.9" y1="15.97" x2="-7.9" y2="13.43" width="0.127" layer="51" curve="-180"/>
<wire x1="7.9" y1="15.97" x2="7.9" y2="13.43" width="0.127" layer="51" curve="180"/>
<wire x1="-7.9" y1="16.4" x2="7.9" y2="16.4" width="0.127" layer="51"/>
<wire x1="-7.9" y1="0" x2="-7.62" y2="0" width="0.127" layer="21"/>
<wire x1="-7.62" y1="0" x2="-6.35" y2="0" width="0.127" layer="21"/>
<wire x1="-1.27" y1="0" x2="1.27" y2="0" width="0.127" layer="21"/>
<wire x1="6.35" y1="0" x2="7.62" y2="0" width="0.127" layer="21"/>
<wire x1="7.62" y1="0" x2="7.9" y2="0" width="0.127" layer="21"/>
<wire x1="7.9" y1="0" x2="7.9" y2="13.43" width="0.127" layer="21"/>
<wire x1="0" y1="0" x2="0" y2="13.43" width="0.127" layer="21"/>
<wire x1="-7.9" y1="13.43" x2="-7.9" y2="0" width="0.127" layer="21"/>
<wire x1="-7.62" y1="-2.794" x2="7.62" y2="-2.794" width="0.127" layer="21"/>
<wire x1="7.62" y1="-2.794" x2="7.62" y2="0" width="0.127" layer="21"/>
<wire x1="-7.62" y1="0" x2="-7.62" y2="-2.794" width="0.127" layer="21"/>
<wire x1="-7.62" y1="-2.794" x2="7.62" y2="-2.794" width="0.127" layer="22"/>
<wire x1="7.62" y1="-2.794" x2="7.62" y2="0.508" width="0.127" layer="22"/>
<wire x1="7.62" y1="0.508" x2="-7.62" y2="0.508" width="0.127" layer="22"/>
<wire x1="-7.62" y1="0.508" x2="-7.62" y2="-2.794" width="0.127" layer="22"/>
<wire x1="-7.366" y1="-2.159" x2="-6.604" y2="-2.159" width="0.127" layer="21"/>
<wire x1="6.604" y1="-2.159" x2="7.366" y2="-2.159" width="0.127" layer="21"/>
<wire x1="6.985" y1="-1.778" x2="6.985" y2="-2.54" width="0.127" layer="22"/>
<wire x1="-7.366" y1="-2.159" x2="-6.604" y2="-2.159" width="0.127" layer="22"/>
<wire x1="6.985" y1="-1.778" x2="6.985" y2="-2.54" width="0.127" layer="21"/>
<wire x1="6.604" y1="-2.159" x2="7.366" y2="-2.159" width="0.127" layer="22"/>
</package>
<package name="POWERPOLE_PAIR_25A_HORIZ_G11">
<pad name="BLACK" x="-3.925" y="-6.096" drill="1.8" shape="long"/>
<pad name="RED" x="3.925" y="-6.096" drill="1.8" shape="long" rot="R180"/>
<wire x1="-7.9" y1="24.6" x2="-7.9" y2="16.4" width="0.127" layer="51"/>
<wire x1="-7.9" y1="16.4" x2="-7.9" y2="15.97" width="0.127" layer="51"/>
<wire x1="-7.9" y1="13.43" x2="-7.9" y2="0" width="0.127" layer="51"/>
<wire x1="-7.9" y1="0" x2="0" y2="0" width="0.127" layer="51"/>
<wire x1="0" y1="0" x2="7.9" y2="0" width="0.127" layer="51"/>
<wire x1="7.9" y1="0" x2="7.9" y2="13.43" width="0.127" layer="51"/>
<wire x1="7.9" y1="15.97" x2="7.9" y2="16.4" width="0.127" layer="51"/>
<wire x1="7.9" y1="16.4" x2="7.9" y2="24.6" width="0.127" layer="51"/>
<wire x1="7.9" y1="24.6" x2="0" y2="24.6" width="0.127" layer="51"/>
<wire x1="0" y1="24.6" x2="-7.9" y2="24.6" width="0.127" layer="51"/>
<wire x1="0" y1="0" x2="0" y2="13.43" width="0.127" layer="51"/>
<wire x1="0" y1="15.97" x2="0" y2="24.6" width="0.127" layer="51"/>
<circle x="0" y="14.7" radius="1.27" width="0.127" layer="51"/>
<wire x1="-7.9" y1="15.97" x2="-7.9" y2="13.43" width="0.127" layer="51" curve="-180"/>
<wire x1="7.9" y1="15.97" x2="7.9" y2="13.43" width="0.127" layer="51" curve="180"/>
<wire x1="-7.9" y1="16.4" x2="7.9" y2="16.4" width="0.127" layer="51"/>
<wire x1="-7.62" y1="-7.62" x2="7.62" y2="-7.62" width="0.127" layer="21"/>
<wire x1="7.62" y1="-7.62" x2="7.62" y2="-4.445" width="0.127" layer="21"/>
<wire x1="7.62" y1="-4.445" x2="-7.62" y2="-4.445" width="0.127" layer="21"/>
<wire x1="-7.62" y1="-4.445" x2="-7.62" y2="-7.62" width="0.127" layer="21"/>
<wire x1="-7.62" y1="-7.62" x2="-7.62" y2="-4.445" width="0.127" layer="22"/>
<wire x1="-7.62" y1="-4.445" x2="7.62" y2="-4.445" width="0.127" layer="22"/>
<wire x1="7.62" y1="-4.445" x2="7.62" y2="-7.62" width="0.127" layer="22"/>
<wire x1="7.62" y1="-7.62" x2="-7.62" y2="-7.62" width="0.127" layer="22"/>
<wire x1="6.604" y1="-6.985" x2="7.366" y2="-6.985" width="0.127" layer="22"/>
<wire x1="-7.366" y1="-6.985" x2="-6.604" y2="-6.985" width="0.127" layer="22"/>
<wire x1="-7.366" y1="-6.985" x2="-6.604" y2="-6.985" width="0.127" layer="21"/>
<wire x1="6.604" y1="-6.985" x2="7.366" y2="-6.985" width="0.127" layer="21"/>
<wire x1="6.985" y1="-6.604" x2="6.985" y2="-7.366" width="0.127" layer="22"/>
<wire x1="6.985" y1="-6.604" x2="6.985" y2="-7.366" width="0.127" layer="21"/>
</package>
</packages>
</library>
<library name="SparkFun-Connectors">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find connectors and sockets- basically anything that can be plugged into or onto.

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="1X05">
<wire x1="6.985" y1="1.27" x2="8.255" y2="1.27" width="0.2032" layer="21"/>
<wire x1="8.255" y1="1.27" x2="8.89" y2="0.635" width="0.2032" layer="21"/>
<wire x1="8.89" y1="-0.635" x2="8.255" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="8.89" y1="0.635" x2="9.525" y2="1.27" width="0.2032" layer="21"/>
<wire x1="9.525" y1="1.27" x2="10.795" y2="1.27" width="0.2032" layer="21"/>
<wire x1="10.795" y1="1.27" x2="11.43" y2="0.635" width="0.2032" layer="21"/>
<wire x1="11.43" y1="-0.635" x2="10.795" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="10.795" y1="-1.27" x2="9.525" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="9.525" y1="-1.27" x2="8.89" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="0.635" x2="4.445" y2="1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="1.27" x2="5.715" y2="1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="1.27" x2="6.35" y2="0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="5.715" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="-1.27" x2="4.445" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="-1.27" x2="3.81" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="6.985" y1="1.27" x2="6.35" y2="0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="6.985" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="8.255" y1="-1.27" x2="6.985" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="11.43" y1="0.635" x2="11.43" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="4" x="7.62" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="5" x="10.16" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="9.906" y1="-0.254" x2="10.414" y2="0.254" layer="51"/>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="1X04">
<wire x1="6.985" y1="1.27" x2="8.255" y2="1.27" width="0.2032" layer="21"/>
<wire x1="8.255" y1="1.27" x2="8.89" y2="0.635" width="0.2032" layer="21"/>
<wire x1="8.89" y1="-0.635" x2="8.255" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.81" y1="0.635" x2="4.445" y2="1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="1.27" x2="5.715" y2="1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="1.27" x2="6.35" y2="0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="5.715" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="-1.27" x2="4.445" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="-1.27" x2="3.81" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="6.985" y1="1.27" x2="6.35" y2="0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="6.985" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="8.255" y1="-1.27" x2="6.985" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="8.89" y1="0.635" x2="8.89" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" shape="square" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="4" x="7.62" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
</packages>
</library>
<library name="GuShH">
<description>Personal eagle library by Gustavo Fiorenza

This is a repository for parts that I have not been able to find anywhere else, and thus I've been forced to make my own.

Most have been tested, others use known/proven footprints (Some are from the SparkFun library) -- If there are any errors let me know via email.

info@gushh.net</description>
<packages>
<package name="SOT-23">
<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"/>
<circle x="-0.9906" y="0.2477" radius="0.0825" width="0.127" layer="21"/>
<smd name="3" x="0" y="1.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="-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="BTS5016SDA">
<packages>
<package name="TO114P998X235-5_6N">
<description>Original name TO114P998X235-5_6N

Max Component Height - 2.35mm</description>
<smd name="1" x="-4.75" y="2.28" dx="1.7" dy="0.8" layer="1"/>
<smd name="2" x="-4.75" y="1.14" dx="1.7" dy="0.8" layer="1"/>
<smd name="4" x="-4.75" y="-1.14" dx="1.7" dy="0.8" layer="1"/>
<smd name="5" x="-4.75" y="-2.28" dx="1.7" dy="0.8" layer="1"/>
<smd name="6" x="2.3" y="0" dx="5.75" dy="6.5" layer="1" rot="R90"/>
<wire x1="-2.13" y1="-3.25" x2="4.09" y2="-3.25" width="0.1" layer="51"/>
<wire x1="4.09" y1="-3.25" x2="4.09" y2="3.25" width="0.1" layer="51"/>
<wire x1="-2.13" y1="-3.25" x2="-2.13" y2="3.25" width="0.1" layer="51"/>
<wire x1="-2.13" y1="3.25" x2="4.09" y2="3.25" width="0.1" layer="51"/>
<wire x1="-5.9" y1="-3.6" x2="-5.9" y2="3.6" width="0.1" layer="39"/>
<wire x1="0" y1="-0.5" x2="0" y2="0.5" width="0.1" layer="23"/>
<wire x1="-0.5" y1="0" x2="0.5" y2="0" width="0.1" layer="23"/>
<wire x1="-5.9" y1="3.6" x2="5.9" y2="3.6" width="0.1" layer="39"/>
<wire x1="5.9" y1="-3.6" x2="5.9" y2="3.6" width="0.1" layer="39"/>
<wire x1="-5.9" y1="-3.6" x2="5.9" y2="-3.6" width="0.1" layer="39"/>
<circle x="-4.65" y="3.23" radius="0.125" width="0.25" layer="21"/>
<wire x1="-2.2" y1="3.35" x2="-1.35" y2="3.35" width="0.2" layer="21"/>
<wire x1="-2.2" y1="-3.35" x2="-1.35" y2="-3.35" width="0.2" layer="21"/>
<wire x1="-2.2" y1="-3.35" x2="-2.2" y2="3.35" width="0.2" layer="21"/>
<text x="-5.715" y="3.81" size="1.27" layer="25">>NAME</text>
<text x="-5.715" y="-5.08" size="1.27" layer="27">>VALUE</text>
</package>
</packages>
</library>
<library name="SparkFun-Retired">
<description>
SparkFun Electronics' preferred foot prints

In this library you'll find all manner of retired footprints for resistors, capacitors, board names, ICs, etc., that are no longer used in our catalog.

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="1X02">
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.81" y1="0.635" x2="3.81" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
</packages>
</library>
<library name="teensy">
<packages>
<package name="TEENSY-SIMPLE">
<wire x1="15.24" y1="8.89" x2="-15.24" y2="8.89" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="-8.89" x2="15.24" y2="-8.89" width="0.1524" layer="21"/>
<wire x1="15.24" y1="8.89" x2="15.24" y2="6.35" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="8.89" x2="-15.24" y2="6.35" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="-8.89" x2="-15.24" y2="-6.35" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="1.016" x2="-15.24" y2="-1.016" width="0.1524" layer="21" curve="-180"/>
<wire x1="-15.24" y1="6.35" x2="-15.24" y2="1.016" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="-6.35" x2="15.24" y2="-6.35" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="-6.35" x2="-15.24" y2="-1.016" width="0.1524" layer="21"/>
<wire x1="15.24" y1="-6.35" x2="15.24" y2="-8.89" width="0.1524" layer="21"/>
<wire x1="-15.24" y1="6.35" x2="15.24" y2="6.35" width="0.1524" layer="21"/>
<pad name="GND" x="-13.97" y="-7.62" drill="1.016" diameter="1.8796" shape="square" rot="R90"/>
<pad name="B7" x="-1.27" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="D2" x="6.35" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="D3" x="8.89" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="D0" x="1.27" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="D1" x="3.81" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="D6" x="13.97" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="D7" x="11.43" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="C6" x="11.43" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="C7" x="13.97" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="F7" x="1.27" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="F6" x="-1.27" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="F5" x="-3.81" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="F4" x="-6.35" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="F1" x="-8.89" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="F0" x="-11.43" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="REF" x="-3.81" y="5.08" drill="1.016" diameter="1.8796" rot="R180"/>
<pad name="E6" x="-3.81" y="-5.08" drill="1.016" diameter="1.8796"/>
<pad name="B0" x="-11.43" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="B1" x="-8.89" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="B2" x="-6.35" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="B3" x="-3.81" y="-7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="B4" x="8.89" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="B5" x="6.35" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="B6" x="3.81" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="+5V" x="-13.97" y="7.62" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="3.175" y="1.905" size="1.27" layer="27" ratio="10">>VALUE</text>
<text x="-15.748" y="-8.255" size="1.27" layer="25" ratio="10" rot="R90">>NAME</text>
</package>
</packages>
</library>
<library name="on-semiconductor">
<description>ON Semiconductor

 Home page

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="DPAK">
<wire x1="3.2766" y1="5.0054" x2="3.277" y2="-1.189" width="0.2032" layer="21"/>
<wire x1="3.277" y1="-1.189" x2="-3.277" y2="-1.189" width="0.2032" layer="21"/>
<wire x1="-3.277" y1="-1.189" x2="-3.2766" y2="5.0054" width="0.2032" layer="21"/>
<wire x1="-3.277" y1="5.005" x2="3.2774" y2="5.0046" width="0.2032" layer="51"/>
<wire x1="-2.5654" y1="5.107" x2="-2.5654" y2="5.8182" width="0.2032" layer="51"/>
<wire x1="-2.5654" y1="5.8182" x2="-2.1082" y2="6.2754" width="0.2032" layer="51"/>
<wire x1="-2.1082" y1="6.2754" x2="2.1082" y2="6.2754" width="0.2032" layer="51"/>
<wire x1="2.1082" y1="6.2754" x2="2.5654" y2="5.8182" width="0.2032" layer="51"/>
<wire x1="2.5654" y1="5.8182" x2="2.5654" y2="5.107" width="0.2032" layer="51"/>
<wire x1="2.5654" y1="5.107" x2="-2.5654" y2="5.107" width="0.2032" layer="51"/>
<smd name="1" x="-2.28" y="-2.77" dx="1.6" dy="3" layer="1"/>
<smd name="3" x="2.28" y="-2.77" dx="1.6" dy="3" layer="1"/>
<smd name="4" x="0" y="3.366" dx="4.826" dy="4.191" layer="1"/>
<text x="-3.81" y="-1.67" size="1.27" layer="25" rot="R90">>NAME</text>
<text x="5.08" y="-1.67" size="1.27" layer="27" rot="R90">>VALUE</text>
<rectangle x1="-2.7178" y1="-4.1862" x2="-1.8542" y2="-1.2906" layer="51"/>
<rectangle x1="1.8542" y1="-4.1862" x2="2.7178" y2="-1.2906" layer="51"/>
<rectangle x1="-0.4318" y1="-2.0526" x2="0.4318" y2="-1.2906" layer="21"/>
<polygon width="0.1998" layer="51">
<vertex x="-2.5654" y="5.107"/>
<vertex x="-2.5654" y="5.8182"/>
<vertex x="-2.1082" y="6.2754"/>
<vertex x="2.1082" y="6.2754"/>
<vertex x="2.5654" y="5.8182"/>
<vertex x="2.5654" y="5.107"/>
</polygon>
</package>
</packages>
</library>
<library name="MF_Passives">
<packages>
<package name="R0603">
<description>Description: Standard 0603 Package for Resistors
</description>
<smd name="P$1" x="-0.75" y="0" dx="0.6" dy="0.9" layer="1" rot="R180"/>
<smd name="P$2" x="0.75" y="0" dx="0.6" dy="0.9" layer="1" rot="R180"/>
<wire x1="-1.4" y1="0.7" x2="-1.4" y2="-0.7" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-0.7" x2="1.4" y2="-0.7" width="0.127" layer="21"/>
<wire x1="1.4" y1="-0.7" x2="1.4" y2="0.7" width="0.127" layer="21"/>
<wire x1="1.4" y1="0.7" x2="-1.4" y2="0.7" width="0.127" layer="21"/>
<text x="-1.4" y="1.1" size="1.016" layer="25" font="vector" ratio="16">>NAME</text>
</package>
<package name="CP4MM">
<description>Description: 4MM Round Package for Electrolytic Capacitors. Based on Panasonic Electrolytic Capacitors.
</description>
<smd name="P$2" x="0" y="1.75" dx="2.5" dy="1.6" layer="1" rot="R90"/>
<smd name="P$1" x="0" y="-1.75" dx="2.5" dy="1.6" layer="1" rot="R90"/>
<wire x1="-1.2" y1="2.2" x2="-2.2" y2="2.2" width="0.127" layer="21"/>
<wire x1="-2.2" y1="2.2" x2="-2.2" y2="-1.56360625" width="0.127" layer="21"/>
<wire x1="-2.2" y1="-1.56360625" x2="-1.56360625" y2="-2.2" width="0.127" layer="21"/>
<wire x1="-1.56360625" y1="-2.2" x2="-1.1" y2="-2.2" width="0.127" layer="21"/>
<wire x1="1.2" y1="2.2" x2="2.2" y2="2.2" width="0.127" layer="21"/>
<wire x1="2.2" y1="2.2" x2="2.2" y2="-1.56360625" width="0.127" layer="21"/>
<wire x1="2.2" y1="-1.56360625" x2="1.56360625" y2="-2.2" width="0.127" layer="21"/>
<wire x1="1.56360625" y1="-2.2" x2="1.2" y2="-2.2" width="0.127" layer="21"/>
<text x="-2.2" y="3.5" size="1.016" layer="25" font="vector" ratio="16">>NAME</text>
<wire x1="1.5" y1="-0.5" x2="1.5" y2="-1.5" width="0.127" layer="21"/>
<wire x1="2" y1="-1" x2="1" y2="-1" width="0.127" layer="21"/>
</package>
<package name="CP10MM">
<description>Description: 10MM Round Package for Electrolytic Capacitors. Based on Panasonic Electrolytic Capacitors.

</description>
<smd name="P$1" x="0" y="-4.35" dx="4.1" dy="2" layer="1" rot="R90"/>
<smd name="P$2" x="0" y="4.35" dx="4.1" dy="2" layer="1" rot="R90"/>
<text x="-5.15" y="7.5" size="1.016" layer="25" font="vector" ratio="16">>NAME</text>
<wire x1="-1.5" y1="5.15" x2="-5.15" y2="5.15" width="0.127" layer="21"/>
<wire x1="-5.15" y1="5.15" x2="-5.15" y2="-3.15" width="0.127" layer="21"/>
<wire x1="-5.15" y1="-3.15" x2="-3.15" y2="-5.15" width="0.127" layer="21"/>
<wire x1="-3.15" y1="-5.15" x2="-1.5" y2="-5.15" width="0.127" layer="21"/>
<wire x1="1.5" y1="5.15" x2="5.15" y2="5.15" width="0.127" layer="21"/>
<wire x1="5.15" y1="5.15" x2="5.15" y2="-3.15" width="0.127" layer="21"/>
<wire x1="5.15" y1="-3.15" x2="3.15" y2="-5.15" width="0.127" layer="21"/>
<wire x1="3.15" y1="-5.15" x2="1.5" y2="-5.15" width="0.127" layer="21"/>
<wire x1="3" y1="-2.5" x2="3" y2="-3.5" width="0.127" layer="21"/>
<wire x1="2.5" y1="-3" x2="3.5" y2="-3" width="0.127" layer="21"/>
</package>
<package name="C0603">
<description>Description: Standard 0603 Package for Capacitors
</description>
<smd name="P$1" x="-0.75" y="0" dx="0.6" dy="0.9" layer="1" rot="R180"/>
<smd name="P$2" x="0.75" y="0" dx="0.6" dy="0.9" layer="1" rot="R180"/>
<wire x1="-1.4" y1="0.7" x2="-1.4" y2="-0.7" width="0.127" layer="21"/>
<wire x1="-1.4" y1="-0.7" x2="1.4" y2="-0.7" width="0.127" layer="21"/>
<wire x1="1.4" y1="-0.7" x2="1.4" y2="0.7" width="0.127" layer="21"/>
<wire x1="1.4" y1="0.7" x2="-1.4" y2="0.7" width="0.127" layer="21"/>
<text x="-1.4" y="1.1" size="1.016" layer="25" font="vector" ratio="16">>NAME</text>
</package>
</packages>
</library>
<library name="components">
<packages>
<package name="TO220AV">
<description>Molded Package

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

Based on the following sources:

Motorola : www.onsemi.com

Fairchild : www.fairchildsemi.com

Philips : www.semiconductors.com

Vishay : www.vishay.de

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="SOT23">
<description>DIODE</description>
<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="-1.4224" y1="-0.1524" x2="-1.4224" y2="0.6604" width="0.1524" layer="21"/>
<wire x1="-1.4224" y1="0.6604" x2="-0.8636" y2="0.6604" width="0.1524" layer="21"/>
<wire x1="1.4224" y1="0.6604" x2="1.4224" y2="-0.1524" width="0.1524" layer="21"/>
<wire x1="0.8636" y1="0.6604" x2="1.4224" y2="0.6604" width="0.1524" layer="21"/>
<smd name="3" x="0" y="1.1" dx="1" dy="1.4" layer="1"/>
<smd name="2" x="0.95" y="-1.1" dx="1" dy="1.4" layer="1"/>
<smd name="1" x="-0.95" y="-1.1" dx="1" dy="1.4" layer="1"/>
<text x="-1.905" y="1.905" size="1.27" layer="25">>NAME</text>
<text x="-1.905" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-0.2286" y1="0.7112" x2="0.2286" y2="1.2954" layer="51"/>
<rectangle x1="0.7112" y1="-1.2954" x2="1.1684" y2="-0.7112" layer="51"/>
<rectangle x1="-1.1684" y1="-1.2954" x2="-0.7112" y2="-0.7112" layer="51"/>
</package>
</packages>
</library>
<library name="alvarop-lib">
<packages>
<package name="35RASMT2BHNTRX">
<smd name="P$1" x="-2.44" y="3.675" dx="2.55" dy="2.4" layer="1" rot="R90"/>
<smd name="P$2" x="4.96" y="-3.675" dx="2.55" dy="2.9" layer="1" rot="R90"/>
<smd name="P$3" x="-4.7" y="-3.675" dx="2.55" dy="2.4" layer="1" rot="R90"/>
<hole x="-3.5" y="0" drill="1.6"/>
<hole x="3.5" y="0" drill="1.6"/>
<wire x1="2.5" y1="-3.5" x2="-2.5" y2="-3.5" width="0.254" layer="21"/>
<wire x1="-0.5" y1="3.5" x2="8" y2="3.5" width="0.254" layer="21"/>
<wire x1="8" y1="3.5" x2="8" y2="-3.5" width="0.254" layer="21"/>
<wire x1="8" y1="-3.5" x2="7.5" y2="-3.5" width="0.254" layer="21"/>
<wire x1="-6.5" y1="-2" x2="-8.5" y2="-2" width="0.254" layer="51"/>
<wire x1="-8.5" y1="-2" x2="-8.5" y2="2" width="0.254" layer="51"/>
<wire x1="-8.5" y1="2" x2="-6.5" y2="2" width="0.254" layer="51"/>
<wire x1="-6.5" y1="2" x2="-6.5" y2="3.5" width="0.254" layer="51"/>
<wire x1="-6.5" y1="3.5" x2="-4.5" y2="3.5" width="0.254" layer="21"/>
<text x="-9" y="6" size="1.27" layer="25">>NAME</text>
</package>
</packages>
</library>
<library name="MF_LEDs">
<packages>
<package name="LED0603">
<description>Description: Footprint for Single LEDs in 0603
</description>
<smd name="CATHODE" x="-0.75" y="0" dx="0.8" dy="0.8" layer="1"/>
<smd name="ANODE" x="0.75" y="0" dx="0.8" dy="0.8" layer="1"/>
<wire x1="-1.5" y1="0.75" x2="-1.5" y2="-0.75" width="0.127" layer="21"/>
<wire x1="-1.5" y1="-0.75" x2="1.5" y2="-0.75" width="0.127" layer="21"/>
<wire x1="1.5" y1="-0.75" x2="1.5" y2="0.75" width="0.127" layer="21"/>
<wire x1="1.5" y1="0.75" x2="-1.5" y2="0.75" width="0.127" layer="21"/>
<polygon width="0.127" layer="21">
<vertex x="-1.5" y="0.75"/>
<vertex x="-1.7" y="0.75"/>
<vertex x="-1.7" y="-0.75"/>
<vertex x="-1.5" y="-0.75"/>
</polygon>
<text x="-1.7" y="1.1" size="1.016" layer="25" font="vector" ratio="16">>NAME</text>
<polygon width="0.127" layer="21">
<vertex x="-0.15" y="0"/>
<vertex x="0.15" y="0.3"/>
<vertex x="0.15" y="-0.3"/>
</polygon>
</package>
</packages>
</library>
<library name="EAGLE-INPUT_OUTPUT_CONNECTORS-rev17a">
<description>
Wurth Elektronik - Input/Output Connectors

      &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

      -----

      -----

      -----

      -----

      -----

      ---------------------------

WE

      ---------------------------
Würth Elektronik

      ---------O---

      ----O--------

      ---------O---

      ----O--------

      ---------O---

      &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

    &nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;More than you expect

Würth Elektronik eiSos GmbH & Co. KG

EMC & Inductive Solutions

Max-Eyth-Str.1

D-74638 Waldenburg

Tel: +49 (0)7942-945-0

Fax:+49 (0)7942-945-405

http://www.we-online.com/eagle

libraries@we-online.com

Neither CadSoft nor WE-eiSos does warrant that this library is error-free or

that it meets your specific requirements.

Please contact us for more information.

Eagle Version 6, Library Revision 2017a,2017-01-10

Copyright: Würth Elektronik</description>
<packages>
<package name="615008148521">
<description>WR-MJ_Modular Jacks_Plastic_Horizontal_Tab UP</description>
<wire x1="-7.5" y1="-6" x2="7.5" y2="-6" width="0.127" layer="21"/>
<wire x1="-7.5" y1="-6" x2="-7.5" y2="6.85" width="0.127" layer="51"/>
<wire x1="7.5" y1="-6" x2="7.5" y2="6.85" width="0.127" layer="51"/>
<wire x1="-7.5" y1="6.85" x2="7.5" y2="6.85" width="0.127" layer="21"/>
<pad name="1" x="3.57" y="2.3" drill="0.9" rot="R180"/>
<pad name="2" x="2.55" y="4.84" drill="0.9" rot="R180"/>
<pad name="3" x="1.53" y="2.3" drill="0.9" rot="R180"/>
<pad name="4" x="0.51" y="4.84" drill="0.9" rot="R180"/>
<pad name="5" x="-0.51" y="2.3" drill="0.9" rot="R180"/>
<pad name="6" x="-1.53" y="4.84" drill="0.9" rot="R180"/>
<pad name="7" x="-2.55" y="2.3" drill="0.9" rot="R180"/>
<pad name="8" x="-3.57" y="4.84" drill="0.9" rot="R180"/>
<text x="4.77488125" y="1.82001875" size="1.06666875" layer="51" font="vector" ratio="19" rot="SR0">1</text>
<text x="-6.12513125" y="4.42001875" size="1.06666875" layer="51" font="vector" ratio="19" rot="SR0">8</text>
<text x="-3.701590625" y="8.1674" size="2.032" layer="25" font="vector" ratio="13" rot="SR0">>NAME</text>
<text x="-4.971590625" y="-9.0866" size="2.032" layer="27" font="vector" ratio="13" rot="SR0">>VALUE</text>
<hole x="-7.5" y="0" drill="2.36"/>
<hole x="7.5" y="0" drill="2.36"/>
<wire x1="-7.5" y1="1.5" x2="-7.5" y2="6.85" width="0.127" layer="21"/>
<wire x1="7.5" y1="1.5" x2="7.5" y2="6.85" width="0.127" layer="21"/>
<wire x1="-7.5" y1="-1.5" x2="-7.5" y2="-6" width="0.127" layer="21"/>
<wire x1="7.5" y1="-1.5" x2="7.5" y2="-6" width="0.127" layer="21"/>
<polygon width="0.127" layer="39">
<vertex x="-9" y="7.1"/>
<vertex x="9" y="7.1"/>
<vertex x="9" y="-6.25"/>
<vertex x="-9" y="-6.25"/>
</polygon>
<text x="4.77488125" y="1.82001875" size="1.06666875" layer="21" font="vector" ratio="19" rot="SR0">1</text>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules name="MF_Standard_2_Layer *">
<description language="en">MacroFab, INC. EAGLE Design Rules

This DRC check is for 2-Layer Standard Capability boards to be manufactured through the MacroFab, INC. service.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.035mm 0.0175mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.0175mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 1.1mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="5mil"/>
<param name="mdWirePad" value="5mil"/>
<param name="mdWireVia" value="5mil"/>
<param name="mdPadPad" value="5mil"/>
<param name="mdPadVia" value="5mil"/>
<param name="mdViaVia" value="5mil"/>
<param name="mdSmdPad" value="0mil"/>
<param name="mdSmdVia" value="0mil"/>
<param name="mdSmdSmd" value="0mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="10mil"/>
<param name="mdDrill" value="10mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="5mil"/>
<param name="msDrill" value="12mil"/>
<param name="msMicroVia" value="12mil"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="6mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="6mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="6mil"/>
<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="6mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="6mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="0"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="2mil"/>
<param name="mlMaxStopFrame" value="2mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="45mil"/>
<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="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="0"/>
<param name="checkStop" value="0"/>
<param name="checkValues" value="0"/>
<param name="checkNames" value="1"/>
<param name="checkWireStubs" value="1"/>
<param name="checkPolygonWidth" value="0"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="12.5mil"/>
<param name="AutoGrid" value="1"/>
<param name="Efforts" value="0"/>
<param name="TopRouterVariant" value="1"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="-"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="|"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="cfExtdStep" value="10"/>
<param name="cfHugging" value="1"/>
<param name="mnExtdSteps" value="1"/>
<param name="mnRipupLevel" value="0"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
<param name="cfNonPref" value="0"/>
<param name="cfChangeDir" value="6"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="2"/>
<param name="cfMalusStep" value="2"/>
<param name="cfPadImpact" value="2"/>
<param name="cfSmdImpact" value="2"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
<param name="cfChangeDir" value="8"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
</pass>
<pass name="Opt

repository: komakallio/komahub

repo_name: komakallio/komahub

branch_name: refs/heads/master

gha_license_id: MIT

extension: brd