--- /dev/null
+v 20110115 2
+T 100 100 0 1 0 0 0 0 1
+gedasymbols::url=http://www.gedasymbols.org/user/anton_dubniak/symbols/MCU/ATtiny25-1.sym
+B 300 0 1000 1400 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 275 3450 5 10 0 0 0 0 1
+device=ATtiny25
+T 1100 1450 8 10 1 1 0 0 1
+refdes=U?
+T 275 2650 5 10 0 0 0 0 1
+footprint=so8
+T 300 1450 9 10 1 0 0 0 1
+ATtiny25
+T 275 2050 5 10 0 0 0 0 1
+author=Anton Dubniak <twister@tfsoft.org.ua>
+T 275 2450 5 10 0 0 0 0 1
+numslots=0
+T 275 1850 5 10 0 0 0 0 1
+dist-license=GPL
+T 275 1650 5 10 0 0 0 0 1
+use-license=unlimited
+T 275 3250 5 10 0 0 0 0 1
+description=ATtiny25/45/85 - 8-bit AVR RISC microcontrollers with 2/4/8 kb of flash memory (Atmel)
+T 275 3050 5 10 0 0 0 0 1
+documentation=http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf
+P 0 1200 300 1200 1 0 0
+{
+T 205 1245 5 8 1 1 0 6 1
+pinnumber=5
+T 450 1375 5 8 0 1 0 8 1
+pinseq=5
+T 355 1195 9 8 1 1 0 0 1
+pinlabel=PB0/MOSI
+T 500 1375 5 8 0 1 0 2 1
+pintype=io
+}
+P 0 1000 300 1000 1 0 0
+{
+T 205 1045 5 8 1 1 0 6 1
+pinnumber=6
+T 450 1175 5 8 0 1 0 8 1
+pinseq=6
+T 355 995 9 8 1 1 0 0 1
+pinlabel=PB1/MISO
+T 500 1175 5 8 0 1 0 2 1
+pintype=io
+}
+P 0 800 300 800 1 0 0
+{
+T 205 845 5 8 1 1 0 6 1
+pinnumber=7
+T 450 975 5 8 0 1 0 8 1
+pinseq=7
+T 355 795 9 8 1 1 0 0 1
+pinlabel=PB2/SCK
+T 500 975 5 8 0 1 0 2 1
+pintype=io
+}
+P 0 400 300 400 1 0 0
+{
+T 205 445 5 8 1 1 0 6 1
+pinnumber=3
+T 450 575 5 8 0 1 0 8 1
+pinseq=3
+T 355 395 9 8 1 1 0 0 1
+pinlabel=PB4
+T 500 575 5 8 0 1 0 2 1
+pintype=io
+}
+P 0 200 300 200 1 0 0
+{
+T 205 245 5 8 1 1 0 6 1
+pinnumber=1
+T 450 375 5 8 0 1 0 8 1
+pinseq=1
+T 355 195 9 8 1 1 0 0 1
+pinlabel=PB5/\_RESET\_
+T 500 375 5 8 0 1 0 2 1
+pintype=io
+}
+P 0 600 300 600 1 0 0
+{
+T 205 645 5 8 1 1 0 6 1
+pinnumber=2
+T 450 775 5 8 0 1 0 8 1
+pinseq=2
+T 355 595 9 8 1 1 0 0 1
+pinlabel=PB3
+T 500 775 5 8 0 1 0 2 1
+pintype=io
+}
+P 1600 400 1300 400 1 0 0
+{
+T 1395 445 5 8 1 1 0 0 1
+pinnumber=4
+T 1150 575 5 8 0 1 0 2 1
+pinseq=4
+T 1245 395 9 8 1 1 0 6 1
+pinlabel=GND
+T 1100 575 5 8 0 1 0 8 1
+pintype=pwr
+}
+P 1600 600 1300 600 1 0 0
+{
+T 1395 645 5 8 1 1 0 0 1
+pinnumber=8
+T 1150 775 5 8 0 1 0 2 1
+pinseq=8
+T 1245 595 9 8 1 1 0 6 1
+pinlabel=VCC
+T 1100 775 5 8 0 1 0 8 1
+pintype=pwr
+}
--- /dev/null
+Element(0x00 "Header connector, DIP pin numbering" "" "HEADER2_1" 260 0 3 100 0x00)
+(
+ Pin(50 50 70 50 "1" 0x101)
+ Pin(150 50 70 50 "2" 0x01)
+ ElementLine(0 0 0 100 10)
+ ElementLine(0 100 200 100 10)
+ ElementLine(200 100 200 0 10)
+ ElementLine(200 0 0 0 10)
+ ElementLine(0 100 100 100 10)
+ ElementLine(100 100 100 0 10)
+ Mark(50 50)
+)
--- /dev/null
+WEB_DIR=/home/kas/html/heater/
+WEB_FILES=pcb-back.png pcb-front.png schematics.png
+GERBER_FILES=\
+ heater-panel.top.gbr \
+ heater-panel.bottom.gbr \
+ heater-panel.topmask.gbr \
+ heater-panel.bottommask.gbr \
+ heater-panel.topsilk.gbr \
+ heater-panel.bottomsilk.gbr \
+ heater-panel.plated-drill.cnc
+
+all:
+ @echo "Usage: make [clean|web|gerber|fab|heater.pcb]"
+
+clean:
+ rm -f heater.cmd heater.jpg heater.net heater.new.pcb heater.pcb- \
+ heater.png heater.ps heater.sch~ pcb-back.png pcb-front.png \
+ schematics.png *.gbr *.cnc
+
+web: $(WEB_FILES)
+ test -d $(WEB_DIR) && install -m 644 $(WEB_FILES) $(WEB_DIR)
+
+heater.pcb: heater.sch heater.prj
+ gsch2pcb heater.prj
+
+pcb-front.png: heater.pcb
+ pcb -x png --dpi 200 --photo-mode heater.pcb \
+ && mv heater.png $@
+
+pcb-back.png: heater.pcb
+ pcb -x png --dpi 200 --photo-mode --photo-flip-y heater.pcb \
+ && mv heater.png $@
+
+schematics.png: heater.sch
+ gschem -s image.scm heater.sch -o schematics.png
+
+gerber: $(GERBER_FILES)
+
+$(GERBER_FILES): heater-panel.pcb
+ pcb -x gerber heater-panel.pcb
+
+fab: $(GERBER_FILES)
+ @sh -c 'D=heater-`date +\%Y\%m\%d-\%H\%M` && mkdir $$D && \
+ cp heater-panel.top.gbr $$D/heater.gtl && \
+ cp heater-panel.bottom.gbr $$D/heater.gbl && \
+ cp heater-panel.topmask.gbr $$D/heater.gts && \
+ cp heater-panel.bottommask.gbr $$D/heater.gbs && \
+ cp heater-panel.topsilk.gbr $$D/heater.gto && \
+ cp heater-panel.bottomsilk.gbr $$D/heater.gbo && \
+ cp heater-panel.plated-drill.cnc $$D/heater.txt && \
+ zip -r $$D.zip $$D && \
+ echo "Done. Output in $$D.zip."; \
+ echo "You may also want to do git tag gerber-fab-$$D" '
+
+.PHONY: gerber
--- /dev/null
+ # number of pads
+ # pad width in 1/1000 mil
+ # pad length in 1/1000 mil
+ # pad pitch 1/1000 mil
+ # seperation between pads on opposite sides 1/1000 mil
+ # X coordinates for the right hand column of pads (1/100 mils)
+ # pad clearance to plane layer in 1/100 mil
+ # pad soldermask width in 1/100 mil
+ # silk screen width (1/100 mils)
+ # figure out if we have an even or odd number of pins per side
+ # silk bounding box is -XMAX,-YMAX, XMAX,YMAX (1/100 mils)
+# element_flags, description, pcb-name, value, mark_x, mark_y,
+# text_x, text_y, text_direction, text_scale, text_flags
+Element[0x00000000 "Small outline package, narrow or medium (150 or 200mil)" "" "SO8NM" 0 0 -2000 -6000 0 100 0x00000000]
+(
+#
+# Pad[x1, y1, x2, y2, thickness, clearance, mask, name , pad number, flags]
+ Pad[ -16000 -7500
+ -7000 -7500
+ 2000 1000 3000 "1" "1" 0x00000100]
+ Pad[ -16000 -2500
+ -7000 -2500
+ 2000 1000 3000 "2" "2" 0x00000100]
+ Pad[ -16000 2500
+ -7000 2500
+ 2000 1000 3000 "3" "3" 0x00000100]
+ Pad[ -16000 7500
+ -7000 7500
+ 2000 1000 3000 "4" "4" 0x00000100]
+ Pad[ 16000 7500
+ 7000 7500
+ 2000 1000 3000 "5" "5" 0x00000100]
+ Pad[ 16000 2500
+ 7000 2500
+ 2000 1000 3000 "6" "6" 0x00000100]
+ Pad[ 16000 -2500
+ 7000 -2500
+ 2000 1000 3000 "7" "7" 0x00000100]
+ Pad[ 16000 -7500
+ 7000 -7500
+ 2000 1000 3000 "8" "8" 0x00000100]
+ ElementLine[-18000 -9500 -18000 9500 1000]
+ ElementLine[-18000 9500 18000 9500 1000]
+ ElementLine[ 18000 9500 18000 -9500 1000]
+ ElementLine[-18000 -9500 -2500 -9500 1000]
+ ElementLine[ 18000 -9500 2500 -9500 1000]
+ # punt on the arc on small parts as it can cover the pads
+ ElementArc[0 -9500 2500 2500 0 180 1000]
+)
--- /dev/null
+(component-library ".")
+(source-library ".")
--- /dev/null
+Element["Header 3x2, 2.54mm, edge-mounted" "header3_2_edge" "X?" "" 0 0 -12500 5000 0 100 ""]
+(
+ Pad[ 0 -7500 0 7500 5000 2000 6000 "1" "1" "square" ]
+ Pad[ 0 -7500 0 7500 5000 2000 6000 "2" "2" "square,onsolder" ]
+
+ Pad[ 10000 -7500 10000 7500 5000 2000 6000 "3" "3" "square" ]
+ Pad[ 10000 -7500 10000 7500 5000 2000 6000 "4" "4" "square,onsolder" ]
+
+ Pad[ 20000 -7500 20000 7500 5000 2000 6000 "5" "5" "square" ]
+ Pad[ 20000 -7500 20000 7500 5000 2000 6000 "6" "6" "square,onsolder" ]
+
+ ElementLine[ -5000 -8500 -5000 11000 1000 ]
+ ElementLine[ 25000 -8500 25000 11000 1000 ]
+ ElementLine[ -5000 11000 25000 11000 1000 ]
+
+ ElementLine[ -3750 0 -5000 0 1000 ]
+ ElementLine[ -3750 0 -3750 11000 1000 ]
+ Attribute("author" "Jan Yenya Kasprzak, http://www.fi.muni.cz/~kas/")
+ Attribute("copyright" "Jan Yenya Kasprzak, http://www.fi.muni.cz/~kas/")
+ Attribute("use-license" "Unlimited")
+ Attribute("dist-license" "GPL 2.0")
+ Attribute("comment" "Thanks: Karl Hammar")
+)
--- /dev/null
+# release: pcb 20110918
+
+# To read pcb files, the pcb version (or the git source date) must be >= the file version
+FileVersion[20070407]
+
+PCB["" 140000 42000]
+
+Grid[1000.0 0 0 0]
+Cursor[16000 35000 0.000000]
+PolyArea[200000000.000000]
+Thermal[0.500000]
+DRC[1000 1000 1000 1000 1500 1000]
+Flags("nameonpcb,uniquename")
+Groups("1,c:2,s")
+Styles["Signal,1000,4000,2000,1000:Power,2500,6000,3500,1000:Fat,8000,9000,3500,1000:Skinny,600,2402,1181,600"]
+
+Symbol[' ' 1800]
+(
+)
+Symbol['!' 1200]
+(
+ SymbolLine[0 4500 0 5000 800]
+ SymbolLine[0 1000 0 3500 800]
+)
+Symbol['"' 1200]
+(
+ SymbolLine[0 1000 0 2000 800]
+ SymbolLine[1000 1000 1000 2000 800]
+)
+Symbol['#' 1200]
+(
+ SymbolLine[0 3500 2000 3500 800]
+ SymbolLine[0 2500 2000 2500 800]
+ SymbolLine[1500 2000 1500 4000 800]
+ SymbolLine[500 2000 500 4000 800]
+)
+Symbol['$' 1200]
+(
+ SymbolLine[1500 1500 2000 2000 800]
+ SymbolLine[500 1500 1500 1500 800]
+ SymbolLine[0 2000 500 1500 800]
+ SymbolLine[0 2000 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 4000 800]
+ SymbolLine[1500 4500 2000 4000 800]
+ SymbolLine[500 4500 1500 4500 800]
+ SymbolLine[0 4000 500 4500 800]
+ SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['%' 1200]
+(
+ SymbolLine[0 1500 0 2000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1000 1000 800]
+ SymbolLine[1000 1000 1500 1500 800]
+ SymbolLine[1500 1500 1500 2000 800]
+ SymbolLine[1000 2500 1500 2000 800]
+ SymbolLine[500 2500 1000 2500 800]
+ SymbolLine[0 2000 500 2500 800]
+ SymbolLine[0 5000 4000 1000 800]
+ SymbolLine[3500 5000 4000 4500 800]
+ SymbolLine[4000 4000 4000 4500 800]
+ SymbolLine[3500 3500 4000 4000 800]
+ SymbolLine[3000 3500 3500 3500 800]
+ SymbolLine[2500 4000 3000 3500 800]
+ SymbolLine[2500 4000 2500 4500 800]
+ SymbolLine[2500 4500 3000 5000 800]
+ SymbolLine[3000 5000 3500 5000 800]
+)
+Symbol['&' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 3500 1500 2000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[1000 5000 2000 4000 800]
+ SymbolLine[0 2500 2500 5000 800]
+ SymbolLine[500 1000 1000 1000 800]
+ SymbolLine[1000 1000 1500 1500 800]
+ SymbolLine[1500 1500 1500 2000 800]
+ SymbolLine[0 3500 0 4500 800]
+)
+Symbol[''' 1200]
+(
+ SymbolLine[0 2000 1000 1000 800]
+)
+Symbol['(' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+)
+Symbol[')' 1200]
+(
+ SymbolLine[0 1000 500 1500 800]
+ SymbolLine[500 1500 500 4500 800]
+ SymbolLine[0 5000 500 4500 800]
+)
+Symbol['*' 1200]
+(
+ SymbolLine[0 2000 2000 4000 800]
+ SymbolLine[0 4000 2000 2000 800]
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol['+' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol[',' 1200]
+(
+ SymbolLine[0 6000 1000 5000 800]
+)
+Symbol['-' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+)
+Symbol['.' 1200]
+(
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['/' 1200]
+(
+ SymbolLine[0 4500 3000 1500 800]
+)
+Symbol['0' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4000 2000 2000 800]
+)
+Symbol['1' 1200]
+(
+ SymbolLine[0 1800 800 1000 800]
+ SymbolLine[800 1000 800 5000 800]
+ SymbolLine[0 5000 1500 5000 800]
+)
+Symbol['2' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[0 5000 2500 2500 800]
+ SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['3' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 2800 1500 2800 800]
+ SymbolLine[2000 1500 2000 2300 800]
+ SymbolLine[2000 3300 2000 4500 800]
+ SymbolLine[2000 3300 1500 2800 800]
+ SymbolLine[2000 2300 1500 2800 800]
+)
+Symbol['4' 1200]
+(
+ SymbolLine[0 3500 2000 1000 800]
+ SymbolLine[0 3500 2500 3500 800]
+ SymbolLine[2000 1000 2000 5000 800]
+)
+Symbol['5' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[0 1000 0 3000 800]
+ SymbolLine[0 3000 500 2500 800]
+ SymbolLine[500 2500 1500 2500 800]
+ SymbolLine[1500 2500 2000 3000 800]
+ SymbolLine[2000 3000 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['6' 1200]
+(
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[1500 2800 2000 3300 800]
+ SymbolLine[0 2800 1500 2800 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3300 2000 4500 800]
+)
+Symbol['7' 1200]
+(
+ SymbolLine[500 5000 2500 1000 800]
+ SymbolLine[0 1000 2500 1000 800]
+)
+Symbol['8' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3700 0 4500 800]
+ SymbolLine[0 3700 700 3000 800]
+ SymbolLine[700 3000 1300 3000 800]
+ SymbolLine[1300 3000 2000 3700 800]
+ SymbolLine[2000 3700 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 2300 700 3000 800]
+ SymbolLine[0 1500 0 2300 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 2300 800]
+ SymbolLine[1300 3000 2000 2300 800]
+)
+Symbol['9' 1200]
+(
+ SymbolLine[500 5000 2000 3000 800]
+ SymbolLine[2000 1500 2000 3000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+)
+Symbol[':' 1200]
+(
+ SymbolLine[0 2500 500 2500 800]
+ SymbolLine[0 3500 500 3500 800]
+)
+Symbol[';' 1200]
+(
+ SymbolLine[0 5000 1000 4000 800]
+ SymbolLine[1000 2500 1000 3000 800]
+)
+Symbol['<' 1200]
+(
+ SymbolLine[0 3000 1000 2000 800]
+ SymbolLine[0 3000 1000 4000 800]
+)
+Symbol['=' 1200]
+(
+ SymbolLine[0 2500 2000 2500 800]
+ SymbolLine[0 3500 2000 3500 800]
+)
+Symbol['>' 1200]
+(
+ SymbolLine[0 2000 1000 3000 800]
+ SymbolLine[0 4000 1000 3000 800]
+)
+Symbol['?' 1200]
+(
+ SymbolLine[1000 3000 1000 3500 800]
+ SymbolLine[1000 4500 1000 5000 800]
+ SymbolLine[0 1500 0 2000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 2000 800]
+ SymbolLine[1000 3000 2000 2000 800]
+)
+Symbol['@' 1200]
+(
+ SymbolLine[0 1000 0 4000 800]
+ SymbolLine[0 4000 1000 5000 800]
+ SymbolLine[1000 5000 4000 5000 800]
+ SymbolLine[5000 3500 5000 1000 800]
+ SymbolLine[5000 1000 4000 0 800]
+ SymbolLine[4000 0 1000 0 800]
+ SymbolLine[1000 0 0 1000 800]
+ SymbolLine[1500 2000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 3000 3500 800]
+ SymbolLine[3000 3500 3500 3000 800]
+ SymbolLine[3500 3000 4000 3500 800]
+ SymbolLine[3500 3000 3500 1500 800]
+ SymbolLine[3500 2000 3000 1500 800]
+ SymbolLine[2000 1500 3000 1500 800]
+ SymbolLine[2000 1500 1500 2000 800]
+ SymbolLine[4000 3500 5000 3500 800]
+)
+Symbol['A' 1200]
+(
+ SymbolLine[0 2000 0 5000 800]
+ SymbolLine[0 2000 700 1000 800]
+ SymbolLine[700 1000 1800 1000 800]
+ SymbolLine[1800 1000 2500 2000 800]
+ SymbolLine[2500 2000 2500 5000 800]
+ SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['B' 1200]
+(
+ SymbolLine[0 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2500 3300 2500 4500 800]
+ SymbolLine[2000 2800 2500 3300 800]
+ SymbolLine[500 2800 2000 2800 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2300 800]
+ SymbolLine[2000 2800 2500 2300 800]
+)
+Symbol['C' 1200]
+(
+ SymbolLine[700 5000 2000 5000 800]
+ SymbolLine[0 4300 700 5000 800]
+ SymbolLine[0 1700 0 4300 800]
+ SymbolLine[0 1700 700 1000 800]
+ SymbolLine[700 1000 2000 1000 800]
+)
+Symbol['D' 1200]
+(
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[1800 1000 2500 1700 800]
+ SymbolLine[2500 1700 2500 4300 800]
+ SymbolLine[1800 5000 2500 4300 800]
+ SymbolLine[0 5000 1800 5000 800]
+ SymbolLine[0 1000 1800 1000 800]
+)
+Symbol['E' 1200]
+(
+ SymbolLine[0 2800 1500 2800 800]
+ SymbolLine[0 5000 2000 5000 800]
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+)
+Symbol['F' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[0 2800 1500 2800 800]
+)
+Symbol['G' 1200]
+(
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[1000 3000 2000 3000 800]
+)
+Symbol['H' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[2500 1000 2500 5000 800]
+ SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['I' 1200]
+(
+ SymbolLine[0 1000 1000 1000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 5000 1000 5000 800]
+)
+Symbol['J' 1200]
+(
+ SymbolLine[700 1000 1500 1000 800]
+ SymbolLine[1500 1000 1500 4500 800]
+ SymbolLine[1000 5000 1500 4500 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 4500 0 4000 800]
+)
+Symbol['K' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3000 2000 1000 800]
+ SymbolLine[0 3000 2000 5000 800]
+)
+Symbol['L' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['M' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 1500 3000 800]
+ SymbolLine[1500 3000 3000 1000 800]
+ SymbolLine[3000 1000 3000 5000 800]
+)
+Symbol['N' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2500 5000 800]
+ SymbolLine[2500 1000 2500 5000 800]
+)
+Symbol['O' 1200]
+(
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['P' 1200]
+(
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[2000 3000 2500 2500 800]
+ SymbolLine[500 3000 2000 3000 800]
+)
+Symbol['Q' 1200]
+(
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4000 800]
+ SymbolLine[1000 5000 2000 4000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[1000 3500 2000 5000 800]
+)
+Symbol['R' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[2000 3000 2500 2500 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[1300 3000 2500 5000 800]
+)
+Symbol['S' 1200]
+(
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['T' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['U' 1200]
+(
+ SymbolLine[0 1000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 1000 2000 4500 800]
+)
+Symbol['V' 1200]
+(
+ SymbolLine[0 1000 1000 5000 800]
+ SymbolLine[1000 5000 2000 1000 800]
+)
+Symbol['W' 1200]
+(
+ SymbolLine[0 1000 0 3000 800]
+ SymbolLine[0 3000 500 5000 800]
+ SymbolLine[500 5000 1500 3000 800]
+ SymbolLine[1500 3000 2500 5000 800]
+ SymbolLine[2500 5000 3000 3000 800]
+ SymbolLine[3000 3000 3000 1000 800]
+)
+Symbol['X' 1200]
+(
+ SymbolLine[0 5000 2500 1000 800]
+ SymbolLine[0 1000 2500 5000 800]
+)
+Symbol['Y' 1200]
+(
+ SymbolLine[0 1000 1000 3000 800]
+ SymbolLine[1000 3000 2000 1000 800]
+ SymbolLine[1000 3000 1000 5000 800]
+)
+Symbol['Z' 1200]
+(
+ SymbolLine[0 1000 2500 1000 800]
+ SymbolLine[0 5000 2500 1000 800]
+ SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['[' 1200]
+(
+ SymbolLine[0 1000 500 1000 800]
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['\' 1200]
+(
+ SymbolLine[0 1500 3000 4500 800]
+)
+Symbol[']' 1200]
+(
+ SymbolLine[0 1000 500 1000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['^' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1000 1500 800]
+)
+Symbol['_' 1200]
+(
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['a' 1200]
+(
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[2000 3000 2000 4500 800]
+ SymbolLine[2000 4500 2500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['b' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3500 2000 4500 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+)
+Symbol['c' 1200]
+(
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 2000 5000 800]
+)
+Symbol['d' 1200]
+(
+ SymbolLine[2000 1000 2000 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+)
+Symbol['e' 1200]
+(
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[0 4000 2000 4000 800]
+ SymbolLine[2000 4000 2000 3500 800]
+)
+Symbol['f' 1000]
+(
+ SymbolLine[500 1500 500 5000 800]
+ SymbolLine[500 1500 1000 1000 800]
+ SymbolLine[1000 1000 1500 1000 800]
+ SymbolLine[0 3000 1000 3000 800]
+)
+Symbol['g' 1200]
+(
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[0 6000 500 6500 800]
+ SymbolLine[500 6500 1500 6500 800]
+ SymbolLine[1500 6500 2000 6000 800]
+ SymbolLine[2000 3000 2000 6000 800]
+)
+Symbol['h' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+)
+Symbol['i' 1000]
+(
+ SymbolLine[0 2000 0 2100 1000]
+ SymbolLine[0 3500 0 5000 800]
+)
+Symbol['j' 1000]
+(
+ SymbolLine[500 2000 500 2100 1000]
+ SymbolLine[500 3500 500 6000 800]
+ SymbolLine[0 6500 500 6000 800]
+)
+Symbol['k' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3500 1500 5000 800]
+ SymbolLine[0 3500 1000 2500 800]
+)
+Symbol['l' 1000]
+(
+ SymbolLine[0 1000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['m' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+ SymbolLine[2000 3500 2500 3000 800]
+ SymbolLine[2500 3000 3000 3000 800]
+ SymbolLine[3000 3000 3500 3500 800]
+ SymbolLine[3500 3500 3500 5000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['n' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['o' 1200]
+(
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['p' 1200]
+(
+ SymbolLine[500 3500 500 6500 800]
+ SymbolLine[0 3000 500 3500 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[1000 5000 2000 5000 800]
+ SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['q' 1200]
+(
+ SymbolLine[2000 3500 2000 6500 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['r' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 2000 3000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['s' 1200]
+(
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2000 4000 2500 4500 800]
+ SymbolLine[500 4000 2000 4000 800]
+ SymbolLine[0 3500 500 4000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['t' 1000]
+(
+ SymbolLine[500 1000 500 4500 800]
+ SymbolLine[500 4500 1000 5000 800]
+ SymbolLine[0 2500 1000 2500 800]
+)
+Symbol['u' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3000 2000 4500 800]
+)
+Symbol['v' 1200]
+(
+ SymbolLine[0 3000 1000 5000 800]
+ SymbolLine[2000 3000 1000 5000 800]
+)
+Symbol['w' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[1000 5000 1500 4500 800]
+ SymbolLine[1500 3000 1500 4500 800]
+ SymbolLine[1500 4500 2000 5000 800]
+ SymbolLine[2000 5000 2500 5000 800]
+ SymbolLine[2500 5000 3000 4500 800]
+ SymbolLine[3000 3000 3000 4500 800]
+)
+Symbol['x' 1200]
+(
+ SymbolLine[0 3000 2000 5000 800]
+ SymbolLine[0 5000 2000 3000 800]
+)
+Symbol['y' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[2000 3000 2000 6000 800]
+ SymbolLine[1500 6500 2000 6000 800]
+ SymbolLine[500 6500 1500 6500 800]
+ SymbolLine[0 6000 500 6500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['z' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[0 5000 2000 3000 800]
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['{' 1200]
+(
+ SymbolLine[500 1500 1000 1000 800]
+ SymbolLine[500 1500 500 2500 800]
+ SymbolLine[0 3000 500 2500 800]
+ SymbolLine[0 3000 500 3500 800]
+ SymbolLine[500 3500 500 4500 800]
+ SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['|' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+)
+Symbol['}' 1200]
+(
+ SymbolLine[0 1000 500 1500 800]
+ SymbolLine[500 1500 500 2500 800]
+ SymbolLine[500 2500 1000 3000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[500 3500 500 4500 800]
+ SymbolLine[0 5000 500 4500 800]
+)
+Symbol['~' 1200]
+(
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1000 3000 800]
+ SymbolLine[1000 3000 1500 3500 800]
+ SymbolLine[1500 3500 2000 3500 800]
+ SymbolLine[2000 3500 2500 3000 800]
+)
+Attribute("PCB::grid::unit" "mil")
+Via[35000 4000 4000 2000 0 2000 "" ""]
+Via[102000 14000 4000 2000 0 2000 "" ""]
+Via[41000 11000 4000 2000 0 2000 "" ""]
+Via[72000 10000 6000 2000 0 3500 "" ""]
+Via[118000 37000 6000 2000 0 3500 "" ""]
+Via[118000 16000 4000 2000 0 2000 "" ""]
+Via[118000 26000 4000 2000 0 2000 "" ""]
+
+Element["" "microswitch" "S2" "unknown" 54000 21000 -3000 -3000 0 100 ""]
+(
+ Attribute("author" "Alexander Kurz, Stefan Tauner")
+ Attribute("copyright" "2008 Alexander Kurz, 2010 Stefan Tauner")
+ Attribute("use-license" "Unlimited")
+ Attribute("dist-license" "CC-BY-SA-2.5")
+ Attribute("ref" "tycoelectronics.com document number 2-1437565-7 rev S1 2010-04-10")
+ Attribute("comment" "rev S1 of the document has an error: horizontal pad spacing implies 2*1,4 + 3,1 = 5,86. i used 5,9 instead.")
+ Pad[-7874 -15748 -7874 -8661 5512 1969 5906 "1" "1" "square"]
+ Pad[7874 -15748 7874 -8661 5512 1969 5906 "2" "2" "square"]
+ Pad[-7874 8661 -7874 15748 5512 1969 5906 "1" "1" "square,edge2"]
+ Pad[7874 8661 7874 15748 5512 1969 5906 "2" "2" "square,edge2"]
+ ElementLine [-12992 -12402 -12992 12402 1000]
+ ElementLine [-4331 -12402 4331 -12402 1000]
+ ElementLine [12992 -12402 12992 12402 1000]
+ ElementLine [-4331 12402 4331 12402 1000]
+
+ )
+
+Element["" "microswitch" "S1" "unknown" 104000 21000 -3000 -3000 0 100 ""]
+(
+ Attribute("author" "Alexander Kurz, Stefan Tauner")
+ Attribute("copyright" "2008 Alexander Kurz, 2010 Stefan Tauner")
+ Attribute("use-license" "Unlimited")
+ Attribute("dist-license" "CC-BY-SA-2.5")
+ Attribute("ref" "tycoelectronics.com document number 2-1437565-7 rev S1 2010-04-10")
+ Attribute("comment" "rev S1 of the document has an error: horizontal pad spacing implies 2*1,4 + 3,1 = 5,86. i used 5,9 instead.")
+ Pad[-7874 -15748 -7874 -8661 5512 1969 5906 "1" "1" "square"]
+ Pad[7874 -15748 7874 -8661 5512 1969 5906 "2" "2" "square"]
+ Pad[-7874 8661 -7874 15748 5512 1969 5906 "1" "1" "square,edge2"]
+ Pad[7874 8661 7874 15748 5512 1969 5906 "2" "2" "square,edge2"]
+ ElementLine [-12992 -12402 -12992 12402 1000]
+ ElementLine [-4331 -12402 4331 -12402 1000]
+ ElementLine [12992 -12402 12992 12402 1000]
+ ElementLine [-4331 12402 4331 12402 1000]
+
+ )
+
+Element["" "HEADER2_1_PWR" "LOAD" "unknown" 6000 8000 17000 -5000 0 100 ""]
+(
+ Pin[0 0 7000 3000 7600 5000 "1" "1" "square,edge2"]
+ Pin[10000 0 7000 3000 7600 5000 "2" "2" "edge2"]
+ ElementLine [-5000 -5000 -5000 5000 1000]
+ ElementLine [-5000 5000 15000 5000 1000]
+ ElementLine [15000 5000 15000 -5000 1000]
+ ElementLine [15000 -5000 -5000 -5000 1000]
+ ElementLine [-5000 5000 5000 5000 1000]
+ ElementLine [5000 5000 5000 -5000 1000]
+
+ )
+
+Element["" "HEADER2_1_PWR" "B1" "unknown" 6000 34000 29000 -1000 0 100 ""]
+(
+ Pin[0 0 7000 3000 7600 5000 "1" "1" "square,edge2"]
+ Pin[10000 0 7000 3000 7600 5000 "2" "2" "edge2"]
+ ElementLine [-5000 -5000 -5000 5000 1000]
+ ElementLine [-5000 5000 15000 5000 1000]
+ ElementLine [15000 5000 15000 -5000 1000]
+ ElementLine [15000 -5000 -5000 -5000 1000]
+ ElementLine [-5000 5000 5000 5000 1000]
+ ElementLine [5000 5000 5000 -5000 1000]
+
+ )
+
+Element["onsolder" "1206" "R3" "1M5" 42000 11000 -3000 3000 0 100 "auto"]
+(
+ Pad[-1181 -5905 1181 -5905 5118 2000 5718 "1" "1" "onsolder,square"]
+ Pad[-1181 5905 1181 5905 5118 2000 5718 "2" "2" "onsolder,square"]
+ ElementLine [-3740 -2362 -3740 2362 800]
+ ElementLine [3740 -2362 3740 2362 800]
+
+ )
+
+Element["onsolder" "1206" "R4" "300K" 42000 30000 -3150 3150 0 100 "auto"]
+(
+ Pad[-1181 -5905 1181 -5905 5118 2000 5718 "1" "1" "onsolder,square"]
+ Pad[-1181 5905 1181 5905 5118 2000 5718 "2" "2" "onsolder,square"]
+ ElementLine [-3740 -2362 -3740 2362 800]
+ ElementLine [3740 -2362 3740 2362 800]
+
+ )
+
+Element["" "1206" "R2" "39R" 79000 35000 3000 -3000 3 100 ""]
+(
+ Pad[5905 -1181 5905 1181 5118 2000 5718 "1" "1" "square"]
+ Pad[-5905 -1181 -5905 1181 5118 2000 5718 "2" "2" "square"]
+ ElementLine [-2362 3740 2362 3740 800]
+ ElementLine [-2362 -3740 2362 -3740 800]
+
+ )
+
+Element["onsolder" "SO8NM" "U1" "unknown" 59000 21000 -2000 3000 0 100 "auto"]
+(
+ Pad[7500 7000 7500 16000 2000 1000 3000 "1" "1" "onsolder,square,edge2"]
+ Pad[2500 7000 2500 16000 2000 1000 3000 "2" "2" "onsolder,square,edge2"]
+ Pad[-2500 7000 -2500 16000 2000 1000 3000 "3" "3" "onsolder,square,edge2"]
+ Pad[-7500 7000 -7500 16000 2000 1000 3000 "4" "4" "onsolder,square,edge2"]
+ Pad[-7500 -16000 -7500 -7000 2000 1000 3000 "5" "5" "onsolder,square"]
+ Pad[-2500 -16000 -2500 -7000 2000 1000 3000 "6" "6" "onsolder,square"]
+ Pad[2500 -16000 2500 -7000 2000 1000 3000 "7" "7" "onsolder,square"]
+ Pad[7500 -16000 7500 -7000 2000 1000 3000 "8" "8" "onsolder,square"]
+ ElementLine [-9500 18000 9500 18000 1000]
+ ElementLine [-9500 -18000 -9500 18000 1000]
+ ElementLine [-9500 -18000 9500 -18000 1000]
+ ElementLine [9500 2500 9500 18000 1000]
+ ElementLine [9500 -18000 9500 -2500 1000]
+ ElementArc [9500 0 2500 2500 270 180 1000]
+
+ )
+
+Element["onsolder" "1206" "R5" "15K" 30000 30000 -3095 3000 0 100 "auto"]
+(
+ Pad[-1181 -5905 1181 -5905 5118 2000 5718 "1" "1" "onsolder,square"]
+ Pad[-1181 5905 1181 5905 5118 2000 5718 "2" "2" "onsolder,square"]
+ ElementLine [-3740 -2362 -3740 2362 800]
+ ElementLine [3740 -2362 3740 2362 800]
+
+ )
+
+Element["" "SOD123" "D1" "unknown" 12000 22000 12000 -9000 0 100 ""]
+(
+ Pad[-5500 -600 -5500 600 6900 2000 7500 "1" "1" "square"]
+ Pad[5500 -600 5500 600 6900 2000 7500 "2" "2" "square"]
+ ElementLine [-11000 -4000 -11000 4000 2000]
+ ElementLine [-11000 4000 -7600 5100 1000]
+ ElementLine [-7600 5100 10000 5100 1000]
+ ElementLine [10000 -5100 10000 5100 1000]
+ ElementLine [-7600 -5100 10000 -5100 1000]
+ ElementLine [-7600 -5100 -11000 -4000 1000]
+
+ )
+
+Element["" "1210" "C1" "unknown" 29000 28000 -2000 -3000 0 100 ""]
+(
+ Pad[-2755 -5905 2755 -5905 5118 2000 5718 "1" "1" "square"]
+ Pad[-2755 5905 2755 5905 5118 2000 5718 "2" "2" "square"]
+ ElementLine [5314 -1968 5314 1968 800]
+ ElementLine [-5314 -1968 -5314 1968 800]
+
+ )
+
+Element["" "LED3" "D2" "unknown" 79000 21000 -2500 -15000 0 100 ""]
+(
+ Pin[0 5000 6500 3000 7100 4300 "1" "1" "square"]
+ Pin[0 -5000 6500 3000 7100 4300 "2" "2" ""]
+ ElementArc [0 0 5900 5900 135 90 1000]
+ ElementArc [0 0 5900 5900 315 90 1000]
+ ElementArc [0 0 7900 7900 135 90 1000]
+ ElementArc [0 0 7900 7900 315 90 1000]
+
+ )
+
+Element["onsolder" "SOT23" "Q1" "unknown" 32000 17000 -17000 3000 0 100 "auto"]
+(
+ Pad[0 -300 0 300 3400 3000 4000 "1" "1" "onsolder,square,edge2"]
+ Pad[-7800 -300 -7800 300 3400 3000 4000 "2" "2" "onsolder,square,edge2"]
+ Pad[-3900 -8500 -3900 -7900 3400 3000 4000 "3" "3" "onsolder,square"]
+ ElementLine [2500 -11000 2500 2900 1000]
+ ElementLine [-10300 2900 2500 2900 1000]
+ ElementLine [-10300 -11000 -10300 2900 1000]
+ ElementLine [-10300 -11000 2500 -11000 1000]
+
+ )
+
+Element["" "header3_2_edge" "PROG" "unknown" 130000 11000 -9000 -10000 0 100 ""]
+(
+ Attribute("author" "Jan Yenya Kasprzak, http://www.fi.muni.cz/~kas/")
+ Attribute("copyright" "Jan Yenya Kasprzak, http://www.fi.muni.cz/~kas/")
+ Attribute("use-license" "Unlimited")
+ Attribute("dist-license" "GPL 2.0")
+ Attribute("comment" "Thanks: Karl Hammar")
+ Pad[-7500 0 7500 0 5000 2000 6000 "1" "1" "square,edge2"]
+ Pad[-7500 0 7500 0 5000 2000 6000 "2" "2" "onsolder,square,edge2"]
+ Pad[-7500 10000 7500 10000 5000 2000 6000 "3" "3" "square,edge2"]
+ Pad[-7500 10000 7500 10000 5000 2000 6000 "4" "4" "onsolder,square,edge2"]
+ Pad[-7500 20000 7500 20000 5000 2000 6000 "5" "5" "square,edge2"]
+ Pad[-7500 20000 7500 20000 5000 2000 6000 "6" "6" "onsolder,square,edge2"]
+ ElementLine [-11000 -5000 8500 -5000 1000]
+ ElementLine [-11000 25000 8500 25000 1000]
+ ElementLine [-11000 -5000 -11000 25000 1000]
+ ElementLine [0 -5000 0 -3750 1000]
+ ElementLine [-11000 -3750 0 -3750 1000]
+
+ )
+Rat[55000 24000 0 61874 5252 0 ""]
+Rat[105000 19000 0 111874 36748 0 ""]
+Rat[89000 21000 1 96126 36748 0 ""]
+Rat[62000 24000 1 46126 36748 0 ""]
+Layer(1 "top")
+(
+ Line[62000 4000 76000 4000 2500 2000 ""]
+ Line[41000 11000 46000 11000 1000 2000 ""]
+ Line[6000 15000 24000 15000 1000 2000 ""]
+ Line[102000 14000 95000 14000 1000 2000 ""]
+ Line[85000 22000 79000 16000 1000 2000 ""]
+ Line[127000 22000 85000 22000 1000 2000 ""]
+ Line[105000 19000 111000 13000 2500 2000 ""]
+ Line[91000 19000 105000 19000 2500 2000 ""]
+ Line[76000 4000 91000 19000 2500 2000 ""]
+ Line[79000 26000 86000 33000 1000 2000 ""]
+ Line[62000 36000 74000 36000 2500 2000 ""]
+ Line[72000 16000 72000 10000 2500 2000 ""]
+ Line[68000 20000 72000 16000 2500 2000 ""]
+ Line[27000 20000 68000 20000 2500 2000 ""]
+ Line[55000 24000 62000 31000 2500 2000 ""]
+ Line[41000 24000 55000 24000 2500 2000 ""]
+ Line[33000 32000 41000 24000 2500 2000 ""]
+ Line[33000 34000 33000 32000 2500 2000 ""]
+ Line[24000 15000 35000 4000 1000 2000 ""]
+ Line[18000 22000 26000 22000 8000 2000 ""]
+ Line[16000 34000 28000 34000 8000 2000 ""]
+ Line[6000 8000 6000 34000 8000 2000 ""]
+ Line[118000 16000 123000 11000 1000 2000 ""]
+ Line[118000 37000 112000 37000 2500 2000 ""]
+ Line[118000 26000 123000 31000 1000 2000 ""]
+)
+Layer(2 "bottom")
+(
+ Line[41000 11000 51000 11000 1000 2000 ""]
+ Line[77000 5000 72000 10000 2500 2000 ""]
+ Line[117000 5000 77000 5000 2500 2000 ""]
+ Line[67000 10000 72000 10000 2500 2000 ""]
+ Line[35000 4000 41000 4000 1000 2000 ""]
+ Line[35000 29000 31000 25000 1000 2000 ""]
+ Line[47000 29000 35000 29000 1000 2000 ""]
+ Line[48000 28000 47000 29000 1000 2000 ""]
+ Line[48000 27000 48000 28000 1000 2000 ""]
+ Line[50000 25000 48000 27000 1000 2000 ""]
+ Line[16000 34000 51000 34000 2500 2000 ""]
+ Line[32000 23000 32000 17000 1000 2000 ""]
+ Line[16000 23000 21000 18000 8000 2000 ""]
+ Line[16000 34000 16000 23000 8000 2000 ""]
+ Line[16000 8000 26000 8000 8000 2000 ""]
+ Line[6000 34000 6000 8000 8000 2000 ""]
+ Line[62000 15000 65000 18000 1000 2000 ""]
+ Line[75000 32000 84000 32000 1000 2000 ""]
+ Line[72000 29000 75000 32000 1000 2000 ""]
+ Line[72000 27000 72000 29000 1000 2000 ""]
+ Line[69000 24000 72000 27000 1000 2000 ""]
+ Line[62000 24000 69000 24000 1000 2000 ""]
+ Line[52000 14000 62000 24000 1000 2000 ""]
+ Line[64000 21000 89000 21000 1000 2000 ""]
+ Line[57000 14000 64000 21000 1000 2000 ""]
+ Line[56000 22000 40000 22000 1000 2000 ""]
+ Line[62000 28000 56000 22000 1000 2000 ""]
+ Line[77000 18000 79000 16000 1000 2000 ""]
+ Line[65000 18000 77000 18000 1000 2000 ""]
+ Line[62000 14000 62000 15000 1000 2000 ""]
+ Line[42000 22000 42000 17000 1000 2000 ""]
+ Line[54000 25000 57000 28000 1000 2000 ""]
+ Line[50000 25000 54000 25000 1000 2000 ""]
+ Line[117000 5000 123000 11000 2500 2000 ""]
+ Line[118000 37000 119000 36000 2500 2000 ""]
+ Line[119000 36000 123000 32000 2500 2000 ""]
+ Line[84000 32000 94000 22000 1000 2000 ""]
+ Line[94000 22000 124000 22000 1000 2000 ""]
+ Line[116000 14000 118000 16000 1000 2000 ""]
+ Line[89000 21000 96000 14000 1000 2000 ""]
+ Line[116000 14000 96000 14000 1000 2000 ""]
+ Line[67000 36000 87000 36000 1000 2000 ""]
+ Line[87000 36000 97000 26000 1000 2000 ""]
+ Line[97000 26000 118000 26000 1000 2000 ""]
+)
+Layer(3 "silk")
+(
+ Text[75000 11000 0 120 "yenya.net/htr" "clearline,onsolder"]
+ Text[5000 32000 0 120 "+" "clearline,onsolder"]
+ Text[125000 29000 0 80 "GND" "clearline,onsolder"]
+ Text[124000 19000 0 80 "MOSI" "clearline,onsolder"]
+ Text[125000 9000 0 80 "VCC" "clearline,onsolder"]
+)
+Layer(4 "silk")
+(
+ Line[134000 0 6000 0 1000 2000 ""]
+ Line[0 6000 0 36000 1000 2000 ""]
+ Line[6000 42000 134000 42000 1000 2000 ""]
+ Line[140000 6000 140000 36000 1000 2000 ""]
+ Line[21000 38000 33000 38000 1000 2000 ""]
+ Arc[6000 36000 6000 6000 1000 2000 0 90 ""]
+ Arc[6000 6000 6000 6000 1000 2000 -90 90 ""]
+ Arc[134000 36000 6000 6000 1000 2000 90 90 ""]
+ Arc[134000 6000 6000 6000 1000 2000 -90 -90 ""]
+ Text[83000 9000 0 120 "+" "clearline"]
+ Text[13000 23000 0 120 "-" "clearline"]
+ Text[1000 23000 0 120 "+" "clearline"]
+ Text[126000 13000 0 80 "MISO" "clearline"]
+ Text[127000 23000 0 80 "SCK" "clearline"]
+ Text[124000 36000 0 80 "RESET" "clearline"]
+)
+NetList()
+(
+ Net("GND" "(unknown)")
+ (
+ Connect("B1-2")
+ Connect("C1-2")
+ Connect("PROG-6")
+ Connect("Q1-2")
+ Connect("R2-2")
+ Connect("R4-2")
+ Connect("R5-2")
+ Connect("S1-2")
+ Connect("S2-2")
+ Connect("U1-4")
+ )
+ Net("MISO" "(unknown)")
+ (
+ Connect("PROG-1")
+ Connect("S1-1")
+ Connect("U1-6")
+ )
+ Net("MOSI" "(unknown)")
+ (
+ Connect("PROG-4")
+ Connect("S2-1")
+ Connect("U1-5")
+ )
+ Net("RESET" "(unknown)")
+ (
+ Connect("PROG-5")
+ Connect("U1-1")
+ )
+ Net("SCK" "(unknown)")
+ (
+ Connect("D2-2")
+ Connect("PROG-3")
+ Connect("U1-7")
+ )
+ Net("unnamed_net1" "(unknown)")
+ (
+ Connect("Q1-1")
+ Connect("R5-1")
+ Connect("U1-3")
+ )
+ Net("unnamed_net2" "(unknown)")
+ (
+ Connect("R3-2")
+ Connect("R4-1")
+ Connect("U1-2")
+ )
+ Net("unnamed_net3" "(unknown)")
+ (
+ Connect("LOAD-2")
+ Connect("Q1-3")
+ )
+ Net("unnamed_net4" "(unknown)")
+ (
+ Connect("D2-1")
+ Connect("R2-1")
+ )
+ Net("Vbat" "(unknown)")
+ (
+ Connect("B1-1")
+ Connect("D1-1")
+ Connect("LOAD-1")
+ Connect("R3-1")
+ )
+ Net("Vcc" "(unknown)")
+ (
+ Connect("C1-1")
+ Connect("D1-2")
+ Connect("PROG-2")
+ Connect("U1-8")
+ )
+)
--- /dev/null
+schematics heater.sch
+elements-dir .
+output-name heater
--- /dev/null
+v 20130925 2
+C 40000 40000 0 0 0 title-B.sym
+C 46500 46300 1 0 1 ATtiny25-1.sym
+{
+T 46225 49750 5 10 0 0 0 6 1
+device=ATtiny25
+T 45400 47750 5 10 1 1 0 6 1
+refdes=U1
+T 46225 48950 5 10 0 0 0 6 1
+footprint=SO8NM
+}
+C 54200 47900 1 0 1 connector2-1.sym
+{
+T 54000 48900 5 10 0 0 0 6 1
+device=CONNECTOR_2
+T 54200 48700 5 10 1 1 0 6 1
+refdes=LOAD
+T 54200 47900 5 10 0 1 0 0 1
+footprint=HEADER2_1_PWR
+}
+N 42900 44300 42900 46600 4
+N 42900 44300 52500 44300 4
+{
+T 45400 44400 5 10 1 1 0 0 1
+netname=GND
+}
+N 42900 47300 42900 50200 4
+N 42900 50200 52500 50200 4
+{
+T 45400 50000 5 10 1 1 0 0 1
+netname=Vbat
+}
+N 52500 50200 52500 48400 4
+C 51500 46500 1 270 0 resistor-2.sym
+{
+T 51850 46100 5 10 0 0 270 0 1
+device=RESISTOR
+T 51800 46300 5 10 1 1 270 0 1
+refdes=R5
+T 51300 46300 5 10 1 1 270 0 1
+value=15K
+T 51500 46500 5 10 0 1 0 0 1
+footprint=1206
+}
+C 50500 48000 1 270 0 resistor-2.sym
+{
+T 50850 47600 5 10 0 0 270 0 1
+device=RESISTOR
+T 50800 47800 5 10 1 1 270 0 1
+refdes=R3
+T 50300 47800 5 10 1 1 270 0 1
+value=1M5
+T 50500 48000 5 10 0 1 0 0 1
+footprint=1206
+}
+C 48100 45400 1 270 0 resistor-2.sym
+{
+T 48450 45000 5 10 0 0 270 0 1
+device=RESISTOR
+T 48400 45200 5 10 1 1 270 0 1
+refdes=R2
+T 47900 45200 5 10 1 1 270 0 1
+value=39R
+T 48100 45400 5 10 0 1 0 0 1
+footprint=1206
+}
+C 50500 46500 1 270 0 resistor-2.sym
+{
+T 50850 46100 5 10 0 0 270 0 1
+device=RESISTOR
+T 50800 46300 5 10 1 1 270 0 1
+refdes=R4
+T 50300 46300 5 10 1 1 270 0 1
+value=300K
+T 50500 46500 5 10 0 1 0 0 1
+footprint=1206
+}
+C 43800 48200 1 270 0 diode-1.sym
+{
+T 44400 47800 5 10 0 0 270 0 1
+device=DIODE
+T 44300 47900 5 10 1 1 270 0 1
+refdes=D1
+T 43800 48200 5 10 0 1 0 0 1
+footprint=SOD123
+}
+C 43800 46500 1 270 0 capacitor-2.sym
+{
+T 44500 46300 5 10 0 0 270 0 1
+device=POLARIZED_CAPACITOR
+T 44300 46300 5 10 1 1 270 0 1
+refdes=C1
+T 44700 46300 5 10 0 0 270 0 1
+symversion=0.1
+T 43800 46500 5 10 0 1 0 0 1
+footprint=1210
+}
+N 44000 50200 44000 48200 4
+N 44000 47300 44000 46500 4
+N 44000 45600 44000 44300 4
+N 52500 48100 52500 47200 4
+N 52500 46200 52500 44300 4
+N 46500 46700 51900 46700 4
+N 51600 45600 51600 44300 4
+N 44900 46700 44900 44300 4
+N 44900 46900 44000 46900 4
+C 48000 45600 1 270 1 led-3.sym
+{
+T 48650 46550 5 10 0 0 90 2 1
+device=LED
+T 48550 46450 5 10 1 1 270 2 1
+refdes=D2
+T 48000 45600 5 10 0 1 0 0 1
+footprint=LED3
+}
+N 48200 45600 48200 45400 4
+C 48900 46500 1 270 0 switch-spst-1.sym
+{
+T 49600 46100 5 10 0 0 270 0 1
+device=SPST
+T 49200 46200 5 10 1 1 270 0 1
+refdes=S1
+T 48900 46500 5 10 0 1 0 0 1
+footprint=microswitch
+}
+N 50600 50200 50600 48000 4
+N 50600 47100 50600 46500 4
+N 50600 45600 50600 44300 4
+C 42700 47300 1 270 0 battery-1.sym
+{
+T 43600 47000 5 10 0 0 270 0 1
+device=BATTERY
+T 43200 47000 5 10 1 1 270 0 1
+refdes=B1
+T 44000 47000 5 10 0 0 270 0 1
+symversion=0.1
+T 42700 47300 5 10 0 1 0 0 1
+footprint=HEADER2_1_PWR
+}
+C 49200 47900 1 0 1 connector6-1.sym
+{
+T 47400 49700 5 10 0 0 0 6 1
+device=CONNECTOR_6
+T 49100 49900 5 10 1 1 0 6 1
+refdes=PROG
+T 49200 47900 5 10 0 1 0 0 1
+footprint=header3_2_edge
+}
+N 47500 49600 46700 49600 4
+{
+T 47200 49700 5 10 1 1 0 0 1
+netname=MISO
+}
+N 46700 49600 46700 47300 4
+N 46500 47300 48900 47300 4
+N 47500 49300 44600 49300 4
+{
+T 47200 49400 5 10 1 1 0 0 1
+netname=Vcc
+}
+N 44600 49300 44600 46900 4
+N 47500 49000 46900 49000 4
+{
+T 47200 49100 5 10 1 1 0 0 1
+netname=SCK
+}
+N 46900 49000 46900 47100 4
+N 46500 47100 48200 47100 4
+N 47500 48700 46500 48700 4
+{
+T 47200 48800 5 10 1 1 0 0 1
+netname=MOSI
+}
+N 46500 48700 46500 47500 4
+N 46500 46500 47100 46500 4
+N 47100 46500 47100 48400 4
+N 47100 48400 47500 48400 4
+{
+T 47200 48500 5 10 1 1 0 0 1
+netname=RESET
+}
+N 47500 48100 47300 48100 4
+{
+T 47200 48200 5 10 1 1 0 0 1
+netname=GND
+}
+N 47300 48100 47300 44300 4
+N 48200 47100 48200 46500 4
+N 48900 47300 48900 46500 4
+N 48900 45700 48900 44300 4
+N 48200 44500 48200 44300 4
+N 51600 46700 51600 46500 4
+N 46500 46900 50600 46900 4
+C 49600 46500 1 270 0 switch-spst-1.sym
+{
+T 50300 46100 5 10 0 0 270 0 1
+device=SPST
+T 49600 46500 5 10 0 1 0 0 1
+footprint=microswitch
+T 49900 46200 5 10 1 1 270 0 1
+refdes=S2
+}
+N 49600 47500 49600 46500 4
+N 49600 45700 49600 44300 4
+N 49600 47500 46500 47500 4
+C 51900 46200 1 0 0 mosfet-with-diode-2.sym
+{
+T 52800 46700 5 10 0 0 0 0 1
+device=NPN_TRANSISTOR
+T 52800 46700 5 10 1 1 0 0 1
+refdes=Q1
+T 51900 46200 5 10 0 0 0 0 1
+footprint=SOT23
+}
+T 51200 41000 9 16 1 0 0 0 1
+http://www.fi.muni.cz/~kas/heater/
+T 54000 40200 9 16 1 0 0 0 1
+Jan "Yenya" Kasprzak
+T 50400 40700 9 10 1 0 0 0 1
+Distributable under the terms of GNU General Public License, version 2
--- /dev/null
+# release: pcb 20110918
+
+# To read pcb files, the pcb version (or the git source date) must be >= the file version
+FileVersion[20070407]
+
+PCB["" 200000 200000]
+
+Grid[5000.0 0 0 1]
+Cursor[0 20000 0.000000]
+PolyArea[3100.006200]
+Thermal[0.500000]
+DRC[799 799 800 100 1500 800]
+Flags("nameonpcb,uniquename,clearnew")
+Groups("1,c:2,s")
+Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,4000,6000,3500,1000:Skinny,600,2402,1181,600"]
+
+Symbol[' ' 1800]
+(
+)
+Symbol['!' 1200]
+(
+ SymbolLine[0 4500 0 5000 800]
+ SymbolLine[0 1000 0 3500 800]
+)
+Symbol['"' 1200]
+(
+ SymbolLine[0 1000 0 2000 800]
+ SymbolLine[1000 1000 1000 2000 800]
+)
+Symbol['#' 1200]
+(
+ SymbolLine[0 3500 2000 3500 800]
+ SymbolLine[0 2500 2000 2500 800]
+ SymbolLine[1500 2000 1500 4000 800]
+ SymbolLine[500 2000 500 4000 800]
+)
+Symbol['$' 1200]
+(
+ SymbolLine[1500 1500 2000 2000 800]
+ SymbolLine[500 1500 1500 1500 800]
+ SymbolLine[0 2000 500 1500 800]
+ SymbolLine[0 2000 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 4000 800]
+ SymbolLine[1500 4500 2000 4000 800]
+ SymbolLine[500 4500 1500 4500 800]
+ SymbolLine[0 4000 500 4500 800]
+ SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['%' 1200]
+(
+ SymbolLine[0 1500 0 2000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1000 1000 800]
+ SymbolLine[1000 1000 1500 1500 800]
+ SymbolLine[1500 1500 1500 2000 800]
+ SymbolLine[1000 2500 1500 2000 800]
+ SymbolLine[500 2500 1000 2500 800]
+ SymbolLine[0 2000 500 2500 800]
+ SymbolLine[0 5000 4000 1000 800]
+ SymbolLine[3500 5000 4000 4500 800]
+ SymbolLine[4000 4000 4000 4500 800]
+ SymbolLine[3500 3500 4000 4000 800]
+ SymbolLine[3000 3500 3500 3500 800]
+ SymbolLine[2500 4000 3000 3500 800]
+ SymbolLine[2500 4000 2500 4500 800]
+ SymbolLine[2500 4500 3000 5000 800]
+ SymbolLine[3000 5000 3500 5000 800]
+)
+Symbol['&' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 3500 1500 2000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[1000 5000 2000 4000 800]
+ SymbolLine[0 2500 2500 5000 800]
+ SymbolLine[500 1000 1000 1000 800]
+ SymbolLine[1000 1000 1500 1500 800]
+ SymbolLine[1500 1500 1500 2000 800]
+ SymbolLine[0 3500 0 4500 800]
+)
+Symbol[''' 1200]
+(
+ SymbolLine[0 2000 1000 1000 800]
+)
+Symbol['(' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+)
+Symbol[')' 1200]
+(
+ SymbolLine[0 1000 500 1500 800]
+ SymbolLine[500 1500 500 4500 800]
+ SymbolLine[0 5000 500 4500 800]
+)
+Symbol['*' 1200]
+(
+ SymbolLine[0 2000 2000 4000 800]
+ SymbolLine[0 4000 2000 2000 800]
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol['+' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[1000 2000 1000 4000 800]
+)
+Symbol[',' 1200]
+(
+ SymbolLine[0 6000 1000 5000 800]
+)
+Symbol['-' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+)
+Symbol['.' 1200]
+(
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['/' 1200]
+(
+ SymbolLine[0 4500 3000 1500 800]
+)
+Symbol['0' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4000 2000 2000 800]
+)
+Symbol['1' 1200]
+(
+ SymbolLine[0 1800 800 1000 800]
+ SymbolLine[800 1000 800 5000 800]
+ SymbolLine[0 5000 1500 5000 800]
+)
+Symbol['2' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[0 5000 2500 2500 800]
+ SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['3' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 2800 1500 2800 800]
+ SymbolLine[2000 1500 2000 2300 800]
+ SymbolLine[2000 3300 2000 4500 800]
+ SymbolLine[2000 3300 1500 2800 800]
+ SymbolLine[2000 2300 1500 2800 800]
+)
+Symbol['4' 1200]
+(
+ SymbolLine[0 3500 2000 1000 800]
+ SymbolLine[0 3500 2500 3500 800]
+ SymbolLine[2000 1000 2000 5000 800]
+)
+Symbol['5' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[0 1000 0 3000 800]
+ SymbolLine[0 3000 500 2500 800]
+ SymbolLine[500 2500 1500 2500 800]
+ SymbolLine[1500 2500 2000 3000 800]
+ SymbolLine[2000 3000 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['6' 1200]
+(
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[1500 2800 2000 3300 800]
+ SymbolLine[0 2800 1500 2800 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3300 2000 4500 800]
+)
+Symbol['7' 1200]
+(
+ SymbolLine[500 5000 2500 1000 800]
+ SymbolLine[0 1000 2500 1000 800]
+)
+Symbol['8' 1200]
+(
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3700 0 4500 800]
+ SymbolLine[0 3700 700 3000 800]
+ SymbolLine[700 3000 1300 3000 800]
+ SymbolLine[1300 3000 2000 3700 800]
+ SymbolLine[2000 3700 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 2300 700 3000 800]
+ SymbolLine[0 1500 0 2300 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 2300 800]
+ SymbolLine[1300 3000 2000 2300 800]
+)
+Symbol['9' 1200]
+(
+ SymbolLine[500 5000 2000 3000 800]
+ SymbolLine[2000 1500 2000 3000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+)
+Symbol[':' 1200]
+(
+ SymbolLine[0 2500 500 2500 800]
+ SymbolLine[0 3500 500 3500 800]
+)
+Symbol[';' 1200]
+(
+ SymbolLine[0 5000 1000 4000 800]
+ SymbolLine[1000 2500 1000 3000 800]
+)
+Symbol['<' 1200]
+(
+ SymbolLine[0 3000 1000 2000 800]
+ SymbolLine[0 3000 1000 4000 800]
+)
+Symbol['=' 1200]
+(
+ SymbolLine[0 2500 2000 2500 800]
+ SymbolLine[0 3500 2000 3500 800]
+)
+Symbol['>' 1200]
+(
+ SymbolLine[0 2000 1000 3000 800]
+ SymbolLine[0 4000 1000 3000 800]
+)
+Symbol['?' 1200]
+(
+ SymbolLine[1000 3000 1000 3500 800]
+ SymbolLine[1000 4500 1000 5000 800]
+ SymbolLine[0 1500 0 2000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 2000 800]
+ SymbolLine[1000 3000 2000 2000 800]
+)
+Symbol['@' 1200]
+(
+ SymbolLine[0 1000 0 4000 800]
+ SymbolLine[0 4000 1000 5000 800]
+ SymbolLine[1000 5000 4000 5000 800]
+ SymbolLine[5000 3500 5000 1000 800]
+ SymbolLine[5000 1000 4000 0 800]
+ SymbolLine[4000 0 1000 0 800]
+ SymbolLine[1000 0 0 1000 800]
+ SymbolLine[1500 2000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 3000 3500 800]
+ SymbolLine[3000 3500 3500 3000 800]
+ SymbolLine[3500 3000 4000 3500 800]
+ SymbolLine[3500 3000 3500 1500 800]
+ SymbolLine[3500 2000 3000 1500 800]
+ SymbolLine[2000 1500 3000 1500 800]
+ SymbolLine[2000 1500 1500 2000 800]
+ SymbolLine[4000 3500 5000 3500 800]
+)
+Symbol['A' 1200]
+(
+ SymbolLine[0 2000 0 5000 800]
+ SymbolLine[0 2000 700 1000 800]
+ SymbolLine[700 1000 1800 1000 800]
+ SymbolLine[1800 1000 2500 2000 800]
+ SymbolLine[2500 2000 2500 5000 800]
+ SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['B' 1200]
+(
+ SymbolLine[0 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2500 3300 2500 4500 800]
+ SymbolLine[2000 2800 2500 3300 800]
+ SymbolLine[500 2800 2000 2800 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2300 800]
+ SymbolLine[2000 2800 2500 2300 800]
+)
+Symbol['C' 1200]
+(
+ SymbolLine[700 5000 2000 5000 800]
+ SymbolLine[0 4300 700 5000 800]
+ SymbolLine[0 1700 0 4300 800]
+ SymbolLine[0 1700 700 1000 800]
+ SymbolLine[700 1000 2000 1000 800]
+)
+Symbol['D' 1200]
+(
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[1800 1000 2500 1700 800]
+ SymbolLine[2500 1700 2500 4300 800]
+ SymbolLine[1800 5000 2500 4300 800]
+ SymbolLine[0 5000 1800 5000 800]
+ SymbolLine[0 1000 1800 1000 800]
+)
+Symbol['E' 1200]
+(
+ SymbolLine[0 2800 1500 2800 800]
+ SymbolLine[0 5000 2000 5000 800]
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+)
+Symbol['F' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[0 2800 1500 2800 800]
+)
+Symbol['G' 1200]
+(
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[1000 3000 2000 3000 800]
+)
+Symbol['H' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[2500 1000 2500 5000 800]
+ SymbolLine[0 3000 2500 3000 800]
+)
+Symbol['I' 1200]
+(
+ SymbolLine[0 1000 1000 1000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 5000 1000 5000 800]
+)
+Symbol['J' 1200]
+(
+ SymbolLine[700 1000 1500 1000 800]
+ SymbolLine[1500 1000 1500 4500 800]
+ SymbolLine[1000 5000 1500 4500 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 4500 0 4000 800]
+)
+Symbol['K' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3000 2000 1000 800]
+ SymbolLine[0 3000 2000 5000 800]
+)
+Symbol['L' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['M' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 1500 3000 800]
+ SymbolLine[1500 3000 3000 1000 800]
+ SymbolLine[3000 1000 3000 5000 800]
+)
+Symbol['N' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 1000 2500 5000 800]
+ SymbolLine[2500 1000 2500 5000 800]
+)
+Symbol['O' 1200]
+(
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['P' 1200]
+(
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[2000 3000 2500 2500 800]
+ SymbolLine[500 3000 2000 3000 800]
+)
+Symbol['Q' 1200]
+(
+ SymbolLine[0 1500 0 4500 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1500 1000 800]
+ SymbolLine[1500 1000 2000 1500 800]
+ SymbolLine[2000 1500 2000 4000 800]
+ SymbolLine[1000 5000 2000 4000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[1000 3500 2000 5000 800]
+)
+Symbol['R' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[2500 1500 2500 2500 800]
+ SymbolLine[2000 3000 2500 2500 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[1300 3000 2500 5000 800]
+)
+Symbol['S' 1200]
+(
+ SymbolLine[2000 1000 2500 1500 800]
+ SymbolLine[500 1000 2000 1000 800]
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[0 1500 0 2500 800]
+ SymbolLine[0 2500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['T' 1200]
+(
+ SymbolLine[0 1000 2000 1000 800]
+ SymbolLine[1000 1000 1000 5000 800]
+)
+Symbol['U' 1200]
+(
+ SymbolLine[0 1000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 1000 2000 4500 800]
+)
+Symbol['V' 1200]
+(
+ SymbolLine[0 1000 1000 5000 800]
+ SymbolLine[1000 5000 2000 1000 800]
+)
+Symbol['W' 1200]
+(
+ SymbolLine[0 1000 0 3000 800]
+ SymbolLine[0 3000 500 5000 800]
+ SymbolLine[500 5000 1500 3000 800]
+ SymbolLine[1500 3000 2500 5000 800]
+ SymbolLine[2500 5000 3000 3000 800]
+ SymbolLine[3000 3000 3000 1000 800]
+)
+Symbol['X' 1200]
+(
+ SymbolLine[0 5000 2500 1000 800]
+ SymbolLine[0 1000 2500 5000 800]
+)
+Symbol['Y' 1200]
+(
+ SymbolLine[0 1000 1000 3000 800]
+ SymbolLine[1000 3000 2000 1000 800]
+ SymbolLine[1000 3000 1000 5000 800]
+)
+Symbol['Z' 1200]
+(
+ SymbolLine[0 1000 2500 1000 800]
+ SymbolLine[0 5000 2500 1000 800]
+ SymbolLine[0 5000 2500 5000 800]
+)
+Symbol['[' 1200]
+(
+ SymbolLine[0 1000 500 1000 800]
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['\' 1200]
+(
+ SymbolLine[0 1500 3000 4500 800]
+)
+Symbol[']' 1200]
+(
+ SymbolLine[0 1000 500 1000 800]
+ SymbolLine[500 1000 500 5000 800]
+ SymbolLine[0 5000 500 5000 800]
+)
+Symbol['^' 1200]
+(
+ SymbolLine[0 1500 500 1000 800]
+ SymbolLine[500 1000 1000 1500 800]
+)
+Symbol['_' 1200]
+(
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['a' 1200]
+(
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[2000 3000 2000 4500 800]
+ SymbolLine[2000 4500 2500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['b' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3500 2000 4500 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+)
+Symbol['c' 1200]
+(
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 2000 5000 800]
+)
+Symbol['d' 1200]
+(
+ SymbolLine[2000 1000 2000 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+)
+Symbol['e' 1200]
+(
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[0 4000 2000 4000 800]
+ SymbolLine[2000 4000 2000 3500 800]
+)
+Symbol['f' 1000]
+(
+ SymbolLine[500 1500 500 5000 800]
+ SymbolLine[500 1500 1000 1000 800]
+ SymbolLine[1000 1000 1500 1000 800]
+ SymbolLine[0 3000 1000 3000 800]
+)
+Symbol['g' 1200]
+(
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[0 6000 500 6500 800]
+ SymbolLine[500 6500 1500 6500 800]
+ SymbolLine[1500 6500 2000 6000 800]
+ SymbolLine[2000 3000 2000 6000 800]
+)
+Symbol['h' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+)
+Symbol['i' 1000]
+(
+ SymbolLine[0 2000 0 2100 1000]
+ SymbolLine[0 3500 0 5000 800]
+)
+Symbol['j' 1000]
+(
+ SymbolLine[500 2000 500 2100 1000]
+ SymbolLine[500 3500 500 6000 800]
+ SymbolLine[0 6500 500 6000 800]
+)
+Symbol['k' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+ SymbolLine[0 3500 1500 5000 800]
+ SymbolLine[0 3500 1000 2500 800]
+)
+Symbol['l' 1000]
+(
+ SymbolLine[0 1000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['m' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+ SymbolLine[2000 3500 2500 3000 800]
+ SymbolLine[2500 3000 3000 3000 800]
+ SymbolLine[3000 3000 3500 3500 800]
+ SymbolLine[3500 3500 3500 5000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['n' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 5000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['o' 1200]
+(
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[2000 3500 2000 4500 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['p' 1200]
+(
+ SymbolLine[500 3500 500 6500 800]
+ SymbolLine[0 3000 500 3500 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[2500 3500 2500 4500 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[1000 5000 2000 5000 800]
+ SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['q' 1200]
+(
+ SymbolLine[2000 3500 2000 6500 800]
+ SymbolLine[1500 3000 2000 3500 800]
+ SymbolLine[500 3000 1500 3000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[0 3500 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['r' 1200]
+(
+ SymbolLine[500 3500 500 5000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[1000 3000 2000 3000 800]
+ SymbolLine[0 3000 500 3500 800]
+)
+Symbol['s' 1200]
+(
+ SymbolLine[500 5000 2000 5000 800]
+ SymbolLine[2000 5000 2500 4500 800]
+ SymbolLine[2000 4000 2500 4500 800]
+ SymbolLine[500 4000 2000 4000 800]
+ SymbolLine[0 3500 500 4000 800]
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 2000 3000 800]
+ SymbolLine[2000 3000 2500 3500 800]
+ SymbolLine[0 4500 500 5000 800]
+)
+Symbol['t' 1000]
+(
+ SymbolLine[500 1000 500 4500 800]
+ SymbolLine[500 4500 1000 5000 800]
+ SymbolLine[0 2500 1000 2500 800]
+)
+Symbol['u' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+ SymbolLine[2000 3000 2000 4500 800]
+)
+Symbol['v' 1200]
+(
+ SymbolLine[0 3000 1000 5000 800]
+ SymbolLine[2000 3000 1000 5000 800]
+)
+Symbol['w' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[500 5000 1000 5000 800]
+ SymbolLine[1000 5000 1500 4500 800]
+ SymbolLine[1500 3000 1500 4500 800]
+ SymbolLine[1500 4500 2000 5000 800]
+ SymbolLine[2000 5000 2500 5000 800]
+ SymbolLine[2500 5000 3000 4500 800]
+ SymbolLine[3000 3000 3000 4500 800]
+)
+Symbol['x' 1200]
+(
+ SymbolLine[0 3000 2000 5000 800]
+ SymbolLine[0 5000 2000 3000 800]
+)
+Symbol['y' 1200]
+(
+ SymbolLine[0 3000 0 4500 800]
+ SymbolLine[0 4500 500 5000 800]
+ SymbolLine[2000 3000 2000 6000 800]
+ SymbolLine[1500 6500 2000 6000 800]
+ SymbolLine[500 6500 1500 6500 800]
+ SymbolLine[0 6000 500 6500 800]
+ SymbolLine[500 5000 1500 5000 800]
+ SymbolLine[1500 5000 2000 4500 800]
+)
+Symbol['z' 1200]
+(
+ SymbolLine[0 3000 2000 3000 800]
+ SymbolLine[0 5000 2000 3000 800]
+ SymbolLine[0 5000 2000 5000 800]
+)
+Symbol['{' 1200]
+(
+ SymbolLine[500 1500 1000 1000 800]
+ SymbolLine[500 1500 500 2500 800]
+ SymbolLine[0 3000 500 2500 800]
+ SymbolLine[0 3000 500 3500 800]
+ SymbolLine[500 3500 500 4500 800]
+ SymbolLine[500 4500 1000 5000 800]
+)
+Symbol['|' 1200]
+(
+ SymbolLine[0 1000 0 5000 800]
+)
+Symbol['}' 1200]
+(
+ SymbolLine[0 1000 500 1500 800]
+ SymbolLine[500 1500 500 2500 800]
+ SymbolLine[500 2500 1000 3000 800]
+ SymbolLine[500 3500 1000 3000 800]
+ SymbolLine[500 3500 500 4500 800]
+ SymbolLine[0 5000 500 4500 800]
+)
+Symbol['~' 1200]
+(
+ SymbolLine[0 3500 500 3000 800]
+ SymbolLine[500 3000 1000 3000 800]
+ SymbolLine[1000 3000 1500 3500 800]
+ SymbolLine[1500 3500 2000 3500 800]
+ SymbolLine[2000 3500 2500 3000 800]
+)
+Attribute("PCB::grid::unit" "mil")
+
+Element["" "heater.pcb" "heater" "140000 x 42000" 5000 5000 2000 2000 0 50 ""]
+(
+ Pin[0 0 1000 0 0 400 "1" "1" "edge2"]
+ Pin[140000 0 1000 0 0 400 "2" "2" "edge2"]
+ ElementLine [0 0 140000 0 100]
+ ElementLine [0 0 0 42000 100]
+ ElementLine [140000 0 140000 42000 100]
+ ElementLine [0 42000 140000 42000 100]
+
+ )
+
+Element["" "heater.pcb" "heater" "140000 x 42000" 5000 155000 2000 2000 0 50 ""]
+(
+ Pin[0 0 1000 0 0 400 "1" "1" "edge2"]
+ Pin[140000 0 1000 0 0 400 "2" "2" "edge2"]
+ ElementLine [0 0 140000 0 100]
+ ElementLine [0 0 0 42000 100]
+ ElementLine [140000 0 140000 42000 100]
+ ElementLine [0 42000 140000 42000 100]
+
+ )
+
+Element["" "heater.pcb" "heater" "140000 x 42000" 5000 55000 2000 2000 0 50 ""]
+(
+ Pin[0 0 1000 0 0 400 "1" "1" "edge2"]
+ Pin[140000 0 1000 0 0 400 "2" "2" "edge2"]
+ ElementLine [0 0 140000 0 100]
+ ElementLine [0 0 0 42000 100]
+ ElementLine [140000 0 140000 42000 100]
+ ElementLine [0 42000 140000 42000 100]
+
+ )
+
+Element["" "heater.pcb" "heater" "140000 x 42000" 5000 105000 2000 2000 0 50 ""]
+(
+ Pin[0 0 1000 0 0 400 "1" "1" "edge2"]
+ Pin[140000 0 1000 0 0 400 "2" "2" "edge2"]
+ ElementLine [0 0 140000 0 100]
+ ElementLine [0 0 0 42000 100]
+ ElementLine [140000 0 140000 42000 100]
+ ElementLine [0 42000 140000 42000 100]
+
+ )
+
+Element["" "heater.pcb" "heater" "140000 x 42000" 155000 145000 2000 -2000 1 50 ""]
+(
+ Pin[0 0 1000 0 0 400 "1" "1" ""]
+ Pin[0 -140000 1000 0 0 400 "2" "2" ""]
+ ElementLine [0 -140000 0 0 100]
+ ElementLine [0 0 42000 0 100]
+ ElementLine [0 -140000 42000 -140000 100]
+ ElementLine [42000 -140000 42000 0 100]
+
+ )
+Layer(1 "component")
+(
+)
+Layer(2 "solder")
+(
+)
+Layer(3 "silk")
+(
+)
+Layer(4 "silk")
+(
+)
--- /dev/null
+;; $Id$
+;;
+;; This file may be used to produce png files from gschem schematics from the
+;; command line. Typical usage is:
+;;
+;; gschem -p -o mysch.png -s /path/to/this/file/image.scm mysch.sch
+;;
+;; The schematic in "mysch.sch" will be exported to the file "mysch.png"
+
+(image-size 1024 768)
+;(image-size 3200 2400)
+(image-color "enabled")
+;(image-color "disabled")
+
+; You need call this after you call any rc file function
+(gschem-use-rc-values)
+
+; filename is specified on the command line
+(gschem-image "dummyfilename")
+
+(gschem-exit)
--- /dev/null
+Element[0x0 "Microswitch 6.3x6.3mm" "SW?" "microswitch63x63" 26575 15000 -5000 -2500 0 100 ""]
+(
+ # signal pads
+# Pad[rX1 rY1 rX2 rY2 Thickness Clearance Mask "Name" "Number" SFlags]
+ # Pad[ -2.3mm -4.9mm -2.3mm -4.2mm 1.4mm 0.5mm 4543 "3" "3" "square"]
+ # Pad[ +2.3mm -4.9mm +2.3mm -4.2mm 1.4mm 0.5mm 4543 "1" "1" "square"]
+ # Pad[ -2.3mm +4.9mm -2.3mm +4.2mm 1.4mm 0.5mm 4543 "4" "4" "square"]
+ # Pad[ +2.3mm +4.9mm +2.3mm +4.2mm 1.4mm 0.5mm 4543 "2" "2" "square"]
+ Pad[ -2.0mm -2.2mm -2.0mm -4.0mm 1.4mm 0.5mm 1.5mm "1" "1" "square"]
+ Pad[ 2.0mm -2.2mm 2.0mm -4.0mm 1.4mm 0.5mm 1.5mm "2" "2" "square"]
+ Pad[ -2.0mm 2.2mm -2.0mm 4.0mm 1.4mm 0.5mm 1.5mm "1" "1" "square"]
+ Pad[ 2.0mm 2.2mm 2.0mm 4.0mm 1.4mm 0.5mm 1.5mm "2" "2" "square"]
+ # the element box
+ ElementLine [-3.30mm -3.15mm -3.30mm 3.15mm 1000]
+ ElementLine [-1.10mm -3.15mm 1.10mm -3.15mm 1000]
+ ElementLine [ 3.30mm -3.15mm 3.30mm 3.15mm 1000]
+ ElementLine [-1.10mm 3.15mm 1.10mm 3.15mm 1000]
+ #ElementLine [-11800 -11800 -11800 11800 1000]
+ #ElementLine [11800 -11800 11800 11800 1000]
+ #ElementLine [-11800 -11800 11800 -11800 1000]
+ #ElementLine [-11800 11800 11800 11800 1000]
+ # the stylus
+ #ElementArc[0 0 6900 6900 0 0 1000]
+ #ElementArc[0 0 6900 6900 0 180 1000]
+ # two connected pins
+ #ElementLine [-8850 -10325 -8850 10325 1000]
+ #ElementLine [8850 -10325 8850 10325 1000]
+ #ElementLine [8850 -8850 2950 -8850 1000]
+ #ElementLine [-8850 -8850 -2950 -8850 1000]
+ #ElementLine [2950 -10325 -2950 -8850 1000]
+
+ Attribute("author" "Alexander Kurz, Stefan Tauner")
+ Attribute("copyright" "2008 Alexander Kurz, 2010 Stefan Tauner")
+ Attribute("use-license" "Unlimited")
+ Attribute("dist-license" "CC-BY-SA-2.5")
+ Attribute("ref" "tycoelectronics.com document number 2-1437565-7 rev S1 2010-04-10")
+ Attribute("comment" "rev S1 of the document has an error: horizontal pad spacing implies 2*1,4 + 3,1 = 5,86. i used 5,9 instead.")
+)
--- /dev/null
+v 20121123 2
+P 600 1000 600 800 1 0 0
+{
+T 500 850 5 6 1 1 0 0 1
+pinnumber=3
+T 500 850 5 6 0 0 0 0 1
+pinseq=3
+T 500 850 5 6 0 1 0 0 1
+pinlabel=D
+T 500 850 5 6 0 1 0 0 1
+pintype=pas
+}
+P 600 200 600 0 1 0 1
+{
+T 500 50 5 6 1 1 0 0 1
+pinnumber=2
+T 500 50 5 6 0 0 0 0 1
+pinseq=2
+T 500 50 5 6 0 1 0 0 1
+pinlabel=S
+T 500 50 5 6 0 1 0 0 1
+pintype=pas
+}
+V 500 501 316 3 0 0 0 -1 -1 0 -1 -1 -1 -1 -1
+T 900 500 5 10 0 0 0 0 1
+device=NPN_TRANSISTOR
+L 400 700 400 300 3 0 0 0 -1 -1
+P 0 500 184 500 1 0 0
+{
+T 100 550 5 6 1 1 0 0 1
+pinnumber=1
+T 100 550 5 6 0 0 0 0 1
+pinseq=1
+T 100 550 5 6 0 1 0 0 1
+pinlabel=G
+T 100 550 5 6 0 1 0 0 1
+pintype=pas
+}
+L 400 500 184 500 3 0 0 0 -1 -1
+T 900 500 8 10 1 1 0 0 1
+refdes=Q?
+L 600 800 600 640 3 0 0 0 -1 -1
+L 440 700 440 580 3 0 0 0 -1 -1
+L 440 300 440 420 3 0 0 0 -1 -1
+L 440 440 440 560 3 0 0 0 -1 -1
+L 440 640 600 640 3 0 0 0 -1 -1
+L 440 360 600 360 3 0 0 0 -1 -1
+L 600 200 600 360 3 0 0 0 -1 -1
+L 600 360 600 500 3 0 0 0 -1 -1
+L 440 500 480 520 3 0 0 0 -1 -1
+L 480 520 480 480 3 0 0 0 -1 -1
+L 480 480 440 500 3 0 0 0 -1 -1
+L 480 500 600 500 3 0 0 0 -1 -1
+L 600 700 680 700 3 0 0 0 -1 -1
+L 660 530 720 530 3 0 0 0 -1 -1
+L 680 700 690 700 3 0 0 0 -1 -1
+L 690 580 690 700 3 0 0 0 -1 -1
+L 640 510 660 530 3 0 0 0 -1 -1
+L 720 530 740 550 3 0 0 0 -1 -1
+L 660 470 690 530 3 0 0 0 -1 -1
+L 720 470 690 530 3 0 0 0 -1 -1
+L 660 470 720 470 3 0 0 0 -1 -1
+L 690 530 690 580 3 0 0 0 -1 -1
+L 600 300 690 300 3 0 0 0 -1 -1
+L 690 300 690 470 3 0 0 0 -1 -1
+V 600 700 5 3 0 0 0 -1 -1 1 -1 -1 1 -1 1
+V 600 360 5 3 0 0 0 -1 -1 1 -1 -1 1 -1 1
+V 600 300 5 3 0 0 0 -1 -1 1 -1 -1 1 -1 1
--- /dev/null
+#!/usr/bin/perl
+# -*- perl -*-
+
+# Copyright 2006 DJ Delorie <dj@delorie.com>
+# Released under the terms of the GNU General Public License, version 2
+
+sub baseboard {
+ my ($file, $width, $height, $nbase) = @_;
+ if (! $nbase) {
+ $base = $file;
+ $base =~ s@.*/@@;
+ } else {
+ $base = $nbase;
+ }
+
+ $panelcopperlayers = ".*" unless $panelcopperlayers;
+
+ $pscript = "$base.pscript";
+ open(PS, ">$pscript");
+ push(@files_to_remove, "$base.pscript");
+
+ open(S, $file) || die("$file: $!");
+ $outname = "$base.panel.pcb";
+ $outname =~ s/pnl\.panel\.pcb/pcb/;
+ open(O, ">$outname");
+ while (<S>) {
+ if (/PCB\[.* (\S+) (\S+)\]/) {
+ s/ (\S+) (\S+)\]/ $width $height\]/;
+ }
+ s/Cursor\[.*\]/Cursor[0 0 0.0]/;
+ if (/^Flags/) {
+ s/,uniquename,/,/;
+ s/,uniquename//;
+ s/uniquename,//;
+ }
+ next if /\b(Via|Pin|Pad|ElementLine|Line|Arc|ElementArc|Text)/;
+ if (/Polygon|Element/) {
+ $hole = 0;
+ while (<S>) {
+ $hole++ if /Hole \(/;
+ last if /^\s*\)\s*$/ && $hole <= 0;
+ $hole-- if /\)/;
+ }
+ next;
+ }
+ if (/Layer/) {
+ if (@panelvias) {
+ print O @panelvias;
+ @panelvias = ();
+ }
+ }
+ print O;
+ if (/Layer\((\d+) \"(.*)\"\)/) {
+ $lnum = $1;
+ $lname = $2;
+ print O scalar <S>;
+ print STDERR "layer $lnum $lname vs '$panelcopperlayers'\n";
+ if ($lnum =~ /$panelcopperlayers/ || $lname =~ /$panelcopperlayers/) {
+ print O @panelcopper;
+ }
+ }
+ }
+ close O;
+ close S;
+
+ print PS "LoadFrom(Layout,$outname)\n";
+
+ $ox = $oy = 0;
+}
+
+sub loadboard {
+ my ($file) = @_;
+ $seq = 1 + $seq;
+
+ open(S, $file);
+ open(O, ">temp-panel.$seq");
+ while (<S>) {
+ if (/PCB\[.* (\S+) (\S+)\]/) {
+ $width = &parseval($1);
+ $height = &parseval($2);
+ }
+ s/Cursor\[.*\]/Cursor[0 0 0.0]/;
+ print O;
+ }
+ close O;
+ close S;
+ print PS "LoadFrom(LayoutToBuffer,temp-panel.$seq)\n";
+ push(@files_to_remove, "temp-panel.$seq");
+}
+
+sub opaste {
+ $vx = $ox;
+ $vy = $oy + $height;
+ print PS "PasteBuffer(ToLayout,$ox,$oy)\n";
+ $ox += $width;
+ $oy = 0;
+}
+
+sub vpaste {
+ print PS "PasteBuffer(ToLayout,$vx,$vy)\n";
+ $vy += $height;
+}
+
+sub done {
+ print PS "SaveTo(LayoutAs,$outname)\n";
+ print PS "Quit()\n";
+
+ close PS;
+
+ system "set -x; pcb --action-script $pscript";
+ #system "pcb -x ps $base.panel.pcb";
+ #unlink @files_to_remove;
+}
+
+sub parseval {
+ my ($v) = @_;
+ if ($v =~ /mil/) {
+ $v *= 100;
+ }
+ if ($v =~ /mm/) {
+ $v *= 3937.007874015748;
+ }
+ return 0 + $v;
+}
+
+1;
--- /dev/null
+#!/usr/bin/perl
+# -*- perl -*-
+
+# Copyright 2006 DJ Delorie <dj@delorie.com>
+# Released under the terms of the GNU General Public License, version 2
+
+if (! @ARGV) {
+ print "Usage: pcb2panel board1.pcb board2.pcb board3.pcb > boards.pcb";
+ print "Then edit boards.pcb, putting each outline where you want it\n";
+ print "and sizing the board. Then:\n";
+ print "panel2pcb [-l regex] boards.pcb\n";
+ print "and edit/print boards.panel.pcb\n";
+ exit 0;
+}
+
+$mydir = $0;
+if ($mydir =~ m@/@) {
+ $mydir =~ s@[^/]*$@@;
+} else {
+ $mydir = ".";
+}
+
+require "$mydir/panel.pl";
+
+$panel = shift;
+
+if ($panel eq "-l") {
+ $panelcopperlayers = shift;
+ $panel = shift;
+}
+
+open(P, $panel);
+while (<P>) {
+ if (/PCB\[.* (\S+) (\S+)\]/) {
+ $panel_width = &parseval($1);
+ $panel_height = &parseval($2);
+ }
+ if (/Element\[\"[^\"]*\" \"([^\"]*)\" \"([^\"]*)\" \"([^\"]*)\" (\S+) (\S+)/) {
+ $pcb = $1;
+ $base = $2;
+ $value = $3;
+ $mx = &parseval($4);
+ $my = &parseval($5);
+ %pinx = ();
+ %piny = ();
+ }
+ if (/Pin\[(\S+) (\S+) \S+ \S+ \S+ \S+ \"(\d)\"/) {
+ $pinx{$3} = &parseval($1);
+ $piny{$3} = &parseval($2);
+ }
+ if ($pcb && /\)/) {
+ if ($pinx{'1'} < $pinx{'2'}) {
+ $rot = 0;
+ } elsif ($pinx{'1'} > $pinx{'2'}) {
+ $rot = 2;
+ } elsif ($piny{'1'} < $piny{'2'}) {
+ $rot = 3;
+ } elsif ($piny{'1'} > $piny{'2'}) {
+ $rot = 1;
+ }
+ push (@paste, "$pcb\0$rot\0$mx\0$my");
+ $pcb = undef;
+ }
+ if (/Via/) {
+ push (@panelvias, $_);
+ }
+ if (/^Layer\([^)]*\)$/) {
+ $junk = <P>; # The opening '('
+ while ($junk = <P>) {
+ last if $junk =~ /^\)/;
+ push (@panelcopper, $junk);
+ }
+ }
+}
+
+$tmp = "/tmp/panel$$.pcb";
+
+$start = $paste[0];
+$start =~ s/\0.*//;
+
+$panel =~ s/\.pcb$//;
+&baseboard($start, $panel_width, $panel_height, $panel);
+
+$lastboard = undef;
+for $paste (sort @paste) {
+ ($pcb, $rot, $mx, $my) = split(/\0/, $paste);
+ if ($lastboard ne $pcb) {
+ &loadboard ($pcb);
+ $lastboard = $pcb;
+ $lastrot = 0;
+ }
+ while ($lastrot != $rot) {
+ print PS "PasteBuffer(Rotate,1)\n";
+ $lastrot = ($lastrot+1) % 4;
+ }
+ print PS "PasteBuffer(ToLayout,$mx,$my)\n";
+}
+
+&done();
--- /dev/null
+#!/usr/bin/perl
+# -*- perl -*-
+
+# Copyright 2006 DJ Delorie <dj@delorie.com>
+# Released under the terms of the GNU General Public License, version 2
+
+$mydir = $0;
+if ($mydir =~ m@/@) {
+ $mydir =~ s@[^/]*$@@;
+} else {
+ $mydir = ".";
+}
+
+require "$mydir/panel.pl";
+
+if (! @ARGV) {
+ print "Usage: pcb2panel board1.pcb board2.pcb board3.pcb > boards.pcb\n";
+ print "Then edit boards.pcb, putting each outline where you want it\n";
+ print "and sizing the board. Then:\n";
+ print "panel2pcb boards.pcb\n";
+ print "and edit/print boards.panel.pcb\n";
+ exit 0;
+}
+
+for $pcb (@ARGV) {
+ $base = $pcb;
+ $base =~ s@.*/@@;
+ $base =~ s@\.pcb$@@;
+ $base{$pcb} = $base;
+ push (@pcbs, $pcb);
+ open(PCB, $pcb);
+ while (<PCB>) {
+ if (/^PCB\[".*" (\S+) (\S+)\]/) {
+ $width{$pcb} = &parseval($1);
+ $height{$pcb} = &parseval($2);
+ printf STDERR "%s : %d x %d\n", $pcb, $width{$pcb}, $height{$pcb};
+ last;
+ }
+ }
+ $outline = '';
+ while (<PCB>) {
+ if (/Layer\(.*"outline"\)/) {
+ $junk = <PCB>; # open paren
+ while (<PCB>) {
+ last if /^\)/; # close paren
+ ($args) = m@\[(.*)\]@;
+ ($x1, $y1, $x2, $y2, $width) = split(' ', $args);
+ $outline .= " ElementLine[$x1 $y1 $x2 $y2 $width]\n";
+ }
+ }
+ }
+ push (@outlines, $outline);
+ close PCB;
+}
+
+$pw = 10000;
+$ph = 0;
+for $pcb (@pcbs) {
+ $pw += 10000;
+ $pw += $width{$pcb};
+ $ph = $height{$pcb} if $ph < $height{$pcb};
+}
+$ph += 20000;
+
+print "PCB[\"\" $pw $ph]\n";
+print "Grid[10000.0 0 0 1]\n";
+print "DRC[799 799 800 100 1500 800]\n";
+print "Groups(\"1,c:2,s\")\n"; #"
+
+$x = 10000;
+$y = 10000;
+for ($i=0; $i<@pcbs; $i++) {
+ $pcb = $pcbs[$i];
+ $outline = $outlines[$i];
+ $desc = $pcb;
+ $name = $base{$pcb};
+ $value = "$width{$pcb} x $height{$pcb}";
+ $w = $width{$pcb};
+ $h = $height{$pcb};
+
+ print "Element[\"\" \"$desc\" \"$name\" \"$value\" $x $y 2000 2000 0 50 \"\"] (\n";
+ print " Pin[0 0 1000 0 0 400 \"1\" \"1\" \"\"]\n";
+ print " Pin[$w 0 1000 0 0 400 \"2\" \"2\" \"\"]\n";
+ if ($outline =~ /\S/) {
+ print $outline;
+ } else {
+ print " ElementLine[0 0 $w 0 100]\n";
+ print " ElementLine[0 0 0 $h 100]\n";
+ print " ElementLine[$w 0 $w $h 100]\n";
+ print " ElementLine[0 $h $w $h 100]\n";
+ }
+ print ")\n";
+ $x += $w + 10000;
+}
+
+print "Layer(1 \"component\")()\n";
+print "Layer(2 \"solder\")()\n";
+print "Layer(3 \"silk\")()\n";
+print "Layer(4 \"silk\")()\n";
+
+exit 0;