Commit fcb482df authored by jean-pierre charras's avatar jean-pierre charras

Pcbnew: Fix bug I created in my previous commit.

More about code refactoring in connect.cpp: RecalculateAllTracksNetcode() is 50 times faster with a board using 27000 tracks
Use right icon in pcbnew for load board and new board.
parents 9f69193a 9cd1fdd9
......@@ -368,6 +368,7 @@ set( BMAPS_MID
noconn
normal
online_help
open_brd_file
open_library
open_project
open_document
......
......@@ -8,86 +8,90 @@
static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
0xce, 0x00, 0x00, 0x04, 0xe3, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x59, 0x4c, 0x5b,
0x47, 0x14, 0x86, 0xc7, 0x84, 0x40, 0xd9, 0x04, 0x45, 0x05, 0xb1, 0xaa, 0x54, 0xa8, 0x08, 0x89,
0x45, 0x48, 0x55, 0x45, 0xcb, 0xbe, 0xef, 0x0f, 0xe1, 0xa9, 0x22, 0x28, 0x82, 0x14, 0x91, 0xaa,
0x2f, 0x3c, 0x95, 0x28, 0xe2, 0x01, 0x21, 0xd4, 0x94, 0x36, 0x8a, 0x8a, 0xa8, 0x80, 0x07, 0x24,
0x54, 0xc2, 0x1a, 0xa0, 0x36, 0x20, 0x5f, 0x63, 0x1b, 0x27, 0x86, 0x82, 0x4d, 0x41, 0xc1, 0x60,
0x36, 0xb1, 0xc4, 0x76, 0xb0, 0x41, 0x18, 0x63, 0x16, 0x07, 0xbb, 0x80, 0x8d, 0xf1, 0x74, 0x4e,
0x8c, 0xa9, 0x13, 0x20, 0x58, 0x55, 0xd4, 0x87, 0x5f, 0x73, 0xee, 0xcc, 0xbd, 0xf7, 0x9b, 0x39,
0xf3, 0xcf, 0xb9, 0x17, 0x61, 0x8c, 0x51, 0x46, 0x46, 0xc6, 0x17, 0x59, 0x59, 0x59, 0xc5, 0xa0,
0xf4, 0xf4, 0xf4, 0x6b, 0x95, 0x92, 0x92, 0x72, 0x41, 0xc9, 0xc9, 0x89, 0x77, 0x3b, 0x3b, 0x6f,
0xca, 0xeb, 0xeb, 0xdd, 0xd9, 0x49, 0x49, 0x49, 0xc5, 0x56, 0xca, 0x02, 0x06, 0xca, 0xc9, 0xc9,
0x89, 0xa8, 0xaa, 0xaa, 0x52, 0xcc, 0xcf, 0xcf, 0xaf, 0x59, 0x6b, 0x76, 0x76, 0xd6, 0x66, 0x89,
0xc5, 0xe2, 0x35, 0xa1, 0xf0, 0xe7, 0x6d, 0x1e, 0x0f, 0x61, 0x26, 0xf3, 0x23, 0x93, 0x48, 0xc4,
0x57, 0x40, 0x1f, 0xa8, 0xa9, 0xa9, 0x49, 0x9e, 0x99, 0x99, 0x79, 0x17, 0x56, 0x73, 0x6b, 0x7c,
0x7c, 0x5c, 0x46, 0xa8, 0xcf, 0x4c, 0x26, 0x13, 0x5d, 0x2a, 0x95, 0xb2, 0xac, 0xa5, 0xd7, 0xeb,
0x19, 0x64, 0x8c, 0xfe, 0x7e, 0x99, 0xe8, 0x5c, 0xee, 0x67, 0x1a, 0x89, 0x04, 0xe1, 0x17, 0x2f,
0x10, 0x9e, 0x9e, 0xfe, 0x76, 0xf9, 0x6c, 0x8c, 0xa1, 0x52, 0xa9, 0xd6, 0xc9, 0x62, 0xea, 0xde,
0x80, 0x04, 0x02, 0x01, 0x80, 0x28, 0x8d, 0x46, 0xd3, 0x91, 0x90, 0x90, 0xf0, 0x2a, 0x2e, 0x2e,
0x6e, 0x2d, 0x36, 0x36, 0x56, 0x1e, 0x13, 0x13, 0xa3, 0x88, 0x8a, 0x8a, 0xda, 0x54, 0xab, 0xd5,
0x9d, 0x46, 0xa3, 0xb1, 0x35, 0x31, 0x31, 0xf1, 0x95, 0x4c, 0x26, 0xeb, 0x26, 0xf7, 0x3e, 0x21,
0xb3, 0x94, 0x88, 0x44, 0x22, 0x98, 0xc4, 0x13, 0x89, 0xa4, 0x6e, 0x84, 0xcf, 0x47, 0x78, 0x7f,
0x1f, 0x61, 0xa5, 0x12, 0x61, 0x8a, 0x72, 0x32, 0x1c, 0x1d, 0x29, 0xbb, 0xc8, 0x58, 0xdb, 0xa5,
0x20, 0x78, 0x21, 0xd9, 0xa7, 0x97, 0xc9, 0xc9, 0xc9, 0x32, 0x50, 0x59, 0x59, 0xd9, 0x54, 0x4b,
0x4b, 0x0b, 0x2f, 0x32, 0x32, 0x52, 0x49, 0x1e, 0xe8, 0xa4, 0x28, 0x8a, 0x95, 0x9f, 0x1f, 0xb0,
0x2f, 0x10, 0x7c, 0x37, 0xcd, 0xe1, 0xa4, 0x4b, 0x1e, 0x3d, 0x72, 0xd6, 0x33, 0x99, 0xde, 0x5a,
0x0e, 0xe7, 0xc6, 0xa9, 0x4c, 0x86, 0xb0, 0xc1, 0x80, 0xb0, 0x56, 0x8b, 0xb0, 0x48, 0x84, 0x30,
0x97, 0xeb, 0x76, 0xfc, 0xfc, 0x79, 0xc4, 0x96, 0x50, 0x58, 0xa0, 0x7b, 0xf8, 0xf0, 0xd3, 0x3f,
0xdf, 0x02, 0xf1, 0x78, 0x3c, 0xa6, 0x8b, 0x8b, 0x8b, 0x1e, 0x21, 0x84, 0x41, 0x4e, 0x4e, 0x4e,
0xfa, 0xdc, 0xdc, 0xdc, 0xd5, 0xb6, 0xb6, 0xb6, 0x21, 0x58, 0x21, 0xcc, 0x9e, 0xa2, 0xbe, 0x9f,
0x66, 0x30, 0x68, 0x58, 0x28, 0x44, 0x78, 0x7d, 0x1d, 0xe1, 0xdd, 0x5d, 0x84, 0x0f, 0x0e, 0x10,
0x3e, 0x3c, 0x44, 0xb0, 0xe7, 0xf8, 0xf4, 0xd4, 0x0c, 0xd3, 0x68, 0xcc, 0xab, 0x93, 0x4a, 0x11,
0x66, 0xb3, 0x11, 0xbe, 0x00, 0x72, 0x73, 0x73, 0x3b, 0xb6, 0x80, 0x40, 0xae, 0xae, 0xae, 0xc7,
0x1c, 0x0e, 0x87, 0x19, 0x12, 0x12, 0xa2, 0x06, 0x10, 0xe8, 0xf6, 0xed, 0x00, 0x4d, 0x7f, 0xff,
0x0d, 0xd3, 0xec, 0xac, 0x19, 0x64, 0x34, 0x9a, 0x21, 0xd6, 0x3a, 0x3a, 0x42, 0x58, 0xa5, 0x42,
0x78, 0x74, 0x14, 0xe1, 0xee, 0xee, 0x9b, 0x5a, 0x94, 0x9a, 0x9a, 0x7a, 0x2d, 0x68, 0x60, 0x60,
0x60, 0xd0, 0x1a, 0x14, 0x1e, 0x1e, 0xbe, 0x25, 0x95, 0xfe, 0x36, 0x4c, 0x60, 0xa7, 0x62, 0xb1,
0x19, 0x66, 0x0d, 0xd1, 0xeb, 0xcd, 0x90, 0x91, 0x11, 0x84, 0x07, 0x07, 0x03, 0x4e, 0xee, 0xdc,
0xf9, 0xfa, 0xf7, 0xff, 0x0c, 0x82, 0x76, 0x65, 0xe5, 0x47, 0x01, 0x45, 0xfd, 0x0b, 0x82, 0xb4,
0x59, 0x40, 0x2b, 0x2b, 0x60, 0x8a, 0x8f, 0x0f, 0x15, 0x8a, 0xe9, 0x4d, 0xb2, 0xef, 0x75, 0x36,
0x81, 0x18, 0x0c, 0x06, 0x3b, 0x30, 0x30, 0x70, 0xbf, 0xab, 0xab, 0x8b, 0x0b, 0x0a, 0x0a, 0x0a,
0xda, 0x83, 0xb6, 0xa7, 0xe7, 0xde, 0xcc, 0xf0, 0xb0, 0xd9, 0x6d, 0x3a, 0x1d, 0xc2, 0x3b, 0x3b,
0x08, 0xef, 0xed, 0x99, 0xf7, 0x4b, 0xa1, 0x40, 0x98, 0xc5, 0xfa, 0x44, 0x07, 0xae, 0x23, 0xdb,
0x73, 0x3d, 0x08, 0xcc, 0xe1, 0xe7, 0xe7, 0xf7, 0xda, 0xdd, 0xdd, 0xfd, 0xa8, 0xa4, 0xa4, 0x44,
0x0c, 0xf2, 0xf2, 0xf2, 0xd2, 0x41, 0xfb, 0xf8, 0x71, 0x84, 0x72, 0x72, 0x12, 0x61, 0xb5, 0x1a,
0x61, 0x38, 0x43, 0x00, 0x9d, 0x9a, 0x32, 0x9b, 0x60, 0x7b, 0x1b, 0xe1, 0xfe, 0x7e, 0x1a, 0xde,
0xdc, 0x94, 0x6e, 0x9c, 0x83, 0xc6, 0xc6, 0xc6, 0xae, 0x04, 0x39, 0x3a, 0x3a, 0x9e, 0x90, 0x1b,
0x25, 0x76, 0x76, 0x76, 0x26, 0xb9, 0x5c, 0xfe, 0x94, 0xcb, 0xe5, 0x32, 0x21, 0x9e, 0x98, 0x98,
0xe8, 0x1b, 0x1a, 0xfa, 0x72, 0x7d, 0x62, 0xc2, 0x0c, 0xe8, 0xeb, 0xa3, 0x99, 0x1e, 0x3c, 0xb0,
0x33, 0x75, 0x74, 0x80, 0xe5, 0x11, 0x9e, 0x99, 0x41, 0x98, 0xc3, 0x81, 0x09, 0xb0, 0x54, 0x36,
0x81, 0x1c, 0x1c, 0x1c, 0x8c, 0xe4, 0x70, 0xbe, 0x84, 0x58, 0x28, 0x14, 0xf6, 0x37, 0x37, 0x37,
0x3f, 0x83, 0x18, 0x52, 0x37, 0x30, 0xe0, 0xa5, 0x63, 0x30, 0x10, 0x6e, 0x6d, 0xfd, 0x5c, 0xbd,
0xba, 0xca, 0x64, 0x41, 0x7f, 0x61, 0xe1, 0x37, 0x0b, 0xf7, 0xef, 0x87, 0xa8, 0x29, 0xca, 0xfd,
0xa8, 0xaf, 0x0f, 0xe1, 0xb9, 0xb9, 0x5f, 0x77, 0xdf, 0x80, 0x48, 0xd1, 0xbb, 0x16, 0x54, 0x5c,
0x5c, 0x3c, 0x0b, 0x66, 0x50, 0x2a, 0x95, 0x5d, 0x0b, 0x0b, 0x0b, 0x7f, 0x04, 0x07, 0x07, 0xef,
0xcc, 0xcd, 0x4d, 0xf4, 0xf1, 0xf9, 0x5f, 0x29, 0x12, 0x12, 0x02, 0xf7, 0xc1, 0xfe, 0x06, 0x83,
0xa1, 0x35, 0x2c, 0x2c, 0x6c, 0xab, 0xa6, 0xa6, 0x66, 0x0c, 0x32, 0x60, 0x30, 0xec, 0x75, 0xcc,
0xcc, 0xdc, 0x13, 0x4f, 0x4d, 0xfd, 0xa0, 0x21, 0x85, 0xd8, 0x36, 0x50, 0x65, 0x65, 0xe5, 0xb8,
0xc5, 0x71, 0xd7, 0x89, 0x14, 0x52, 0x3a, 0x80, 0xce, 0xae, 0x49, 0x09, 0xda, 0x5a, 0xff, 0x9f,
0x40, 0x2a, 0xdb, 0x41, 0xa5, 0xa5, 0xa5, 0x33, 0xa4, 0xc0, 0xca, 0x75, 0x3a, 0x5d, 0xfb, 0xd2,
0xd2, 0x52, 0x6f, 0x74, 0x74, 0xf4, 0xfa, 0xc6, 0xc6, 0xc6, 0xd3, 0x9d, 0x9d, 0x9d, 0x0e, 0xe8,
0x07, 0x63, 0x40, 0xea, 0xa0, 0x3e, 0x36, 0x34, 0x34, 0xf0, 0xad, 0x41, 0x24, 0xdd, 0xb6, 0x83,
0xae, 0x32, 0x03, 0x5c, 0x43, 0x5c, 0x5d, 0x5d, 0x2d, 0x80, 0xfd, 0x83, 0xb8, 0xa0, 0xa0, 0x60,
0xfe, 0x5d, 0x10, 0x31, 0x9c, 0x4d, 0xa0, 0x13, 0x00, 0xd1, 0x68, 0x34, 0xd3, 0xe2, 0xe2, 0x62,
0x2f, 0x8b, 0xc5, 0xa2, 0xa0, 0x1f, 0x6c, 0xbe, 0xba, 0xba, 0xda, 0x03, 0xfd, 0xf5, 0xf5, 0xf5,
0x7c, 0xad, 0x56, 0xdb, 0x6e, 0x6f, 0x6f, 0x6f, 0x84, 0x15, 0xe6, 0xe7, 0xe7, 0x2f, 0x5d, 0x00,
0xc5, 0xc7, 0xc7, 0xdf, 0x1a, 0x1d, 0x1d, 0xbd, 0x12, 0x44, 0x2a, 0xb8, 0xc1, 0xc7, 0xc7, 0xe7,
0xc0, 0xd3, 0xd3, 0xf3, 0xef, 0x8a, 0x8a, 0x8a, 0xbf, 0x40, 0xde, 0xde, 0xde, 0xda, 0xcb, 0xe2,
0xa2, 0xa2, 0xa2, 0x39, 0xb8, 0x3f, 0x2f, 0x2f, 0x6f, 0xa5, 0xb6, 0xb6, 0x76, 0xe4, 0x4a, 0x10,
0xa4, 0xc2, 0xd9, 0xd9, 0x59, 0xef, 0xe1, 0xe1, 0x71, 0x08, 0x82, 0x6a, 0xe0, 0xef, 0xef, 0xaf,
0x81, 0xd9, 0xfb, 0xfa, 0xfa, 0xbe, 0x86, 0x14, 0x81, 0xa0, 0x52, 0x58, 0x62, 0x18, 0x2f, 0x2f,
0x2f, 0x9f, 0x84, 0x18, 0xac, 0x0d, 0x66, 0x80, 0xb6, 0xb1, 0xb1, 0x91, 0x7f, 0x25, 0x08, 0x96,
0xcb, 0x66, 0xb3, 0xa9, 0xde, 0xde, 0x5e, 0xb6, 0x45, 0x67, 0x9f, 0x88, 0x6d, 0x3a, 0x9d, 0xce,
0x7e, 0xb7, 0xa8, 0x82, 0xa0, 0x3f, 0x34, 0x34, 0x54, 0x45, 0xde, 0xd1, 0x0f, 0x10, 0x8b, 0x96,
0x97, 0x97, 0x7b, 0x2d, 0x20, 0x62, 0x92, 0x8b, 0xa0, 0xc2, 0xc2, 0xc2, 0x79, 0xf8, 0x64, 0x5b,
0x44, 0xf6, 0x50, 0xc6, 0x64, 0x32, 0x59, 0xd6, 0x16, 0x86, 0x14, 0x5b, 0x5f, 0xc3, 0x38, 0xdc,
0x67, 0xfd, 0x1c, 0xbc, 0xe7, 0xbd, 0xa0, 0x0f, 0xac, 0xb7, 0x40, 0x99, 0xed, 0xed, 0xed, 0x6b,
0xe4, 0x1c, 0xac, 0x91, 0x3f, 0x1e, 0xd9, 0x87, 0x16, 0x49, 0xa3, 0x82, 0x30, 0x7e, 0x22, 0xc6,
0x42, 0xb4, 0xec, 0xec, 0xec, 0x5f, 0x88, 0x53, 0x46, 0xc8, 0xdf, 0xca, 0xb9, 0x48, 0xdf, 0xb9,
0xc8, 0x87, 0xeb, 0x82, 0xc8, 0x59, 0x39, 0x17, 0x39, 0x90, 0x97, 0x2a, 0x2d, 0x2d, 0x6d, 0x84,
0xfc, 0x5c, 0x76, 0x91, 0x1a, 0xe8, 0xfa, 0x0f, 0x5e, 0xb7, 0x63, 0x5c, 0x72, 0x5e, 0x37, 0x6c,
0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
0xce, 0x00, 0x00, 0x05, 0x1a, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xad, 0x96, 0x6b, 0x4c, 0x93,
0x57, 0x18, 0x80, 0x8f, 0x33, 0x4e, 0xb3, 0x2d, 0x61, 0x66, 0x6e, 0xfe, 0xda, 0xe2, 0x64, 0x43,
0x1d, 0x99, 0x73, 0x99, 0xd3, 0xc5, 0x04, 0xb9, 0x53, 0x60, 0x8c, 0xa9, 0x98, 0x05, 0xca, 0x2a,
0x20, 0x3a, 0x82, 0xdb, 0x8c, 0x59, 0x86, 0x2e, 0x2e, 0xc3, 0x00, 0x09, 0xfe, 0x20, 0x59, 0x62,
0x06, 0x3f, 0x36, 0x63, 0x9c, 0x80, 0x5c, 0x06, 0xbd, 0x00, 0x2d, 0xb4, 0x50, 0x6b, 0xb1, 0x1f,
0x5d, 0xb1, 0x20, 0x05, 0x8a, 0xb5, 0x68, 0x4a, 0x0b, 0x85, 0xb6, 0x94, 0x22, 0x50, 0x6e, 0xbd,
0x9e, 0x9d, 0x97, 0x6f, 0xc5, 0x72, 0x11, 0x74, 0xee, 0xc7, 0x93, 0x9e, 0xef, 0x3d, 0xdf, 0x77,
0x9e, 0x73, 0x7b, 0xcf, 0x29, 0xc2, 0x18, 0xa3, 0xe8, 0xe8, 0xe8, 0xfd, 0xb1, 0xb1, 0xb1, 0xe9,
0x00, 0x29, 0xaf, 0x4b, 0x44, 0x44, 0xc4, 0x12, 0x98, 0xcc, 0x4f, 0xce, 0x5d, 0xbe, 0xbc, 0xfd,
0x7a, 0x58, 0x58, 0x58, 0xfa, 0x72, 0x42, 0x43, 0x43, 0xe3, 0xc0, 0x81, 0xe2, 0xe3, 0xe3, 0x3f,
0xcc, 0xcb, 0xcb, 0xd3, 0xf7, 0xf4, 0xf4, 0x2c, 0xa1, 0xbb, 0xbb, 0xfb, 0x99, 0x11, 0x8b, 0x8f,
0x4d, 0xd5, 0xd7, 0x6f, 0x73, 0x77, 0x75, 0xdd, 0x35, 0xa8, 0x54, 0x2a, 0xbd, 0x3f, 0x57, 0xaf,
0x5e, 0x35, 0x30, 0x18, 0x8c, 0x0c, 0x14, 0x13, 0x13, 0x73, 0x44, 0x2e, 0x97, 0xeb, 0x88, 0x55,
0x8c, 0xbd, 0x5e, 0xf6, 0xd4, 0x90, 0x51, 0xe0, 0x8f, 0xdb, 0xe5, 0xe2, 0x90, 0x3a, 0xf6, 0xd3,
0xb0, 0xdb, 0xb5, 0x8d, 0x02, 0xc1, 0x26, 0x4f, 0x6b, 0x2b, 0xc2, 0xf7, 0xef, 0xe7, 0x76, 0x2d,
0xab, 0xe7, 0x58, 0x2c, 0x96, 0x21, 0x32, 0x98, 0x2b, 0x0b, 0xa2, 0xb6, 0xb6, 0x36, 0x10, 0xf1,
0x1d, 0x76, 0xfb, 0x4d, 0xc1, 0xd7, 0xdf, 0x0c, 0xf0, 0x99, 0xa7, 0xf5, 0xfc, 0xe4, 0x53, 0x86,
0x86, 0xe4, 0x93, 0x83, 0xdc, 0x23, 0xa9, 0x23, 0x73, 0xe3, 0x13, 0x15, 0x1e, 0xb7, 0xbb, 0x54,
0xc0, 0xca, 0x1a, 0xb0, 0x0f, 0x0e, 0x57, 0x93, 0x77, 0x6f, 0x08, 0x4f, 0x7e, 0xff, 0x68, 0x4c,
0xad, 0xe1, 0x28, 0x14, 0x5f, 0x3e, 0xe8, 0xec, 0x44, 0xd8, 0x60, 0x40, 0xb8, 0xba, 0xfa, 0x15,
0xc7, 0xf0, 0xb0, 0x7e, 0xa1, 0xfe, 0x5f, 0xca, 0x56, 0x88, 0xfa, 0xa7, 0x1e, 0x4a, 0x5b, 0x4c,
0xb7, 0xc5, 0x80, 0xc4, 0x2c, 0x6b, 0xf6, 0x60, 0x4f, 0x29, 0xbc, 0xdc, 0xcf, 0xe1, 0xb7, 0x70,
0x12, 0x53, 0x4c, 0x73, 0xb6, 0xf1, 0x8a, 0xa1, 0xdb, 0x94, 0x80, 0x1d, 0xff, 0x95, 0x65, 0x72,
0xd0, 0x58, 0x6d, 0xed, 0xe9, 0xe3, 0xb2, 0x53, 0xa2, 0x6c, 0x02, 0xc1, 0x46, 0xcf, 0xe8, 0x28,
0xc2, 0x93, 0x93, 0x08, 0xcb, 0x64, 0x08, 0x53, 0xd4, 0x99, 0xce, 0x35, 0x45, 0x69, 0xf2, 0xec,
0x99, 0xa4, 0x3b, 0x27, 0x5c, 0xc0, 0x71, 0x59, 0xba, 0xe3, 0x87, 0xce, 0x9f, 0x8d, 0x4e, 0x8f,
0x73, 0x41, 0xf6, 0xb0, 0xae, 0xb1, 0xb9, 0xe1, 0x5c, 0x9c, 0x59, 0xa9, 0x4c, 0x56, 0x8b, 0xf9,
0x1f, 0x9b, 0xb8, 0x7f, 0x06, 0xb8, 0x84, 0xc2, 0x97, 0x5d, 0x12, 0x09, 0xc2, 0x7d, 0x7d, 0x08,
0xcf, 0xce, 0x22, 0xec, 0x72, 0xd1, 0xa3, 0x82, 0x58, 0x53, 0xd3, 0x66, 0x57, 0x73, 0x73, 0xe0,
0x18, 0x45, 0x45, 0x0c, 0x28, 0x95, 0xe7, 0x26, 0xcf, 0x9f, 0xdf, 0xcd, 0x5f, 0x14, 0xa5, 0xcb,
0xcf, 0xcc, 0x24, 0x4a, 0x53, 0xb0, 0x8f, 0x63, 0xad, 0x2c, 0x77, 0xa1, 0xfa, 0x57, 0x8d, 0xaf,
0x77, 0x35, 0x89, 0x5f, 0x8c, 0xc1, 0xc7, 0x4d, 0x4d, 0x08, 0x0f, 0x0f, 0x23, 0x3c, 0x36, 0x86,
0xf0, 0xf4, 0x34, 0xc2, 0x73, 0x73, 0x88, 0x2c, 0x2d, 0x82, 0x8d, 0x85, 0xe7, 0xe7, 0xe9, 0xd8,
0xf8, 0x38, 0xc2, 0x66, 0x33, 0x3d, 0xc2, 0xba, 0xba, 0xcd, 0xde, 0x9c, 0x9c, 0x3d, 0xf5, 0x28,
0x32, 0x32, 0x72, 0x55, 0x11, 0x90, 0xd3, 0x99, 0x3b, 0xb8, 0x28, 0x62, 0x24, 0x59, 0xe7, 0xe7,
0xcd, 0x95, 0x2d, 0x2d, 0x41, 0xd6, 0xe6, 0x66, 0x84, 0x47, 0x46, 0xe8, 0x46, 0x41, 0xe0, 0x8f,
0xd3, 0x49, 0x77, 0x42, 0xa9, 0x04, 0xc9, 0x16, 0x97, 0x56, 0x5b, 0x39, 0x4a, 0xd2, 0xe6, 0xca,
0x73, 0x89, 0xe0, 0x77, 0x7e, 0x7e, 0xb4, 0x82, 0xfb, 0xc7, 0x1b, 0x4e, 0x91, 0x88, 0x96, 0x39,
0x1c, 0x4f, 0x24, 0x30, 0x32, 0x90, 0x28, 0x14, 0x08, 0xd7, 0xd7, 0xbf, 0xea, 0x30, 0x99, 0xea,
0x9a, 0xcc, 0x66, 0xf3, 0xd0, 0x33, 0x8b, 0x1c, 0x0e, 0x47, 0x69, 0xfe, 0x81, 0xd0, 0x89, 0xca,
0xca, 0x4a, 0x11, 0x90, 0x77, 0x38, 0xe4, 0x31, 0x97, 0xbb, 0xc5, 0x39, 0x30, 0x40, 0xaf, 0x8d,
0xc7, 0x83, 0xb0, 0xdb, 0x4d, 0xcb, 0xac, 0x56, 0x18, 0x09, 0x74, 0x82, 0xd3, 0x08, 0x9b, 0x01,
0x44, 0x64, 0x79, 0xd6, 0x17, 0xf5, 0xf7, 0xf7, 0xff, 0xb5, 0x73, 0xe7, 0x4e, 0x5b, 0xec, 0x3b,
0x81, 0xb3, 0x99, 0x99, 0x99, 0x2a, 0xe0, 0xf8, 0xee, 0x5d, 0xd3, 0x3c, 0xde, 0x06, 0x6c, 0xb1,
0x20, 0x6c, 0xb7, 0xd3, 0xa3, 0x00, 0xc1, 0xd4, 0x14, 0xbd, 0x3e, 0xf4, 0xd4, 0x72, 0x57, 0x8a,
0x28, 0x8a, 0x7a, 0xaa, 0xe8, 0xec, 0xd9, 0xb3, 0x1d, 0x2c, 0x16, 0xab, 0x67, 0xd3, 0xc6, 0x8d,
0x5e, 0x83, 0xc1, 0x50, 0x25, 0x12, 0x89, 0x1a, 0x76, 0x05, 0xbd, 0xe4, 0x15, 0x0a, 0xe9, 0xc6,
0x75, 0x3a, 0x84, 0xa5, 0x52, 0xba, 0x71, 0xad, 0x96, 0x8e, 0x51, 0x14, 0xc2, 0x1a, 0x4d, 0xae,
0xfc, 0xb9, 0x44, 0xa9, 0xa9, 0xa9, 0xbd, 0x69, 0x69, 0x69, 0xdd, 0x08, 0x21, 0x4c, 0x46, 0xce,
0xbb, 0x76, 0xed, 0x9a, 0x38, 0x2a, 0x8a, 0x6e, 0x18, 0x4e, 0x03, 0x0e, 0x07, 0xe1, 0xb2, 0xb2,
0xc0, 0x31, 0xa9, 0x34, 0xf6, 0x61, 0x6d, 0x2d, 0xc2, 0x62, 0x31, 0x1d, 0x6f, 0x6f, 0x3f, 0x7e,
0x7f, 0x89, 0x88, 0x1c, 0x7c, 0xeb, 0x8a, 0x0a, 0x0a, 0x0a, 0xa8, 0xa0, 0xa0, 0x20, 0xab, 0xc9,
0x64, 0xaa, 0x54, 0xab, 0xd5, 0xb5, 0x39, 0x39, 0x01, 0x73, 0x5c, 0x2e, 0xc2, 0xb7, 0x6e, 0xed,
0x37, 0x86, 0x87, 0xbf, 0xfd, 0x58, 0x28, 0x14, 0x36, 0x38, 0x9d, 0xce, 0xd2, 0xc3, 0x87, 0xdf,
0xb7, 0x96, 0x95, 0xed, 0xb1, 0x80, 0x5c, 0x22, 0xd9, 0x37, 0xe2, 0x13, 0x91, 0x83, 0xf8, 0xd9,
0x44, 0x3c, 0x1e, 0xaf, 0xd1, 0x2f, 0xdb, 0x6f, 0xa8, 0x54, 0xd9, 0xf7, 0xcc, 0x66, 0xbe, 0xc0,
0x3f, 0xf6, 0xa4, 0x4e, 0xc5, 0x66, 0x32, 0x3f, 0x1b, 0x54, 0x28, 0x12, 0x1f, 0xbc, 0xb0, 0x68,
0x2d, 0x40, 0x44, 0xa6, 0xea, 0x91, 0xef, 0x08, 0x7a, 0x2e, 0x51, 0x51, 0x51, 0x51, 0xeb, 0xa1,
0x43, 0x87, 0x0c, 0xd3, 0xd3, 0xd3, 0xe5, 0x1a, 0x8d, 0xa6, 0xe6, 0xe0, 0xc1, 0x83, 0x43, 0x46,
0xa3, 0xb1, 0xca, 0x66, 0xb3, 0xdd, 0x84, 0xb8, 0x42, 0xa1, 0xe0, 0xc2, 0xd4, 0x85, 0x87, 0x87,
0xeb, 0x4a, 0x4a, 0x4a, 0x24, 0xff, 0x59, 0xb4, 0x7c, 0x33, 0x40, 0x19, 0xf2, 0x09, 0x9e, 0xa1,
0x9c, 0x9f, 0x9f, 0x4f, 0xc1, 0xfa, 0x41, 0x99, 0xc9, 0x64, 0xf6, 0x2e, 0x17, 0x91, 0x0d, 0xb7,
0xbe, 0x28, 0x2b, 0x2b, 0xeb, 0x5e, 0x46, 0x46, 0x86, 0x2a, 0x62, 0xeb, 0x76, 0x6f, 0x5f, 0x5f,
0x5f, 0x8d, 0x40, 0x20, 0xe0, 0x87, 0xbe, 0xfe, 0x26, 0x86, 0x6d, 0x0e, 0x39, 0x16, 0xb6, 0xf5,
0x2d, 0x6f, 0x71, 0x71, 0xb1, 0xc4, 0x6e, 0xb7, 0x97, 0xef, 0x0b, 0xd8, 0xe6, 0xce, 0x66, 0x7c,
0xae, 0x3f, 0x7a, 0xf4, 0xa8, 0x66, 0x85, 0x28, 0x24, 0x24, 0xe4, 0x88, 0x4c, 0x26, 0x5b, 0x55,
0x74, 0xe1, 0xde, 0x25, 0x43, 0x47, 0x47, 0x07, 0x67, 0xc7, 0x8e, 0x1d, 0xe3, 0x29, 0xef, 0x7d,
0x30, 0x73, 0xf1, 0xe2, 0xc5, 0xbf, 0x81, 0xb4, 0xdd, 0x1f, 0xd9, 0x57, 0x2b, 0x9f, 0x4a, 0x4f,
0xef, 0x79, 0x37, 0x60, 0xab, 0xf3, 0xb7, 0x13, 0xa7, 0xb5, 0xea, 0x1b, 0x15, 0xd2, 0x55, 0x45,
0xdf, 0x2a, 0x73, 0x1e, 0xa7, 0x50, 0x99, 0xb3, 0x3e, 0x52, 0xdb, 0x4e, 0xcf, 0xa8, 0xc6, 0x7b,
0xeb, 0xa1, 0x67, 0x5a, 0x65, 0x07, 0xf7, 0xbb, 0xbd, 0x07, 0x26, 0x61, 0x8a, 0x80, 0xec, 0xbd,
0x9f, 0xfa, 0x97, 0x27, 0x2e, 0x5d, 0xf8, 0xa9, 0x1d, 0xca, 0x85, 0x85, 0x85, 0x32, 0x75, 0x57,
0x37, 0xbb, 0xfb, 0xf7, 0xeb, 0x32, 0x4d, 0x45, 0xad, 0x64, 0x55, 0x11, 0xdc, 0xb0, 0xd0, 0xe8,
0x84, 0x4e, 0x5f, 0x63, 0xd3, 0xf4, 0xb3, 0x7d, 0x98, 0xee, 0x76, 0xd6, 0xd5, 0x32, 0x92, 0x46,
0x07, 0x44, 0xb7, 0x9a, 0x7c, 0x3b, 0x8b, 0x93, 0x90, 0x6c, 0xf6, 0x95, 0x21, 0x0e, 0x97, 0xa1,
0x59, 0xd9, 0xc5, 0xf3, 0xff, 0x0e, 0xda, 0xf1, 0x89, 0xc8, 0x26, 0x59, 0x29, 0x92, 0xfe, 0xf8,
0x4b, 0x2f, 0x5c, 0xd9, 0x3e, 0x1a, 0x59, 0xd9, 0x3a, 0x83, 0xe4, 0xce, 0x92, 0x9c, 0x19, 0xa6,
0xda, 0x1b, 0xfc, 0x9f, 0xa1, 0x1e, 0xde, 0xf3, 0xff, 0x0e, 0xda, 0x59, 0x53, 0xf4, 0x3f, 0xb3,
0x44, 0xc4, 0x28, 0x2f, 0x2f, 0xd7, 0x93, 0x3c, 0x00, 0x74, 0xfe, 0x90, 0xeb, 0xe1, 0x85, 0x21,
0x09, 0x3c, 0x48, 0x1c, 0x85, 0x64, 0xeb, 0xa3, 0x0d, 0x71, 0x71, 0x71, 0x45, 0x09, 0x09, 0x09,
0x52, 0xf2, 0x27, 0x62, 0x11, 0x12, 0x5b, 0x84, 0x5c, 0x5c, 0x2b, 0x20, 0xb9, 0xb2, 0x08, 0x49,
0xc8, 0x55, 0x89, 0x8a, 0x8a, 0x92, 0x92, 0xd1, 0x54, 0x05, 0x07, 0x07, 0xbf, 0xf6, 0x0f, 0xc5,
0xb8, 0xfc, 0x62, 0xa1, 0xff, 0x53, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE new_pcb_xpm[1] = {{ png, sizeof( png ), "new_pcb_xpm" }};
......
/* Do not modify this file, it was automatically generated by the
* PNG2cpp CMake script, using a *.png file as input.
*/
#include "bitmaps.h"
static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
0xce, 0x00, 0x00, 0x05, 0x25, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x96, 0x7b, 0x4c, 0x9b,
0x55, 0x18, 0xc6, 0x61, 0x98, 0x68, 0x8c, 0x81, 0x60, 0xb2, 0xf9, 0xcf, 0x34, 0x81, 0x68, 0x28,
0x97, 0xe1, 0x10, 0x36, 0x36, 0x22, 0x08, 0x71, 0x8e, 0x65, 0x13, 0xe2, 0xc0, 0x0d, 0xdd, 0x84,
0x29, 0x6c, 0x12, 0x90, 0xcb, 0x1f, 0x5e, 0x18, 0x09, 0x62, 0xc6, 0x74, 0x13, 0x76, 0x41, 0x37,
0x66, 0xdc, 0xcd, 0xcd, 0x84, 0x19, 0x71, 0x0c, 0x98, 0xeb, 0xc6, 0xa0, 0x5c, 0x56, 0xb0, 0x40,
0x29, 0xa5, 0x74, 0xa3, 0x50, 0x2e, 0x2d, 0x94, 0xb6, 0x14, 0x81, 0xb6, 0x40, 0xcb, 0xfd, 0xf2,
0x78, 0xce, 0x59, 0xca, 0x5a, 0x9c, 0xa3, 0xd1, 0xf8, 0x25, 0x4f, 0x7b, 0xbe, 0x7c, 0xed, 0xf3,
0x3b, 0xef, 0xfb, 0x9e, 0xf3, 0x9e, 0xcf, 0xc1, 0xc1, 0xc1, 0xe1, 0xb9, 0xb5, 0x6b, 0xd7, 0xbe,
0xee, 0xe6, 0xe6, 0x16, 0xf2, 0x7f, 0x89, 0x30, 0xd6, 0x3b, 0xd0, 0x0f, 0xb9, 0x5c, 0xde, 0x3f,
0x36, 0x36, 0x86, 0xde, 0xda, 0x3a, 0x08, 0x8e, 0x9d, 0x86, 0x20, 0xf7, 0x3b, 0x34, 0x9e, 0x38,
0x03, 0xe1, 0x99, 0x1f, 0x61, 0x1c, 0x1e, 0x81, 0xd9, 0x6c, 0x86, 0x41, 0x3b, 0x08, 0xbd, 0x46,
0x0b, 0xf3, 0xe4, 0x24, 0x26, 0xf4, 0x06, 0x0c, 0xf7, 0x28, 0x30, 0x39, 0x35, 0xc5, 0x34, 0x45,
0xbf, 0x4d, 0x66, 0x18, 0x07, 0x75, 0x98, 0x9a, 0x9e, 0xb6, 0xd1, 0xfc, 0xfc, 0x3c, 0x08, 0x23,
0x94, 0x81, 0xba, 0xba, 0xbb, 0x35, 0x83, 0xba, 0x21, 0xf4, 0x3d, 0x68, 0x47, 0x47, 0x45, 0x15,
0x3a, 0x2a, 0xab, 0xd1, 0xc9, 0xab, 0x81, 0xf8, 0xea, 0x2f, 0x28, 0x7b, 0x2f, 0x01, 0x43, 0x03,
0x6a, 0x28, 0x05, 0x4d, 0x28, 0x8d, 0x8a, 0xc5, 0x90, 0x42, 0x09, 0xad, 0xac, 0x13, 0x25, 0xef,
0xec, 0x87, 0xfa, 0x81, 0x0c, 0xe3, 0xe3, 0xe3, 0x18, 0x9f, 0x98, 0xc0, 0x9f, 0x7d, 0xfd, 0xa8,
0x4c, 0xfd, 0x02, 0x13, 0x64, 0x6c, 0xad, 0x99, 0x99, 0x99, 0x47, 0xa0, 0x6f, 0x45, 0xf9, 0xa6,
0x93, 0x6d, 0x67, 0x71, 0x52, 0x5a, 0x80, 0x53, 0x44, 0xa7, 0xef, 0x9f, 0x43, 0x9d, 0xaa, 0x01,
0x7a, 0x83, 0x01, 0x9d, 0xb7, 0x2b, 0x50, 0xb6, 0xf7, 0x23, 0x0c, 0xab, 0x35, 0x50, 0x36, 0x08,
0x51, 0x1a, 0x1d, 0xf7, 0x10, 0xd6, 0xde, 0x81, 0x92, 0xdd, 0x1f, 0xb0, 0x6f, 0x93, 0xc9, 0x84,
0x91, 0x7e, 0x15, 0x03, 0x99, 0x48, 0xf4, 0xd6, 0x9a, 0x9d, 0x9d, 0x7d, 0x04, 0xda, 0x53, 0xf7,
0xe1, 0x62, 0xe4, 0xbd, 0xf7, 0xb1, 0x52, 0xc7, 0xda, 0x4e, 0x41, 0x35, 0xaa, 0x86, 0xf0, 0xec,
0x05, 0xc8, 0x6e, 0xfc, 0xce, 0x66, 0xde, 0x5e, 0x54, 0x82, 0x96, 0x73, 0x97, 0x98, 0x89, 0xa2,
0x9a, 0x8f, 0xfa, 0x9c, 0x3c, 0x96, 0x4e, 0x3d, 0x89, 0x9a, 0x97, 0x96, 0x81, 0x49, 0x32, 0xb6,
0xd6, 0xdc, 0xdc, 0xdc, 0xea, 0x20, 0xaa, 0x52, 0xc5, 0x2d, 0x48, 0xae, 0x5c, 0x43, 0x7b, 0xf1,
0x4d, 0x36, 0x73, 0xf9, 0xad, 0xbb, 0x10, 0x11, 0x30, 0x35, 0x51, 0x35, 0x89, 0xf0, 0xc7, 0x91,
0x5c, 0x56, 0x23, 0x03, 0x89, 0x98, 0x82, 0xa6, 0x49, 0x5d, 0xac, 0x65, 0x53, 0xa3, 0xd5, 0x40,
0x6d, 0xa4, 0x56, 0x1d, 0x24, 0x22, 0x3a, 0xf3, 0x2e, 0x6e, 0x05, 0x5a, 0x0a, 0x2e, 0x32, 0x73,
0x75, 0xb3, 0x18, 0x02, 0x12, 0xd1, 0x34, 0xa9, 0xc3, 0x18, 0x59, 0x2c, 0x55, 0xe9, 0x87, 0x59,
0x4d, 0xac, 0x65, 0x37, 0xa8, 0x4c, 0xc9, 0x5d, 0x06, 0x51, 0xf3, 0xee, 0x3b, 0x3c, 0x88, 0x49,
0xea, 0xa8, 0x89, 0x46, 0xd4, 0xca, 0x40, 0xb4, 0x0e, 0xe3, 0x64, 0xc5, 0x51, 0x10, 0x4d, 0x95,
0xb5, 0x16, 0x16, 0x16, 0xec, 0x03, 0xfd, 0x2c, 0xba, 0x86, 0x43, 0x91, 0xbb, 0xf1, 0xe6, 0xe6,
0x40, 0x44, 0x44, 0x44, 0x60, 0xdb, 0x96, 0x20, 0x84, 0xfa, 0xfa, 0xb1, 0x71, 0xf8, 0x1b, 0xa1,
0x08, 0xf6, 0xf4, 0x66, 0xe3, 0x5d, 0xe1, 0x3b, 0xb0, 0xcb, 0x67, 0x23, 0x24, 0x12, 0x09, 0x8b,
0xc2, 0xa2, 0xc5, 0xc5, 0x45, 0x38, 0x39, 0x39, 0x85, 0xad, 0x0a, 0xda, 0xfc, 0xd6, 0x16, 0x7c,
0x12, 0xbd, 0x17, 0xe7, 0xb3, 0xbe, 0x82, 0x4a, 0xa5, 0xc2, 0x4f, 0x47, 0x8f, 0xe3, 0x78, 0x42,
0x22, 0x06, 0x06, 0x06, 0x50, 0x76, 0xf9, 0x0a, 0x32, 0x77, 0xef, 0x81, 0x5a, 0xad, 0x46, 0x3d,
0xaf, 0x0a, 0x07, 0xb6, 0x06, 0x23, 0x20, 0x20, 0x80, 0xd5, 0xcf, 0x1a, 0xb4, 0x6e, 0xdd, 0xba,
0xed, 0xab, 0x82, 0x5e, 0xf6, 0x7d, 0x05, 0xbe, 0x3e, 0x1b, 0x10, 0x1a, 0x1c, 0xcc, 0x52, 0xf1,
0xf6, 0xce, 0x9d, 0xf0, 0xf4, 0xf0, 0x60, 0x26, 0x07, 0xe3, 0xe3, 0xf1, 0xbc, 0xab, 0x2b, 0x1b,
0x7f, 0x99, 0x95, 0x05, 0x47, 0x47, 0x47, 0x24, 0x26, 0x26, 0xa2, 0xb1, 0xb1, 0x91, 0xa5, 0x8c,
0xca, 0x6e, 0x90, 0x87, 0x9f, 0x07, 0xfc, 0xfd, 0xfd, 0x11, 0x16, 0x16, 0xc6, 0x40, 0x51, 0x51,
0x51, 0xe0, 0x70, 0x38, 0xcc, 0x3c, 0x39, 0x39, 0x19, 0xae, 0x04, 0x44, 0x0d, 0x73, 0x72, 0x72,
0x68, 0x2d, 0x90, 0x92, 0x92, 0x02, 0x81, 0x40, 0xc0, 0x00, 0x16, 0xd9, 0x0d, 0xe2, 0xf3, 0xf9,
0x10, 0x0a, 0x85, 0xcc, 0x5c, 0x2c, 0x16, 0xa3, 0xa6, 0xa6, 0x86, 0x99, 0x77, 0x76, 0x76, 0x82,
0xcb, 0xe5, 0x32, 0x33, 0x8d, 0x46, 0x83, 0xa2, 0xa2, 0x22, 0xa4, 0xa5, 0xa5, 0xd9, 0x80, 0x96,
0x96, 0x96, 0xec, 0x05, 0x71, 0x6c, 0x8a, 0x6b, 0x49, 0x89, 0x25, 0x2d, 0xd6, 0x86, 0x54, 0xe9,
0xe9, 0xe9, 0x68, 0x68, 0x68, 0x58, 0xbe, 0xa7, 0x72, 0x76, 0x76, 0xde, 0x66, 0x17, 0x68, 0x64,
0x64, 0x04, 0x06, 0xd2, 0x8e, 0xa8, 0x39, 0x6d, 0xbe, 0xf4, 0x9e, 0x9a, 0xd3, 0xe5, 0x3e, 0x34,
0x34, 0xc4, 0xcc, 0xe8, 0x24, 0x68, 0x54, 0x14, 0x44, 0x6b, 0x64, 0xb9, 0xe8, 0x33, 0xbb, 0x96,
0x37, 0x05, 0xd1, 0xfa, 0xd0, 0xda, 0x50, 0x50, 0x5c, 0x5c, 0x1c, 0x82, 0x82, 0x82, 0x98, 0x41,
0x46, 0x46, 0x06, 0xdc, 0xdd, 0xdd, 0xd9, 0x38, 0x3f, 0x3f, 0x9f, 0xce, 0x1c, 0xa9, 0xa9, 0xa9,
0x2c, 0x22, 0x4b, 0x94, 0xf4, 0xb2, 0x1b, 0xe4, 0xeb, 0xeb, 0x8b, 0x90, 0x90, 0x10, 0xf6, 0xe7,
0xc8, 0xc8, 0x48, 0x78, 0x90, 0x55, 0x47, 0x4d, 0xe8, 0x0a, 0x73, 0x71, 0x71, 0x61, 0x66, 0xd9,
0xd9, 0xd9, 0x78, 0x7a, 0xcd, 0x1a, 0x24, 0x25, 0x25, 0xb1, 0x9a, 0xd2, 0x68, 0x69, 0x0b, 0x9a,
0xb1, 0xb7, 0xd7, 0x71, 0xfc, 0x3d, 0x71, 0x74, 0xdf, 0x01, 0x14, 0xa4, 0x7f, 0xca, 0x40, 0x97,
0x32, 0xb3, 0x71, 0x22, 0x26, 0x96, 0x81, 0xae, 0x9f, 0xfd, 0x01, 0xdf, 0x84, 0x47, 0xb2, 0xb4,
0xf1, 0x78, 0x3c, 0x7c, 0xbd, 0x29, 0x04, 0x01, 0x5e, 0xde, 0x90, 0x4a, 0xa5, 0x6c, 0x9f, 0x69,
0xb5, 0x5a, 0x0c, 0x8e, 0xe8, 0xe7, 0x09, 0x23, 0xf8, 0x89, 0xa0, 0x28, 0x7e, 0x2c, 0xce, 0xdf,
0xbc, 0x88, 0x4d, 0x9e, 0x5e, 0x78, 0xd5, 0x83, 0x83, 0xc0, 0xc0, 0x40, 0x6c, 0xe4, 0x78, 0x62,
0x83, 0x9b, 0x3b, 0x1b, 0xbf, 0x46, 0xf6, 0x97, 0xd7, 0xfa, 0x97, 0xd8, 0x26, 0xf5, 0xf3, 0xf3,
0x83, 0x8f, 0xb7, 0x37, 0x0e, 0xf9, 0x6f, 0x45, 0xe1, 0x8e, 0x68, 0x94, 0x17, 0x90, 0x8e, 0xdf,
0xd5, 0xb3, 0xf0, 0xd9, 0xe1, 0xcc, 0x0b, 0x84, 0xf1, 0x0c, 0x03, 0x15, 0xb7, 0x97, 0xe9, 0xab,
0x35, 0x7c, 0x50, 0xd5, 0x68, 0xeb, 0x50, 0x3b, 0x58, 0xcf, 0xd4, 0x3f, 0x31, 0x80, 0x59, 0xf3,
0x24, 0xca, 0xe3, 0x53, 0xa0, 0x13, 0xb7, 0xb1, 0x28, 0xfa, 0x2a, 0x6b, 0x21, 0x3d, 0x7f, 0x95,
0x8d, 0x8d, 0xe4, 0x68, 0x28, 0x7b, 0xf7, 0x00, 0xe4, 0x12, 0x29, 0xee, 0xf1, 0xeb, 0x50, 0x59,
0xc9, 0x43, 0x5b, 0x9b, 0x14, 0x3a, 0x9d, 0x0e, 0xbd, 0x0a, 0xc5, 0xd2, 0xc1, 0xa4, 0xe4, 0x7c,
0xe2, 0xef, 0xf4, 0xb0, 0x4c, 0x04, 0xa4, 0x54, 0x2a, 0x35, 0x34, 0x9f, 0xa3, 0xbd, 0x4a, 0x08,
0xf3, 0xbe, 0x5f, 0x56, 0x33, 0x39, 0xce, 0xb9, 0xfb, 0x3f, 0x86, 0x82, 0x74, 0x6c, 0x4b, 0x71,
0x35, 0x02, 0x21, 0xe4, 0x45, 0xa5, 0x6c, 0x61, 0xd0, 0x23, 0xbe, 0x9d, 0x9c, 0xc6, 0xd7, 0xf7,
0x25, 0xe0, 0xd7, 0xa2, 0xdf, 0xd8, 0xf3, 0xd9, 0xd9, 0x19, 0xc8, 0x3a, 0x64, 0x4b, 0x31, 0x71,
0xb1, 0x9f, 0x53, 0x80, 0x45, 0x36, 0x20, 0x33, 0x79, 0x17, 0xd0, 0xb6, 0x48, 0x30, 0x48, 0x66,
0x4f, 0xa5, 0x6b, 0x95, 0xc2, 0xa0, 0xe8, 0xb3, 0xd9, 0x2b, 0x96, 0x25, 0x4b, 0xbb, 0x84, 0xd1,
0x68, 0x84, 0x4c, 0x26, 0xc3, 0x6d, 0xee, 0x1d, 0x94, 0x97, 0xdf, 0x25, 0xc5, 0x9f, 0x42, 0x53,
0xb3, 0x70, 0x21, 0x7a, 0x5f, 0x4c, 0x9c, 0x35, 0xe4, 0x6f, 0x20, 0xda, 0xee, 0xa9, 0xc1, 0xca,
0xcd, 0xf9, 0x38, 0x10, 0xfd, 0xed, 0xe8, 0xe8, 0x28, 0x5a, 0x5a, 0xc4, 0xb8, 0x51, 0x52, 0x02,
0x25, 0x39, 0xca, 0x6f, 0x55, 0x54, 0x98, 0xc2, 0xb6, 0x87, 0x05, 0xae, 0x84, 0xfc, 0x27, 0x10,
0x3d, 0x8f, 0xe8, 0xc6, 0x15, 0x89, 0x5a, 0xd0, 0xd8, 0x2a, 0x59, 0xba, 0x5c, 0x58, 0xd8, 0x4b,
0x5a, 0xcd, 0x0b, 0x8f, 0x83, 0x2c, 0x83, 0xba, 0xbb, 0xbb, 0xfb, 0x2d, 0x80, 0x95, 0xad, 0xc5,
0xba, 0xbd, 0xd8, 0x44, 0x44, 0x7e, 0xaf, 0x37, 0x8e, 0xe3, 0xbe, 0xbc, 0x67, 0xfe, 0x48, 0x6e,
0x5e, 0x31, 0xf1, 0x79, 0xf6, 0x9f, 0x20, 0x16, 0xd0, 0xbf, 0x7e, 0x81, 0x7c, 0x91, 0x88, 0x74,
0x83, 0x4d, 0xc4, 0xe3, 0xa9, 0x27, 0x41, 0xa8, 0xfe, 0x02, 0x33, 0x31, 0x2c, 0x1a, 0x6a, 0xeb,
0x4f, 0x55, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE open_brd_file_xpm[1] = {{ png, sizeof( png ), "open_brd_file_xpm" }};
//EOF
......@@ -12,7 +12,7 @@
width="48"
version="1.0"
id="svg2"
inkscape:version="0.47 r22583"
inkscape:version="0.48.1 "
sodipodi:docname="new_pcb.svg">
<metadata
id="metadata358">
......@@ -35,14 +35,14 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="949"
inkscape:window-height="968"
id="namedview356"
showgrid="false"
inkscape:zoom="4.9166667"
inkscape:cx="24"
inkscape:cy="23.18644"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:zoom="16.29279"
inkscape:cx="24.689762"
inkscape:cy="24.293552"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
......@@ -231,650 +231,167 @@
offset="1"
id="stop9-7" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#ab"
id="linearGradient3060"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.2734227,0,0,1.0955557,-6.4107669,-2.1056419)"
x1="40.751999"
y1="43.993999"
x2="7.5955"
y2="4.2192998" />
</defs>
<g
style="stroke-linecap:round;stroke-linejoin:round"
id="w-3"
transform="matrix(1.4320349,0,0,1.4004828,-7.3028101,-12.815414)">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.63253;stroke:url(#ab);display:block"
ry="0.89886999"
height="32.011002"
width="31.011999"
display="block"
y="10.5"
x="6.4949999"
id="rect59" />
<rect
style="opacity:0.79120998;color:#000000;fill:none;stroke:#ffffff;display:block"
display="block"
rx="0.13187"
ry="0.11482"
height="30.004"
width="28.997999"
y="11.496"
x="7.5"
id="rect61" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 10.184,13.468 5.316,0.032 3,3 v 8"
display="block"
id="path63" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 22.5,24.5 v -8 l -3,-3"
display="block"
id="path65" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 26.5,24.5 v -8 l -3,-3"
display="block"
id="path67" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 30.5,24.5 v -11"
display="block"
id="path69" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 18.5,24.5 v 2"
display="block"
id="path71" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 22.5,24.5 v 2"
display="block"
id="path73" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 26.5,24.5 v 2"
display="block"
id="path75" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 30.5,24.5 v 2"
display="block"
id="path77" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 30.5,31.5 v 2"
display="block"
id="path79" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 26.5,31.5 v 2"
display="block"
id="path81" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 22.5,31.5 v 2"
display="block"
id="path83" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2;display:block"
d="m 18.5,31.5 v 2"
display="block"
id="path85" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 18.5,33.5 v 3 l -2,2 h -6"
display="block"
id="path87" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 22.5,33.5 v 5"
display="block"
id="path89" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 26.5,33.5 v 3 l 2,2 h 6"
display="block"
id="path91" />
<path
style="color:#000000;fill:none;stroke:#000000;display:block"
d="m 30.5,33.5 2,2 h 2"
display="block"
id="path93" />
<path
style="color:#000000;stroke:#000000;display:block"
display="block"
d="m 10.5,15.5 h 4 l 2,2 v 18 l -1,1 h -5 v -21 z"
id="path95" />
<rect
style="color:#000000;fill:none;stroke:#000000;display:block"
display="block"
ry="2.0280001"
height="13"
width="16"
y="22.5"
x="16.5"
id="rect97" />
</g>
<rect
opacity="0"
height="48"
width="48"
y="-62.5"
x="23.25"
id="rect66" />
id="rect59"
x="1.9982564"
y="1.8896554"
display="block"
width="44.410267"
height="44.830856"
ry="1.258852"
style="color:#000000;fill:#ffffff;fill-opacity:0.63253;stroke:url(#linearGradient3060);stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;display:block" />
<rect
id="rect61"
x="3.4374516"
y="3.2845366"
width="41.526146"
height="42.020084"
ry="0.16080344"
rx="0.18884245"
display="block"
style="opacity:0.79120998;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
opacity=".68016"
d="m8.5312 4c-0.8581 0-1.5312 0.6731-1.5312 1.5312v36.938c0 0.858 0.6731 1.531 1.5312 1.531h30.938c0.858 0 1.531-0.673 1.531-1.531v-24.969c0-1.392-0.48698-4.2995-2.3438-6.1562l-5-5c-1.857-1.857-4.764-2.344-6.156-2.344h-18.969z"
transform="translate(-150)"
fill="url(#r)"
id="path68" />
inkscape:connector-curvature="0"
id="path63"
display="block"
d="m 7.2810333,6.0462884 7.6126977,0.044815 4.296105,4.2014486 v 11.203863"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
fill="url(#s)"
d="m50.5-56.25c-1.3889 0-0.0421 0.49709 1.3438 1.125 1.3858 0.62791 4.9729 3.2151 4.1562 6.875 4.3233-0.43058 6.6791 3.1224 7 4.2812 0.32087 1.1589 1 2.6076 1 1.2188 0.0283-3.8056-2.8454-6.4317-4.8438-8.6562-1.998-2.225-5.002-4.367-8.656-4.844z"
id="path70" />
inkscape:connector-curvature="0"
id="path65"
display="block"
d="M 24.917975,21.496415 V 10.292552 L 20.62187,6.0911038"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
d="m-51.469 4.5c-0.583 0-1.031 0.4481-1.031 1.0312v36.938c0 0.58316 0.44809 1.0312 1.0312 1.0312h30.938c0.58316 0 1.0312-0.44809 1.0312-1.0312v-24.969c0-1.279-0.48047-4.1055-2.1875-5.8125l-5-5c-1.707-1.7075-4.533-2.188-5.812-2.188h-18.969z"
transform="translate(-90)"
stroke="url(#m)"
fill="none"
id="path72" />
<g
transform="matrix(1.1473,0,0,1.2044,-57.863915,-6.2846729)"
id="g74">
<path
d="m 8.924,10.273 h 28.464 c 0.97934,0 1.6968,0.75268 1.7678,1.7678 l 1.9375,27.709 0.06252,3.5 h -36 v -3.5 l 2,-27.709 c 0.0699,-0.971 0.7882,-1.768 1.7676,-1.768 z"
id="path76"
style="fill:#4e9a06;stroke:url(#n);stroke-linecap:round;stroke-linejoin:round" />
<g
transform="translate(7.3437,-46.289)"
id="g78"
style="fill:#ffffff;fill-rule:evenodd;stroke:#316400;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round">
<path
d="M 10,73"
id="path80" />
<path
d="M 13,73"
id="path82" />
<path
d="M 16,73"
id="path84" />
<path
d="M 19,73"
id="path86" />
<path
d="M 10,70"
id="path88" />
<path
d="M 13,70"
id="path90" />
<path
d="M 16,70"
id="path92" />
<path
d="M 19,70"
id="path94" />
<path
d="M 10,67"
id="path96" />
<path
d="M 13,67"
id="path98" />
<path
d="M 16,67"
id="path100" />
<path
d="M 19,67"
id="path102" />
<path
d="M 10,64"
id="path104" />
<path
d="M 13,64"
id="path106" />
<path
d="M 16,64"
id="path108" />
<path
d="M 19,64"
id="path110" />
<path
d="M 22,73"
id="path112" />
<path
d="M 25,73"
id="path114" />
<path
d="M 28,73"
id="path116" />
<path
d="M 31,73"
id="path118" />
<path
d="M 22,70"
id="path120" />
<path
d="M 25,70"
id="path122" />
<path
d="M 28,70"
id="path124" />
<path
d="M 31,70"
id="path126" />
<path
d="M 22,67"
id="path128" />
<path
d="M 25,67"
id="path130" />
<path
d="M 28,67"
id="path132" />
<path
d="M 31,67"
id="path134" />
<path
d="M 22,64"
id="path136" />
<path
d="M 25,64"
id="path138" />
<path
d="M 28,64"
id="path140" />
<path
d="M 31,64"
id="path142" />
<path
d="M 10,61"
id="path144" />
<path
d="M 13,61"
id="path146" />
<path
d="M 16,61"
id="path148" />
<path
d="M 19,61"
id="path150" />
<path
d="M 10,58"
id="path152" />
<path
d="M 13,58"
id="path154" />
<path
d="M 16,58"
id="path156" />
<path
d="M 19,58"
id="path158" />
<path
d="M 22,61"
id="path160" />
<path
d="M 25,61"
id="path162" />
<path
d="M 28,61"
id="path164" />
<path
d="M 31,61"
id="path166" />
<path
d="M 22,58"
id="path168" />
<path
d="M 25,58"
id="path170" />
<path
d="M 28,58"
id="path172" />
<path
d="M 10,85"
id="path174" />
<path
d="M 13,85"
id="path176" />
<path
d="M 16,85"
id="path178" />
<path
d="M 19,85"
id="path180" />
<path
d="M 10,82"
id="path182" />
<path
d="M 13,82"
id="path184" />
<path
d="M 16,82"
id="path186" />
<path
d="M 19,82"
id="path188" />
<path
d="M 10,79"
id="path190" />
<path
d="M 13,79"
id="path192" />
<path
d="M 16,79"
id="path194" />
<path
d="M 19,79"
id="path196" />
<path
d="M 10,76"
id="path198" />
<path
d="M 13,76"
id="path200" />
<path
d="M 16,76"
id="path202" />
<path
d="M 19,76"
id="path204" />
<path
d="M 22,85"
id="path206" />
<path
d="M 25,85"
id="path208" />
<path
d="M 28,85"
id="path210" />
<path
d="M 31,85"
id="path212" />
<path
d="M 22,82"
id="path214" />
<path
d="M 25,82"
id="path216" />
<path
d="M 28,82"
id="path218" />
<path
d="M 31,82"
id="path220" />
<path
d="M 22,79"
id="path222" />
<path
d="M 25,79"
id="path224" />
<path
d="M 28,79"
id="path226" />
<path
d="M 31,79"
id="path228" />
<path
d="M 22,76"
id="path230" />
<path
d="M 25,76"
id="path232" />
<path
d="M 28,76"
id="path234" />
<path
d="M 31,76"
id="path236" />
<path
d="M 4,73"
id="path238" />
<path
d="M 7,73"
id="path240" />
<path
d="M 4,70"
id="path242" />
<path
d="M 7,70"
id="path244" />
<path
d="M 4,67"
id="path246" />
<path
d="M 7,67"
id="path248" />
<path
d="M 4,64"
id="path250" />
<path
d="M 7,64"
id="path252" />
<path
d="M 4,61"
id="path254" />
<path
d="M 7,61"
id="path256" />
<path
d="M 4,58"
id="path258" />
<path
d="M 7,58"
id="path260" />
<path
d="M 4,85"
id="path262" />
<path
d="M 7,85"
id="path264" />
<path
d="M 4,82"
id="path266" />
<path
d="M 7,82"
id="path268" />
<path
d="M 4,79"
id="path270" />
<path
d="M 7,79"
id="path272" />
<path
d="M 4,76"
id="path274" />
<path
d="M 7,76"
id="path276" />
<path
d="M 1,73"
id="path278" />
<path
d="M 1,70"
id="path280" />
<path
d="M 1,67"
id="path282" />
<path
d="M 1,64"
id="path284" />
<path
d="M 1,61"
id="path286" />
<path
d="M 1,85"
id="path288" />
<path
d="M 1,82"
id="path290" />
<path
d="M 1,79"
id="path292" />
<path
d="M 1,76"
id="path294" />
</g>
<g
transform="translate(19.441,85.57)"
id="g296"
style="stroke-linecap:round;stroke-linejoin:round">
<path
style="color:#000000;fill:none;stroke:#5fc500;display:block"
d="m -7.9117,-72.099 3.648,-0.04473 3.2779,3.6454 -0.74024,7.3802"
display="block"
id="path298" />
<path
style="color:#000000;fill:none;stroke:#5fc500;display:block"
d="m 1.1924,-61.154 0.88828,-8.8563 -1.9667,-2.1872"
display="block"
id="path300" />
<path
style="color:#000000;fill:#4e9a06;stroke:#5fc500;display:block"
d="M 4.1108,-61.19 5.1471,-71.522 4.4915,-72.251"
display="block"
id="path302" />
<path
style="color:#000000;fill:#4e9a06;stroke:#5fc500;display:block"
d="m 7.0292,-61.226 1.1104,-11.07"
display="block"
id="path304" />
<path
style="color:#000000;fill:none;stroke:#5fc500;display:block"
d="m -2.5403,-53 -0.29609,2.9521 -2.4109,2.2409 -5.1072,0.06263"
display="block"
id="path306" />
<path
style="color:#000000;fill:#4e9a06;stroke:#5fc500;display:block"
d="m 0.37811,-53.036 -0.51817,5.166"
display="block"
id="path308" />
<path
style="color:#000000;fill:none;stroke:#5fc500;display:block"
d="m 3.2965,-53.072 -0.2961,2.9521 1.9667,2.1872 4.3776,-0.05368"
display="block"
id="path310" />
<path
style="color:#000000;fill:#4e9a06;stroke:#5fc500;display:block"
d="m 6.2149,-53.108 1.3112,1.4582 2.1888,-0.02684"
display="block"
id="path312" />
<path
style="color:#000000;fill:#5fc500;stroke:#5fc500;display:block"
d="m -8.1338,-69.885 2.9184,-0.03579 1.9667,2.1872 -1.6285,16.236 -1.6073,1.4939 -3.648,0.04473 1.9986,-19.927 z"
display="block"
id="path314" />
<rect
style="color:#000000;fill:none;stroke:#eeeeec;stroke-width:1.00320005;display:block"
display="block"
transform="matrix(0.99992,-0.012261,-0.099799,0.99501,0,0)"
ry="1.9668"
width="13.134"
y="-63.747002"
x="-10.055"
height="12.609"
id="rect316" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m -1.726,-61.119 -0.14805,1.476"
display="block"
id="path318" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m 1.1924,-61.154 -0.14805,1.476"
display="block"
id="path320" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m 4.1108,-61.19 -0.14805,1.476"
display="block"
id="path322" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m 7.0292,-61.226 -0.148,1.476"
display="block"
id="path324" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m 6.363,-54.584 -0.14805,1.476"
display="block"
id="path326" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m 3.4446,-54.548 -0.14805,1.476"
display="block"
id="path328" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="m 0.52616,-54.512 -0.14805,1.476"
display="block"
id="path330" />
<path
style="color:#000000;fill:none;stroke:#babdb6;display:block"
d="M -2.3923,-54.476 -2.5404,-53"
display="block"
id="path332" />
</g>
<g
transform="matrix(1.0417,0,0,0.45793,-0.28125,24.162)"
id="g334"
style="opacity:0.4">
<rect
height="13"
width="3"
y="33"
x="3"
id="rect336"
style="fill:url(#u)" />
<rect
transform="scale(-1,-1)"
height="13"
width="3"
y="-46"
x="-42"
id="rect338"
style="fill:url(#v)" />
<rect
height="13"
width="33"
y="33"
x="6"
id="rect340"
style="fill:url(#o)" />
</g>
<path
d="m 52,33.188 a 14.625,3.3125 0 1 1 -29.25,0 14.625,3.3125 0 1 1 29.25,0 z"
transform="matrix(0.89744,0,0,0.98113,1.9896,1.4387)"
id="path342"
style="opacity:0.07000002;fill:url(#w)" />
<rect
height="3.0104001"
width="35"
y="39.75"
x="5.6561999"
id="rect344"
style="fill:url(#q)" />
<path
d="m 8.2812,11.5 c -0.46366,0 -0.77473,0.32045 -0.8125,0.84375 l -2,27.656 v 2.5313 h 34.031 l -0.03125,-2.4688 v -0.031 l -1.9375,-27.688 c -0.041,-0.584 -0.319,-0.843 -0.812,-0.843 h -28.438 z"
transform="matrix(1.0285,0,0,1.0313,-0.48471,-1.5945)"
id="path346"
style="fill:none;stroke:url(#p);stroke-linecap:round" />
<path
d="m 5.1562,43.25 h 36"
id="path348"
style="fill:none;stroke:#c17d11;stroke-width:1px;stroke-linecap:square" />
</g>
inkscape:connector-curvature="0"
id="path67"
display="block"
d="M 30.646115,21.496415 V 10.292552 L 26.35001,6.0911038"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path69"
display="block"
d="M 36.374254,21.496415 V 6.0911038"
style="color:#000000;fill:none;stroke:#000000;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path71"
display="block"
d="M 19.189836,21.496415 V 24.29738"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path73"
display="block"
d="M 24.917975,21.496415 V 24.29738"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path75"
display="block"
d="M 30.646115,21.496415 V 24.29738"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path77"
display="block"
d="M 36.374254,21.496415 V 24.29738"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path79"
display="block"
d="M 36.374254,31.299794 V 34.10076"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path81"
display="block"
d="M 30.646115,31.299794 V 34.10076"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path83"
display="block"
d="M 24.917975,31.299794 V 34.10076"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path85"
display="block"
d="M 19.189836,31.299794 V 34.10076"
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block" />
<path
inkscape:connector-curvature="0"
id="path87"
display="block"
d="m 19.189836,34.10076 v 4.201448 l -2.86407,2.800966 H 7.7335564"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path89"
display="block"
d="m 24.917975,34.10076 v 7.002414"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path91"
display="block"
d="m 30.646115,34.10076 v 4.201448 l 2.86407,2.800966 h 8.592209"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path93"
display="block"
d="m 36.374254,34.10076 2.86407,2.800965 h 2.86407"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617094999999990;stroke-linecap:round;stroke-linejoin:round;display:block;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path95"
d="M 4.7524307,9.3891198 H 10.48057 l 2.86407,2.7274832 v 24.547353 l -1.432035,1.363742 H 4.7524307 V 9.3891198 z"
display="block"
style="color:#000000;stroke:#4ec059;stroke-width:1.39747119000000010;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block;fill:#4ec059;fill-opacity:1" />
<rect
id="rect97"
x="16.325766"
y="18.69545"
width="22.912558"
height="18.206276"
ry="2.8401792"
display="block"
style="color:#000000;fill:none;stroke:#000000;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;display:block" />
<g
transform="matrix(4.1228166,0,0,4.0916513,-11.174816,25.023141)"
transform="matrix(4.1228166,0,0,4.0916513,-14.282798,26.608846)"
id="g78-0">
<path
style="fill:#afaf00"
d="M 12,5.5 9.4826,4.1505 6.9438,5.4592 7.4494,2.648 5.4202,0.6379 8.25,0.25 9.5347,-2.301 10.778,0.2704 13.601,0.70392 11.54,2.68102 z"
transform="matrix(0.86499,0,0,0.86499,3.3638,-4.5167)"
id="path80-8" />
id="path80-8"
inkscape:connector-curvature="0" />
<path
style="fill:#ebeb00"
d="M 12,5.5 9.4826,4.1505 6.9438,5.4592 7.4494,2.648 5.4202,0.6379 8.25,0.25 9.5347,-2.301 10.778,0.2704 13.601,0.70392 11.54,2.68102 z"
transform="matrix(0.61624,0,0,0.61624,5.7296,-4.1188)"
id="path82-8" />
id="path82-8"
inkscape:connector-curvature="0"
transform="matrix(0.61624,0,0,0.61624,5.7296,-4.1188)" />
<path
style="fill:#ffff00"
d="M 12,5.5 9.4826,4.1505 6.9438,5.4592 7.4494,2.648 5.4202,0.6379 8.25,0.25 9.5347,-2.301 10.778,0.2704 13.601,0.70392 11.54,2.68102 z"
transform="matrix(0.3815,0,0,0.3815,7.9622,-3.7434)"
id="path84-5" />
id="path84-5"
inkscape:connector-curvature="0" />
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="48"
width="48"
version="1.0"
id="svg2"
inkscape:version="0.48.1 "
sodipodi:docname="open_brd_file.svg">
<metadata
id="metadata358">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="968"
id="namedview356"
showgrid="false"
inkscape:zoom="3.8205006"
inkscape:cx="-50.573174"
inkscape:cy="36.531716"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4">
<radialGradient
id="r"
gradientUnits="userSpaceOnUse"
cy="5.3"
cx="4"
gradientTransform="matrix(1.886,0,0,1.1765,-3.5441,-4.2353)"
r="17">
<stop
stop-color="#fff"
offset="0"
id="stop16" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop18" />
</radialGradient>
<linearGradient
id="m"
y2="9.6875"
gradientUnits="userSpaceOnUse"
x2="-24.75"
y1="11.566"
x1="-26.754">
<stop
stop-color="#fff"
offset="0"
id="stop21" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop23" />
</linearGradient>
<radialGradient
id="s"
gradientUnits="userSpaceOnUse"
cy="10.108"
cx="-26.305"
gradientTransform="matrix(.40734 -.27983 .75103 1.0932 57.815 -68.688)"
r="7.0421">
<stop
stop-color="#fff"
offset="0"
id="stop26" />
<stop
stop-color="#fff"
offset=".47534"
id="stop28" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop30" />
</radialGradient>
<linearGradient
id="p"
y2="54.449"
gradientUnits="userSpaceOnUse"
x2="7.9216"
y1="32.963"
x1="6.7929">
<stop
stop-color="#fff"
offset="0"
id="stop33" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop35" />
</linearGradient>
<linearGradient
id="q"
y2="47.897"
gradientUnits="userSpaceOnUse"
x2="94.364"
gradientTransform="matrix(1,0,0,1.4897,-1.3438,-22.802)"
y1="40.665"
x1="11.95">
<stop
stop-color="#3f7b04"
offset="0"
id="stop38" />
<stop
stop-color="#d3d7cf"
stop-opacity="0"
offset="1"
id="stop40" />
</linearGradient>
<radialGradient
id="w"
gradientUnits="userSpaceOnUse"
cy="33.188"
cx="37.375"
gradientTransform="matrix(1,0,0,0.2265,0,25.671)"
r="14.625">
<stop
offset="0"
id="stop43" />
<stop
stop-opacity="0"
offset="1"
id="stop45" />
</radialGradient>
<radialGradient
id="u"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
cy="39.5"
cx="6"
gradientTransform="matrix(1,0,0,2.1667,0,-46.083)"
r="3" />
<linearGradient
id="a">
<stop
offset="0"
id="stop49" />
<stop
stop-opacity="0"
offset="1"
id="stop51" />
</linearGradient>
<radialGradient
id="v"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
cy="39.5"
cx="6"
gradientTransform="matrix(1,0,0,2.1667,-45,-125.08)"
r="3" />
<linearGradient
id="o"
y2="32.999"
gradientUnits="userSpaceOnUse"
x2="18"
y1="46"
x1="18">
<stop
stop-opacity="0"
offset="0"
id="stop55" />
<stop
offset=".5"
id="stop57" />
<stop
stop-opacity="0"
offset="1"
id="stop59" />
</linearGradient>
<linearGradient
id="n"
y2="16.003"
gradientUnits="userSpaceOnUse"
x2="4"
gradientTransform="translate(0.65625,-0.24996)"
y1="53.321"
x1="5.6569">
<stop
stop-color="#32362e"
offset="0"
id="stop62" />
<stop
stop-color="#376c04"
offset="1"
id="stop64" />
</linearGradient>
<linearGradient
id="ab"
y2="4.2192998"
gradientUnits="userSpaceOnUse"
x2="7.5955"
gradientTransform="matrix(0.88924,0,0,0.78227,0.62292,7.6472)"
y1="43.993999"
x1="40.751999">
<stop
stop-color="#333"
offset="0"
id="stop7-6" />
<stop
stop-color="#474747"
offset="1"
id="stop9-7" />
</linearGradient>
<radialGradient
id="p-1"
gradientUnits="userSpaceOnUse"
cy="5.3000002"
cx="4"
gradientTransform="matrix(1.886,0,0,1.1765,-153.54,-4.2353)"
r="17">
<stop
stop-color="#fff"
offset="0"
id="stop4795" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop4797" />
</radialGradient>
<linearGradient
id="k"
y2="9.6875"
gradientUnits="userSpaceOnUse"
x2="-24.75"
gradientTransform="translate(-90,0)"
y1="11.566"
x1="-26.754">
<stop
stop-color="#fff"
offset="0"
id="stop4800" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop4802" />
</linearGradient>
<filter
id="j"
color-interpolation-filters="sRGB">
<feGaussianBlur
stdDeviation="1.0394514"
id="feGaussianBlur4805" />
</filter>
<radialGradient
id="q-7"
gradientUnits="userSpaceOnUse"
cy="112.3"
cx="102"
gradientTransform="translate(-221.13,-24.594)"
r="139.56">
<stop
stop-color="#00537d"
offset="0"
id="stop4808" />
<stop
stop-color="#186389"
offset=".0151"
id="stop4810" />
<stop
stop-color="#558ca8"
offset=".0558"
id="stop4812" />
<stop
stop-color="#89afc3"
offset=".0964"
id="stop4814" />
<stop
stop-color="#b3ccd8"
offset=".1357"
id="stop4816" />
<stop
stop-color="#d4e2e9"
offset=".1737"
id="stop4818" />
<stop
stop-color="#ecf2f5"
offset=".20990"
id="stop4820" />
<stop
stop-color="#fafcfd"
offset=".24350"
id="stop4822" />
<stop
stop-color="#fff"
offset=".27220"
id="stop4824" />
</radialGradient>
<radialGradient
id="r-4"
gradientUnits="userSpaceOnUse"
cy="112.3"
cx="102"
gradientTransform="matrix(0.97872,0,0,0.98182,-219.77,-23.43)"
r="139.56">
<stop
stop-color="#535557"
offset="0"
id="stop4827" />
<stop
stop-color="#898a8c"
offset=".11366"
id="stop4829" />
<stop
stop-color="#ececec"
offset=".20297"
id="stop4831" />
<stop
stop-color="#fafafa"
offset=".23630"
id="stop4833" />
<stop
stop-color="#fff"
offset=".27220"
id="stop4835" />
<stop
stop-color="#fafafa"
offset=".53130"
id="stop4837" />
<stop
stop-color="#ebecec"
offset=".84490"
id="stop4839" />
<stop
stop-color="#e1e2e3"
offset="1"
id="stop4841" />
</radialGradient>
<linearGradient
id="l"
y2="94.537003"
gradientUnits="userSpaceOnUse"
x2="86.536003"
y1="102.34"
x1="94.344002">
<stop
stop-color="#fff"
offset="0"
id="stop4844" />
<stop
stop-color="#555753"
offset="1"
id="stop4846" />
</linearGradient>
<linearGradient
id="m-0"
y2="94.586998"
gradientUnits="userSpaceOnUse"
x2="86.586998"
y1="103"
x1="95">
<stop
stop-color="#fff"
offset="0"
id="stop4849" />
<stop
stop-color="#555753"
offset="1"
id="stop4851" />
</linearGradient>
<linearGradient
id="n-9"
y2="95.292999"
gradientUnits="userSpaceOnUse"
x2="87.292999"
y1="103"
x1="95">
<stop
stop-color="#fff"
offset="0"
id="stop4854" />
<stop
stop-color="#393b38"
offset="1"
id="stop4856" />
</linearGradient>
<linearGradient
id="o-4"
y2="96"
gradientUnits="userSpaceOnUse"
x2="88"
y1="104"
x1="96">
<stop
stop-color="#888a85"
offset="0"
id="stop4859" />
<stop
stop-color="#8c8e89"
offset=".0072"
id="stop4861" />
<stop
stop-color="#abaca9"
offset=".0673"
id="stop4863" />
<stop
stop-color="#c5c6c4"
offset=".1347"
id="stop4865" />
<stop
stop-color="#dbdbda"
offset=".2115"
id="stop4867" />
<stop
stop-color="#ebebeb"
offset=".3012"
id="stop4869" />
<stop
stop-color="#f7f7f6"
offset=".4122"
id="stop4871" />
<stop
stop-color="#fdfdfd"
offset=".5679"
id="stop4873" />
<stop
stop-color="#fff"
offset="1"
id="stop4875" />
</linearGradient>
</defs>
<g
id="g5973">
<g
id="g4877"
transform="matrix(0.45627106,0,0,0.39615111,95.955383,8.3894677)">
<path
id="path4879"
d="m -141.47,4 c -0.86,0 -1.53,0.6731 -1.53,1.5312 v 36.938 c 0,0.85817 0.67308,1.5312 1.5312,1.5312 h 30.938 c 0.86,0 1.53,-0.673 1.53,-1.531 v -24.969 c 0,-1.392 -0.48698,-4.2995 -2.3438,-6.1562 l -5,-5 c -1.86,-1.857 -4.77,-2.344 -6.16,-2.344 h -18.969 z"
inkscape:connector-curvature="0"
style="opacity:0.68015998;fill:url(#p-1)" />
<path
id="path4881"
d="m -141.47,4.5 c -0.58317,0 -1.0312,0.44808 -1.0312,1.0312 v 36.938 c 0,0.58316 0.44809,1.0312 1.0312,1.0312 h 30.938 c 0.58317,0 1.0312,-0.44809 1.0312,-1.0312 v -24.969 c 0,-1.279 -0.48047,-4.1055 -2.1875,-5.8125 l -5,-5 c -1.7,-1.7075 -4.53,-2.188 -5.81,-2.188 h -18.969 z"
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#k)" />
<path
id="path4883"
transform="matrix(1.0417,0,0,1.0357,-231.09,-27.915)"
d="m 23,9 0.04082,112 h 61.131 c 0.53,0 1.039,-0.211 1.414,-0.586 l 32.824,-32.824 c 0.38,-0.375 0.59,-0.884 0.59,-1.414 V 9.016 h -96 z"
inkscape:connector-curvature="0"
style="opacity:0.5;filter:url(#j)" />
<path
id="path4885"
d="m -205.13,-16.594 v 112 h 61.172 c 0.53,0 1.039,-0.211 1.414,-0.586 l 32.828,-32.828 c 0.375,-0.375 0.586,-0.884 0.586,-1.414 v -77.172 h -96 z"
inkscape:connector-curvature="0"
style="fill:url(#q-7)" />
<path
id="path4887"
d="m -202.16,-14.594 c -0.53927,0 -0.97872,0.44084 -0.97872,0.98182 v 106.04 c 0,0.54197 0.43945,0.98182 0.97872,0.98182 h 57.913 c 0.2574,0 0.50991,-0.10407 0.69195,-0.28767 l 32.13,-32.231 c 0.18303,-0.1836 0.28677,-0.43593 0.28677,-0.69414 v -73.805 c 0,-0.54098 -0.43847,-0.98182 -0.97872,-0.98182 h -90.043 z"
inkscape:connector-curvature="0"
style="fill:url(#r-4)" />
<g
id="g4889"
transform="translate(-221.13,-24.594)">
<path
id="path4891"
d="M 111.41,86.586 C 111.66,86.336 93.035,93 88,93 c -1.654,0 -3,1.346 -3,3 0,5.035 -6.664,23.664 -6.414,23.414 l 32.828,-32.828 z"
inkscape:connector-curvature="0"
style="opacity:0.1;fill:url(#l)" />
<path
id="path4893"
d="M 111.41,86.586 C 111.79,86.211 97.444,94 88,94 c -1.103,0 -2,0.897 -2,2 0,9.444 -7.789,23.789 -7.414,23.414 l 32.828,-32.828 z"
inkscape:connector-curvature="0"
style="opacity:0.1;fill:url(#m-0)" />
<path
id="path4895"
d="M 111.41,86.586 C 111.65,86.347 97.807,95 88,95 c -0.553,0 -1,0.447 -1,1 0,9.807 -8.653,23.653 -8.414,23.414 l 32.828,-32.828 z"
inkscape:connector-curvature="0"
style="opacity:0.1;fill:url(#n-9)" />
<path
id="path4897"
d="m 78.586,119.41 c 0,0 11.914,-9.914 17.414,-15.414 5.5,-5.5 15.414,-17.414 15.414,-17.414 0,0 -13.164,9.414 -23.414,9.414 0,10.25 -9.414,23.414 -9.414,23.414 z"
inkscape:connector-curvature="0"
style="fill:url(#o-4)" />
</g>
</g>
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="m 6.4957959,3.4288304 7.6126981,0.044815 4.296105,4.2014486 v 11.203863"
display="block"
id="path63"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="M 24.132738,18.878957 V 7.675094 L 19.836633,3.4736458"
display="block"
id="path65"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="M 29.860878,18.878957 V 7.675094 L 25.564773,3.4736458"
display="block"
id="path67"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="M 35.589017,18.878957 V 3.4736458"
display="block"
id="path69"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 18.404599,18.878957 v 2.800965"
display="block"
id="path71"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 24.132738,18.878957 v 2.800965"
display="block"
id="path73"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 29.860878,18.878957 v 2.800965"
display="block"
id="path75"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 35.589017,18.878957 v 2.800965"
display="block"
id="path77"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 35.589017,28.682336 v 2.800966"
display="block"
id="path79"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 29.860878,28.682336 v 2.800966"
display="block"
id="path81"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 24.132738,28.682336 v 2.800966"
display="block"
id="path83"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#000000;stroke-width:2.83234191;stroke-linecap:round;stroke-linejoin:round;display:block"
d="m 18.404599,28.682336 v 2.800966"
display="block"
id="path85"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="m 18.404599,31.483302 v 4.201448 l -2.86407,2.800966 h -8.59221"
display="block"
id="path87"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="m 24.132738,31.483302 v 7.002414"
display="block"
id="path89"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="ccc"
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="m 29.860878,31.483302 0,4.201448 2.86407,2.800966"
display="block"
id="path91"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:none;stroke:#9d2735;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
d="m 35.589017,31.483302 2.86407,2.800965 h 2.86407"
display="block"
id="path93"
inkscape:connector-curvature="0" />
<path
style="color:#000000;fill:#4ec059;fill-opacity:1;stroke:none;display:block"
display="block"
d="m 1.9751488,6.2746114 h 9.0435872 l 4.521793,2.8009656 v 25.20869 L 13.279632,35.68475 H 1.9751488 V 6.2746114 z"
id="path95"
inkscape:connector-curvature="0" />
<rect
style="color:#000000;fill:none;stroke:#000000;stroke-width:1.41617095;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;display:block"
display="block"
ry="2.8401792"
height="18.206276"
width="22.912558"
y="16.077991"
x="15.540528"
id="rect97" />
</g>
</svg>
......@@ -337,6 +337,7 @@ EXTERN_BITMAP( new_xpm )
EXTERN_BITMAP( noconn_xpm )
EXTERN_BITMAP( normal_xpm )
EXTERN_BITMAP( online_help_xpm )
EXTERN_BITMAP( open_brd_file_xpm )
EXTERN_BITMAP( open_document_xpm )
EXTERN_BITMAP( open_library_xpm )
EXTERN_BITMAP( open_project_xpm )
......
......@@ -63,6 +63,7 @@ protected:
public:
BOARD_ITEM* start; // pointers to a connected item (pad or track)
BOARD_ITEM* end;
std::vector<TRACK*> m_TracksConnected; // list of other tracks connected to me
int m_Param; // Auxiliary variable ( used in some computations )
......
......@@ -3,6 +3,30 @@
* @brief Functions to handle existing tracks in ratsnest calculations.
*/
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2011 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "fctsys.h"
#include "common.h"
#include "pcbcommon.h"
......@@ -38,7 +62,7 @@ public:
}
};
// A helper class to handle connection calculations:
// A helper class to handle connections calculations:
class CONNECTIONS
{
public:
......@@ -166,7 +190,7 @@ int CONNECTIONS::SearchConnectedTracks( const TRACK * aTrack )
m_Connected.push_back( m_Candidates[ii].m_Track );
}
// search before:
for ( unsigned ii = idx-1; ii >= 0; ii -- )
for ( int ii = idx-1; ii >= 0; ii -- )
{
if( m_Candidates[ii].m_Track == aTrack )
continue;
......@@ -690,28 +714,22 @@ static void Build_Pads_Info_Connections_By_Tracks( TRACK* pt_start_conn, TRACK*
void PCB_BASE_FRAME::RecalculateAllTracksNetcode()
{
TRACK* pt_trace;
TRACK* pt_next;
char new_passe_request = 1;
TRACK* curr_track;
std::vector<D_PAD*> sortedPads;
BOARD_ITEM* PtStruct;
int layerMask;
wxString msg;
// Build the net info list
GetBoard()->m_NetInfo->BuildListOfNets();
if( m_Pcb->GetPadsCount() == 0 ) // If no pad, reset pointers and netcode, and do nothing else
{
pt_trace = m_Pcb->m_Track;
curr_track = m_Pcb->m_Track;
for( ; pt_trace != NULL; pt_trace = pt_trace->Next() )
for( ; curr_track != NULL; curr_track = curr_track->Next() )
{
pt_trace->start = NULL;
pt_trace->SetState( BEGIN_ONPAD | END_ONPAD, OFF );
pt_trace->SetNet( 0 );
pt_trace->end = NULL;
curr_track->start = NULL;
curr_track->SetState( BEGIN_ONPAD | END_ONPAD, OFF );
curr_track->SetNet( 0 );
curr_track->end = NULL;
}
return;
......@@ -724,40 +742,41 @@ void PCB_BASE_FRAME::RecalculateAllTracksNetcode()
m_Pcb->GetSortedPadListByXthenYCoord( sortedPads );
/* Reset variables and flags used in computation */
pt_trace = m_Pcb->m_Track;
curr_track = m_Pcb->m_Track;
for( ; pt_trace != NULL; pt_trace = pt_trace->Next() )
for( ; curr_track != NULL; curr_track = curr_track->Next() )
{
pt_trace->SetState( BUSY | IN_EDIT | BEGIN_ONPAD | END_ONPAD, OFF );
pt_trace->SetZoneSubNet( 0 );
pt_trace->SetNet( 0 ); // net code = 0 means not connected
curr_track->m_TracksConnected.clear();
curr_track->SetState( BUSY | IN_EDIT | BEGIN_ONPAD | END_ONPAD, OFF );
curr_track->SetZoneSubNet( 0 );
curr_track->SetNet( 0 ); // net code = 0 means not connected
}
/* First pass: search connection between a track segment and a pad.
* if found, set the track net code to the pad netcode
*/
pt_trace = m_Pcb->m_Track;
curr_track = m_Pcb->m_Track;
for( ; pt_trace != NULL; pt_trace = pt_trace->Next() )
for( ; curr_track != NULL; curr_track = curr_track->Next() )
{
layerMask = g_TabOneLayerMask[pt_trace->GetLayer()];
int layerMask = g_TabOneLayerMask[curr_track->GetLayer()];
/* Search for a pad on the segment starting point */
pt_trace->start = m_Pcb->GetPad( sortedPads, pt_trace->m_Start, layerMask );
curr_track->start = m_Pcb->GetPad( sortedPads, curr_track->m_Start, layerMask );
if( pt_trace->start != NULL )
if( curr_track->start != NULL )
{
pt_trace->SetState( BEGIN_ONPAD, ON );
pt_trace->SetNet( ( (D_PAD*) (pt_trace->start) )->GetNet() );
curr_track->SetState( BEGIN_ONPAD, ON );
curr_track->SetNet( ( (D_PAD*) (curr_track->start) )->GetNet() );
}
/* Search for a pad on the segment ending point */
pt_trace->end = m_Pcb->GetPad( sortedPads, pt_trace->m_End, layerMask );
curr_track->end = m_Pcb->GetPad( sortedPads, curr_track->m_End, layerMask );
if( pt_trace->end != NULL )
if( curr_track->end != NULL )
{
pt_trace->SetState( END_ONPAD, ON );
pt_trace->SetNet( ( (D_PAD*) (pt_trace->end) )->GetNet() );
curr_track->SetState( END_ONPAD, ON );
curr_track->SetNet( ( (D_PAD*) (curr_track->end) )->GetNet() );
}
}
......@@ -765,166 +784,57 @@ void PCB_BASE_FRAME::RecalculateAllTracksNetcode()
/* Pass 2: search the connections between track ends */
/*****************************************************/
/* the .start and .end member pointers are updated, only if NULLs
* (if not null, the end is already connected to a pad).
* the connection (if found) is between segments
* when a track has a net code and the other has a null net code, the null net code is changed
/* the .start and .end member pointers are updated, and point on connected pads
* or are null for tracks whitch are not connection to pads
* Now build connections lists to tracks
*/
#if 0
for( pt_trace = m_Pcb->m_Track; pt_trace != NULL; pt_trace = pt_trace->Next() )
{
if( pt_trace->start == NULL )
{
pt_trace->start = pt_trace->GetTrace( m_Pcb->m_Track, NULL, START );
}
if( pt_trace->end == NULL )
{
pt_trace->end = pt_trace->GetTrace( m_Pcb->m_Track, NULL, END );
}
}
#else
CONNECTIONS connections( m_Pcb );
connections.BuildCandidatesList();
for( pt_trace = m_Pcb->m_Track; pt_trace != NULL; pt_trace = pt_trace->Next() )
for( curr_track = m_Pcb->m_Track; curr_track != NULL; curr_track = curr_track->Next() )
{
if( pt_trace->start != NULL && pt_trace->end != NULL )
if( curr_track->start != NULL && curr_track->end != NULL )
continue;
connections.SearchConnectedTracks( pt_trace );
for( unsigned ii = 0; ii < connections.m_Connected.size(); ii ++ )
{
TRACK * candidate = connections.m_Connected[ii];
// Do not create a link to an other track already linked
// to avoid loops when we have 4 and more ends at the same location
// like this case for 4 tracks named A, B, C ,D:
// A links B; B links A and C links D; D links C, but never C or D links A or B
// Try to find a not already linked track:
if( candidate->start == pt_trace || candidate->end == pt_trace )
continue;
// A link is found:
if( pt_trace->start == NULL )
{
if( ( pt_trace->m_Start == candidate->m_Start ) ||
( pt_trace->m_Start == candidate->m_End ) )
pt_trace->start = candidate;
}
if( pt_trace->end == NULL )
{
if( ( pt_trace->m_End == candidate->m_Start ) ||
( pt_trace->m_End == candidate->m_End ) )
pt_trace->end = candidate;
}
}
connections.SearchConnectedTracks( curr_track );
curr_track->m_TracksConnected = connections.m_Connected;
}
#endif
/**********************************************************/
/* Propagate net codes from a segment to an other segment */
/**********************************************************/
while( new_passe_request )
// Propagate net codes from a segment to other connected segments
bool new_pass_request = true; // is true if a track has its netcode changes from 0
// to a known netcode to re-evaluate netcodes
// of connected items
while( new_pass_request )
{
bool reset_flag = false;
new_passe_request = 0;
/* look for vias which could be connect many tracks */
for( TRACK* via = m_Pcb->m_Track; via != NULL; via = via->Next() )
{
if( via->Type() != PCB_VIA_T )
continue;
if( via->GetNet() > 0 )
continue; // Netcode already known
// Lock for a connection to a track with a known netcode
pt_next = m_Pcb->m_Track;
while( ( pt_next = via->GetTrace( pt_next, NULL, START ) ) != NULL )
{
if( pt_next->GetNet() )
{
via->SetNet( pt_next->GetNet() );
break;
}
pt_next->SetState( BUSY, ON );
reset_flag = true;
}
}
new_pass_request = false;
if( reset_flag )
for( curr_track = m_Pcb->m_Track; curr_track; curr_track = curr_track->Next() )
{
for( pt_trace = m_Pcb->m_Track; pt_trace != NULL; pt_trace = pt_trace->Next() )
{
pt_trace->SetState( BUSY, OFF );
}
}
/* set the netcode of connected tracks: if at track is connected to a pad, its net
* code is already set.
* if the current track is connected to an other track:
* if a track has a net code, it is used for the other track.
* Thus there is a propagation of the netcode from a track to an other.
* if none of the 2 track has a net code we do nothing
* the iteration is stopped when no new change occurs
*/
for( pt_trace = m_Pcb->m_Track; pt_trace != NULL; pt_trace = pt_trace->Next() )
{
/* look for the connection to the current segment starting point */
PtStruct = (BOARD_ITEM*) pt_trace->start;
if( PtStruct && (PtStruct->Type() != PCB_PAD_T) )
{
// Begin on an other track segment
pt_next = (TRACK*) PtStruct;
if( pt_trace->GetNet() )
int netcode = curr_track->GetNet();
if( netcode == 0 )
{ // try to find a connected item having a netcode
for( unsigned kk = 0; kk < curr_track->m_TracksConnected.size(); kk++ )
{
if( pt_next->GetNet() == 0 )
int altnetcode = curr_track->m_TracksConnected[kk]->GetNet();
if( altnetcode )
{
// the current track has a netcode, we use it for the other track
// A change is made: a new iteration is requested.
new_passe_request = 1;
pt_next->SetNet( pt_trace->GetNet() );
}
}
else
{
if( pt_next->GetNet() != 0 )
{
// the other track has a netcode, we use it for the current track
pt_trace->SetNet( pt_next->GetNet() );
new_passe_request = 1;
new_pass_request = true;
netcode = altnetcode;
curr_track->SetNet(netcode);
break;
}
}
}
/* look for the connection to the current segment ending point */
PtStruct = pt_trace->end;
if( PtStruct && (PtStruct->Type() != PCB_PAD_T) )
{
pt_next = (TRACK*) PtStruct;
// End on an other track: propagate netcode if possible
if( pt_trace->GetNet() )
{
if( pt_next->GetNet() == 0 )
{
new_passe_request = 1;
pt_next->SetNet( pt_trace->GetNet() );
}
}
else
if( netcode ) // this track has a netcode
{ // propagate this netcode to connected tracks having no netcode
for( unsigned kk = 0; kk < curr_track->m_TracksConnected.size(); kk++ )
{
if( pt_next->GetNet() != 0 )
int altnetcode = curr_track->m_TracksConnected[kk]->GetNet();
if( altnetcode == 0 )
{
pt_trace->SetNet( pt_next->GetNet() );
new_passe_request = 1;
curr_track->m_TracksConnected[kk]->SetNet(netcode);
new_pass_request = true;
}
}
}
......@@ -936,22 +846,16 @@ void PCB_BASE_FRAME::RecalculateAllTracksNetcode()
}
/**
* Function Sort_By_NetCode
* sorts track segments used in RebuildTrackChain() (for the qsort C function)
* The sorting is made by net code.
/*
* Function SortTracksByNetCode used in RebuildTrackChain()
* to sort track segments by net code.
*/
static int Sort_By_NetCode( const void* left, const void* right )
static bool SortTracksByNetCode( const TRACK* const & ref, const TRACK* const & compare )
{
TRACK* pt_ref = *(TRACK**) left;
TRACK* pt_compare = *(TRACK**) right;
int ret = pt_ref->GetNet() - pt_compare->GetNet();
return ret;
return ref->GetNet() < compare->GetNet();
}
/**
* Function RebuildTrackChain
* rebuilds the track segment linked list in order to have a chain
......@@ -963,26 +867,22 @@ static void RebuildTrackChain( BOARD* pcb )
if( pcb->m_Track == NULL )
return;
int nbsegm = pcb->m_Track.GetCount();
int item_count = pcb->m_Track.GetCount();
TRACK** array = (TRACK**) MyZMalloc( nbsegm * sizeof(TRACK*) );
std::vector<TRACK*> trackList;
trackList.reserve( item_count );
for( int i = 0; i<nbsegm; ++i )
{
array[i] = pcb->m_Track.PopFront();
wxASSERT( array[i] );
}
for( int i = 0; i<item_count; ++i )
trackList.push_back( pcb->m_Track.PopFront() );
// the list is empty now
wxASSERT( pcb->m_Track == NULL && pcb->m_Track.GetCount()==0 );
qsort( array, nbsegm, sizeof(TRACK*), Sort_By_NetCode );
sort( trackList.begin(), trackList.end(), SortTracksByNetCode );
// add them back to the list
for( int i = 0; i<nbsegm; ++i )
for( int i = 0; i < item_count; ++i )
{
pcb->m_Track.PushBack( array[i] );
pcb->m_Track.PushBack( trackList[i] );
}
MyFree( array );
}
/////////////////////////////////////////////////////////////////////////////
// Name: dialog_drc.cpp
// Author: jean-pierre Charras
// Licence: GPL
/////////////////////////////////////////////////////////////////////////////
/**
* @file dialog_drc.cpp
*/
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2011 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "fctsys.h"
#include "dialog_drc.h"
......
......@@ -221,7 +221,6 @@ void DRC::RunTests( wxTextCtrl* aMessages )
aMessages->AppendText( _( "Track clearances...\n" ) );
wxSafeYield();
}
testTracks();
// Before testing segments and unconnected, refill all zones:
......@@ -233,6 +232,7 @@ void DRC::RunTests( wxTextCtrl* aMessages )
}
m_mainWindow->Fill_All_Zones( false );
wxSafeYield();
// test zone clearances to other zones, pads, tracks, and vias
if( aMessages && m_doZonesTest )
......@@ -249,7 +249,7 @@ void DRC::RunTests( wxTextCtrl* aMessages )
if( aMessages )
{
aMessages->AppendText( _( "Unconnected pads...\n" ) );
wxSafeYield();
aMessages->Refresh();
}
testUnconnected();
......
......@@ -64,13 +64,13 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
AddMenuItem( filesMenu, ID_NEW_BOARD,
_( "&New" ),
_( "Clear current board and initialize a new one" ),
KiBitmap( new_xpm ) );
KiBitmap( new_pcb_xpm ) );
// Open
text = AddHotkeyName( _( "&Open" ), g_Board_Editor_Hokeys_Descr, HK_LOAD_BOARD );
AddMenuItem( filesMenu, ID_LOAD_FILE, text,
_( "Delete current board and load new board" ),
KiBitmap( open_document_xpm ) );
KiBitmap( open_brd_file_xpm ) );
// Load Recent submenu
static wxMenu* openRecentMenu;
......
......@@ -189,9 +189,9 @@ void PCB_EDIT_FRAME::ReCreateHToolbar()
m_HToolBar->SetRows( 1 );
// Set up toolbar
m_HToolBar->AddTool( ID_NEW_BOARD, wxEmptyString, KiBitmap( new_xpm ),
m_HToolBar->AddTool( ID_NEW_BOARD, wxEmptyString, KiBitmap( new_pcb_xpm ),
_( "New board" ) );
m_HToolBar->AddTool( ID_LOAD_FILE, wxEmptyString, KiBitmap( open_document_xpm ),
m_HToolBar->AddTool( ID_LOAD_FILE, wxEmptyString, KiBitmap( open_brd_file_xpm ),
_( "Open existing board" ) );
m_HToolBar->AddTool( ID_SAVE_BOARD, wxEmptyString, KiBitmap( save_xpm ),
_( "Save board" ) );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment