* Commit before merge...

This commit is contained in:
Brian Sidebotham 2014-02-14 23:45:58 +00:00
commit d5a029ffad
69 changed files with 5600 additions and 4047 deletions

View File

@ -59,6 +59,39 @@ S3D_MODEL_PARSER* S3D_MODEL_PARSER::Create( S3D_MASTER* aMaster,
}
}
const wxString S3D_MASTER::GetShape3DFullFilename()
{
wxString shapeName;
// Expand any environment variables embedded in footprint's m_Shape3DName field.
// To ensure compatibility with most of footprint's m_Shape3DName field,
// if the m_Shape3DName is not an absolute path the default path
// given by the environment variable KISYS3DMOD will be used
if( m_Shape3DName.StartsWith( wxT("${") ) )
shapeName = wxExpandEnvVars( m_Shape3DName );
else
shapeName = m_Shape3DName;
wxFileName fn( shapeName );
if( fn.IsAbsolute() || shapeName.StartsWith( wxT(".") ) )
return shapeName;
wxString default_path;
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
if( default_path.IsEmpty() )
return shapeName;
if( !default_path.EndsWith( wxT("/") ) && !default_path.EndsWith( wxT("\\") ) )
default_path += wxT("/");
default_path += shapeName;
return default_path;
}
int S3D_MASTER::ReadData()
{
@ -67,8 +100,7 @@ int S3D_MASTER::ReadData()
return 1;
}
// Expand any environment variables embedded in footprint's m_Shape3DName field.
wxString filename = wxExpandEnvVars( m_Shape3DName );
wxString filename = GetShape3DFullFilename();
#ifdef __WINDOWS__
filename.Replace( wxT( "/" ), wxT( "\\" ) );

View File

@ -144,6 +144,14 @@ public:
return m_Shape3DName;
}
/**
* Function GetShape3DFullFilename
* @return the full filename of the 3D shape,
* expanding environment variable (if any ) and/or adding default 3D path
* given by environment variable KISYS3DMOD
*/
const wxString GetShape3DFullFilename();
void SetShape3DName( const wxString& aShapeName );
};

View File

@ -48,6 +48,9 @@
# include <GL/glu.h>
#endif
#define KISYS3DMOD "KISYS3DMOD"
#include <3d_struct.h>
class EDA_3D_CANVAS;

View File

@ -58,9 +58,16 @@ option( KICAD_SCRIPTING_WXPYTHON
)
option( KICAD_BUILD_STATIC
"Builds Kicad and all libraries static (except wx-widgets)"
"Builds Kicad and all libraries static"
)
option( KICAD_BUILD_DYNAMIC
"Builds Kicad and all libraries dynamic (required for wxPython)"
)
# WARNING: KiCad developers strongly advise you to build Boost with supplied patches,
# as it is known to work with KiCad. Other versions may contain bugs that may result
# WARNING: KiCad developers strongly advise you to build Boost with supplied patches,
# as it is known to work with KiCad. Other versions may contain bugs that may result
# in KiCad errors.
@ -334,8 +341,18 @@ add_definitions(-DWX_COMPATIBILITY)
find_package( OpenGL QUIET )
check_find_package_result( OPENGL_FOUND "OpenGL" )
if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
add_custom_target( lib-wxpython )
include( download_pcre )
include( download_swig )
include( download_wxpython )
add_dependencies( lib-wxpython pcre )
add_dependencies( lib-wxpython swig )
add_dependencies( lib-wxpython libwxpython )
#set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so;.dylib;.dll")
if( KICAD_BUILD_STATIC AND KICAD_BUILD_DYNAMIC )
@ -348,7 +365,6 @@ if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
if( KICAD_BUILD_DYNAMIC )
message(STATUS "KICAD_BUILD_DYNAMIC set")
# TODO - Library packaging/relocation
endif()
add_custom_target( lib-dependencies
@ -357,8 +373,26 @@ if( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC )
include( download_libpng )
if( KICAD_SCRIPTING_WXPYTHON )
message( FATAL_ERROR "KICAD_BUILD_* and SCRIPTING Not Implemented Yet!" )
if( KICAD_SCRIPTING OR KICAD_SCRIPTING_WXPYTHON OR KICAD_SCRIPTING_MODULES )
set( SWIG_EXECUTABLE ${SWIG_ROOT}/bin/swig )
set( SWIG_INCLUDE ${SWIG_ROOT}/include )
set( PYTHON_DEST ${LIBWXPYTHON_ROOT}/wxPython/lib/python2.6/site-packages )
if( NOT EXISTS ${SWIG_EXECUTABLE} )
set(KICAD_SCRIPTING CACHE OFF FORCE "Disabling KICAD_SCRIPTING")
message( STATUS "KICAD_SCRIPTING Enabled but SWIG not found, please disable and before reenabling execute: make lib-wxpython")
message( FATAL_ERROR "Missing SWIG!")
endif()
message(STATUS "SWIG_EXECUTABLE: ${SWIG_EXECUTABLE}")
set( PYTHON_DEST ${LIBWXPYTHON_ROOT}/wxPython/lib/python2.6/site-packages )
set(wxWidgets_BIN_DIR ${LIBWXPYTHON_ROOT}/bin/wxrc )
set(wxWidgets_CONFIG_EXECUTABLE ${LIBWXPYTHON_ROOT}/bin/wx-config )
set(wxWidgets_INCLUDE_DIRS ${LIBWXPYTHON_ROOT}/include/wx-3.0 )
set(wxWidgets_LIBRARY_DIRS ${LIBWXPYTHON_ROOT}/lib )
add_dependencies( lib-dependencies libwxpython )
else()
include( download_wxwidgets )
add_dependencies( lib-dependencies libwx )
@ -421,7 +455,7 @@ endif()
# On Apple only wxwidgets 2.9 or higher doesn't need to find aui part of base
# Seems no more needed on wx-3
if( APPLE AND NOT (KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC) )
if( APPLE AND ( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES OR KICAD_SCRIPTING_WXPYTHON) )
find_package( wxWidgets COMPONENTS gl adv html core net base xml QUIET )
else()
find_package( wxWidgets COMPONENTS gl aui adv html core net base xml QUIET )
@ -470,7 +504,16 @@ set( INC_AFTER
# Find Python and other scripting resources
if( KICAD_SCRIPTING OR KICAD_SCRIPTING_MODULES )
set( PythonInterp_FIND_VERSION )
if( NOT APPLE )
set( PythonInterp_FIND_VERSION )
else()
set( PYTHON_LIBRARY /System/Library/Frameworks/Python.framework/Versions/2.6/Python )
set( PYTHON_INCLUDE_DIR /System/Library/Frameworks/Python.framework/Versions//2.6/include/python2.6 )
set( PythonInterp_FIND_VERSION 2.6 )
set( PythonLibs_FIND_VERSION 2.6 )
endif()
find_package( PythonInterp )
check_find_package_result( PYTHONINTERP_FOUND "Python Interpreter" )

View File

@ -0,0 +1,73 @@
# This program source code file is part of KICAD, a free EDA CAD application.
#
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
# Copyright (C) 2013 Kicad Developers, see AUTHORS.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
# Downloads and builds PCRE
#-----<configure>----------------------------------------------------------------
set( PCRE_RELEASE 8.34 )
set( PCRE_MD5 eb34b2c9c727fd64940d6fd9a00995eb ) # re-calc this on every RELEASE change
# The boost headers [and static libs if built] go here, at the top of KiCad
# source tree in boost_root.
set( PCRE_ROOT "${PROJECT_SOURCE_DIR}/pcre_root" )
#-----</configure>---------------------------------------------------------------
find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/pcre )
if (APPLE)
if( CMAKE_OSX_ARCHITECTURES )
set( PCRE_CFLAGS "CFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
set( PCRE_CXXFLAGS "CXXFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
set( PCRE_LDFLAGS "LDFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
endif( CMAKE_OSX_ARCHITECTURES )
endif(APPLE)
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time
# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
ExternalProject_Add( pcre
PREFIX "${PREFIX}"
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
URL http://sourceforge.net/projects/pcre/files/pcre/${PCRE_RELEASE}/pcre-${PCRE_RELEASE}.tar.gz
URL_MD5 ${PCRE_MD5}
STAMP_DIR "${PREFIX}"
#SOURCE_DIR "${PREFIX}"
BUILD_IN_SOURCE 1
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${PCRE_ROOT}"
#PATCH_COMMAND "true"
CONFIGURE_COMMAND ./configure --prefix=${PCRE_ROOT} ${PCRE_CFLAGS} ${PCRE_CXXFLAGS} ${PCRE_LDFLAGS} --disable-dependency-tracking
#BINARY_DIR "${PREFIX}"
BUILD_COMMAND $(MAKE)
INSTALL_DIR "${PCRE_ROOT}"
INSTALL_COMMAND $(MAKE) install
)

View File

@ -0,0 +1,79 @@
# This program source code file is part of KICAD, a free EDA CAD application.
#
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
# Copyright (C) 2013 Kicad Developers, see AUTHORS.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
# Downloads and builds SWIG
#-----<configure>----------------------------------------------------------------
set( SWIG_RELEASE 2.0.11 )
set( SWIG_MD5 291ba57c0acd218da0b0916c280dcbae ) # re-calc this on every RELEASE change
# The boost headers [and static libs if built] go here, at the top of KiCad
# source tree in boost_root.
set( SWIG_ROOT "${PROJECT_SOURCE_DIR}/swig_root" )
#-----</configure>---------------------------------------------------------------
find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/swig )
if (APPLE)
if( CMAKE_OSX_ARCHITECTURES )
set( SWIG_CFLAGS "CFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
set( SWIG_CXXFLAGS "CXXFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
set( SWIG_LDFLAGS "LDFLAGS=-arch ${CMAKE_OSX_ARCHITECTURES} -mmacosx-version-min=10.5" )
endif( CMAKE_OSX_ARCHITECTURES )
set( SWIG_PYTHON "--with-python=/usr/bin/python2.6" )
set( SWIG_OPTS --disable-dependency-tracking )
endif(APPLE)
# <SOURCE_DIR> = ${PREFIX}/src/glew
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time
# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
ExternalProject_Add( swig
PREFIX "${PREFIX}"
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
URL http://sourceforge.net/projects/swig/files/swig/swig-${SWIG_RELEASE}/swig-${SWIG_RELEASE}.tar.gz
URL_MD5 ${SWIG_MD5}
STAMP_DIR "${PREFIX}"
DEPENDS pcre
#SOURCE_DIR "${PREFIX}"
BUILD_IN_SOURCE 1
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${SWIG_ROOT}"
#PATCH_COMMAND "true"
CONFIGURE_COMMAND ./configure --prefix=${SWIG_ROOT} --with-pcre-prefix=${PCRE_ROOT} ${SWIG_CFLAGS} ${SWIG_LDFLAGS} ${SWIG_CXXFLAGS} ${SWIG_PYTHON} ${SWIG_OPTS}
#BINARY_DIR "${PREFIX}"
BUILD_COMMAND $(MAKE)
INSTALL_DIR "${SWIG_ROOT}"
INSTALL_COMMAND $(MAKE) install
)

View File

@ -0,0 +1,117 @@
# This program source code file is part of KICAD, a free EDA CAD application.
#
# Copyright (C) 2013 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
# Copyright (C) 2013 Kicad Developers, see AUTHORS.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
# Downloads and builds LIBWXPYTHON
#-----<configure>----------------------------------------------------------------
set( LIBWXPYTHON_RELEASE 3.0.0.0 )
set( LIBWXPYTHON_MD5 f5e32c7d85dc261ba777e113c3b7e365 ) # re-calc this on every RELEASE change
set( LIBWXPYTHON_ROOT "${PROJECT_SOURCE_DIR}/libwxpython_root" )
#-----</configure>---------------------------------------------------------------
find_package( BZip2 REQUIRED )
set( PREFIX ${DOWNLOAD_DIR}/libwxpython )
set( LIBWXPYTHON_EXEC python )
set( LIBWXPYTHON_OPTS --wxpy_installdir=${LIBWXPYTHON_ROOT}/wxPython )
if (APPLE)
SET( LIBWXPYTHON_EXEC python2.6 )
SET( LIBWXPYTHON_OPTS ${LIBWXPYTHON_OPTS} --osx_cocoa )
#SET( LIBWXPYTHON_OPTS ${LIBWXPYTHON_OPTS} --mac_framework --mac_framework_prefix=${LIBWXPYTHON_ROOT}/wxPython )
if( CMAKE_OSX_ARCHITECTURES )
STRING(REGEX REPLACE " -arch " "," LIBWXPYTHON_ARCHITECTURES ${CMAKE_OSX_ARCHITECTURES})
SET( LIBWXPYTHON_OPTS ${LIBWXPYTHON_OPTS} --mac_arch=${LIBWXPYTHON_ARCHITECTURES})
endif( CMAKE_OSX_ARCHITECTURES )
endif(APPLE)
if ( KICAD_BUILD_STATIC )
#message fail
set( LIBWXPYTHON_BUILDTYPE "--disable-shared" )
endif( KICAD_BUILD_STATIC )
# <SOURCE_DIR> = ${PREFIX}/src/libwx
# There is a Bazaar 'boost scratch repo' in <SOURCE_DIR>/boost and after committing pristine
# download, the patch is applied. This lets you regenerate a new patch at any time
# easily, simply by editing the working tree in <SOURCE_DIR> and doing "bzr diff" in there.
ExternalProject_Add( libwxpython
PREFIX "${PREFIX}"
DOWNLOAD_DIR "${DOWNLOAD_DIR}"
URL http://sourceforge.net/projects/wxpython/files/wxPython/${LIBWXPYTHON_RELEASE}/wxPython-src-${LIBWXPYTHON_RELEASE}.tar.bz2
URL_MD5 ${LIBWXPYTHON_MD5}
STAMP_DIR "${PREFIX}"
BUILD_IN_SOURCE 1
PATCH_COMMAND bzr revert
COMMAND bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/wxpython-3.0.0_macosx.patch"
COMMAND bzr patch -p0 "${PROJECT_SOURCE_DIR}/patches/wxpython-3.0.0_macosx_multiarch.patch" # http://trac.wxwidgets.org/ticket/15957
UPDATE_COMMAND ${CMAKE_COMMAND} -E remove_directory "${LIBWXPYTHON_ROOT}"
COMMAND ${LIBWXPYTHON_EXEC} wxPython/build-wxpython.py --clean
CONFIGURE_COMMAND ${LIBWXPYTHON_EXEC} wxPython/build-wxpython.py --prefix=${LIBWXPYTHON_ROOT} --unicode --install ${LIBWXPYTHON_OPTS}
#BINARY_DIR "${PREFIX}"
BUILD_COMMAND true
INSTALL_DIR "${LIBWXPYTHON_ROOT}"
INSTALL_COMMAND true
)
ExternalProject_Add_Step( libwxpython bzr_commit_libwxpython
COMMAND bzr ci -q -m pristine <SOURCE_DIR>
COMMENT "committing pristine libwxpython files to 'libwxpython scratch repo'"
DEPENDERS patch
)
ExternalProject_Add_Step( libwxpython bzr_add_libwxpython
COMMAND bzr add -q ${PREFIX}/src/libwxpython
COMMENT "adding pristine libwxpython files to 'libwxpython scratch repo'"
DEPENDERS bzr_commit_libwxpython
)
ExternalProject_Add_Step( libwxpython bzr_init_libwxpython
COMMAND bzr init -q <SOURCE_DIR>
COMMENT "creating 'libwxpython scratch repo' specifically for libwx to track libwx patches"
DEPENDERS bzr_add_libwxpython
DEPENDEES download
)
######
# Now is time to search what we have built
######
ExternalProject_Add_Step( libwxpython libwxpython_recursive_message
COMMAND cmake .
COMMENT "*** RERUN CMAKE - wxWidgets built, now reissue a cmake to build Kicad"
DEPENDEES install
)

View File

@ -31,15 +31,22 @@ KiCad from source.
* bzr - Bazaar version control system
* CMake - Cross-platform make
* GLUT - The OpenGL Utility Library
* GLEW
* wxGTK or wxWidgets - The wxWidgets GUI toolkit with GTK+ bindings
* libbz2 (dev)
* libcairo (dev)
* Boost - Collection of portable C++ source libraries
boost will be automagically downloaded and copied in kicad sources tree,
boost will be automagically downloaded, copied in kicad sources tree and patched,
the first time you compile kicad.
Useful, but not required:
* Doxygen - Documentation system for several programming languages
Required to build Kicad with scripting (using python) support:
Python
Swig
KiCad uses the Bazaar version control system to track source code changes,
and download the boost libraries needed by Kicad.
Be sure you bzr install also includes bzrtools.
@ -60,40 +67,43 @@ Install or Build wxWidgets
WARNING:
see wxWidgets_patch_notes.txt for patches and issues in wxWidgets.
If on Windows, download
http://sourceforge.net/projects/wxwindows/files/wxAll/2.9.3/wxWidgets-2.9.3.zip/download
On Windows, download
http://sourceforge.net/projects/wxwindows/files/3.0.0/wxWidgets-3.0.0.zip/download
or a newer version.
Do NOT use previous versions which all have annoying issues for KiCad.
Start msys so you have a bash shell.
Note also since 2.9 versions no need to build a "debug" version of the wxWidgets library,
the release abd the debug version are same.
the release and the debug version are same.
Unzip the wxWidgets zip file into the build directory. Change directories into
there, and then:
mkdir Release
cd Release
../configure --enable-unicode --enable-monolithic=no --disable-shared --with-opengl
../configure --with-opengl
make
and under Linux, but not under Windows:
sudo make install that install wxWidgets libs and headers in /usr/local/
If on linux, you can use your package manager to install the
development versions of the wxWidgets packages which include the C++ headers. An
alternative is to build static libaries from source. Verify that wx-config is in
your path by running it from a command prompt. Linux users then go to next step.
On linux, yo can also download wxWidgets 3.0 (recommandedd)
or you can use your package manager to install the
development versions of the wxWidgets packages which include the C++ headers.
The recommended way is to build wxWidgets from source, and use wxWidgets 3.0
or more recent (Older versions have a print function which does not work).
Verify that wx-config is in your path by running it from a command prompt.
Linux users then go to next step.
Install CMake
-------------
If windows, download the installation binary for windows from cmake.org.
On windows, download the installation binary for windows from cmake.org.
Install that and choose to add cmake to your path during installation. You
will have to restart and command shells for the new path to take effect.
will have to restart your command shell for the new path to take effect.
Verify that cmake is in your path by trying to run it from a command prompt.
If linux, use your package manager to install cmake. You should get cmake 2.6.4
On linux, use your package manager to install cmake. You should get cmake 2.8.4
or later. If only an older one is available in your package repository, build
cmake from source. Verify that cmake is in your path by trying to run it from a
command prompt.
@ -106,25 +116,42 @@ To download files from Launchpad repository, you should install bazaar (bzr) th
version control system like subversion, mercurial, git...
Launchpad repository handle 2 branches for KiCda sources:
- a testing branch (used by developers)
- a stable branch (a copy of the testing branch, when this testing branch is near a stable state))
- a product branch (used by developers, which is most of time usable in production)
- a stable branch (a copy of the testing branch,
when the product branch is a stable state))
Remarks:
- The product branch is actively maintained
- From the product branch, you can go back to any previous version, using bzr features
- The stable branch is poorly or not maintained (and could be removed)
Testing branch:
bzr branch lp:kicad kicad_testing
In order to have a working Kicad installtion, you need
- sources to build binaries
- libraries (they are not included in sources)
- documentation and translations (they are not included in sources)
product branch:
bzr branch lp:kicad kicad_src
Stable branch:
bzr branch lp:kicad/stable kicad_stable
bzr branch lp:kicad/stable kicad_src
Components and Footprints libraries
bzr branch lp:~kicad-lib-committers/kicad/library kicad_libraries
all (schematic libs, 3D shapes ...) but new footprints libraries (use Download zip tool)
https://github.com/KiCad/kicad-library/
New footprints libraries (use Download zip tool for each lib you want)
https://github.com/KiCad/ for footprint libs (*.pretty folders)
Note also Kicad is able to read on github.com/KiCad/ the *.pretty folders
without download, using github plugin.
(however the time to read them can be long)
Documentation and translations:
bzr branch lp:~kicad-developers/kicad/doc kicad_doc
Create Makefiles with CMake
---------------------------
If windows, go into your msys shell. Linux and windows users both then make
two "out of source" build directories:
On windows, go into your msys shell.
Linux and windows users both then make two "out of source" build directories:
cd <kicadSource>
mkdir -p build/release
mkdir build/debug (if you want a debug version of KiCad)
@ -133,10 +160,10 @@ two "out of source" build directories:
On either cmake command line shown below, you can optionally include
-DCMAKE_INSTALL_PREFIX=<finallInstallDir>
If windows, run the following command:
On windows, run the following command:
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../
If linux, run instead the following command:
On linux, run instead the following command:
cmake -DCMAKE_BUILD_TYPE=Release ../../
Take a look at CMakeCache.txt, and in particular CMAKE_INSTALL_PREFIX, which
@ -166,18 +193,15 @@ On either cmake command line shown below, you can optionally include
Although normally you do not install the Debug binaries, you can debug them
where they were built.
If windows, run the following command:
On windows, run the following command:
cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Debug -DwxWidgets_ROOT_DIR=<wxInstallDir> ../../
where <wxInstallDir> is <wxWidgets path>/Release
If linux, run instead the following command:
On linux, run instead the following command:
cmake -DCMAKE_BUILD_TYPE=Debug -DwxWidgets_USE_DEBUG=ON ../../
Make the Debug binaries:
make
Note: that it is easy to build only a specific binary such as pcbnew alone:
make pcbnew
See ./cmake_config.txt for customizing the KiCad build setting.

View File

@ -1,8 +1,10 @@
Compiling KiCad on Apple Mac OS X
=================================
First written: 2010-01-31
Last edited by: Jerry Jacobs <xor.gate.engineering[at]gmail[dot]com>
by: Jerry Jacobs <xor.gate.engineering[at]gmail[dot]com>
Modified at: 2014-02-07
by: Marco Serantoni <marco.serantoni[at]gmail[dot]com>
Snow Leopard
------------
@ -11,158 +13,51 @@ Requirements
* XCode Tools (http://developer.apple.com/tools/xcode)
* bzr (bazaar)
* CMake (http://www.cmake.org)
* wxWidgets 2.9 (http://www.wxwidgets.org/downloads)
* Doxygen (http://www.doxygen.nl)
* ccache (http://www.macports.org)
The build of Kicad for OSX is now easier than before.
The building system will download and compile the needed libraries for you
patching them accordly to the needs.
Building wxWidgets 2.9 Universal
Building Kicad with no support for Scripting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To check if your tools and libraries are installed check with file for architectures.
user@macosx$ file /Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib
The building needs to know if you want a static binary or a dynamic one
Just set ONE of those two options KICAD_BUILD_STATIC or KICAD_BUILD_DYNAMIC
If you set KICAD_BUILD_DYNAMIC the building system will build all and include
the needed libraries for each executable in its bundle
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib: Mach-O universal binary with 4 architectures
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture ppc7400): Mach-O dynamically linked shared library stub ppc
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture ppc64)Mach-O 64-bit dynamically linked shared library stub ppc64
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture i386):Mach-O dynamically linked shared library stub i386
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libSystem.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library stub x86_64
cmake -DKICAD_BUILD_DYNAMIC=ON .
make
You need the architectures what you are compiling for !
Building Kicad with support for Scripting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Due some problems with some dependencies the build of this kind of binary is a bit
more complex, you should initially set KICAD_BUILD_DYNAMIC
then issue for example
If you have problems that the 64bits library is not build you should add in
the configure file:
cmake -DKICAD_BUILD_DYNAMIC=ON .
make lib-wxpython
At time of writing (2009-01-16) this is on line 18381
changing this: OSX_UNIV_OPTS="-arch ppc -arch i386"
into this: OSX_UNIV_OPTS="-arch ppc -arch i386 -arch x86_64"
After successfully building you can set your KICAD_SCRIPTING* options (for example):
Building a universal monolib wxWidgets 2.9 with the following parameters:
./configure --enable-unicode=yes --enable-shared=no --enable-monolithic --with-opengl --with-expat=builtin --enable-universal_binary --enable-aui --enable-debug --with-osx_cocoa --with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk/ --prefix=/opt/wxwidgets/<rev>
cmake -DKICAD_SCRIPTING=ON -DKICAD_SCRIPTING_WXPYTHON=ON .
make
<rev> Should be subsituded with the revision from SVN
The system will build all accordling your choices and package all in the bundle
I know bundles will be huge, but those will be autosufficient.
Then you should a message like this:
Building Kicad for other processors or Universal binaries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Configured wxWidgets 2.9.2 for `i686-apple-darwin10.4.0'
I wish remember you should set the processor like
Which GUI toolkit should wxWidgets use? osx_cocoa
Should wxWidgets be compiled into single library? yes
Should wxWidgets be linked as a shared library? no
Should wxWidgets support Unicode? yes (using UTF-8)
What level of wxWidgets compatibility should be enabled?
wxWidgets 2.6 no
wxWidgets 2.8 yes
Which libraries should wxWidgets use?
STL no
jpeg builtin
png builtin
regex builtin
tiff builtin
zlib sys
expat builtin
libmspack no
sdl no
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64"
for other platforms
If you don't need the debugging symbols then you can remove the --enable-debug parameter.
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64 -arch i386"
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64 -arch i386 -arch ppc"
Compiling and installing:
make
sudo make install
Move the old Mac OS X wxconfig and symlink it to the new compiled 2.9
sudo mv /usr/bin/wx-config /usr/bin/wx-config.osx
sudo ln -s /opt/wxwidgets-svn/bin/wx-config /usr
Building KiCad
~~~~~~~~~~~~~~
Extract the sources or get them from subversion.
user@mac-osx$ cmake .
Regarding Kicad the only things i've changed are the Variables
in the generated CMakeCache.txt
It depends on which CMake version you use:
//Flags used by the compiler during all build types.
//This fixes also BOOST macro errors
CMAKE_CXX_FLAGS:STRING=-D__ASSERTMACROS__
//Build architectures for OSX
CMAKE_OSX_ARCHITECTURES:STRING=x86_64 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5
//The product will be built against the headers and libraries located
// inside the indicated SDK.
CMAKE_OSX_SYSROOT:PATH=/Developer/SDKs/MacOSX10.5.sdk
//Minimum OS X version to target for deployment (at runtime); newer
// APIs weak linked. Set to empty string for default value.
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.5
Or:
CMAKE_OSX_ARCHITECTURE = x86_64 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5
CMAKE_OSX_SYSROOT = /Developer/SDKs/MacOSX10.5.sdk
CMAKE_CXX_FLAGS = -D__ASSERTMACROS__
Then we invoke make:
user@mac-osx$ make
It is also possible to give all the options on the commandline and not to edit the CMakeCache.txt. This is a oneliner for Leopard and up:
cmake ~/Repositories/testing -DCMAKE_OSX_ARCHITECTURES="i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6" -DCMAKE_CXX_FLAGS="-D__ASSERTMACROS__" -DCMAKE_OSX_SYSROOT="/Developer/SDKs/MacOSX10.6.sdk"
Optional compiler cache
~~~~~~~~~~~~~~~~~~~~~~~
If you (re)compile often, you would love to use cache. The best is to install it using macports and set the libexec symlink
directory of ccache in your PATH variable.
Then start with a clean directory and invoke cmake, make sure that the C++ compiler points to /opt/local/libexec/ccache/g++
Further reading at http://trac.macports.org/wiki/howto/ccache
Known Problems
~~~~~~~~~~~~~~
In file included from
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/detail/reversible_ptr_container.hpp:22In
file included from
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/detail/reversible_ptr_container.hpp:22,
from
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/ptr_sequence_adapter.hpp:20,
from
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/ptr_vector.hpp:20,
from
/temp/kicad-sources/kicad/include/board_item_struct.h:9,
from /temp/kicad-sources/kicad/include/pcbstruct.h:10,
from /temp/kicad-sources/kicad/3d-viewer/3d_viewer.h:29,
from /temp/kicad-sources/kicad/3d-viewer/3d_aux.cpp:23:
/temp/kicad-sources/boost_1_38_0/boost/ptr_container/detail/static_move_ptr.hpp:154:50:
error: macro "check" passed 2 arguments, but takes just 1
CMAKE_CXX_FLAGS = -D__ASSERTMACROS__ fixes this :-)
configure:18585: gcc -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -mmacosx-version-min=10.5 -o conftest -arch i386 -arch x86_64 -arch ppc -arch i386 -arch x86_64 -arch ppc conftest.c >&5
ld: warning: in /Developer/SDKs/MacOSX10.5.sdk//usr/lib/libSystem.dylib, missing required architecture ppc in file
Installing rosetta and xcode with all architectures fixes this "problem"
ld: warning: in /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks//QuickTime.framework/QuickTime, missing required architecture x86_64 in file
You get this error because the QuickTime 10.6 framework is not build with 64bit support. This not a real issue for KiCad because we don't use it anyway.
Undefined symbols:
"TestForIntersectionOfStraightLineSegments(int, int, int, int, int, int, int, int, int*, int*, double*)", referenced from:
clipLine(EDA_Rect*, int&, int&, int&, int&)in libcommon.a(gr_basic.cpp.o)
Make sure you marked the build type Release:
//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=Release
I know some you should prefer use ; as separator, this will be accomplished soon
keeping support for both the syntaxes

View File

@ -151,7 +151,6 @@ set( BMAPS_MID
annotate_down_right
annotate_right_down
annotate
apply
auto_associe
auto_delete_track
auto_track_width
@ -447,6 +446,7 @@ set( BMAPS_MID
preference
print_button
ps_router
py_script
ratsnest
read_setup
redo

View File

@ -8,26 +8,28 @@
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, 0x01, 0x26, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f,
0x03, 0x3d, 0x30, 0x55, 0x0d, 0x6b, 0x68, 0x68, 0x60, 0x49, 0xc9, 0x4c, 0xc9, 0x4e, 0xce, 0x49,
0x79, 0x08, 0xc2, 0x20, 0x36, 0x48, 0x8c, 0xea, 0x16, 0x81, 0x0c, 0x8e, 0xaa, 0x8c, 0xfb, 0x6a,
0xb1, 0xd6, 0xed, 0x3f, 0x08, 0x83, 0xd8, 0x20, 0x31, 0xaa, 0x5b, 0x04, 0xf2, 0x05, 0xc8, 0x02,
0xad, 0x43, 0x36, 0x60, 0x0c, 0x62, 0x83, 0xc4, 0x86, 0xa6, 0x45, 0x0c, 0x0c, 0x17, 0xc5, 0x0c,
0x8c, 0xe6, 0xde, 0x0f, 0x2f, 0x4d, 0xfa, 0x4b, 0xb3, 0xa0, 0x63, 0x60, 0x38, 0x27, 0xca, 0xc0,
0x70, 0xe1, 0x04, 0x13, 0xd3, 0xb9, 0x0f, 0x06, 0xc6, 0x73, 0xee, 0xd2, 0x24, 0x31, 0x30, 0x30,
0x9c, 0x11, 0x61, 0x60, 0x38, 0x7f, 0x02, 0x88, 0x3f, 0x80, 0x2c, 0x03, 0xf9, 0x8c, 0x26, 0xc9,
0x1b, 0xe8, 0x9b, 0x76, 0x88, 0x25, 0x20, 0xcb, 0xce, 0x89, 0xd2, 0x2c, 0x1f, 0x01, 0x7d, 0x64,
0x0e, 0xf4, 0x49, 0x0f, 0xc8, 0x67, 0x54, 0xcf, 0xb0, 0xd0, 0xe0, 0x0a, 0x05, 0xd2, 0xac, 0x34,
0x2b, 0x19, 0x40, 0x71, 0x00, 0xb4, 0xe4, 0x24, 0x24, 0xb8, 0xce, 0x85, 0xd0, 0xc4, 0x22, 0x58,
0xea, 0x82, 0xc6, 0x09, 0xd0, 0xb2, 0xab, 0x42, 0x54, 0xb7, 0x08, 0x18, 0x4c, 0x5c, 0x40, 0x8b,
0x8e, 0x13, 0x4a, 0x5d, 0x54, 0xb0, 0xe8, 0xbc, 0x29, 0x34, 0xb8, 0x8e, 0xe3, 0x4b, 0x5d, 0x54,
0x0a, 0xba, 0xf3, 0x56, 0x40, 0x2c, 0x40, 0xf5, 0x6a, 0x02, 0x9a, 0xba, 0xe6, 0x31, 0x30, 0x9c,
0x0d, 0xa7, 0x59, 0x7d, 0x04, 0xb1, 0xe4, 0xdc, 0x31, 0x68, 0xc4, 0xcf, 0xa6, 0x89, 0x45, 0xa8,
0x96, 0x80, 0x68, 0xfc, 0x99, 0x91, 0x68, 0x8b, 0xd0, 0x6b, 0x46, 0x63, 0xd3, 0x99, 0x57, 0x40,
0x05, 0x24, 0xb5, 0x2c, 0x81, 0x5b, 0x84, 0x5e, 0x33, 0x86, 0x97, 0x26, 0xfc, 0x31, 0x34, 0x99,
0x7d, 0x93, 0x5a, 0x96, 0xc0, 0x2d, 0xc2, 0x57, 0x61, 0x0d, 0x4d, 0x8b, 0xf0, 0x35, 0x2a, 0xa8,
0x6a, 0x11, 0xbe, 0x66, 0xd2, 0xa0, 0x6c, 0xd7, 0xe1, 0xc3, 0x00, 0x42, 0x71, 0x3f, 0x3f, 0xa1,
0x5f, 0x72, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
0xce, 0x00, 0x00, 0x01, 0x3f, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xb5, 0x95, 0xbd, 0x4a, 0x03,
0x41, 0x14, 0x46, 0x4f, 0x82, 0x88, 0x22, 0x58, 0x0b, 0x36, 0x96, 0x22, 0x16, 0x06, 0x7f, 0x48,
0xa5, 0x22, 0x88, 0xfa, 0x0e, 0x56, 0xbe, 0x4a, 0x1a, 0x0b, 0x1b, 0x1f, 0x42, 0xb0, 0xb2, 0xf1,
0x01, 0xb6, 0xb1, 0x08, 0xe8, 0xce, 0xbd, 0x2b, 0x2e, 0xd8, 0xa8, 0x68, 0x14, 0xa3, 0x8d, 0xbe,
0xc1, 0x58, 0x64, 0x75, 0x43, 0xb2, 0xab, 0x71, 0x76, 0xa6, 0x18, 0x66, 0x60, 0x67, 0x38, 0x7c,
0x73, 0x76, 0xee, 0xc5, 0x5a, 0x4b, 0xa8, 0x01, 0x57, 0xf3, 0x3f, 0xeb, 0x70, 0x90, 0xeb, 0x3d,
0x90, 0x77, 0x30, 0xad, 0x60, 0xa0, 0x1c, 0x22, 0x9f, 0x20, 0x0f, 0xa0, 0xb3, 0x81, 0x40, 0xe6,
0x00, 0xe4, 0x03, 0xe4, 0x1e, 0x92, 0x45, 0xef, 0x89, 0x20, 0x99, 0xca, 0xd7, 0xba, 0x0f, 0x66,
0xc1, 0xbb, 0x23, 0x90, 0x6d, 0xd0, 0x3b, 0x48, 0x9a, 0x85, 0xdf, 0xfd, 0x40, 0xe2, 0x1d, 0x90,
0xb7, 0xcc, 0xc9, 0x0d, 0xa4, 0xe3, 0xde, 0x41, 0x90, 0xec, 0xf6, 0x89, 0x7f, 0x04, 0x59, 0x0a,
0x92, 0x08, 0xf4, 0xb0, 0x07, 0x31, 0x4f, 0xa0, 0x8d, 0xd2, 0x7d, 0xee, 0x80, 0x68, 0xac, 0x37,
0xdb, 0x1a, 0x98, 0x16, 0xc4, 0xcb, 0xbf, 0xee, 0x77, 0x74, 0xb2, 0x05, 0x72, 0x09, 0x32, 0x37,
0xf2, 0x19, 0x87, 0xbf, 0x6b, 0x13, 0xb4, 0x9b, 0x39, 0x69, 0x83, 0xad, 0x7b, 0x07, 0x81, 0xd9,
0x00, 0xe9, 0xe6, 0x4e, 0xcc, 0x4a, 0x90, 0x44, 0xa0, 0xa7, 0x2e, 0x10, 0x07, 0x50, 0x67, 0x12,
0xe4, 0xe4, 0xbf, 0x90, 0x91, 0x40, 0x60, 0xd6, 0x41, 0xce, 0xa1, 0x3d, 0x5d, 0xe9, 0x19, 0xfc,
0x0d, 0x31, 0xaf, 0x99, 0xf8, 0xb3, 0x20, 0xa0, 0x01, 0x48, 0x07, 0x64, 0xd5, 0x3b, 0x08, 0x6c,
0x1d, 0xe4, 0x22, 0x83, 0x3c, 0x83, 0xae, 0x55, 0xae, 0x20, 0xe5, 0x89, 0xd2, 0x19, 0x90, 0x08,
0xe2, 0xa6, 0x97, 0xc2, 0x3b, 0x7c, 0x5d, 0x7a, 0xfc, 0xfd, 0x08, 0xc1, 0xd6, 0xbc, 0xb5, 0x91,
0x62, 0x27, 0x7a, 0xe4, 0xbd, 0xeb, 0x16, 0x88, 0x7f, 0x29, 0x6b, 0x5e, 0xd5, 0xaa, 0x3c, 0xd1,
0x04, 0xe8, 0x6d, 0x48, 0x48, 0x5f, 0x22, 0x6d, 0x80, 0xa4, 0xa1, 0x20, 0x03, 0x8e, 0x86, 0xdb,
0xaf, 0xcf, 0xf1, 0x05, 0x56, 0x13, 0x40, 0xc7, 0xbb, 0x6a, 0xb9, 0x16, 0x00, 0x00, 0x00, 0x00,
0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE add_dashed_line_xpm[1] = {{ png, sizeof( png ), "add_dashed_line_xpm" }};

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -34,15 +34,15 @@
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1301"
inkscape:window-height="744"
inkscape:window-width="1600"
inkscape:window-height="849"
id="namedview48"
showgrid="true"
inkscape:zoom="22.961538"
inkscape:cx="13"
inkscape:cx="4.3551087"
inkscape:cy="13"
inkscape:window-x="65"
inkscape:window-y="24"
inkscape:window-x="0"
inkscape:window-y="29"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
inkscape:snap-to-guides="false"
@ -60,26 +60,9 @@
<defs
id="defs4" />
<path
style="fill:none;stroke:#0000cf;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.94117647000000004;stroke-miterlimit:0;stroke-dasharray:4,4;stroke-dashoffset:5.2"
d="M 4,22 22,4"
style="fill:none;stroke:#0000cf;stroke-width:2.4000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-opacity:0.94117647;stroke-dasharray:4.80000019, 2.4000001;stroke-dashoffset:6.23999975"
d="M 1,25 24.485762,1.427136"
id="path2990"
inkscape:connector-curvature="0" />
<rect
style="fill:#2ac23c;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3776"
width="5"
height="5.0000005"
x="19.5"
y="1.4999995"
ry="2.5"
rx="2.5" />
<rect
rx="2.5"
ry="2.5"
y="19.5"
x="1.5"
height="5.0000005"
width="5"
id="rect3761"
style="fill:#2ac23c;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -39,13 +39,13 @@
inkscape:window-height="849"
id="namedview184"
showgrid="true"
inkscape:zoom="22.961538"
inkscape:cx="6.1110434"
inkscape:cy="11.23117"
inkscape:zoom="45.923076"
inkscape:cx="16.222556"
inkscape:cy="5.7369038"
inkscape:window-x="0"
inkscape:window-y="29"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
inkscape:current-layer="text3040"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
@ -104,34 +104,67 @@
transform="scale(0.85855393,1.1647492)"
style="font-size:10.0978241px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Garuda;-inkscape-font-specification:Garuda"
id="text3036">
<path
d="m 13.767886,1.8663839 -1.157982,3.1400741 2.32019,0 -1.162208,-3.1400741 m -0.481788,-0.8410158 0.967802,0 2.404714,6.3097316 -0.887505,0 -0.574764,-1.6186385 -2.844239,0 -0.574765,1.6186385 -0.900183,0 2.40894,-6.3097316"
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
id="path2994" />
<path
d="m 18.429396,4.3218119 0,2.3117369 1.369292,0 c 0.459244,7e-7 0.79875,-0.094384 1.018516,-0.283156 C 21.03978,6.1588057 21.151071,5.8671975 21.151075,5.4755673 21.151071,5.0811233 21.03978,4.7909238 20.817204,4.604968 20.597438,4.4162002 20.257932,4.3218149 19.798688,4.3218119 l -1.369292,0 m 0,-2.594893 0,1.9017946 1.263636,0 c 0.416983,3.7e-6 0.726905,-0.077477 0.929767,-0.2324416 C 20.82847,3.2384975 20.931308,2.9990125 20.931312,2.6778162 20.931308,2.3594467 20.82847,2.1213704 20.622799,1.9635867 20.419937,1.8058137 20.110015,1.7269246 19.693032,1.7269189 l -1.263636,0 m -0.853695,-0.7015508 2.180725,0 c 0.650832,6.3e-6 1.152342,0.1352449 1.50453,0.4057161 0.35218,0.2704831 0.528272,0.6550678 0.528277,1.1537554 -5e-6,0.3859982 -0.09016,0.6931025 -0.270478,0.9213138 -0.180323,0.2282189 -0.445165,0.3705012 -0.794527,0.4268472 0.419799,0.090162 0.745217,0.278933 0.976254,0.5663121 0.233845,0.2845674 0.35077,0.6409774 0.350776,1.0692312 -6e-6,0.5634959 -0.191594,0.9987951 -0.574765,1.3058989 -0.383181,0.3071048 -0.928361,0.4606569 -1.635543,0.4606569 l -2.265249,0 0,-6.3097316"
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
id="path2996" />
<path
d="m 28.08206,1.5113822 0,0.9001828 C 27.794672,2.1439102 27.487568,1.9438698 27.160746,1.8114431 26.836732,1.6790276 26.491592,1.612817 26.125324,1.6128113 c -0.721276,5.7e-6 -1.2735,0.2211771 -1.656674,0.663515 -0.383178,0.4395304 -0.574766,1.0762788 -0.574765,1.9102469 -1e-6,0.831157 0.191587,1.4679053 0.574765,1.9102469 0.383174,0.4395267 0.935398,0.6592894 1.656674,0.6592888 0.366268,6e-7 0.711408,-0.06621 1.035422,-0.1986319 0.326822,-0.1324203 0.633926,-0.3324607 0.921314,-0.6001218 l 0,0.8917303 c -0.298658,0.2028584 -0.615623,0.3550018 -0.950898,0.4564307 -0.332466,0.101429 -0.68465,0.1521435 -1.056552,0.1521436 -0.955126,-1e-7 -1.707391,-0.2916083 -2.256796,-0.8748255 -0.549408,-0.5860331 -0.824112,-1.384786 -0.824111,-2.3962611 -1e-6,-1.0142863 0.274703,-1.8130392 0.824111,-2.3962611 0.549405,-0.5860283 1.30167,-0.87904527 2.256796,-0.8790517 0.377537,6.43e-6 0.732539,0.0507209 1.065005,0.1521436 0.335274,0.098618 0.649422,0.2479436 0.942445,0.4479782"
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
id="path2998" />
<g
id="g3038"
transform="translate(-6.6451187,-12.86249)">
<path
id="path2994"
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
d="m 13.767886,1.8663839 -1.157982,3.1400741 2.32019,0 -1.162208,-3.1400741 m -0.481788,-0.8410158 0.967802,0 2.404714,6.3097316 -0.887505,0 -0.574764,-1.6186385 -2.844239,0 -0.574765,1.6186385 -0.900183,0 2.40894,-6.3097316"
inkscape:connector-curvature="0" />
<path
id="path2996"
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
d="m 18.429396,4.3218119 0,2.3117369 1.369292,0 c 0.459244,7e-7 0.79875,-0.094384 1.018516,-0.283156 C 21.03978,6.1588057 21.151071,5.8671975 21.151075,5.4755673 21.151071,5.0811233 21.03978,4.7909238 20.817204,4.604968 20.597438,4.4162002 20.257932,4.3218149 19.798688,4.3218119 l -1.369292,0 m 0,-2.594893 0,1.9017946 1.263636,0 c 0.416983,3.7e-6 0.726905,-0.077477 0.929767,-0.2324416 C 20.82847,3.2384975 20.931308,2.9990125 20.931312,2.6778162 20.931308,2.3594467 20.82847,2.1213704 20.622799,1.9635867 20.419937,1.8058137 20.110015,1.7269246 19.693032,1.7269189 l -1.263636,0 m -0.853695,-0.7015508 2.180725,0 c 0.650832,6.3e-6 1.152342,0.1352449 1.50453,0.4057161 0.35218,0.2704831 0.528272,0.6550678 0.528277,1.1537554 -5e-6,0.3859982 -0.09016,0.6931025 -0.270478,0.9213138 -0.180323,0.2282189 -0.445165,0.3705012 -0.794527,0.4268472 0.419799,0.090162 0.745217,0.278933 0.976254,0.5663121 0.233845,0.2845674 0.35077,0.6409774 0.350776,1.0692312 -6e-6,0.5634959 -0.191594,0.9987951 -0.574765,1.3058989 -0.383181,0.3071048 -0.928361,0.4606569 -1.635543,0.4606569 l -2.265249,0 0,-6.3097316"
inkscape:connector-curvature="0" />
<path
id="path2998"
style="font-size:8.65527821px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
d="m 28.08206,1.5113822 0,0.9001828 C 27.794672,2.1439102 27.487568,1.9438698 27.160746,1.8114431 26.836732,1.6790276 26.491592,1.612817 26.125324,1.6128113 c -0.721276,5.7e-6 -1.2735,0.2211771 -1.656674,0.663515 -0.383178,0.4395304 -0.574766,1.0762788 -0.574765,1.9102469 -1e-6,0.831157 0.191587,1.4679053 0.574765,1.9102469 0.383174,0.4395267 0.935398,0.6592894 1.656674,0.6592888 0.366268,6e-7 0.711408,-0.06621 1.035422,-0.1986319 0.326822,-0.1324203 0.633926,-0.3324607 0.921314,-0.6001218 l 0,0.8917303 c -0.298658,0.2028584 -0.615623,0.3550018 -0.950898,0.4564307 -0.332466,0.101429 -0.68465,0.1521435 -1.056552,0.1521436 -0.955126,-1e-7 -1.707391,-0.2916083 -2.256796,-0.8748255 -0.549408,-0.5860331 -0.824112,-1.384786 -0.824111,-2.3962611 -1e-6,-1.0142863 0.274703,-1.8130392 0.824111,-2.3962611 0.549405,-0.5860283 1.30167,-0.87904527 2.256796,-0.8790517 0.377537,6.43e-6 0.732539,0.0507209 1.065005,0.1521436 0.335274,0.098618 0.649422,0.2479436 0.942445,0.4479782"
inkscape:connector-curvature="0" />
</g>
<g
transform="scale(1.1258075,0.88825133)"
style="font-size:9.31130981px;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;font-family:Sans;-inkscape-font-specification:Sans"
id="text3034">
<path
d="m 10.361478,1.9170197 1.035592,0 0.02253,4.0359105 c 0.004,0.71195 -0.0033,1.2251621 0.260375,1.5396087 0.263697,0.3114823 0.7136,0.2988428 1.304653,0.2988421 0.588015,7e-7 0.878701,-0.050502 1.142404,-0.3619846 0.263695,-0.3144466 0.377079,-0.8066116 0.37302,-1.5185612 l -0.02253,-3.9517205 1.080648,-0.042095 0,4.147154 c -6e-6,0.8662168 -0.219755,1.5203274 -0.659248,1.9623335 -0.436472,0.4420073 -1.08208,0.6630105 -1.936825,0.6630107 -0.857783,-2e-7 -1.506421,-0.2210034 -1.945918,-0.6630107 C 10.579711,7.5845011 10.361477,6.9303905 10.361478,6.0641737 l 0,-4.147154"
style="line-height:125%;font-family:Sans;-inkscape-font-specification:Sans"
id="path3044"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccscscsccscscsc" />
<path
d="m 17.57178,7.7291671 1.083191,0.021047 0,0.9337388 -1.060662,0 m 1.029313,-1.8994729 -0.997964,0.021047 0,-0.5757372 c 0,-0.2977395 0.04876,-0.5424185 0.146299,-0.7340378 C 17.869484,5.30414 18.075002,5.0815705 18.3885,4.8280438 L 18.858745,4.4344935 C 19.05729,4.2782569 19.200106,4.1308599 19.28719,3.992302 19.37775,3.8537535 19.558209,3.6701574 19.558212,3.5257032 19.558209,3.2633417 19.42073,3.093185 19.190837,2.9310425 18.964419,2.7689115 18.550471,2.6878432 18.174278,2.6878373 c -0.275183,5.9e-6 -0.569522,0.051595 -0.883016,0.1547669 -0.310015,0.1031838 -0.431203,0.2324812 -0.76908,0.4299878 l 0.02253,-0.8102724 c 0.327428,-0.1680264 0.433052,-0.2933138 0.76745,-0.3758628 0.337879,-0.082536 0.686208,-0.1238069 1.04499,-0.1238136 0.640923,6.7e-6 1.334939,0.1429818 1.721588,0.4289257 0.390125,0.2859565 0.585189,0.6211979 0.585195,1.0899151 -6e-6,0.2240486 -0.130286,0.4798694 -0.255685,0.6832726 -0.125404,0.2004645 -0.457494,0.4274559 -0.770987,0.6809749 l -0.459796,0.3802847 c -0.163717,0.1385567 -0.280408,0.2476304 -0.35007,0.3272217 -0.06618,0.07665 -0.11321,0.151822 -0.141075,0.2255176 -0.0209,0.061909 -0.03658,0.1370821 -0.04703,0.2255177 -0.01049,0.08844 -0.007,0.2095219 -0.01568,0.362597 l -0.02253,0.3965628"
style="line-height:125%;font-family:Sans;-inkscape-font-specification:Sans"
id="path3046"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccsccccccccccccccccccccsc" />
<path
d="m 23.80282,3.0112083 -1.088051,2.8308424 2.180648,0 -1.092597,-2.8518899 m -0.518306,-1.0731411 1.041157,0 2.586981,6.7879812 -0.954773,0 -0.730974,-1.9728467 -2.812003,-0.021047 -0.753502,1.9938942 -0.968412,0 2.591526,-6.7879812"
style="line-height:125%;font-family:Sans;-inkscape-font-specification:Sans"
id="path3048"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccccc" />
</g>
</g>
<g
transform="scale(0.88744146,1.1268349)"
transform="matrix(0.88744146,0,0,1.1268349,1.2629817,0)"
style="font-size:9.76912498px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Garuda;-inkscape-font-specification:Garuda"
id="text3040">
<path
d="m 13.751739,21.490968 1.349252,0 0,-4.656962 -1.467822,0.294383 0,-0.75231 1.459644,-0.294382 0.825906,0 0,5.409271 1.349251,0 0,0.695069 -3.516231,0 0,-0.695069"
d="m 14.291563,21.490968 1.349252,0 0,-4.656962 -1.467822,0.294383 0,-0.75231 1.459644,-0.294382 0.825906,0 0,5.409271 1.349251,0 0,0.695069 -3.516231,0 0,-0.695069"
style="font-size:8.37353611px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
id="path3001" />
id="path3001"
inkscape:connector-curvature="0" />
<path
d="m 19.651648,21.490968 2.882491,0 0,0.695069 -3.876031,0 0,-0.695069 c 0.313461,-0.324364 0.740042,-0.759123 1.279744,-1.304276 0.542424,-0.547876 0.883144,-0.900861 1.022161,-1.058958 0.264395,-0.297105 0.448384,-0.547874 0.551966,-0.75231 0.106301,-0.207154 0.159453,-0.410223 0.159457,-0.609208 -4e-6,-0.32436 -0.114485,-0.588759 -0.343446,-0.793196 -0.226241,-0.204426 -0.521986,-0.306642 -0.887235,-0.306648 -0.258949,6e-6 -0.532888,0.04498 -0.821817,0.134925 -0.286206,0.08996 -0.592853,0.226244 -0.919944,0.408864 l 0,-0.834082 c 0.332542,-0.133557 0.643278,-0.23441 0.93221,-0.30256 0.288929,-0.06814 0.553328,-0.10221 0.793197,-0.102216 0.632373,6e-6 1.136638,0.1581 1.512797,0.474283 0.37615,0.316193 0.564228,0.738686 0.564232,1.267478 -4e-6,0.250774 -0.04771,0.489278 -0.143102,0.715512 -0.09268,0.223516 -0.26304,0.487915 -0.51108,0.793197 -0.06815,0.07905 -0.284846,0.308013 -0.650094,0.686891 -0.365255,0.376157 -0.880423,0.903591 -1.545506,1.582304"
d="m 19.897022,21.471644 2.882491,0 0,0.695069 -3.876031,0 0,-0.695069 c 0.313461,-0.324364 0.740042,-0.759123 1.279744,-1.304276 0.542424,-0.547876 0.883144,-0.900861 1.022161,-1.058958 0.264395,-0.297105 0.448384,-0.547874 0.551966,-0.75231 0.106301,-0.207154 0.159453,-0.410223 0.159457,-0.609208 -4e-6,-0.32436 -0.114485,-0.588759 -0.343446,-0.793196 -0.226241,-0.204426 -0.521986,-0.306642 -0.887235,-0.306648 -0.258949,6e-6 -0.532888,0.04498 -0.821817,0.134925 -0.286206,0.08996 -0.592853,0.226244 -0.919944,0.408864 l 0,-0.834082 c 0.332542,-0.133557 0.643278,-0.23441 0.93221,-0.30256 0.288929,-0.06814 0.553328,-0.10221 0.793197,-0.102216 0.632373,6e-6 1.136638,0.1581 1.512797,0.474283 0.37615,0.316193 0.564228,0.738686 0.564232,1.267478 -4e-6,0.250774 -0.04771,0.489278 -0.143102,0.715512 -0.09268,0.223516 -0.26304,0.487915 -0.51108,0.793197 -0.06815,0.07905 -0.284846,0.308013 -0.650094,0.686891 -0.365255,0.376157 -0.880423,0.903591 -1.545506,1.582304"
style="font-size:8.37353611px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
id="path3003" />
id="path3003"
inkscape:connector-curvature="0" />
<path
d="m 26.774059,18.894681 c 0.395232,0.0845 0.703243,0.260313 0.924033,0.527435 0.223508,0.267127 0.335264,0.596944 0.335269,0.989451 -5e-6,0.602394 -0.207162,1.068499 -0.621474,1.398315 -0.414319,0.329817 -1.003082,0.494726 -1.766292,0.494726 -0.256224,0 -0.520622,-0.0259 -0.793197,-0.07769 -0.269851,-0.04906 -0.549241,-0.124022 -0.838171,-0.224875 l 0,-0.797285 c 0.228963,0.133563 0.479733,0.234416 0.75231,0.30256 0.272574,0.06814 0.557416,0.102216 0.854526,0.102216 0.517891,0 0.911763,-0.102216 1.181617,-0.306648 0.272572,-0.204431 0.40886,-0.501539 0.408864,-0.891324 -4e-6,-0.359798 -0.126752,-0.640551 -0.380244,-0.84226 -0.250773,-0.204429 -0.601033,-0.306645 -1.05078,-0.306648 l -0.711424,0 0,-0.678714 0.744133,0 c 0.406135,3e-6 0.716872,-0.08041 0.93221,-0.24123 0.215331,-0.163542 0.322999,-0.397957 0.323003,-0.703246 -4e-6,-0.313458 -0.11176,-0.553325 -0.335269,-0.719601 -0.22079,-0.168992 -0.53834,-0.25349 -0.952653,-0.253496 -0.226241,6e-6 -0.468833,0.02454 -0.727778,0.0736 -0.258949,0.04907 -0.543791,0.12539 -0.854526,0.228964 l 0,-0.735956 c 0.313461,-0.08722 0.60648,-0.152636 0.879058,-0.196255 0.275299,-0.0436 0.534246,-0.06541 0.776841,-0.06542 0.626922,6e-6 1.12301,0.143109 1.488265,0.429308 0.365248,0.283484 0.547874,0.667816 0.547878,1.152996 -4e-6,0.337999 -0.09677,0.624203 -0.290293,0.858615 -0.193533,0.231693 -0.468835,0.392513 -0.825906,0.482459"
d="m 26.675909,18.894681 c 0.395232,0.0845 0.703243,0.260313 0.924033,0.527435 0.223508,0.267127 0.335264,0.596944 0.335269,0.989451 -5e-6,0.602394 -0.207162,1.068499 -0.621474,1.398315 -0.414319,0.329817 -1.003082,0.494726 -1.766292,0.494726 -0.256224,0 -0.520622,-0.0259 -0.793197,-0.07769 -0.269851,-0.04906 -0.549241,-0.124022 -0.838171,-0.224875 l 0,-0.797285 c 0.228963,0.133563 0.479733,0.234416 0.75231,0.30256 0.272574,0.06814 0.557416,0.102216 0.854526,0.102216 0.517891,0 0.911763,-0.102216 1.181617,-0.306648 0.272572,-0.204431 0.40886,-0.501539 0.408864,-0.891324 -4e-6,-0.359798 -0.126752,-0.640551 -0.380244,-0.84226 -0.250773,-0.204429 -0.601033,-0.306645 -1.05078,-0.306648 l -0.711424,0 0,-0.678714 0.744133,0 c 0.406135,3e-6 0.716872,-0.08041 0.93221,-0.24123 0.215331,-0.163542 0.322999,-0.397957 0.323003,-0.703246 -4e-6,-0.313458 -0.11176,-0.553325 -0.335269,-0.719601 -0.22079,-0.168992 -0.53834,-0.25349 -0.952653,-0.253496 -0.226241,6e-6 -0.468833,0.02454 -0.727778,0.0736 -0.258949,0.04907 -0.543791,0.12539 -0.854526,0.228964 l 0,-0.735956 c 0.313461,-0.08722 0.60648,-0.152636 0.879058,-0.196255 0.275299,-0.0436 0.534246,-0.06541 0.776841,-0.06542 0.626922,6e-6 1.12301,0.143109 1.488265,0.429308 0.365248,0.283484 0.547874,0.667816 0.547878,1.152996 -4e-6,0.337999 -0.09677,0.624203 -0.290293,0.858615 -0.193533,0.231693 -0.468835,0.392513 -0.825906,0.482459"
style="font-size:8.37353611px;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol"
id="path3005" />
id="path3005"
inkscape:connector-curvature="0" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -1,390 +0,0 @@
<?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"
style="enable-background:new"
height="26"
width="26"
version="1.0"
id="svg2"
inkscape:version="0.48.4 r9939"
sodipodi:docname="apply.svg">
<metadata
id="metadata99">
<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="1119"
inkscape:window-height="823"
id="namedview97"
showgrid="true"
borderlayer="true"
inkscape:zoom="28.639971"
inkscape:cx="13.118885"
inkscape:cy="13.473811"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2">
<inkscape:grid
type="xygrid"
id="grid3080"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
dotted="false" />
</sodipodi:namedview>
<defs
id="defs4">
<linearGradient
id="a">
<stop
stop-color="#fff"
offset="0"
id="stop7" />
<stop
stop-color="#fff"
stop-opacity="0"
offset="1"
id="stop9" />
</linearGradient>
<linearGradient
id="c">
<stop
stop-color="#f0ff80"
offset="0"
id="stop12" />
<stop
stop-color="#f0ff80"
stop-opacity="0"
offset="1"
id="stop14" />
</linearGradient>
<radialGradient
id="ad"
fy="99.884003"
gradientUnits="userSpaceOnUse"
cy="77.542"
cx="54.537998"
gradientTransform="matrix(1.3117,5.847e-8,-4.3853e-8,0.98379,-16.906,1.3137)"
r="48">
<stop
stop-color="#66f515"
offset="0"
id="stop17" />
<stop
stop-color="#002e00"
offset="1"
id="stop19" />
</radialGradient>
<linearGradient
id="y"
y2="30.849001"
gradientUnits="userSpaceOnUse"
x2="89.091003"
gradientTransform="translate(0,4)"
y1="103.9"
x1="89.091003">
<stop
stop-color="#003100"
offset="0"
id="stop22" />
<stop
stop-color="#008c00"
offset="1"
id="stop24" />
</linearGradient>
<linearGradient
id="z"
y2="89.995003"
gradientUnits="userSpaceOnUse"
x2="83.324997"
gradientTransform="translate(-2.3932e-5,4)"
y1="24.062"
x1="83.324997">
<stop
stop-color="#bfffbf"
offset="0"
id="stop27" />
<stop
stop-color="#bfffbf"
stop-opacity="0"
offset="1"
id="stop29" />
</linearGradient>
<radialGradient
id="ae"
fx="53.16"
fy="87.081001"
gradientUnits="userSpaceOnUse"
cy="95.459"
cx="52.792"
gradientTransform="matrix(0.56466,8.5323e-8,-1.3866e-7,0.91764,24.424,0.14392)"
r="52">
<stop
stop-color="#001400"
offset="0"
id="stop32" />
<stop
stop-color="#001400"
stop-opacity="0"
offset="1"
id="stop34" />
</radialGradient>
<radialGradient
id="b"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
cy="29.375"
cx="99.765999"
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-96.241,-146.15)"
r="3.0156" />
<radialGradient
id="af"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
cy="29.375"
cx="99.765999"
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-167.24,-126.15)"
r="3.0156" />
<linearGradient
id="aa"
y2="47.379002"
xlink:href="#c"
gradientUnits="userSpaceOnUse"
x2="71.603996"
y1="96.884003"
x1="71.603996" />
<filter
id="ai"
color-interpolation-filters="sRGB">
<feGaussianBlur
stdDeviation="0.425"
id="feGaussianBlur40" />
</filter>
<linearGradient
id="ab"
y2="46.277"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
x2="77.138"
y1="74.838997"
x1="87.532997" />
<linearGradient
id="ac"
y2="69.837997"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
x2="83.324997"
gradientTransform="translate(0,4)"
y1="24.062"
x1="83.324997" />
<radialGradient
id="ag"
xlink:href="#c"
gradientUnits="userSpaceOnUse"
cy="29.375"
cx="99.765999"
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-167.24,-126.15)"
r="3.0156" />
<filter
id="aj"
color-interpolation-filters="sRGB">
<feGaussianBlur
stdDeviation="0.4605"
id="feGaussianBlur46" />
</filter>
<radialGradient
id="ah"
xlink:href="#a"
gradientUnits="userSpaceOnUse"
cy="51.919998"
cx="53.632999"
gradientTransform="matrix(1.0961,0.087912,-0.10023,1.2497,1.0599,-18.687)"
r="52" />
<filter
id="ak"
color-interpolation-filters="sRGB">
<feBlend
mode="lighten"
in2="BackgroundImage"
id="feBlend50" />
</filter>
<filter
id="al"
height="1.2058001"
width="1.3647"
color-interpolation-filters="sRGB"
y="-0.10289"
x="-0.18233">
<feGaussianBlur
stdDeviation="0.45819706"
id="feGaussianBlur53" />
</filter>
<filter
id="am"
height="1.2058001"
width="1.3647"
color-interpolation-filters="sRGB"
y="-0.10289"
x="-0.18233">
<feGaussianBlur
stdDeviation="0.45819706"
id="feGaussianBlur56" />
</filter>
<filter
id="v"
height="1.3703001"
width="1.2077"
color-interpolation-filters="sRGB"
y="-0.18513"
x="-0.10383">
<feGaussianBlur
stdDeviation="0.45819702"
id="feGaussianBlur59" />
</filter>
<filter
id="w"
height="1.2058001"
width="1.3647"
color-interpolation-filters="sRGB"
y="-0.10289"
x="-0.18233">
<feGaussianBlur
stdDeviation="0.45819706"
id="feGaussianBlur62" />
</filter>
<filter
id="x"
height="1.3703001"
width="1.2077"
color-interpolation-filters="sRGB"
y="-0.18513"
x="-0.10383">
<feGaussianBlur
stdDeviation="0.45819702"
id="feGaussianBlur65" />
</filter>
<radialGradient
inkscape:collect="always"
xlink:href="#a"
id="radialGradient3076"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-96.241,-146.15)"
cx="99.765999"
cy="29.375"
r="3.0156" />
<radialGradient
inkscape:collect="always"
xlink:href="#a"
id="radialGradient3078"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.9647,3.4243e-7,-1.0415e-6,5.9753,-96.241,-146.15)"
cx="99.765999"
cy="29.375"
r="3.0156" />
</defs>
<g
transform="matrix(0.24502174,0,0,0.25091083,-2.5625062,-3.5450263)"
id="g67">
<path
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
id="path69"
inkscape:connector-curvature="0"
style="fill:none;stroke:#004d00;stroke-width:8.10000038;stroke-linecap:round;stroke-linejoin:round;filter:url(#aj)" />
<path
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
id="path71"
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#y);stroke-width:8;stroke-linecap:round;stroke-linejoin:round" />
<path
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
id="path73"
inkscape:connector-curvature="0"
style="opacity:0.28570999;fill:none;stroke:url(#ah);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:url(#ak)" />
<path
d="m 28.406,44.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
transform="matrix(1,0,0,-1,26,147.75)"
id="path75"
inkscape:connector-curvature="0"
style="opacity:0.40951999;fill:url(#ag);filter:url(#al)" />
<path
d="m 99.406,24.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
transform="matrix(-0.34202,0.93969,0.93969,0.34202,24.21,-42.203)"
id="path77"
inkscape:connector-curvature="0"
style="opacity:0.2381;fill:url(#radialGradient3076);filter:url(#v)" />
<path
d="m 28.406,44.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
id="path79"
inkscape:connector-curvature="0"
style="opacity:0.77619001;fill:url(#af);filter:url(#am)" />
<path
d="m 99.406,24.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
transform="matrix(0.34202,0.93969,-0.93969,0.34202,104.53,-62.203)"
id="path81"
inkscape:connector-curvature="0"
style="opacity:0.37142998;fill:url(#radialGradient3078);filter:url(#x)" />
<path
d="m 99.406,24.031 c -0.14989,-0.0024 -0.28658,0.01658 -0.4375,0.03125 -0.82719,0.08205 -1.5953,0.42708 -2.2188,0.96875 l 1.6875,9.6875 c 0.11092,-0.11368 0.85037,-0.84818 0.9375,-0.9375 l 0.375,0.375 3.0312,-8.3438 -0.5625,-0.5625 c -0.74135,-0.75959 -1.7633,-1.2019 -2.8125,-1.2188 z"
transform="translate(-2.3932e-5,0)"
id="path83"
inkscape:connector-curvature="0"
style="opacity:0.87142998;fill:url(#b);filter:url(#w)" />
<path
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
id="path85"
inkscape:connector-curvature="0"
style="opacity:0.28570999;fill:none;stroke:url(#ae);stroke-width:8;stroke-linecap:round;stroke-linejoin:round" />
<path
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
id="path87"
inkscape:connector-curvature="0"
style="fill:url(#ad)" />
<path
d="m 99.375,28.062 c -3e-6,0 -35.257,36.14 -44.969,46.094 C 46.258,65.806 28.625,47.75 28.625,47.75 L 16,60.688 32.469,77.563 c 0.18891,4.87e-4 0.37338,0 0.5625,0 17.53,0 34.136,-2.0931 49.031,-5.8438 l 29.937,-30.719 -12.625,-12.938 z"
id="path89"
inkscape:connector-curvature="0"
style="fill:url(#z)" />
<path
d="M 54.394,74.154 C 46.246,65.804 28.631,47.75 28.631,47.75 L 16,60.698 54.394,100.05 112,41 99.367,28.053 54.394,74.154 z"
id="path91"
inkscape:connector-curvature="0"
style="fill:none;stroke:url(#aa);filter:url(#ai)" />
<path
d="m 99.375,28.062 c 0,0 -0.40024,0.43134 -0.40625,0.4375 l 12.188,12.281 -30,30.219 c -14.927,3.6876 -31.057,6.2187 -48.625,6.2188 -0.12636,0 -0.25009,-10e-7 -0.375,0 l 0.3125,0.34375 c 0.18891,4.87e-4 0.37338,0 0.5625,0 17.53,0 34.136,-2.0931 49.031,-5.8438 l 29.936,-30.719 -12.625,-12.938 z"
transform="translate(-2.3932e-5,0)"
id="path93"
inkscape:connector-curvature="0"
style="fill:url(#ab)" />
<path
d="m 99.375,28.062 c -3e-6,0 -35.257,36.14 -44.969,46.094 C 46.258,65.806 28.625,47.75 28.625,47.75 L 16,60.688 l 0.5,0.5 12.125,-12.438 c 0,0 17.633,18.056 25.781,26.406 9.712,-9.954 44.969,-46.094 44.969,-46.094 L 111.5,41.5 112,41 99.375,28.062 z"
transform="translate(-2.3932e-5,0)"
id="path95"
inkscape:connector-curvature="0"
style="fill:url(#ac)" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -8,11 +8,11 @@
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"
height="26"
width="26"
version="1.1"
id="svg2"
inkscape:version="0.48.1 r9760"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="datasheet.svg">
<metadata
id="metadata33">
@ -36,26 +36,36 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1600"
inkscape:window-height="876"
inkscape:window-height="849"
id="namedview31"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="-0.5832341"
inkscape:cy="26.726924"
showgrid="true"
inkscape:zoom="23.882667"
inkscape:cx="6.9462797"
inkscape:cy="13.806302"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-y="29"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
inkscape:current-layer="svg2"
inkscape:snap-to-guides="false"
inkscape:snap-grids="false">
<inkscape:grid
type="xygrid"
id="grid2992"
empspacing="1"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<defs
id="defs4">
<linearGradient
id="a"
y2="73.399"
y2="73.399002"
gradientUnits="userSpaceOnUse"
x2="72.999"
x2="72.999001"
gradientTransform="matrix(0.25365,0,0,0.2205,4.7206034,0.98497864)"
y1="16.369"
x1="23.984">
y1="16.368999"
x1="23.983999">
<stop
stop-color="#fff"
offset="0"
@ -71,48 +81,43 @@
xlink:href="#a"
id="linearGradient2824"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.3154331,0,0,0.30075853,-0.90210036,-0.68623611)"
x1="23.984"
y1="16.369"
x2="72.999"
y2="73.399" />
gradientTransform="matrix(0.19611083,0,0,0.17490217,-2.6221466,-1.3587275)"
x1="23.983999"
y1="16.368999"
x2="72.999001"
y2="73.399002" />
</defs>
<rect
rx="7.6828136"
ry="7.6765027"
height="44.727772"
width="39.518372"
y="1.6953347"
x="4.4109545"
rx="4.7765532"
ry="4.464169"
height="26.010847"
width="24.569334"
y="0.026244164"
x="0.68108183"
id="rect15"
style="fill:none;stroke:#000000;stroke-width:2.51595616;stroke-linejoin:round;stroke-opacity:0.0657895" />
style="fill:none;stroke:#000000;stroke-width:1.51282549;stroke-linejoin:round;stroke-opacity:0.0657895" />
<rect
rx="7.6828136"
ry="7.6765027"
height="44.727772"
width="39.518372"
y="1.6653272"
x="4.3644452"
rx="4.7765532"
ry="4.464169"
height="26.010847"
width="24.569334"
y="0.0087932367"
x="0.65216607"
id="rect17"
style="fill:#bab5ab;fill-opacity:0.44298245;fill-rule:evenodd;stroke:#000000;stroke-width:1.25797808;stroke-opacity:0.04385962" />
style="fill:#bab5ab;fill-opacity:0.44298245;fill-rule:evenodd;stroke:#000000;stroke-width:0.75641274;stroke-opacity:0.04385962" />
<path
d="m 36.828749,44.887397 -25.411237,0 c -3.9079388,0 -5.8215534,-1.912033 -5.8215534,-5.816709 0,0 9.2693684,-22.303872 37.0535984,-25.70565 l 0,25.70565 c 0,3.904676 -1.913616,5.816709 -5.821555,5.816709 z"
d="m 20.835847,25.144019 -15.7986535,0 c -2.429641,0 -3.6193718,-1.111918 -3.6193718,-3.38263 0,0 5.7629448,-12.9705235 23.0369363,-14.9487827 l 0,14.9487827 c 0,2.270712 -1.189733,3.38263 -3.619374,3.38263 z"
id="path19"
style="fill:#ffffff;fill-opacity:0.27935001;fill-rule:evenodd" />
style="fill:#ffffff;fill-opacity:0.27935001;fill-rule:evenodd"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;stroke-width:1pt"
id="path23"
d="m 41.986992,31.946113 -3.841853,0 c -0.594242,0 -1.070639,0.07596 -1.429197,0.227904 -0.17417,0.05842 -0.327839,0.128568 -0.461048,0.210363 -0.133168,0.08183 -0.261238,0.198684 -0.384186,0.350609 -0.338086,0.350608 -0.583965,0.783045 -0.737647,1.297272 l -0.09228,0.420743 -0.03081,0.473331 0,0.368151 6.977006,0 0,2.24392 -6.977006,0 0,5.697416 -2.581783,0 0,-6.819467 c 0,-0.596035 0.01541,-1.116129 0.04621,-1.560243 0.0308,-0.455806 0.08191,-0.853158 0.153681,-1.19209 0.215128,-1.121979 0.665927,-2.039442 1.352365,-2.752354 0.430296,-0.455807 0.95279,-0.788893 1.567435,-0.999255 0.614715,-0.210361 1.393336,-0.315558 2.33592,-0.315558 l 4.103232,0 0,2.349098 z m -22.067939,-2.349634 6.346899,0 c 1.608437,0 2.832771,0.58436 3.672864,1.75308 0.840121,1.168722 1.260182,2.857533 1.260182,5.066332 0,2.185449 -0.420061,3.868518 -1.260182,5.048864 -0.829843,1.180397 -2.054179,1.770605 -3.672864,1.770605 l -6.346613,0 0,-13.638934 z m 2.48953,11.307306 3.027382,0 c 1.004013,0 1.746815,-0.368152 2.228291,-1.104436 0.481536,-0.747979 0.722288,-1.875786 0.722288,-3.383437 0,-1.507654 -0.230517,-2.629702 -0.691552,-3.365969 -0.450811,-0.736302 -1.203806,-1.104436 -2.259041,-1.104436 l -3.027381,0 0,8.958205 z m -12.002618,-2.54217 0,4.87362 -2.5826362,0 0,-13.638934 7.1767412,0 c 1.106459,0 1.982427,0.373979 2.627911,1.121975 0.64545,0.736285 0.968179,1.823198 0.968179,3.260789 0,1.425825 -0.322729,2.512755 -0.968179,3.260788 -0.64544,0.747979 -1.521452,1.121976 -2.627911,1.121976 l -4.59496,0 z m 0,-6.416214 0,4.084584 3.426574,0 c 0.56348,0 1.024513,-0.16362 1.383101,-0.490856 0.358589,-0.338931 0.537868,-0.859007 0.537868,-1.560243 0,-0.689541 -0.179279,-1.197938 -0.537868,-1.525175 -0.348653,-0.338719 -0.809628,-0.508078 -1.383357,-0.508078 l -3.427002,0 z" />
<path
style="stroke-width:1pt;stroke:none;stroke-opacity:1;fill:#636363;fill-opacity:1"
id="path25"
d="m 42.247516,32.243832 -3.841991,0 c -0.594245,0 -1.07064,0.07596 -1.429198,0.227901 -0.17417,0.05842 -0.327839,0.128555 -0.461048,0.210362 -0.133167,0.08183 -0.261241,0.198684 -0.384185,0.350609 -0.338087,0.350609 -0.58398,0.783046 -0.737663,1.297274 l -0.09228,0.42074 -0.03081,0.473334 0,0.368148 6.977006,0 0,2.243921 -6.977006,0 0,5.697416 -2.581782,0 0,-6.819467 c 0,-0.596035 0.01542,-1.116126 0.04607,-1.560242 0.03081,-0.455807 0.08191,-0.853159 0.153682,-1.192091 0.215128,-1.121976 0.665925,-2.03944 1.352365,-2.752354 0.430282,-0.455806 0.952788,-0.788892 1.567575,-0.999254 0.614703,-0.210361 1.393324,-0.315559 2.335919,-0.315559 l 4.103232,0 0,2.349097 z m -22.067937,-2.349637 6.346901,0 c 1.608434,0 2.83277,0.58436 3.672864,1.753079 0.840106,1.168722 1.260156,2.857536 1.260156,5.066334 0,2.185446 -0.420063,3.868519 -1.260156,5.048862 -0.829858,1.180397 -2.054179,1.770604 -3.672864,1.770604 l -6.346615,0 0,-13.638934 z m 2.489529,11.307304 3.027385,0 c 1.004028,0 1.746812,-0.368151 2.228292,-1.104436 0.48152,-0.747976 0.72227,-1.875784 0.72227,-3.383436 0,-1.507652 -0.230501,-2.629702 -0.691549,-3.365968 -0.450782,-0.736284 -1.203806,-1.104436 -2.259041,-1.104436 l -3.027386,0 0,8.958206 z m -12.002615,-2.542169 0,4.873621 -2.5826373,0 0,-13.638935 7.1767423,0 c 1.106485,0 1.982428,0.373981 2.627908,1.121978 0.645441,0.736284 0.968166,1.823196 0.968166,3.260787 0,1.425825 -0.322725,2.512755 -0.968166,3.260787 -0.645453,0.747978 -1.52145,1.121975 -2.627908,1.121975 l -4.594675,0 z m 0,-6.416214 0,4.084586 3.426573,0 c 0.56348,0 1.024511,-0.163617 1.383101,-0.490856 0.358588,-0.338933 0.537868,-0.859008 0.537868,-1.560245 0,-0.689541 -0.17928,-1.197937 -0.537868,-1.525176 -0.348793,-0.338717 -0.809629,-0.508077 -1.383357,-0.508077 l -3.427,0 z" />
<path
d="M 24.023644,5.3276251 C 29.472995,5.3738642 17.69757,31.349717 13.218834,27.889291 9.3401175,22.629767 38.060511,17.184742 35.568384,20.553782 30.488375,26.413459 20.559662,5.3276251 24.023023,5.3276251 z"
id="path27"
style="fill:#ffffff;fill-rule:evenodd;stroke:#df421e;stroke-width:1.9888792" />
<path
d="m 11.418383,2.8968687 25.411236,0 c 3.907937,0 5.821553,1.912033 5.821553,5.8167104 0,0 -26.6088,0.3036639 -37.0535969,30.6309959 l 0,-30.6350879 c 0,-3.4500612 2.3686392,-5.8167103 5.8215539,-5.8167103 z"
d="m 5.0377349,0.72498014 15.7986531,0 c 2.42964,0 3.619373,1.11191786 3.619373,3.38263126 0,0 -16.5432033,0.1765919 -23.0369345,17.8130536 l 0,-17.8154333 c 0,-2.0063375 1.4726286,-3.3826311 3.6193721,-3.3826311 z"
id="path29"
style="fill:url(#linearGradient2824);fill-rule:evenodd" />
style="fill:url(#linearGradient2824);fill-rule:evenodd"
inkscape:connector-curvature="0" />
<path
d="M 12.80163,2.0300946 C 17.684339,2.072788 7.1333622,26.05667 3.1203382,22.86161 -0.35505789,18.005414 25.378901,12.977942 23.145912,16.088629 18.594137,21.498951 9.6978454,2.0300946 12.801074,2.0300946 z"
id="path27"
style="fill:#ffffff;fill-rule:evenodd;stroke:#df421e;stroke-width:1.109;stroke-miterlimit:4;stroke-dasharray:none"
inkscape:connector-curvature="0" />
</svg>

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -38,55 +38,37 @@
inkscape:window-height="849"
id="namedview48"
showgrid="true"
inkscape:zoom="22.961538"
inkscape:cx="3.0154941"
inkscape:cy="13"
inkscape:zoom="32.472518"
inkscape:cx="13.960505"
inkscape:cy="19.966555"
inkscape:window-x="0"
inkscape:window-y="29"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
inkscape:snap-to-guides="false"
inkscape:snap-grids="true"
inkscape:snap-grids="false"
showguides="true"
inkscape:guide-bbox="true">
<inkscape:grid
type="xygrid"
id="grid3006"
empspacing="5"
id="grid3790"
empspacing="1"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
snapvisiblegridlinesonly="true"
dotted="false" />
</sodipodi:namedview>
<defs
id="defs4">
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter3945">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.05617153"
id="feGaussianBlur3947" />
</filter>
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter3941">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.05617153"
id="feGaussianBlur3943" />
</filter>
</defs>
id="defs4" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3757"
d="M 15,8.5 15,1"
style="fill:none;stroke:#666666;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
d="m 16.017072,8.8986023 0,-4.3193309"
style="fill:#b3b3b3;stroke:#999999;stroke-width:2.0134213;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
style="fill:none;stroke:#666666;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 15,17.5 15,25"
style="fill:none;stroke:#999999;stroke-width:2.06995559;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 15.988919,17.227939 0,4.410281"
id="path3759"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
@ -97,8 +79,8 @@
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<path
style="fill:none;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 7.5,10.43551 4.5,0"
style="fill:none;stroke:#800000;stroke-width:1.01023686;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 7.4501318,10.566163 4.0771232,0"
id="path3760"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
@ -106,8 +88,8 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3762"
d="m 7.5,15.5 4.5,0"
style="fill:none;stroke:#800000;stroke-width:1.20000005000000010;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
d="m 7.4489163,15.478224 4.0795547,0"
style="fill:none;stroke:#800000;stroke-width:1.03539085;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
style="fill:none;stroke:#800000;stroke-width:1.50000000000000000;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 21.5,13 25,13"
@ -127,9 +109,29 @@
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#800000;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 9.9677555,13.25 0,4.5"
style="fill:none;stroke:#800000;stroke-width:0.97354424;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 9.510469,13.536502 0,3.970548"
id="path3813"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:type="arc"
style="opacity:0.86000001;fill:none;stroke:#999999;stroke-width:3.28437424;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3788-3"
sodipodi:cx="36.822445"
sodipodi:cy="7.9916244"
sodipodi:rx="3.6365161"
sodipodi:ry="3.5494139"
d="m 40.458961,7.9916244 a 3.6365161,3.5494139 0 1 1 -7.273032,0 3.6365161,3.5494139 0 1 1 7.273032,0 z"
transform="matrix(0.46138943,0,0,0.45207407,-1.0067413,20.046752)" />
<path
sodipodi:type="arc"
style="opacity:0.86000001;fill:none;stroke:#999999;stroke-width:3.28437424;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3788-3-1"
sodipodi:cx="36.822445"
sodipodi:cy="7.9916244"
sodipodi:rx="3.6365161"
sodipodi:ry="3.5494139"
d="m 40.458961,7.9916244 a 3.6365161,3.5494139 0 1 1 -7.273032,0 3.6365161,3.5494139 0 1 1 7.273032,0 z"
transform="matrix(0.46138943,0,0,0.45207407,-1.0067413,-1.2635743)" />
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 56 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -22,7 +22,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@ -40,7 +40,7 @@
id="namedview27"
showgrid="true"
inkscape:zoom="16.236259"
inkscape:cx="11.015112"
inkscape:cx="-1.2106107"
inkscape:cy="12.903668"
inkscape:window-x="0"
inkscape:window-y="29"
@ -324,33 +324,26 @@
d="M 2.7193662,6.605523 21.488121,2.5852623 20.951874,21.208529 2.7193662,20.262586 z"
id="path4082"
inkscape:connector-curvature="0" />
<g
id="g4114"
transform="matrix(1.7519228,0,0,1.5465512,-13.370601,-13.931557)">
<path
inkscape:connector-curvature="0"
id="path4084"
d="m 17.725294,12.847571 -4.616416,6.184254 -2.961474,1.567839 0.304858,-6.663316 z"
style="opacity:0.40154443;fill:#aaaaaa;fill-opacity:1;stroke:none;filter:url(#filter4110)" />
<g
transform="translate(29.788945,8.6666669)"
id="g4056">
<path
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -18.901173,5.8793966 2.874372,1.5678392 -2.78727,1.8291458"
id="path4052"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -16.549414,9.4505859 2.700167,-0.087102"
id="path4054"
inkscape:connector-curvature="0" />
</g>
</g>
<path
style="opacity:0.40154443;fill:#aaaaaa;fill-opacity:1;stroke:none;filter:url(#filter4110)"
d="m 17.725294,12.847571 -4.616416,6.184254 -2.961474,1.567839 0.304858,-6.663316 z"
id="path4084"
inkscape:connector-curvature="0"
transform="matrix(1.7519228,0,0,1.5465512,-13.370601,-13.931557)" />
<path
style="fill:none;stroke:#00f13d;stroke-width:1.64603710000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 10.070397,14.395655 4.730484,-0.134708"
id="path4054"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:1.41075706;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter4130)"
d="M 0.86226758,24.583418 23.589177,26.615905"
id="path4120"
inkscape:connector-curvature="0"
transform="matrix(1.0013662,0,0,0.94865427,-0.01670327,0.47581614)" />
<path
style="fill:none;stroke:#00f13d;stroke-width:1.64603710000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 5.7039351,8.564675 5.0356779,2.424744 -4.8830819,2.828867"
id="path4052"
inkscape:connector-curvature="0" />
</svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@ -1196,3 +1196,102 @@ bool EDA_APP::SetFootprintLibTablePath()
return false;
}
/**
* Function Set3DShapesPath
* attempts set the environment variable given by aKiSys3Dmod to a valid path.
* (typically "KISYS3DMOD" )
* If the environment variable is already set,
* then it left as is to respect the wishes of the user.
*
* The path is determined by attempting to find the path modules/packages3d
* files in kicad tree.
* This may or may not be the best path but it provides the best solution for
* backwards compatibility with the previous 3D shapes search path implementation.
*
* @note This must be called after #SetBinDir() is called at least on Windows.
* Otherwise, the kicad path is not known (Windows specific)
*
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
* @return false if the aKiSys3Dmod path is not valid.
*/
bool EDA_APP::Set3DShapesPath( const wxString& aKiSys3Dmod )
{
wxString path;
// Set the KISYS3DMOD environment variable for the current process,
// if it is not already defined in the user's environment and valid.
if( wxGetEnv( aKiSys3Dmod, &path ) && wxFileName::DirExists( path ) )
return true;
// Attempt to determine where the 3D shape libraries were installed using the
// legacy path:
// on Unix: /usr/local/kicad/share/modules/packages3d
// or /usr/share/kicad/modules/packages3d
// On Windows: bin../share/modules/packages3d
wxString relpath( wxT( "modules/packages3d" ) );
// Apple MacOSx
#ifdef __WXMAC__
path = wxT("/Library/Application Support/kicad/modules/packages3d/");
if( wxFileName::DirExists( path ) )
{
wxSetEnv( aKiSys3Dmod, path );
return true;
}
path = wxString( wxGetenv( wxT( "HOME" ) ) ) + wxT("/Library/Application Support/kicad/modules/packages3d/");
if( wxFileName::DirExists( path ) )
{
wxSetEnv( aKiSys3Dmod, path );
return true;
}
#elif defined(__UNIX__) // Linux and non-Apple Unix
// Try the home directory:
path.Empty();
wxGetEnv( wxT("HOME"), &path );
path += wxT("/kicad/share/") + relpath;
if( wxFileName::DirExists( path ) )
{
wxSetEnv( aKiSys3Dmod, path );
return true;
}
// Try the standard install path:
path = wxT("/usr/local/kicad/share/") + relpath;
if( wxFileName::DirExists( path ) )
{
wxSetEnv( aKiSys3Dmod, path );
return true;
}
// Try the official distrib standard install path:
path = wxT("/usr/share/kicad/") + relpath;
if( wxFileName::DirExists( path ) )
{
wxSetEnv( aKiSys3Dmod, path );
return true;
}
#else // Windows
// On Windows, the install path is given by the path of executables
wxFileName fn;
fn.AssignDir( m_BinDir );
fn.RemoveLastDir();
path = fn.GetPathWithSep() + wxT("share/") + relpath;
if( wxFileName::DirExists( path ) )
{
wxSetEnv( aKiSys3Dmod, path );
return true;
}
#endif
return false;
}

View File

@ -33,6 +33,7 @@
#include <confirm.h>
#include <gestfich.h>
#include <3d_viewer.h>
#include <cvpcb.h>
#include <zones.h>
#include <cvpcb_mainframe.h>
@ -102,6 +103,9 @@ bool EDA_APP::OnInit()
SetFootprintLibTablePath();
// Set 3D shape path from environment variable KISYS3DMOD
Set3DShapesPath( wxT(KISYS3DMOD) );
if( m_Checker && m_Checker->IsAnotherRunning() )
{
if( !IsOK( NULL, _( "CvPcb is already running, Continue?" ) ) )

View File

@ -205,7 +205,7 @@ DIALOG_EESCHEMA_OPTIONS_BASE::DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wx
m_panel1->SetSizer( p1mainSizer );
m_panel1->Layout();
p1mainSizer->Fit( m_panel1 );
m_notebook1->AddPage( m_panel1, _("General Options"), true );
m_notebook1->AddPage( m_panel1, _("General Options"), false );
m_panel2 = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
m_panel2->SetToolTip( _("User defined field names for schematic components. ") );
@ -301,11 +301,70 @@ DIALOG_EESCHEMA_OPTIONS_BASE::DIALOG_EESCHEMA_OPTIONS_BASE( wxWindow* parent, wx
bSizer6->Add( bSizer7, 1, wxALL|wxEXPAND, 12 );
wxBoxSizer* bSizer9;
bSizer9 = new wxBoxSizer( wxHORIZONTAL );
wxBoxSizer* bSizer10;
bSizer10 = new wxBoxSizer( wxVERTICAL );
templateFieldListCtrl = new wxListCtrl( m_panel2, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON );
templateFieldListCtrl->SetMinSize( wxSize( 220,-1 ) );
bSizer10->Add( templateFieldListCtrl, 0, wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 8 );
addFieldButton = new wxButton( m_panel2, wxID_ANY, _("MyButton"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer10->Add( addFieldButton, 0, wxALL, 5 );
deleteFieldButton = new wxButton( m_panel2, wxID_ANY, _("MyButton"), wxDefaultPosition, wxDefaultSize, 0 );
bSizer10->Add( deleteFieldButton, 0, wxALL, 5 );
bSizer9->Add( bSizer10, 1, wxEXPAND, 5 );
wxBoxSizer* bSizer11;
bSizer11 = new wxBoxSizer( wxVERTICAL );
wxBoxSizer* bSizer12;
bSizer12 = new wxBoxSizer( wxHORIZONTAL );
m_staticText27 = new wxStaticText( m_panel2, wxID_ANY, _("Name"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText27->Wrap( -1 );
bSizer12->Add( m_staticText27, 0, wxALL, 5 );
fieldName = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fieldName->SetMinSize( wxSize( 220,-1 ) );
bSizer12->Add( fieldName, 0, wxALL, 5 );
bSizer11->Add( bSizer12, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
wxBoxSizer* bSizer13;
bSizer13 = new wxBoxSizer( wxHORIZONTAL );
m_staticText28 = new wxStaticText( m_panel2, wxID_ANY, _("Default Value"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText28->Wrap( -1 );
bSizer13->Add( m_staticText28, 0, wxALL, 5 );
fieldDefault = new wxTextCtrl( m_panel2, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
fieldDefault->SetMinSize( wxSize( 220,-1 ) );
bSizer13->Add( fieldDefault, 0, wxALL, 5 );
bSizer11->Add( bSizer13, 1, wxEXPAND, 5 );
bSizer9->Add( bSizer11, 1, wxEXPAND, 5 );
bSizer6->Add( bSizer9, 1, wxEXPAND, 5 );
m_panel2->SetSizer( bSizer6 );
m_panel2->Layout();
bSizer6->Fit( m_panel2 );
m_notebook1->AddPage( m_panel2, _("Template Field Names"), false );
m_notebook1->AddPage( m_panel2, _("Template Field Names"), true );
bOptionsSizer->Add( m_notebook1, 1, wxEXPAND, 0 );

View File

@ -185,8 +185,8 @@
<object class="notebookpage" expanded="1">
<property name="bitmap"></property>
<property name="label">General Options</property>
<property name="select">1</property>
<object class="wxPanel" expanded="1">
<property name="select">0</property>
<object class="wxPanel" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -260,25 +260,25 @@
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">p1mainSizer</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">6</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizer3</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">0</property>
<property name="flag">wxALIGN_CENTER|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxFlexGridSizer" expanded="1">
<object class="wxFlexGridSizer" expanded="0">
<property name="cols">3</property>
<property name="flexible_direction">wxHORIZONTAL</property>
<property name="growablecols">0,1,2</property>
@ -725,11 +725,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">3</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -808,11 +808,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">3</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxSpinCtrl" expanded="1">
<object class="wxSpinCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -895,11 +895,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">3</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2423,11 +2423,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2506,11 +2506,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxChoice" expanded="1">
<object class="wxChoice" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2594,11 +2594,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="spacer" expanded="1">
<object class="spacer" expanded="0">
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">0</property>
@ -2606,20 +2606,20 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">0</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizer2</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND | wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticLine" expanded="1">
<object class="wxStaticLine" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2872,11 +2872,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">3</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<object class="wxCheckBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2960,11 +2960,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">3</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<object class="wxCheckBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3048,11 +3048,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">3</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<object class="wxCheckBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3410,7 +3410,7 @@
<object class="notebookpage" expanded="1">
<property name="bitmap"></property>
<property name="label">Template Field Names</property>
<property name="select">0</property>
<property name="select">1</property>
<object class="wxPanel" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
@ -5005,6 +5005,690 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizer9</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizer10</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="0">
<property name="border">8</property>
<property name="flag">wxALL|wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
<property name="proportion">0</property>
<object class="wxListCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size">220,-1</property>
<property name="moveable">1</property>
<property name="name">templateFieldListCtrl</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxLC_ICON</property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnListBeginDrag"></event>
<event name="OnListBeginLabelEdit"></event>
<event name="OnListBeginRDrag"></event>
<event name="OnListCacheHint"></event>
<event name="OnListColBeginDrag"></event>
<event name="OnListColClick"></event>
<event name="OnListColDragging"></event>
<event name="OnListColEndDrag"></event>
<event name="OnListColRightClick"></event>
<event name="OnListDeleteAllItems"></event>
<event name="OnListDeleteItem"></event>
<event name="OnListEndLabelEdit"></event>
<event name="OnListInsertItem"></event>
<event name="OnListItemActivated"></event>
<event name="OnListItemDeselected"></event>
<event name="OnListItemFocused"></event>
<event name="OnListItemMiddleClick"></event>
<event name="OnListItemRightClick"></event>
<event name="OnListItemSelected"></event>
<event name="OnListKeyDown"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">MyButton</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">addFieldButton</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick"></event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">MyButton</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">deleteFieldButton</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick"></event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizer11</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizer12</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Name</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticText27</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="maxlength"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size">220,-1</property>
<property name="moveable">1</property>
<property name="name">fieldName</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnTextMaxLen"></event>
<event name="OnTextURL"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizer13</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Default Value</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticText28</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="maxlength"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size">220,-1</property>
<property name="moveable">1</property>
<property name="name">fieldDefault</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnTextMaxLen"></event>
<event name="OnTextURL"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>
</object>

View File

@ -30,8 +30,9 @@ class DIALOG_SHIM;
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/textctrl.h>
#include <wx/notebook.h>
#include <wx/listctrl.h>
#include <wx/button.h>
#include <wx/notebook.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
@ -112,6 +113,13 @@ class DIALOG_EESCHEMA_OPTIONS_BASE : public DIALOG_SHIM
wxTextCtrl* m_fieldName7;
wxStaticText* m_staticText22;
wxTextCtrl* m_fieldName8;
wxListCtrl* templateFieldListCtrl;
wxButton* addFieldButton;
wxButton* deleteFieldButton;
wxStaticText* m_staticText27;
wxTextCtrl* fieldName;
wxStaticText* m_staticText28;
wxTextCtrl* fieldDefault;
wxStdDialogButtonSizer* m_sdbSizer1;
wxButton* m_sdbSizer1OK;
wxButton* m_sdbSizer1Cancel;

View File

@ -6,7 +6,7 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
* Copyright (C) 2004-2014 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
@ -216,7 +216,7 @@ bool LIB_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
if( item->IsNew() )
{
AddMenuItem( PopMenu, ID_POPUP_LIBEDIT_END_CREATE_ITEM, _( "Line End" ),
KiBitmap( apply_xpm ) );
KiBitmap( checked_ok_xpm ) );
}
msg = AddHotkeyName( _( "Edit Line Options" ), s_Libedit_Hokeys_Descr, HK_EDIT );
@ -328,7 +328,7 @@ void AddMenusForBlock( wxMenu* PopMenu, LIB_EDIT_FRAME* frame )
PopMenu->AppendSeparator();
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( apply_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( checked_ok_xpm ) );
if( frame->GetScreen()->m_BlockLocate.GetCommand() == BLOCK_MOVE )
{

View File

@ -1,9 +1,9 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2008-2013 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
* Copyright (C) 2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2008-2014 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004-2014 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
@ -270,7 +270,7 @@ bool SCH_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
default:
if( is_new )
AddMenuItem( PopMenu, ID_POPUP_END_LINE, _( "End Drawing" ),
KiBitmap( apply_xpm ) );
KiBitmap( checked_ok_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_SCH_DELETE, _( "Delete Drawing" ),
KiBitmap( delete_xpm ) );
@ -677,7 +677,7 @@ void AddMenusForWire( wxMenu* PopMenu, SCH_LINE* Wire, SCH_EDIT_FRAME* frame )
if( is_new )
{
msg = AddHotkeyName( _( "Wire End" ), s_Schematic_Hokeys_Descr, HK_END_CURR_LINEWIREBUS );
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( apply_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( checked_ok_xpm ) );
return;
}
@ -727,7 +727,7 @@ void AddMenusForBus( wxMenu* PopMenu, SCH_LINE* Bus, SCH_EDIT_FRAME* frame )
if( is_new )
{
msg = AddHotkeyName( _( "Bus End" ), s_Schematic_Hokeys_Descr, HK_END_CURR_LINEWIREBUS );
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( apply_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_END_LINE, msg, KiBitmap( checked_ok_xpm ) );
return;
}
@ -768,7 +768,7 @@ void AddMenusForHierchicalSheet( wxMenu* PopMenu, SCH_SHEET* Sheet )
if( Sheet->GetFlags() )
{
AddMenuItem( PopMenu, ID_POPUP_SCH_END_SHEET, _( "Place Sheet" ), KiBitmap( apply_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_SCH_END_SHEET, _( "Place Sheet" ), KiBitmap( checked_ok_xpm ) );
}
else
{
@ -823,7 +823,7 @@ void AddMenusForBlock( wxMenu* PopMenu, SCH_EDIT_FRAME* frame )
if( frame->GetScreen()->m_BlockLocate.GetCommand() == BLOCK_MOVE )
AddMenuItem( PopMenu, ID_POPUP_ZOOM_BLOCK, _( "Window Zoom" ), KiBitmap( zoom_area_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( apply_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( checked_ok_xpm ) );
// After a block move (that is also a block selection) one can reselect
// a block function.

View File

@ -199,6 +199,16 @@ void SCH_FIELD::Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER,
LineWidth, m_Italic, m_Bold );
// While moving: don't loose visual contact to which component this label belongs.
if ( IsWireImage() )
{
const wxPoint origin = parentComponent->GetPosition();
textpos = m_Pos - origin;
textpos = parentComponent->GetScreenCoord( textpos );
textpos += parentComponent->GetPosition();
GRLine( clipbox, DC, origin.x, origin.y, textpos.x, textpos.y, 2, DARKGRAY );
}
/* Enable this to draw the bounding box around the text field to validate
* the bounding box calculations.
*/

View File

@ -653,6 +653,7 @@ static void moveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPositio
item->SetPosition( aPanel->GetParent()->GetCrossHairPosition() );
// Draw the item item at it's new position.
item->SetWireImage(); // While moving, the item may choose to render differently
item->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode );
}
@ -697,6 +698,11 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC )
// Never delete existing item, because it can be referenced by an undo/redo command
// Just restore its data
currentItem->SwapData( oldItem );
// Erase the wire representation before the 'normal' view is drawn.
if ( item->IsWireImage() )
item->Draw( aPanel, aDC, wxPoint( 0, 0 ), g_XorMode );
item->ClearFlags();
}

View File

@ -973,6 +973,10 @@ void SCH_EDIT_FRAME::addCurrentItemToList( wxDC* aDC )
SaveUndoItemInUndoList( undoItem );
}
// Erase the wire representation before the 'normal' view is drawn.
if ( item->IsWireImage() )
item->Draw( m_canvas, aDC, wxPoint( 0, 0 ), g_XorMode );
item->ClearFlags();
screen->SetModify();
screen->SetCurItem( NULL );

View File

@ -53,7 +53,7 @@ bool GERBVIEW_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
_( "Cancel Block" ), KiBitmap( cancel_xpm ) );
PopMenu->AppendSeparator();
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK,
_( "Place Block" ), KiBitmap( apply_xpm ) );
_( "Place Block" ), KiBitmap( checked_ok_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_DELETE_BLOCK,
_( "Delete Block (ctrl + drag mouse)" ), KiBitmap( delete_xpm ) );
}

View File

@ -456,6 +456,26 @@ public:
*/
bool SetFootprintLibTablePath();
/**
* Function Set3DShapesPath
* attempts set the environment variable given by aKiSys3Dmod to a valid path.
* (typically "KISYS3DMOD" )
* If the environment variable is already set,
* then it left as is to respect the wishes of the user.
*
* The path is determined by attempting to find the path modules/packages3d
* files in kicad tree.
* This may or may not be the best path but it provides the best solution for
* backwards compatibility with the previous 3D shapes search path implementation.
*
* @note This must be called after #SetBinDir() is called at least on Windows.
* Otherwise, the kicad path is not known (Windows specific)
*
* @param aKiSys3Dmod = the value of environment variable, typically "KISYS3DMOD"
* @return false if the aKiSys3Dmod path is not valid.
*/
bool Set3DShapesPath( const wxString& aKiSys3Dmod );
const wxString& GetModuleLibraryNickname() { return m_module_nickname; }
void SetModuleLibraryNickname( const wxString& aNickname ) { m_module_nickname = aNickname; }
};

View File

@ -298,7 +298,7 @@ public:
#define IS_RESIZED (1 << 5) ///< Item being resized
#define IS_DRAGGED (1 << 6) ///< Item being dragged
#define IS_DELETED (1 << 7)
#define IS_WIRE_IMAGE (1 << 8)
#define IS_WIRE_IMAGE (1 << 8) ///< Item to be drawn as wireframe while editing
#define STARTPOINT (1 << 9)
#define ENDPOINT (1 << 10)
#define SELECTED (1 << 11)
@ -389,11 +389,13 @@ public:
inline bool IsModified() const { return m_Flags & IS_CHANGED; }
inline bool IsMoving() const { return m_Flags & IS_MOVED; }
inline bool IsDragging() const { return m_Flags & IS_DRAGGED; }
inline bool IsWireImage() const { return m_Flags & IS_WIRE_IMAGE; }
inline bool IsSelected() const { return m_Flags & SELECTED; }
inline bool IsResized() const { return m_Flags & IS_RESIZED; }
inline bool IsHighlighted() const { return m_Flags & HIGHLIGHTED; }
inline bool IsBrightened() const { return m_Flags & BRIGHTENED; }
inline void SetWireImage() { SetFlags( IS_WIRE_IMAGE ); }
inline void SetSelected() { SetFlags( SELECTED ); ViewUpdate( COLOR ); }
inline void SetHighlighted() { SetFlags( HIGHLIGHTED ); ViewUpdate( COLOR ); }
inline void SetBrightened() { SetFlags( BRIGHTENED ); }

View File

@ -78,7 +78,6 @@ EXTERN_BITMAP( anchor_xpm )
EXTERN_BITMAP( annotate_down_right_xpm )
EXTERN_BITMAP( annotate_right_down_xpm )
EXTERN_BITMAP( annotate_xpm )
EXTERN_BITMAP( apply_xpm )
EXTERN_BITMAP( auto_associe_xpm )
EXTERN_BITMAP( auto_delete_track_xpm )
EXTERN_BITMAP( auto_track_width_xpm )
@ -411,6 +410,7 @@ EXTERN_BITMAP( post_module_xpm )
EXTERN_BITMAP( preference_xpm )
EXTERN_BITMAP( print_button_xpm )
EXTERN_BITMAP( ps_router_xpm )
EXTERN_BITMAP( py_script_xpm )
EXTERN_BITMAP( ratsnest_xpm )
EXTERN_BITMAP( read_setup_xpm )
EXTERN_BITMAP( redo_xpm )

View File

@ -3,6 +3,29 @@
* @brief Usefull macros and inline functions to create menus items
* in menubars or popup menus
*/
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2004-2014 KiCad Developers.
*
* 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 <bitmaps.h>
@ -13,7 +36,7 @@
* @param aImage is the image to add the menu item.
*/
#if defined( USE_IMAGES_IN_MENUS ) && defined( __WINDOWS__ )
# define SETBITMAPS( aImage ) item->SetBitmaps( KiBitmap( apply_xpm ), KiBitmap( aImage ) )
# define SETBITMAPS( aImage ) item->SetBitmaps( KiBitmap( checked_ok_xpm ), KiBitmap( aImage ) )
#else
# define SETBITMAPS( aImage )
#endif
@ -55,7 +78,11 @@ static inline wxMenuItem* AddMenuItem( wxMenu* aMenu,
if( aType == wxITEM_CHECK )
{
#if defined( USE_IMAGES_IN_MENUS ) && defined( __WINDOWS__ )
item->SetBitmaps( KiBitmap( apply_xpm ), aImage );
item->SetBitmaps( KiBitmap( checked_ok_xpm ), aImage );
// A workaround to a strange bug on Windows, wx Widgets 3.0:
// size of bitmaps is not taken in account for wxITEM_CHECK menu
// unless we call SetFont
item->SetFont(*wxNORMAL_FONT);
#endif
}
else
@ -96,7 +123,11 @@ static inline wxMenuItem* AddMenuItem( wxMenu* aMenu,
if( aType == wxITEM_CHECK )
{
#if defined( USE_IMAGES_IN_MENUS ) && defined( __WINDOWS__ )
item->SetBitmaps( KiBitmap( apply_xpm ), aImage );
item->SetBitmaps( KiBitmap( checked_ok_xpm ), aImage );
// A workaround to a strange bug on Windows, wx Widgets 3.0:
// size of bitmaps is not taken in account for wxITEM_CHECK menu
// unless we call SetFont
item->SetFont(*wxNORMAL_FONT);
#endif
}
else

View File

@ -230,7 +230,7 @@ void KICAD_MANAGER_FRAME::ReCreateMenuBar()
AddMenuItem( SubMenuPdfBrowserChoice, ID_SELECT_PREFERED_PDF_BROWSER,
_( "&Favourite" ),
_( "Use your favourite PDF viewer used to browse datasheets" ),
KiBitmap( preference_xpm ),
KiBitmap( datasheet_xpm ),
wxITEM_CHECK );
SubMenuPdfBrowserChoice->Check( ID_SELECT_PREFERED_PDF_BROWSER,
!wxGetApp().UseSystemPdfBrowser() );
@ -239,7 +239,7 @@ void KICAD_MANAGER_FRAME::ReCreateMenuBar()
// Append PDF Viewer submenu to preferences
AddMenuItem( SubMenuPdfBrowserChoice,
ID_SELECT_PREFERED_PDF_BROWSER_NAME,
_( "&PDF Viewer" ),
_( "Select &PDF Viewer" ),
_( "Select your favourite PDF viewer used to browse datasheets" ),
KiBitmap( datasheet_xpm ) );

View File

@ -0,0 +1,289 @@
=== modified file 'Makefile.in'
--- Makefile.in 2014-02-05 21:57:29 +0000
+++ Makefile.in 2014-02-05 22:00:01 +0000
@@ -14601,7 +14601,7 @@
monodll_carbon_frame.o \
monodll_carbon_mdi.o \
monodll_carbon_metafile.o \
- monodll_carbon_overlay.o \
+ monodll_osx_cocoa_overlay.o \
monodll_carbon_popupwin.o \
monodll_carbon_renderer.o \
monodll_carbon_settings.o \
@@ -14748,7 +14748,7 @@
monolib_carbon_frame.o \
monolib_carbon_mdi.o \
monolib_carbon_metafile.o \
- monolib_carbon_overlay.o \
+ monolib_osx_cocoa_overlay.o \
monolib_carbon_popupwin.o \
monolib_carbon_renderer.o \
monolib_carbon_settings.o \
@@ -14895,7 +14895,7 @@
coredll_carbon_frame.o \
coredll_carbon_mdi.o \
coredll_carbon_metafile.o \
- coredll_carbon_overlay.o \
+ coredll_osx_cocoa_overlay.o \
coredll_carbon_popupwin.o \
coredll_carbon_renderer.o \
coredll_carbon_settings.o \
@@ -15027,7 +15027,7 @@
corelib_carbon_frame.o \
corelib_carbon_mdi.o \
corelib_carbon_metafile.o \
- corelib_carbon_overlay.o \
+ corelib_osx_cocoa_overlay.o \
corelib_carbon_popupwin.o \
corelib_carbon_renderer.o \
corelib_carbon_settings.o \
@@ -17774,6 +17774,9 @@
monodll_osx_cocoa_notebook.o: $(srcdir)/src/osx/cocoa/notebook.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/notebook.mm
+monodll_osx_cocoa_overla.o: $(srcdir)/src/osx/cocoa/overlay.mm $(MONODLL_ODEP)
+ $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
+
monodll_osx_cocoa_radiobut.o: $(srcdir)/src/osx/cocoa/radiobut.mm $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/radiobut.mm
@@ -21683,8 +21686,8 @@
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monodll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(MONODLL_ODEP)
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(MONODLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monodll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(MONODLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
@@ -23642,6 +23645,9 @@
monolib_osx_cocoa_notebook.o: $(srcdir)/src/osx/cocoa/notebook.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/notebook.mm
+monolib_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(MONOLIB_ODEP)
+ $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
+
monolib_osx_cocoa_radiobut.o: $(srcdir)/src/osx/cocoa/radiobut.mm $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/radiobut.mm
@@ -33584,8 +33590,8 @@
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(COREDLL_ODEP)
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(COREDLL_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(COREDLL_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
@@ -37961,8 +37967,8 @@
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(CORELIB_ODEP)
-@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_osx_cocoa_overlay.o: $(srcdir)/src/osx/cocoa/overlay.mm $(CORELIB_ODEP)
+@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/cocoa/overlay.mm
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_carbon_overlay.o: $(srcdir)/src/osx/carbon/overlay.cpp $(CORELIB_ODEP)
@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/overlay.cpp
=== modified file 'include/wx/overlay.h'
--- include/wx/overlay.h 2014-02-05 21:57:29 +0000
+++ include/wx/overlay.h 2014-02-05 21:57:47 +0000
@@ -13,7 +13,7 @@
#include "wx/defs.h"
-#if defined(__WXMAC__) && wxOSX_USE_CARBON
+#if defined(__WXMAC__) && wxOSX_USE_COCOA_OR_CARBON
#define wxHAS_NATIVE_OVERLAY 1
#elif defined(__WXDFB__)
#define wxHAS_NATIVE_OVERLAY 1
=== modified file 'include/wx/private/overlay.h'
--- include/wx/private/overlay.h 2014-02-05 21:57:29 +0000
+++ include/wx/private/overlay.h 2014-02-05 21:57:47 +0000
@@ -16,7 +16,11 @@
#ifdef wxHAS_NATIVE_OVERLAY
#if defined(__WXMAC__)
+#if wxOSX_USE_CARBON
#include "wx/osx/carbon/private/overlay.h"
+#else
+ #include "wx/osx/cocoa/private/overlay.h"
+#endif
#elif defined(__WXDFB__)
#include "wx/dfb/private/overlay.h"
#else
=== modified file 'src/osx/cocoa/overlay.mm'
--- src/osx/cocoa/overlay.mm 2014-02-05 21:57:29 +0000
+++ src/osx/cocoa/overlay.mm 2014-02-05 21:57:47 +0000
@@ -34,6 +34,7 @@
#include "wx/private/overlay.h"
#ifdef wxHAS_NATIVE_OVERLAY
+#import <Foundation/NSGeometry.h>
// ============================================================================
// implementation
@@ -58,48 +59,6 @@
void wxOverlayImpl::CreateOverlayWindow()
{
- if ( m_window )
- {
- m_overlayParentWindow = m_window->MacGetTopLevelWindowRef();
- [m_overlayParentWindow makeKeyAndOrderFront:nil];
-
- NSView* view = m_window->GetHandle();
-
- NSPoint viewOriginBase, viewOriginScreen;
- viewOriginBase = [view convertPoint:NSMakePoint(0, 0) toView:nil];
- viewOriginScreen = [m_overlayParentWindow convertBaseToScreen:viewOriginBase];
-
- NSSize viewSize = [view frame].size;
- if ( [view isFlipped] )
- viewOriginScreen.y -= viewSize.height;
-
- m_overlayWindow=[[NSWindow alloc] initWithContentRect:NSMakeRect(viewOriginScreen.x,viewOriginScreen.y,
- viewSize.width,
- viewSize.height)
- styleMask:NSBorderlessWindowMask
- backing:NSBackingStoreBuffered
- defer:YES];
-
- [m_overlayParentWindow addChildWindow:m_overlayWindow ordered:NSWindowAbove];
- }
- else
- {
- m_overlayParentWindow = NULL ;
- CGRect cgbounds ;
- cgbounds = CGDisplayBounds(CGMainDisplayID());
-
- m_overlayWindow=[[NSWindow alloc] initWithContentRect:NSMakeRect(cgbounds.origin.x,cgbounds.origin.y,
- cgbounds.size.width,
- cgbounds.size.height)
- styleMask:NSBorderlessWindowMask
- backing:NSBackingStoreBuffered
- defer:YES];
- }
- [m_overlayWindow setOpaque:NO];
- [m_overlayWindow setIgnoresMouseEvents:YES];
- [m_overlayWindow setAlphaValue:1.0];
-
- [m_overlayWindow orderFront:nil];
}
void wxOverlayImpl::Init( wxDC* dc, int x , int y , int width , int height )
@@ -107,84 +66,50 @@
wxASSERT_MSG( !IsOk() , _("You cannot Init an overlay twice") );
m_window = dc->GetWindow();
- m_x = x ;
- m_y = y ;
- if ( dc->IsKindOf( CLASSINFO( wxClientDC ) ))
- {
- wxPoint origin = m_window->GetClientAreaOrigin();
- m_x += origin.x;
- m_y += origin.y;
- }
- m_width = width ;
- m_height = height ;
-
- CreateOverlayWindow();
- wxASSERT_MSG( m_overlayWindow != NULL , _("Couldn't create the overlay window") );
- m_overlayContext = (CGContextRef) [[m_overlayWindow graphicsContext] graphicsPort];
- wxASSERT_MSG( m_overlayContext != NULL , _("Couldn't init the context on the overlay window") );
-
- int ySize = 0;
- if ( m_window )
- {
- NSView* view = m_window->GetHandle();
- NSSize viewSize = [view frame].size;
- ySize = viewSize.height;
- }
- else
- {
- CGRect cgbounds ;
- cgbounds = CGDisplayBounds(CGMainDisplayID());
- ySize = cgbounds.size.height;
-
-
-
- }
- CGContextTranslateCTM( m_overlayContext, 0, ySize );
- CGContextScaleCTM( m_overlayContext, 1, -1 );
- CGContextTranslateCTM( m_overlayContext, -m_x , -m_y );
+ m_overlayWindow = m_window->MacGetTopLevelWindowRef();
+
+ NSRect box = [m_overlayWindow frame];
+
+ if( [m_overlayWindow isVisible] )
+ {
+ [m_overlayWindow discardCachedImage];
+ [m_overlayWindow cacheImageInRect:box];
+ }
}
void wxOverlayImpl::BeginDrawing( wxDC* dc)
{
- wxDCImpl *impl = dc->GetImpl();
- wxGCDCImpl *win_impl = wxDynamicCast(impl,wxGCDCImpl);
- if (win_impl)
- {
- win_impl->SetGraphicsContext( wxGraphicsContext::CreateFromNative( m_overlayContext ) );
- dc->SetClippingRegion( m_x , m_y , m_width , m_height ) ;
- }
+
}
void wxOverlayImpl::EndDrawing( wxDC* dc)
{
- wxDCImpl *impl = dc->GetImpl();
- wxGCDCImpl *win_impl = wxDynamicCast(impl,wxGCDCImpl);
- if (win_impl)
- win_impl->SetGraphicsContext(NULL);
-
- CGContextFlush( m_overlayContext );
}
void wxOverlayImpl::Clear(wxDC* WXUNUSED(dc))
{
wxASSERT_MSG( IsOk() , _("You cannot Clear an overlay that is not inited") );
- CGRect box = CGRectMake( m_x - 1, m_y - 1 , m_width + 2 , m_height + 2 );
- CGContextClearRect( m_overlayContext, box );
+ if( [m_overlayWindow isVisible] )
+ {
+ [m_overlayWindow restoreCachedImage];
+// [m_overlayWindow flushWindow];
+ }
}
void wxOverlayImpl::Reset()
{
- if ( m_overlayContext )
+ if ( m_overlayContext)
{
m_overlayContext = NULL ;
}
// todo : don't dispose, only hide and reposition on next run
- if (m_overlayWindow)
+ if (m_overlayWindow && [m_overlayWindow isVisible])
{
- [m_overlayParentWindow removeChildWindow:m_overlayWindow];
- [m_overlayWindow release];
- m_overlayWindow = NULL ;
+ NSRect box = [m_overlayWindow frame];
+
+ [m_overlayWindow discardCachedImage];
+ [m_overlayWindow cacheImageInRect:box];
}
}

View File

@ -0,0 +1,25 @@
=== modified file 'wxPython/config.py'
--- wxPython/config.py 2014-02-08 12:23:31 +0000
+++ wxPython/config.py 2014-02-08 13:58:07 +0000
@@ -22,6 +22,7 @@
import sys, os, glob, fnmatch, tempfile
import subprocess
+import re
EGGing = 'bdist_egg' in sys.argv or 'egg_info' in sys.argv
if not EGGing:
@@ -1059,10 +1060,8 @@
libs = ['stdc++']
NO_SCRIPTS = 1
if ARCH != "":
- cflags.append("-arch")
- cflags.append(ARCH)
- lflags.append("-arch")
- lflags.append(ARCH)
+ cflags.append("-arch " + re.sub(","," -arch ",ARCH))
+ #lflags.append("-arch " + re.sub(","," -arch ",ARCH))
if not os.environ.get('CC') or not os.environ.get('CXX'):
os.environ["CXX"] = getWxConfigValue('--cxx')

View File

@ -593,6 +593,23 @@ if( KICAD_SCRIPTING )
)
install( FILES ${CMAKE_BINARY_DIR}/pcbnew/pcbnew.py DESTINATION ${PYTHON_DEST} )
if( APPLE )
# copies all into PYTHON_DEST then all into the bundle !
add_custom_target( _pcbnew_py_copy ALL
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/pcbnew/pcbnew.py "${PYTHON_DEST}"
DEPENDS FixSwigImportsScripting
COMMENT "Copying pcbnew.py into PYTHON_DEST"
)
add_custom_target( pcbnew_copy_wxpython_scripting ALL
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBWXPYTHON_ROOT}/wxPython ${CMAKE_SOURCE_DIR}/pcbnew/pcbnew.app/Contents/Frameworks/wxPython
DEPENDS FixSwigImportsScripting _pcbnew_py_copy
COMMENT "Copying wxPython into pcbnew.app Framework"
)
# fix bundle after copying wxpython, fixing and copying
add_dependencies( osx_fix_bundles pcbnew_copy_wxpython_scripting )
endif()
endif()
if( KICAD_SCRIPTING_MODULES )
@ -609,6 +626,24 @@ if( KICAD_SCRIPTING_MODULES )
else()
install( FILES ${CMAKE_BINARY_DIR}/pcbnew/_pcbnew.so DESTINATION ${PYTHON_DEST} )
endif()
if( APPLE )
# copies needed files into PYTHON_DEST then copy all into the bundle !
add_custom_target( _pcbnew_so_copy ALL
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/pcbnew/_pcbnew.so "${PYTHON_DEST}"
DEPENDS _pcbnew FixSwigImportsModuleScripting
COMMENT "Copying _pcbnew.so into PYTHON_DEST"
)
add_custom_target( pcbnew_copy_wxpython_module ALL
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBWXPYTHON_ROOT}/wxPython ${CMAKE_SOURCE_DIR}/pcbnew/pcbnew.app/Contents/Frameworks/wxPython
DEPENDS FixSwigImportsModuleScripting _pcbnew_so_copy
COMMENT "Copying wxPython into pcbnew.app Frameworks"
)
# Tell that we have to run osx_fix_bundles fix after building _pcbnew and migrating wxPython
add_dependencies( osx_fix_bundles pcbnew_copy_wxpython_module )
add_dependencies( osx_fix_bundles _pcbnew )
endif()
endif()

View File

@ -269,7 +269,7 @@ void DIALOG_SVG_PRINT::ExportSVGFile( bool aOnlyOneFile )
if( aOnlyOneFile )
{
m_printMaskLayer = printMaskLayer;
suffix = wxT( "-brd" );
suffix = wxT( "brd" );
}
else
{

View File

@ -242,6 +242,13 @@ void DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties()
{
SetFocus();
wxString default_path;
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
#ifdef __WINDOWS__
default_path.Replace( wxT( "/" ), wxT( "\\" ) );
#endif
m_textCtrl3DDefaultPath->SetValue( default_path );
m_LastSelected3DShapeIndex = -1;
// Init 3D shape list
@ -449,18 +456,25 @@ void DIALOG_MODULE_BOARD_EDITOR::Browse3DLib( wxCommandEvent& event )
wxFileName fn = fullfilename;
wxGetApp().SaveLastVisitedLibraryPath( fn.GetPath() );
/* If the file path is already in the library search paths
* list, just add the library name to the list. Otherwise, add
* the library name with the full or relative path.
/* If the file path is already in the default search path
* list, just add the name to the list. Otherwise, add
* the name with the full or relative path.
* the relative path, when possible is preferable,
* because it preserve use of default libraries paths, when the path is a
* sub path of these default paths
* because it preserve use of default search path, when the path is a
* sub path
*/
shortfilename =
wxGetApp().ReturnFilenameWithRelativePathInLibPath( fullfilename );
wxFileName aux = shortfilename;
if( aux.IsAbsolute() )
wxString default_path;
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
fn.MakeRelativeTo( default_path );
// Here, we want a path relative only to the default_path
if( fn.GetPathWithSep().StartsWith( wxT("..") ) )
fn = fullfilename; // keep the full file name
shortfilename = fn.GetFullPath();
if( fn.IsAbsolute() )
{ // Absolute path, ask if the user wants a relative one
int diag = wxMessageBox(
_( "Use a relative path?" ),
@ -469,8 +483,8 @@ void DIALOG_MODULE_BOARD_EDITOR::Browse3DLib( wxCommandEvent& event )
if( diag == wxYES )
{ // Make it relative
aux.MakeRelativeTo( wxT(".") );
shortfilename = aux.GetPathWithSep() + aux.GetFullName();
fn.MakeRelativeTo( wxT(".") );
shortfilename = fn.GetFullPath();
}
}

View File

@ -309,7 +309,14 @@ DIALOG_MODULE_BOARD_EDITOR_BASE::DIALOG_MODULE_BOARD_EDITOR_BASE( wxWindow* pare
bSizerMain3D->Add( m_staticText3Dname, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_3D_ShapeNameListBox = new wxListBox( m_Panel3D, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );
bSizerMain3D->Add( m_3D_ShapeNameListBox, 0, wxALL|wxEXPAND, 5 );
bSizerMain3D->Add( m_3D_ShapeNameListBox, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
m_staticTextDefault3DPath = new wxStaticText( m_Panel3D, wxID_ANY, _("Default Path (from KISYS3DMOD environment variable)"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDefault3DPath->Wrap( -1 );
bSizerMain3D->Add( m_staticTextDefault3DPath, 0, wxRIGHT|wxLEFT, 5 );
m_textCtrl3DDefaultPath = new wxTextCtrl( m_Panel3D, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
bSizerMain3D->Add( m_textCtrl3DDefaultPath, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
wxBoxSizer* bLowerSizer3D;
bLowerSizer3D = new wxBoxSizer( wxHORIZONTAL );
@ -362,7 +369,7 @@ DIALOG_MODULE_BOARD_EDITOR_BASE::DIALOG_MODULE_BOARD_EDITOR_BASE( wxWindow* pare
bLowerSizer3D->Add( bSizer3DButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
bSizerMain3D->Add( bLowerSizer3D, 1, wxEXPAND, 5 );
bSizerMain3D->Add( bLowerSizer3D, 0, wxEXPAND, 5 );
m_Panel3D->SetSizer( bSizerMain3D );

View File

@ -97,7 +97,7 @@
<property name="border">5</property>
<property name="flag">wxEXPAND | wxALL</property>
<property name="proportion">1</property>
<object class="wxNotebook" expanded="0">
<object class="wxNotebook" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4336,11 +4336,11 @@
</object>
</object>
</object>
<object class="notebookpage" expanded="0">
<object class="notebookpage" expanded="1">
<property name="bitmap"></property>
<property name="label">3D settings</property>
<property name="select">0</property>
<object class="wxPanel" expanded="0">
<object class="wxPanel" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4414,7 +4414,7 @@
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxBoxSizer" expanded="0">
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizerMain3D</property>
<property name="orient">wxVERTICAL</property>
@ -4504,8 +4504,8 @@
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
<property name="proportion">1</property>
<object class="wxListBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
@ -4590,10 +4590,184 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Default Path (from KISYS3DMOD environment variable)</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticTextDefault3DPath</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="maxlength"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_textCtrl3DDefaultPath</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxTE_READONLY</property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnTextMaxLen"></event>
<event name="OnTextURL"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bLowerSizer3D</property>

View File

@ -106,6 +106,8 @@ class DIALOG_MODULE_BOARD_EDITOR_BASE : public DIALOG_SHIM
wxPanel* m_Panel3D;
wxStaticText* m_staticText3Dname;
wxListBox* m_3D_ShapeNameListBox;
wxStaticText* m_staticTextDefault3DPath;
wxTextCtrl* m_textCtrl3DDefaultPath;
wxBoxSizer* m_bSizerShapeScale;
wxStaticText* m_staticTextShapeScale;
wxBoxSizer* m_bSizerShapeOffset;

View File

@ -7,10 +7,10 @@
/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2013 Dick Hollenbeck, dick@softplc.com
* Copyright (C) 2008-2013 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
* Copyright (C) 2014 Jean-Pierre Charras, jp.charras at wanadoo.fr
* Copyright (C) 2014 Dick Hollenbeck, dick@softplc.com
* Copyright (C) 2008-2014 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004-2014 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
@ -91,6 +91,14 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
{
SetFocus();
// Display the default path, given by environment variable KISYS3DMOD
wxString default_path;
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
#ifdef __WINDOWS__
default_path.Replace( wxT( "/" ), wxT( "\\" ) );
#endif
m_textCtrl3DDefaultPath->SetValue( default_path );
m_lastSelected3DShapeIndex = -1;
// Init 3D shape list
@ -313,17 +321,25 @@ void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
wxFileName fn = fullfilename;
wxGetApp().SaveLastVisitedLibraryPath( fn.GetPath() );
/* If the file path is already in the library search paths
* list, just add the library name to the list. Otherwise, add
* the library name with the full or relative path.
/* If the file path is already in the default search path
* list, just add the name to the list. Otherwise, add
* the name with the full or relative path.
* the relative path, when possible is preferable,
* because it preserve use of default libraries paths, when the path is a sub path of these default paths
* because it preserve use of default search path, when the path is a
* sub path
*/
shortfilename = wxGetApp().ReturnFilenameWithRelativePathInLibPath( fullfilename );
wxFileName aux = shortfilename;
wxString default_path;
wxGetEnv( wxT( KISYS3DMOD ), &default_path );
fn.MakeRelativeTo( default_path );
if( aux.IsAbsolute() )
// Here, we want a path relative only to the default_path
if( fn.GetPathWithSep().StartsWith( wxT("..") ) )
fn = fullfilename; // keep the full file name
shortfilename = fn.GetFullPath();
if( fn.IsAbsolute() )
{ // Absolute path, ask if the user wants a relative one
int diag = wxMessageBox(
_( "Use a relative path?" ),
@ -332,8 +348,8 @@ void DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DLib( wxCommandEvent& event )
if( diag == wxYES )
{ // Make it relative
aux.MakeRelativeTo( wxT( "." ) );
shortfilename = aux.GetPathWithSep() + aux.GetFullName();
fn.MakeRelativeTo( wxT( "." ) );
shortfilename = fn.GetFullPath();
}
}

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012)
// C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
@ -238,12 +238,19 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* pa
wxBoxSizer* bSizerMain3D;
bSizerMain3D = new wxBoxSizer( wxVERTICAL );
m_staticText3Dname = new wxStaticText( m_Panel3D, wxID_ANY, _("3D Shape Name"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText3Dname = new wxStaticText( m_Panel3D, wxID_ANY, _("3D Shape Names"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText3Dname->Wrap( -1 );
bSizerMain3D->Add( m_staticText3Dname, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_3D_ShapeNameListBox = new wxListBox( m_Panel3D, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE );
bSizerMain3D->Add( m_3D_ShapeNameListBox, 0, wxALL|wxEXPAND, 5 );
bSizerMain3D->Add( m_3D_ShapeNameListBox, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
m_staticTextDefault3DPath = new wxStaticText( m_Panel3D, wxID_ANY, _("Default Path (from KISYS3DMOD environment variable)"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextDefault3DPath->Wrap( -1 );
bSizerMain3D->Add( m_staticTextDefault3DPath, 0, wxRIGHT|wxLEFT, 5 );
m_textCtrl3DDefaultPath = new wxTextCtrl( m_Panel3D, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
bSizerMain3D->Add( m_textCtrl3DDefaultPath, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
wxBoxSizer* bLowerSizer3D;
bLowerSizer3D = new wxBoxSizer( wxHORIZONTAL );
@ -293,7 +300,7 @@ DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* pa
bLowerSizer3D->Add( bSizer3DButtons, 0, wxALIGN_CENTER_VERTICAL, 5 );
bSizerMain3D->Add( bLowerSizer3D, 1, wxALL|wxEXPAND, 5 );
bSizerMain3D->Add( bLowerSizer3D, 0, wxALL|wxEXPAND, 5 );
m_Panel3D->SetSizer( bSizerMain3D );

View File

@ -20,8 +20,10 @@
<property name="path">.</property>
<property name="precompiled_header"></property>
<property name="relative_path">1</property>
<property name="skip_lua_events">1</property>
<property name="skip_php_events">1</property>
<property name="skip_python_events">1</property>
<property name="ui_table">UI</property>
<property name="use_enum">0</property>
<property name="use_microsoft_bom">0</property>
<object class="Dialog" expanded="1">
@ -177,7 +179,7 @@
<property name="bitmap"></property>
<property name="label">Properties</property>
<property name="select">1</property>
<object class="wxPanel" expanded="1">
<object class="wxPanel" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -251,16 +253,16 @@
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">m_PanelPropertiesBoxSizer</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
<property name="proportion">1</property>
<object class="wxStaticBoxSizer" expanded="1">
<object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property>
<property name="label">Fields</property>
<property name="minimum_size"></property>
@ -268,11 +270,11 @@
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -351,11 +353,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -442,11 +444,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -525,11 +527,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -616,11 +618,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -699,20 +701,20 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizerRef</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxLEFT|wxRIGHT</property>
<property name="proportion">1</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -799,11 +801,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -889,11 +891,11 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -972,20 +974,20 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizerVal</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxLEFT|wxRIGHT</property>
<property name="proportion">1</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1072,11 +1074,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1162,21 +1164,21 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag"></property>
<property name="proportion">0</property>
<object class="spacer" expanded="1">
<object class="spacer" expanded="0">
<property name="height">20</property>
<property name="permission">protected</property>
<property name="width">0</property>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1255,11 +1257,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1346,11 +1348,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="spacer" expanded="1">
<object class="spacer" expanded="0">
<property name="height">0</property>
<property name="permission">protected</property>
<property name="width">0</property>
@ -1358,29 +1360,29 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag"></property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">m_PropRightSizer</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">private</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizerAttrib</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxRadioBox" expanded="1">
<object class="wxRadioBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1466,11 +1468,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxRadioBox" expanded="1">
<object class="wxRadioBox" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1558,11 +1560,11 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1">
<object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property>
<property name="label">Auto Place</property>
<property name="minimum_size"></property>
@ -1570,20 +1572,20 @@
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag"></property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizerRot90</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_HORIZONTAL|wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1662,11 +1664,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxSlider" expanded="1">
<object class="wxSlider" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1772,20 +1774,20 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag"></property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizerRot180</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_HORIZONTAL|wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1864,11 +1866,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxSlider" expanded="1">
<object class="wxSlider" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -1976,11 +1978,11 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1">
<object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property>
<property name="label">Local Clearance Values</property>
<property name="minimum_size"></property>
@ -1988,11 +1990,11 @@
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2071,11 +2073,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxFlexGridSizer" expanded="1">
<object class="wxFlexGridSizer" expanded="0">
<property name="cols">3</property>
<property name="flexible_direction">wxBOTH</property>
<property name="growablecols">1</property>
@ -2087,11 +2089,11 @@
<property name="permission">none</property>
<property name="rows">5</property>
<property name="vgap">0</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxLEFT|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2170,11 +2172,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2261,11 +2263,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2344,11 +2346,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticLine" expanded="1">
<object class="wxStaticLine" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2425,11 +2427,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticLine" expanded="1">
<object class="wxStaticLine" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2506,11 +2508,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxStaticLine" expanded="1">
<object class="wxStaticLine" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2587,11 +2589,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2670,11 +2672,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2761,11 +2763,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2844,11 +2846,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -2927,11 +2929,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3018,11 +3020,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3101,11 +3103,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3184,11 +3186,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3275,11 +3277,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3482,7 +3484,7 @@
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">3D Shape Name</property>
<property name="label">3D Shape Names</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
@ -3535,8 +3537,8 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
<property name="proportion">1</property>
<object class="wxListBox" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
@ -3621,20 +3623,194 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Default Path (from KISYS3DMOD environment variable)</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticTextDefault3DPath</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="maxlength"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_textCtrl3DDefaultPath</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxTE_READONLY</property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="value"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnText"></event>
<event name="OnTextEnter"></event>
<event name="OnTextMaxLen"></event>
<event name="OnTextURL"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bLowerSizer3D</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxStaticBoxSizer" expanded="1">
<object class="wxStaticBoxSizer" expanded="0">
<property name="id">wxID_ANY</property>
<property name="label">3D Scale and Position</property>
<property name="minimum_size"></property>
@ -3642,20 +3818,20 @@
<property name="orient">wxVERTICAL</property>
<property name="permission">protected</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">m_bSizerShapeScale</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">protected</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3736,20 +3912,20 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">m_bSizerShapeOffset</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">protected</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3830,20 +4006,20 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">m_bSizerShapeRotation</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">protected</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -3926,20 +4102,20 @@
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<object class="wxBoxSizer" expanded="0">
<property name="minimum_size"></property>
<property name="name">bSizer3DButtons</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
@ -4023,11 +4199,11 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Oct 8 2012)
// C++ code generated with wxFormBuilder (version Nov 6 2013)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
@ -90,6 +90,8 @@ class DIALOG_MODULE_MODULE_EDITOR_BASE : public DIALOG_SHIM
wxPanel* m_Panel3D;
wxStaticText* m_staticText3Dname;
wxListBox* m_3D_ShapeNameListBox;
wxStaticText* m_staticTextDefault3DPath;
wxTextCtrl* m_textCtrl3DDefaultPath;
wxStaticBoxSizer* m_Sizer3DValues;
wxBoxSizer* m_bSizerShapeScale;
wxStaticText* m_staticTextShapeScale;

View File

@ -1154,8 +1154,7 @@ static void export_vrml_module( MODEL_VRML& aModel, BOARD* aPcb, MODULE* aModule
if( !vrmlm->Is3DType( S3D_MASTER::FILE3D_VRML ) )
continue;
// expand environment variables
wxString fname = wxExpandEnvVars( vrmlm->GetShape3DName() );
wxString fname = vrmlm->GetShape3DFullFilename();
fname.Replace( wxT( "\\" ), wxT( "/" ) );
wxString source_fname = fname;

View File

@ -2,7 +2,7 @@
* @file pcbnew/hotkeys.h
* Pcbnew hotkeys
*/
#ifndef _PCBNEW_KOTKEYS_H
#ifndef _PCBNEW_HOTKEYS_H
#define _PCBNEW_HOTKEYS_H
#include <hotkeys_basic.h>

View File

@ -223,7 +223,7 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
KiBitmap( zoom_area_xpm ) );
PopMenu->AppendSeparator();
AddMenuItem( PopMenu, ID_POPUP_PLACE_BLOCK,
_( "Place Block" ), KiBitmap( apply_xpm ) );
_( "Place Block" ), KiBitmap( checked_ok_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_COPY_BLOCK,
_( "Copy Block (shift + drag mouse)" ),
KiBitmap( copyblock_xpm ) );
@ -327,7 +327,7 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
{
if( (flags & IS_NEW) )
AddMenuItem( PopMenu, ID_POPUP_PCB_STOP_CURRENT_DRAWING, _( "End edge" ),
KiBitmap( apply_xpm ) );
KiBitmap( checked_ok_xpm ) );
if( !flags )
{
@ -337,7 +337,7 @@ bool FOOTPRINT_EDIT_FRAME::OnRightClick( const wxPoint& MousePos, wxMenu* PopMen
if( ( flags & (IS_NEW | IS_MOVED) ) == IS_MOVED )
AddMenuItem( PopMenu, ID_POPUP_PCB_PLACE_EDGE, _( "Place edge" ),
KiBitmap( apply_xpm ) );
KiBitmap( checked_ok_xpm ) );
msg = AddHotkeyName( _("Edit" ), g_Module_Editor_Hokeys_Descr, HK_EDIT_ITEM );
AddMenuItem( PopMenu, ID_POPUP_MODEDIT_EDIT_BODY_ITEM,

View File

@ -195,7 +195,7 @@ bool PCB_EDIT_FRAME::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
if( (flags & IS_NEW) )
{
AddMenuItem( aPopMenu, ID_POPUP_PCB_STOP_CURRENT_DRAWING,
_( "End Drawing" ), KiBitmap( apply_xpm ) );
_( "End Drawing" ), KiBitmap( checked_ok_xpm ) );
}
if( !flags )
@ -225,7 +225,7 @@ bool PCB_EDIT_FRAME::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
if( flags & IS_NEW )
{
AddMenuItem( aPopMenu, ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE,
_( "Close Zone Outline" ), KiBitmap( apply_xpm ) );
_( "Close Zone Outline" ), KiBitmap( checked_ok_xpm ) );
AddMenuItem( aPopMenu, ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER,
_( "Delete Last Corner" ), KiBitmap( delete_xpm ) );
}
@ -452,7 +452,7 @@ void PCB_EDIT_FRAME::createPopUpBlockMenu( wxMenu* menu )
KiBitmap( cancel_xpm ) );
AddMenuItem( menu, ID_POPUP_ZOOM_BLOCK, _( "Zoom Block" ), KiBitmap( zoom_area_xpm ) );
menu->AppendSeparator();
AddMenuItem( menu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( apply_xpm ) );
AddMenuItem( menu, ID_POPUP_PLACE_BLOCK, _( "Place Block" ), KiBitmap( checked_ok_xpm ) );
AddMenuItem( menu, ID_POPUP_COPY_BLOCK, _( "Copy Block" ), KiBitmap( copyblock_xpm ) );
AddMenuItem( menu, ID_POPUP_FLIP_BLOCK, _( "Flip Block" ), KiBitmap( invert_module_xpm ) );
AddMenuItem( menu, ID_POPUP_ROTATE_BLOCK, _( "Rotate Block" ), KiBitmap( rotate_ccw_xpm ) );
@ -517,7 +517,7 @@ void PCB_EDIT_FRAME::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
else if( flags & IS_DRAGGED ) // Drag via or node in progress
{
AddMenuItem( PopMenu, ID_POPUP_PCB_PLACE_MOVED_TRACK_NODE,
_( "Place Node" ), KiBitmap( apply_xpm ) );
_( "Place Node" ), KiBitmap( checked_ok_xpm ) );
return;
}
else // Edition in progress
@ -525,7 +525,7 @@ void PCB_EDIT_FRAME::createPopupMenuForTracks( TRACK* Track, wxMenu* PopMenu )
if( flags & IS_NEW )
{
msg = AddHotkeyName( _( "End Track" ), g_Board_Editor_Hokeys_Descr, HK_END_TRACK );
AddMenuItem( PopMenu, ID_POPUP_PCB_END_TRACK, msg, KiBitmap( apply_xpm ) );
AddMenuItem( PopMenu, ID_POPUP_PCB_END_TRACK, msg, KiBitmap( checked_ok_xpm ) );
}
msg = AddHotkeyName( _( "Place Through Via" ), g_Board_Editor_Hokeys_Descr, HK_ADD_THROUGH_VIA );
@ -646,16 +646,16 @@ void PCB_EDIT_FRAME::createPopUpMenuForZones( ZONE_CONTAINER* edge_zone, wxMenu*
if( edge_zone->GetFlags() == IS_DRAGGED )
{
AddMenuItem( aPopMenu, ID_POPUP_PCB_PLACE_DRAGGED_ZONE_OUTLINE_SEGMENT,
_( "Place Edge Outline" ), KiBitmap( apply_xpm ) );
_( "Place Edge Outline" ), KiBitmap( checked_ok_xpm ) );
}
else if( edge_zone->GetFlags() )
{
if( (edge_zone->GetFlags() & IN_EDIT ) )
AddMenuItem( aPopMenu, ID_POPUP_PCB_PLACE_ZONE_CORNER,
_( "Place Corner" ), KiBitmap( apply_xpm ) );
_( "Place Corner" ), KiBitmap( checked_ok_xpm ) );
else
AddMenuItem( aPopMenu, ID_POPUP_PCB_PLACE_ZONE_OUTLINES,
_( "Place Zone" ), KiBitmap( apply_xpm ) );
_( "Place Zone" ), KiBitmap( checked_ok_xpm ) );
}
else
{

View File

@ -123,14 +123,34 @@ void PCB_BASE_FRAME::Import_Pad_Settings( D_PAD* aPad, bool aDraw )
aPad->GetParent()->SetLastEditTime();
}
/** Compute the 'next' pad number for autoincrement
* aPadName is the last pad name used */
static wxString GetNextPadName( wxString aPadName )
{
// Automatically increment the current pad number.
int num = 0;
int ponder = 1;
// Trim and extract the trailing numeric part
while( aPadName.Len()
&& aPadName.Last() >= '0'
&& aPadName.Last() <= '9' )
{
num += ( aPadName.Last() - '0' ) * ponder;
aPadName.RemoveLast();
ponder *= 10;
}
num++; // Use next number for the new pad
aPadName << num;
return aPadName;
}
/* Add a new pad to aModule.
*/
void PCB_BASE_FRAME::AddPad( MODULE* aModule, bool draw )
{
// Last used pad name (pad num)
wxString lastPadName = GetDesignSettings().m_Pad_Master.GetPadName();
m_Pcb->m_Status_Pcb = 0;
aModule->SetLastEditTime();
@ -152,22 +172,15 @@ void PCB_BASE_FRAME::AddPad( MODULE* aModule, bool draw )
RotatePoint( &pos0, -aModule->GetOrientation() );
pad->SetPos0( pos0 );
// Automatically increment the current pad number.
long num = 0;
int ponder = 1;
while( lastPadName.Len() && lastPadName.Last() >= '0' && lastPadName.Last() <= '9' )
{
num += ( lastPadName.Last() - '0' ) * ponder;
lastPadName.RemoveLast();
ponder *= 10;
/* NPTH pads take empty pad number (since they can't be connected),
* other pads get incremented from the last one edited */
wxString padName;
if( pad->GetAttribute() != PAD_HOLE_NOT_PLATED ) {
padName = GetNextPadName( GetDesignSettings()
.m_Pad_Master.GetPadName() );
}
num++; // Use next number for the new pad
lastPadName << num;
pad->SetPadName( lastPadName );
GetDesignSettings().m_Pad_Master.SetPadName(lastPadName);
pad->SetPadName( padName );
GetDesignSettings().m_Pad_Master.SetPadName( padName );
aModule->CalculateBoundingBox();
SetMsgPanel( pad );

View File

@ -42,6 +42,8 @@
#include <pcbcommon.h>
#include <colors_selection.h>
#include <gr_basic.h>
#include <3d_viewer.h>
#include <wx/stdpaths.h>
#include <wx/file.h>
#include <wx/snglinst.h>
@ -153,6 +155,24 @@ bool EDA_APP::OnInit()
#else
// Add this default search path:
msg = wxT("/usr/local/kicad/bin/scripting/plugins");
#ifdef __WXMAC__
// OSX
// System Library first
// User Library then
// (TODO) Bundle package ? where to place ? Shared Support ?
msg = wxT("/Library/Application Support/kicad/scripting");
msg = wxString( wxGetenv("HOME") ) + wxT("/Library/Application Support/kicad/scripting");
// Get pcbnew.app/Contents directory
wxFileName bundledir( wxStandardPaths::Get().GetExecutablePath() ) ;
bundledir.RemoveLastDir();
// Prepend in PYTHONPATH the content of the bundle libraries !
wxSetEnv("PYTHONPATH",((wxGetenv("PYTHONPATH") != NULL ) ? (wxString(wxGetenv("PYTHONPATH")) + ":") : wxString(""))
+ bundledir.GetPath() +
"/Frameworks/wxPython/lib/python2.6/site-packages/wx-3.0-osx_cocoa" );
#endif
#endif
// On linux and osx, 2 others paths are
// [HOME]/.kicad_plugins/
@ -214,6 +234,9 @@ bool EDA_APP::OnInit()
// Set any environment variables before loading FP_LIB_TABLE
SetFootprintLibTablePath();
// Set 3D shape path from environment variable KISYS3DMOD
Set3DShapesPath( wxT(KISYS3DMOD) );
frame = new PCB_EDIT_FRAME( NULL, wxT( "Pcbnew" ), wxPoint( 0, 0 ), wxSize( 600, 400 ) );
#ifdef KICAD_SCRIPTING

View File

@ -1,29 +0,0 @@
from pcbnew import *
import unittest
class TestLoadSave(unittest.TestCase):
def setUp(self):
self.TITLE="Test Board"
self.COMMENT1="For load/save test"
self.FILENAME="/tmp/test.brd"
def test_00_save(self):
pcb = BOARD()
pcb.GetTitleBlock().SetTitle(self.TITLE)
pcb.GetTitleBlock().SetComment1(self.COMMENT1)
result = SaveBoard(self.FILENAME,pcb)
self.assertTrue(result)
def test_01_load(self):
pcb2 = LoadBoard(self.FILENAME)
self.assertIsNotNone(pcb2)
def test_02_titleblock_ok(self):
pcb2 = LoadBoard(self.FILENAME)
tb = pcb2.GetTitleBlock()
self.assertEqual(tb.GetTitle(),self.TITLE)
self.assertEqual(tb.GetComment1(),self.COMMENT1)
if __name__ == '__main__':
unittest.main()

View File

@ -1,8 +1,12 @@
if( KICAD_SCRIPTING_MODULES )
if( APPLE AND ( KICAD_BUILD_STATIC OR KICAD_BUILD_DYNAMIC ) )
set( PYTHON_QA_PATH :${LIBWXPYTHON_ROOT}/wxPython/lib/python2.6/site-packages )
endif()
# build target that runs the QA tests through scripting
add_custom_target( qa
COMMAND PYTHONPATH=${CMAKE_BINARY_DIR}/pcbnew ${PYTHON_EXECUTABLE} test.py
COMMAND PYTHONPATH=${CMAKE_BINARY_DIR}/pcbnew${PYTHON_QA_PATH} ${PYTHON_EXECUTABLE} test.py
COMMENT "running qa"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}

View File

@ -1,31 +1,100 @@
import code
import unittest
import os
import pcbnew
import pdb
import tempfile
from pcbnew import ToMM
from pcbnew import *
class TestBoardClass(unittest.TestCase):
def setUp(self):
self.pcb = pcbnew.LoadBoard("data/complex_hierarchy.kicad_pcb")
self.pcb = LoadBoard("data/complex_hierarchy.kicad_pcb")
self.TITLE="Test Board"
self.COMMENT1="For load/save test"
self.FILENAME=tempfile.mktemp()+".kicad_pcb"
def test_pcb_find_module(self):
module = self.pcb.FindModule('P1')
self.assertEqual(module.GetReference(),'P1')
def test_pcb_get_track_count(self):
pcb = BOARD()
self.assertEqual(pcb.GetNumSegmTrack(),0)
track0 = TRACK(pcb)
pcb.Add(track0)
self.assertEqual(pcb.GetNumSegmTrack(),1)
track1 = TRACK(pcb)
pcb.Add(track1)
self.assertEqual(pcb.GetNumSegmTrack(),2)
def test_pcb_bounding_box(self):
bounding_box = self.pcb.ComputeBoundingBox()
pcb = BOARD()
track = TRACK(pcb)
pcb.Add(track)
#track.SetStartEnd(wxPointMM(10.0, 10.0),
# wxPointMM(20.0, 30.0))
height = ToMM( bounding_box.GetHeight() )
width = ToMM( bounding_box.GetWidth() )
track.SetStart(wxPointMM(10.0, 10.0))
track.SetEnd(wxPointMM(20.0, 30.0))
# probably it's a cleaner test to generate a board with
# a couple of things, that we can know the exact size,
# and then compute the bounding box,
track.SetWidth(FromMM(0.5))
self.assertAlmostEqual(height, 89.52, 2)
self.assertAlmostEqual(width, 108.44, 2)
#!!! THIS FAILS? == 0.0 x 0.0 ??
#height, width = ToMM(pcb.ComputeBoundingBox().GetSize())
bounding_box = pcb.ComputeBoundingBox()
height, width = ToMM(bounding_box.GetSize())
self.assertAlmostEqual(width, (30-10) + 0.5, 2)
self.assertAlmostEqual(height, (20-10) + 0.5, 2)
def test_pcb_get_pad(self):
pcb = BOARD()
module = MODULE(pcb)
pcb.Add(module)
pad = D_PAD(module)
module.Add(pad)
pad.SetShape(PAD_OVAL)
pad.SetSize(wxSizeMM(2.0, 3.0))
pad.SetPosition(wxPointMM(0,0))
# easy case
p1 = pcb.GetPad(wxPointMM(0,0))
# top side
p2 = pcb.GetPad(wxPointMM(0.9,0.0))
# bottom side
p3 = pcb.GetPad(wxPointMM(0,1.4))
# TODO: get pad == p1 evaluated as true instead
# of relying in the internal C++ object pointer
self.assertEqual(pad.this, p1.this)
self.assertEqual(pad.this, p2.this)
self.assertEqual(pad.this, p3.this)
def test_pcb_save_and_load(self):
pcb = BOARD()
pcb.GetTitleBlock().SetTitle(self.TITLE)
pcb.GetTitleBlock().SetComment1(self.COMMENT1)
result = SaveBoard(self.FILENAME,pcb)
self.assertTrue(result)
pcb2 = LoadBoard(self.FILENAME)
self.assertNotEqual(pcb2,None)
tb = pcb2.GetTitleBlock()
self.assertEqual(tb.GetTitle(),self.TITLE)
self.assertEqual(tb.GetComment1(),self.COMMENT1)
os.remove(self.FILENAME)
#def test_interactive(self):
# code.interact(local=locals())

View File

@ -66,7 +66,7 @@
#include <class_title_block.h>
#include <class_colors_design_settings.h>
#include <class_marker_base.h>
#include <eda_text.h>
#include <eda_text.h>
#include <convert_from_iu.h>
#include <convert_to_biu.h>

View File

@ -12,7 +12,6 @@ fi
EXECUTABLES="`find . -name '*.app'`"
#
# Copies libraries under <bzr_root> in the bundle and relocates them in the binary
#
@ -27,12 +26,62 @@ function fixbundle() {
for library in $LIBRARIES; do
mkdir -p ${execpath}${exec}.app/Contents/Frameworks
if [[ "$library" =~ "$2" ]]; then
if [[ "$library" =~ "$bzroot" ]]; then
echo "${exec}: Migrating `basename $library` in the bundle"
cp -f $library ${execpath}${exec}.app/Contents/Frameworks
if [ ! -f ${exec}.app/Contents/Frameworks/`basename $library` ]; then
cp -f $library ${execpath}${exec}.app/Contents/Frameworks
fi
install_name_tool -change $library @executable_path/../Frameworks/`basename $library` ${execpath}${exec}.app/Contents/MacOS/${exec}
fi
done
# Resolve issue in python modules (.so)
cd ${execpath}
MODULES="`find ${exec}.app -name '*.so'`"
for module in $MODULES; do
LIBRARIES="`otool -L $module | cut -d' ' -f1`"
mkdir -p ${exec}.app/Contents/Frameworks
for library in $LIBRARIES; do
if [[ "$library" =~ "$bzroot" ]]; then
if [ ! -f ${exec}.app/Contents/Frameworks/`basename $library` ]; then
cp -f $library ${exec}.app/Contents/Frameworks
fi
install_name_tool -change $library @executable_path/../Frameworks/`basename $library` $module
fi
done
echo "${exec}: elaborated module `basename ${module}`"
done
# Resolve issue between DYNLIBS
dynlib_migrate="1";
dynlib_cycle="0";
while [ $dynlib_migrate -gt 0 ]; do
dynlib_migrate="0";
(( dynlib_cycle += 1 ))
DYNLIBS="`find ${exec}.app -name '*.dylib'`"
for dynlib in $DYNLIBS; do
LIBRARIES="`otool -L $dynlib | cut -d' ' -f1`"
mkdir -p ${exec}.app/Contents/Frameworks
for library in $LIBRARIES; do
if [[ "$library" =~ "$bzroot" ]]; then
if [ ! -f ${exec}.app/Contents/Frameworks/`basename $library` ]; then
cp -f $library ${exec}.app/Contents/Frameworks
echo "copied `basename $library` into bundle"
(( dynlib_migrate += 1))
fi
install_name_tool -change $library @executable_path/../Frameworks/`basename $library` $dynlib
fi
done
done
echo "${exec}: bundle dynlib dependencies migration Pass $dynlib_cycle: Migrated $dynlib_migrate libraries in bundle"
done
cd - >/dev/null
}

0
tools/Info.plist Normal file
View File