summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--CMakeLists.txt197
m---------admin0
-rw-r--r--arts/knotify/CMakeLists.txt1
-rw-r--r--arts/knotify/README14
m---------cmake0
-rw-r--r--config.h.cmake103
-rw-r--r--dcop/CMakeLists.txt6
-rw-r--r--dcop/KDE-ICE/Xtrans.c4
-rw-r--r--dcop/KDE-ICE/Xtranssock.c10
-rw-r--r--dcop/KDE-ICE/iceauth.c4
-rw-r--r--dcop/KDE-ICE/misc.c16
-rw-r--r--dcop/client/dcop.cpp107
-rw-r--r--dcop/dcopclient.cpp31
-rw-r--r--dcop/dcopidl/scanner.cc38
-rw-r--r--dcop/dcopidlng/kalyptus18
-rw-r--r--dcop/dcopidlng/kalyptusCxxToDcopIDL.pm27
-rw-r--r--dcop/dcopidlng/kdocAstUtil.pm8
-rw-r--r--dcop/dcopidlng/kdocParseDoc.pm12
-rw-r--r--dcop/dcopserver.cpp6
-rw-r--r--dcop/dcopserver_shutdown.c2
-rw-r--r--dcop/tests/run-tests.sh6
-rw-r--r--dnssd/CMakeLists.txt6
-rw-r--r--dnssd/publicservice.cpp2
-rw-r--r--doc/common/doxygen.css13
-rw-r--r--doc/common/footer.html1
-rw-r--r--doc/common/header.html2
-rw-r--r--doc/common/mainfooter.html1
-rw-r--r--doc/common/mainheader.html2
-rw-r--r--doc/kspell/CMakeLists.txt1
-rw-r--r--interfaces/kimproxy/library/CMakeLists.txt1
-rw-r--r--interfaces/kmediaplayer/CMakeLists.txt1
-rw-r--r--interfaces/ktexteditor/CMakeLists.txt4
-rw-r--r--kab/CMakeLists.txt1
-rw-r--r--kab/addressbook.cc16
-rw-r--r--kab/qconfigDB.cc114
-rw-r--r--kabc/CMakeLists.txt2
-rw-r--r--kabc/vcard/CMakeLists.txt1
-rw-r--r--kabc/vcard/Enum.cpp12
-rw-r--r--kabc/vcard/Makefile.am1
-rw-r--r--kabc/vcard/RToken.cpp6
-rw-r--r--kabc/vcard/include/VCardAdrParam.h51
-rw-r--r--kabc/vcard/include/VCardAdrValue.h75
-rw-r--r--kabc/vcard/include/VCardAgentParam.h41
-rw-r--r--kabc/vcard/include/VCardAgentValue.h23
-rw-r--r--kabc/vcard/include/VCardClassValue.h19
-rw-r--r--kabc/vcard/include/VCardContentLine.h61
-rw-r--r--kabc/vcard/include/VCardDateParam.h23
-rw-r--r--kabc/vcard/include/VCardDateValue.h110
-rw-r--r--kabc/vcard/include/VCardEmailParam.h37
-rw-r--r--kabc/vcard/include/VCardFloatValue.h31
-rw-r--r--kabc/vcard/include/VCardGeoValue.h21
-rw-r--r--kabc/vcard/include/VCardGroup.h20
-rw-r--r--kabc/vcard/include/VCardImageParam.h23
-rw-r--r--kabc/vcard/include/VCardImageValue.h23
-rw-r--r--kabc/vcard/include/VCardImgValue.h20
-rw-r--r--kabc/vcard/include/VCardLangValue.h38
-rw-r--r--kabc/vcard/include/VCardNValue.h53
-rw-r--r--kabc/vcard/include/VCardOrgValue.h25
-rw-r--r--kabc/vcard/include/VCardParam.h31
-rw-r--r--kabc/vcard/include/VCardPhoneNumberValue.h20
-rw-r--r--kabc/vcard/include/VCardSndValue.h39
-rw-r--r--kabc/vcard/include/VCardSoundValue.h23
-rw-r--r--kabc/vcard/include/VCardSourceParam.h27
-rw-r--r--kabc/vcard/include/VCardTelParam.h32
-rw-r--r--kabc/vcard/include/VCardTelValue.h23
-rw-r--r--kabc/vcard/include/VCardTextBinParam.h23
-rw-r--r--kabc/vcard/include/VCardTextBinValue.h61
-rw-r--r--kabc/vcard/include/VCardTextListValue.h27
-rw-r--r--kabc/vcard/include/VCardTextParam.h23
-rw-r--r--kabc/vcard/include/VCardTextValue.h24
-rw-r--r--kabc/vcard/include/VCardURIValue.h34
-rw-r--r--kabc/vcard/include/VCardUTCValue.h39
-rw-r--r--kabc/vcard/include/VCardVCard.h49
-rw-r--r--kabc/vcard/include/VCardVCardEntity.h27
-rw-r--r--kabc/vcard/include/VCardValue.h20
-rw-r--r--kabc/vcard/include/generated/AdrParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/AdrValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/AgentParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/AgentValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/ClassValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/ContentLine-generated.h23
-rw-r--r--kabc/vcard/include/generated/DateParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/DateValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/EmailParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/FloatValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/GeoValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/Group-generated.h23
-rw-r--r--kabc/vcard/include/generated/ImageParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/ImageValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/ImgParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/ImgValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/LangValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/NValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/Name-generated.h22
-rw-r--r--kabc/vcard/include/generated/OrgValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/Param-generated.h23
-rw-r--r--kabc/vcard/include/generated/ParamName-generated.h22
-rw-r--r--kabc/vcard/include/generated/ParamValue-generated.h22
-rw-r--r--kabc/vcard/include/generated/PhoneNumberValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/SoundValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/SourceParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/TelParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/TelValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/TextBinParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/TextBinValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/TextListValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/TextNSParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/TextParam-generated.h23
-rw-r--r--kabc/vcard/include/generated/TextValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/URIValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/UTCValue-generated.h23
-rw-r--r--kabc/vcard/include/generated/VCard-generated.h23
-rw-r--r--kabc/vcard/include/generated/VCardEntity-generated.h23
-rw-r--r--kabc/vcard/include/generated/Value-generated.h23
-rwxr-xr-xkabc/vcard/include/generated/generate2
-rwxr-xr-xkabc/vcard/include/generated/generateHeaders.awk41
-rw-r--r--kabc/vcard/include/generated/headerBodies34
-rw-r--r--kate/part/CMakeLists.txt3
-rw-r--r--kate/part/kateluaindentscript.cpp2
-rw-r--r--kcmshell/CMakeLists.txt1
-rw-r--r--kdecore/CMakeLists.txt7
-rw-r--r--kdecore/kbufferedio.cpp2
-rw-r--r--kdecore/kconfigbackend.cpp10
-rw-r--r--kdecore/kconfigbase.cpp44
-rw-r--r--kdecore/kdebug.cpp6
-rw-r--r--kdecore/kentities.c12
-rw-r--r--kdecore/kextsock.cpp2
-rw-r--r--kdecore/kglobalsettings.cpp257
-rw-r--r--kdecore/kglobalsettings.h88
-rw-r--r--kdecore/klocale.cpp6
-rw-r--r--kdecore/kmdcodec.cpp4
-rw-r--r--kdecore/kpty.cpp71
-rw-r--r--kdecore/kstringhandler.cpp2
-rw-r--r--kdecore/ksycocadict.cpp12
-rw-r--r--kdecore/malloc/malloc.c108
-rw-r--r--kdecore/network/kresolver_p.h2
-rw-r--r--kdecore/network/ksocketdevice.cpp2
-rw-r--r--kdecore/svgicons/ksvgiconpainter.cpp89
-rw-r--r--kded/kbuildservicetypefactory.cpp2
-rw-r--r--kded/khostname.cpp8
-rw-r--r--kdefx/kimageeffect.cpp104
-rw-r--r--kdefx/kpixmap.cpp2
-rw-r--r--kdefx/kpixmapeffect.cpp8
-rw-r--r--kdefx/kstyle.cpp20
-rw-r--r--kdeprint/CMakeLists.txt2
-rw-r--r--kdeprint/cups/make_driver_db_cups.cpp2
-rw-r--r--kdeprint/driverparse.c2
-rw-r--r--kdeprint/driverparse.h8
-rw-r--r--kdeprint/filters/CMakeLists.txt4
-rw-r--r--kdeprint/filters/ps2pdf.xml2
-rw-r--r--kdeprint/fooparser.cpp20
-rw-r--r--kdeprint/fooscanner.cpp42
-rw-r--r--kdeprint/kmmanager.cpp1
-rw-r--r--kdeprint/kmmanager.h3
-rw-r--r--kdeprint/lpr/make_driver_db_lpr.c4
-rw-r--r--kdeprint/management/kmjobviewer.cpp19
-rw-r--r--kdeprint/management/kmjobviewer.h2
-rw-r--r--kdeprint/ppdparser.cpp16
-rw-r--r--kdeprint/ppdscanner.cpp42
-rw-r--r--kdesu/CMakeLists.txt3
-rw-r--r--kdesu/kdesu_pty.cpp6
-rw-r--r--kdesu/kdesu_stub.c4
-rw-r--r--kdesu/process.cpp1
-rw-r--r--kdeui/CMakeLists.txt6
-rw-r--r--kdeui/kcolordialog.cpp6
-rw-r--r--kdeui/kdepackages.h1
-rw-r--r--kdeui/kdetrayproxy/CMakeLists.txt1
-rw-r--r--kdeui/ksconfig.cpp10
-rw-r--r--kdeui/kshortcutdialog.cpp23
-rw-r--r--kdeui/kshortcutdialog.h1
-rw-r--r--kdeui/kshortcutdialog_advanced.ui6
-rw-r--r--kdeui/kshortcutdialog_simple.ui5
-rw-r--r--kdeui/tests/kledtest.cpp2
-rw-r--r--kdoctools/meinproc.cpp5
-rw-r--r--kglib/CMakeLists.txt5
-rw-r--r--khtml/CMakeLists.txt4
-rw-r--r--khtml/css/cssproperties.c14
-rw-r--r--khtml/css/cssvalues.c14
-rw-r--r--khtml/css/makeprop2
-rwxr-xr-xkhtml/css/makevalues2
-rw-r--r--khtml/css/parser.cpp16
-rw-r--r--khtml/css/tokenizer.cpp8
-rw-r--r--khtml/html/doctypes.cpp10
-rw-r--r--khtml/htmlpageinfo.ui6
-rw-r--r--khtml/java/dummy/CMakeLists.txt2
-rw-r--r--khtml/khtmlview.cpp2
-rw-r--r--khtml/kjserrordlg.ui4
-rw-r--r--khtml/misc/htmlattrs.c12
-rw-r--r--khtml/misc/htmltags.c12
-rw-r--r--kimgio/jp2.cpp2
-rw-r--r--kinit/CMakeLists.txt2
-rw-r--r--kinit/setproctitle.cpp6
-rw-r--r--kinit/start_kdeinit.c3
-rw-r--r--kio/CMakeLists.txt5
-rw-r--r--kio/bookmarks/CMakeLists.txt1
-rw-r--r--kio/kfile/kfiledialog.cpp6
-rw-r--r--kio/kfile/kfilespeedbar.cpp81
-rw-r--r--kio/kfile/kpropertiesdialog.cpp34
-rw-r--r--kio/kfile/kurlbar.cpp9
-rw-r--r--kio/kio/CMakeLists.txt1
-rw-r--r--kio/kio/connection.cpp5
-rw-r--r--kio/kio/kmimetype.cpp4
-rw-r--r--kio/kio/krun.cpp41
-rw-r--r--kio/kio/lex.c42
-rw-r--r--kio/kio/netaccess.cpp2
-rw-r--r--kio/kio/yacc.c16
-rw-r--r--kio/kpasswdserver/CMakeLists.txt1
-rw-r--r--kio/kssl/kopenssl.cc8
-rw-r--r--kio/kssl/kssl/LETSENCRYPT3
-rw-r--r--kio/kssl/kssl/caroot/ca-bundle.crt1011
-rw-r--r--kio/kssl/kssl/isrg-root-x1.pem31
-rw-r--r--kio/kssl/kssl/isrg-root-x2.pem14
-rw-r--r--kio/kssl/kssl/ksslcalist222
-rw-r--r--kio/kssl/kssl/localcerts2
-rw-r--r--kio/misc/CMakeLists.txt1
-rw-r--r--kio/misc/kpac/CMakeLists.txt1
-rw-r--r--kio/misc/kssld/CMakeLists.txt1
-rw-r--r--kio/misc/kwalletd/CMakeLists.txt1
-rw-r--r--kio/misc/kwalletd/kbetterthankdialogbase.ui3
-rw-r--r--kio/tests/CMakeLists.txt1
-rw-r--r--kio/tests/kmimetypetest.sh.cmake5
-rw-r--r--kioslave/file/CMakeLists.txt3
-rw-r--r--kioslave/http/kcookiejar/CMakeLists.txt1
-rw-r--r--kioslave/iso/libisofs/bswap.h2
-rw-r--r--kioslave/iso/libisofs/isofs.c4
-rw-r--r--kjs/CMakeLists.txt3
-rw-r--r--kjs/configure.in.in40
-rw-r--r--kjs/dtoa.cpp10
-rw-r--r--kjs/operations.cpp37
-rw-r--r--krandr/libkrandr.cc2
-rw-r--r--kresources/CMakeLists.txt1
-rw-r--r--krsync/krsync.cpp2
-rw-r--r--kspell2/plugins/CMakeLists.txt12
-rw-r--r--kspell2/plugins/ispell/correct.cpp40
-rw-r--r--kspell2/plugins/ispell/good.cpp14
-rw-r--r--kspell2/plugins/ispell/hash.cpp4
-rw-r--r--kspell2/plugins/ispell/ispell_checker.cpp4
-rw-r--r--kspell2/plugins/ispell/lookup.cpp20
-rw-r--r--kspell2/plugins/ispell/makedent.cpp26
-rw-r--r--kspell2/plugins/ispell/tgood.cpp24
-rw-r--r--kspell2/ui/configui.ui8
-rw-r--r--kstyles/plastik/plastik.cpp8
-rw-r--r--kutils/CMakeLists.txt1
-rw-r--r--kwallet/backend/tests/CMakeLists.txt1
-rw-r--r--kwallet/backend/tests/backendtest.sh5
-rw-r--r--kwallet/client/CMakeLists.txt1
-rw-r--r--libkmid/CMakeLists.txt3
-rw-r--r--mimetypes/application/CMakeLists.txt3
-rw-r--r--mimetypes/application/Makefile.am3
-rw-r--r--mimetypes/application/x-pie-executable.desktop6
-rw-r--r--networkstatus/CMakeLists.txt3
252 files changed, 3567 insertions, 2512 deletions
diff --git a/.gitmodules b/.gitmodules
index 86e1ef843..ed8fd1cd1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,6 @@
[submodule "admin"]
path = admin
url = https://system@scm.trinitydesktop.org/scm/git/tde-common-admin
-[submodule "cmake"]
- path = cmake
- url = https://system@scm.trinitydesktop.org/scm/git/tde-common-cmake
[submodule "libltdl"]
path = libltdl
url = https://system@scm.trinitydesktop.org/scm/git/libltdl
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8763e250a..8a8e310a0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@
#
#################################################
-cmake_minimum_required( VERSION 2.8 )
+cmake_minimum_required( VERSION 3.1 )
##### general package setup #####################
@@ -31,6 +31,7 @@ include( CheckCXXSourceCompiles )
include( CheckTypeSize )
include( CheckCSourceRuns )
include( CheckLibraryExists )
+include( CheckStructHasMember )
##### include our cmake modules #################
@@ -52,13 +53,41 @@ list( APPEND TDECORE_LIBRARY_DIRS ${TQT_LIBRARY_DIRS} )
##### add apidox targets ############
-add_custom_target(apidox
- COMMAND "./generate_apidox" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${HTML_INSTALL_DIR}" "/usr/share/qt3/doc/html"
- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/cmake/")
+if( "${CMAKE_VERSION}" VERSION_LESS "3.1" )
+ set( CMAKE_ENV "env" )
+else()
+ set( CMAKE_ENV "${CMAKE_COMMAND};-E;env" )
+endif()
+
+add_custom_target( apidox
+ COMMAND ${CMAKE_ENV}
+ "QTDOCDIR=/usr/share/qt3/doc/html"
+ ${CMAKE_SOURCE_DIR}/admin/doxygen.sh
+ --no-modulename
+ ${CMAKE_SOURCE_DIR}
+ COMMAND
+ find ${CMAKE_BINARY_DIR}/apidocs -name '*.html' |
+ xargs -r sed -i 's|${CMAKE_BINARY_DIR}/apidocs|${HTML_INSTALL_DIR}/en/${PROJECT_NAME}-apidocs|g'
+ COMMAND
+ find ${CMAKE_BINARY_DIR}/apidocs -name '*.tag' |
+ xargs -r sed -i 's|${CMAKE_SOURCE_DIR}/|${PROJECT_NAME}/|g'
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+)
-add_custom_target(install-apidox
- COMMAND "./install_apidox" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${HTML_INSTALL_DIR}" "${CMAKE_INSTALL_PREFIX}"
- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/cmake/")
+add_custom_target( install-apidox
+ COMMAND ${CMAKE_COMMAND} -E echo Apidox installed in ${HTML_INSTALL_DIR}/en/${PROJECT_NAME}-apidocs
+)
+
+install( CODE "
+ if( EXISTS ${CMAKE_BINARY_DIR}/apidocs )
+ file(
+ INSTALL ${CMAKE_BINARY_DIR}/apidocs/
+ DESTINATION ${HTML_INSTALL_DIR}/en/${PROJECT_NAME}-apidocs
+ PATTERN doxygen_sqlite3.db EXCLUDE
+ PATTERN installdox-slow EXCLUDE
+ )
+ endif()"
+)
##### user requested options ####################
@@ -75,6 +104,7 @@ OPTION( WITH_LIBART "Enable libart support (for SVG icons)" ${WITH_ALL_OPTIONS}
OPTION( WITH_LIBIDN "Enable support for libidn" ${WITH_ALL_OPTIONS} )
OPTION( WITH_SSL "Enable support for SSL" ON )
OPTION( WITH_CUPS "Enable CUPS support" ON )
+OPTION( WITH_IMAGETOPS_BINARY "Enable installation of imagetops binary" ${WITH_ALL_OPTIONS} )
OPTION( WITH_LUA "Enable LUA support" ${WITH_ALL_OPTIONS} )
OPTION( WITH_TIFF "Enable tiff support" ${WITH_ALL_OPTIONS} )
OPTION( WITH_JASPER "Enable jasper (jpeg2k) support" ${WITH_ALL_OPTIONS} )
@@ -92,6 +122,7 @@ OPTION( WITH_XRANDR "Build the krandr library" ON )
OPTION( WITH_XCOMPOSITE "Enable xcomposite support" ON )
OPTION( WITH_MITSHM "Use MIT-SHM for pixmap loading/saving" ${WITH_ALL_OPTIONS} )
+OPTION( WITH_ISPELL "Enable ispell support" ON )
OPTION( WITH_ASPELL "Enable aspell support" ${WITH_ALL_OPTIONS} )
OPTION( WITH_HSPELL "Enable hspell support" ${WITH_ALL_OPTIONS} )
@@ -299,7 +330,7 @@ check_function_exists( mkstemp HAVE_MKSTEMP )
check_symbol_exists( mkstemp "stdlib.h" HAVE_MKSTEMP_PROTO )
check_function_exists( mkstemps HAVE_MKSTEMPS )
-check_symbol_exists( mkstemps "stdlib.h" HAVE_MKSTEMPS_PROTO )
+check_symbol_exists( mkstemps "stdlib.h;unistd.h" HAVE_MKSTEMPS_PROTO )
check_function_exists( initgroups HAVE_INITGROUPS )
check_symbol_exists( initgroups "grp.h;unistd.h" HAVE_INITGROUPS_PROTO )
@@ -317,7 +348,18 @@ check_symbol_exists( gethostbyname2_r "netdb.h" HAVE_GETHOSTBYNAME2_R )
check_symbol_exists( gethostbyname_r "netdb.h" HAVE_GETHOSTBYNAME_R )
check_symbol_exists( gai_strerror "sys/types.h;sys/socket.h;netdb.h" HAVE_GAI_STRERROR )
check_symbol_exists( getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO )
-check_symbol_exists( backtrace "execinfo.h" HAVE_BACKTRACE )
+if ( CMAKE_MAJOR_VERSION LESS "3" )
+ check_symbol_exists( backtrace "execinfo.h" HAVE_BACKTRACE )
+ if ( HAVE_BACKTRACE )
+ set ( Backtrace_LIBRARY "" )
+ set ( Backtrace_HEADER "execinfo.h" )
+ endif ()
+else ()
+ find_package( Backtrace )
+ if ( Backtrace_FOUND )
+ set ( HAVE_BACKTRACE 1 )
+ endif ()
+endif ()
check_cxx_source_compiles( "#include <cxxabi.h>
int main() { abi::__cxa_demangle(0, 0, 0, 0); return 0; }"
HAVE_ABI_CXA_DEMANGLE )
@@ -332,7 +374,7 @@ check_symbol_exists( ffs "string.h" HAVE_FFS_PROTO )
check_symbol_exists( asprintf "stdio.h" HAVE_ASPRINTF_PROTO )
check_symbol_exists( vasprintf "stdio.h" HAVE_VASPRINTF_PROTO )
check_symbol_exists( snprintf "stdio.h" HAVE_SNPRINTF_PROTO )
-check_symbol_exists( vsnprintf "stdarg.h" HAVE_VSNPRINTF_PROTO )
+check_symbol_exists( vsnprintf "stdarg.h;stdio.h" HAVE_VSNPRINTF_PROTO )
check_symbol_exists( strvercmp "string.h" HAVE_STRVERCMP_PROTO )
@@ -367,6 +409,7 @@ check_function_exists( getpeername HAVE_GETPEERNAME )
check_function_exists( getprotobyname_r HAVE_GETPROTOBYNAME_R )
check_function_exists( getpt HAVE_GETPT )
check_function_exists( getservbyname_r HAVE_GETSERVBYNAME_R )
+check_symbol_exists( getservbyname_r "netdb.h" HAVE_DECL_GETSERVBYNAME_R )
check_function_exists( getservbyport_r HAVE_GETSERVBYPORT_R )
check_function_exists( getsockname HAVE_GETSOCKNAME )
check_function_exists( getsockopt HAVE_GETSOCKOPT )
@@ -381,10 +424,6 @@ check_function_exists( setgroups HAVE_SETGROUPS )
check_function_exists( setlocale HAVE_SETLOCALE )
check_function_exists( setmntent HAVE_SETMNTENT )
check_function_exists( setpriority HAVE_SETPRIORITY )
-check_function_exists( isnan HAVE_FUNC_ISNAN )
-check_function_exists( _finite HAVE_FUNC__FINITE )
-check_function_exists( finite HAVE_FUNC_FINITE )
-check_function_exists( isinf HAVE_FUNC_ISINF )
check_function_exists( freeaddrinfo HAVE_FREEADDRINFO )
check_function_exists( strtoll HAVE_STRTOLL )
check_function_exists( socket HAVE_SOCKET )
@@ -397,6 +436,7 @@ check_function_exists( strcasecmp HAVE_STRCASECMP )
check_function_exists( strchr HAVE_STRCHR )
check_function_exists( strcmp HAVE_STRCMP )
check_function_exists( strrchr HAVE_STRRCHR )
+check_function_exists( posix_openpt HAVE_POSIX_OPENPT )
check_function_exists( ptsname HAVE_PTSNAME )
check_function_exists( unlockpt HAVE_UNLOCKPT )
check_function_exists( _getpty HAVE__GETPTY )
@@ -407,9 +447,9 @@ check_function_exists( sendfile HAVE_SENDFILE )
check_function_exists( rindex HAVE_RINDEX )
check_function_exists( putenv HAVE_PUTENV )
check_function_exists( poll HAVE_POLL )
-check_function_exists( memcpy HAVE_MEMCPY )
check_function_exists( madvise HAVE_MADVISE )
check_function_exists( getgroups HAVE_GETGROUPS )
+check_symbol_exists( posix_fadvise "fcntl.h" HAVE_FADVISE )
check_function_exists( getcwd HAVE_GETCWD )
check_function_exists( dlerror HAVE_DLERROR )
if( NOT HAVE_DLERROR )
@@ -434,7 +474,6 @@ if( NOT HAVE_CRYPT )
set( CRYPT_LIBRARIES c )
endif( HAVE_CRYPT_LIBC )
endif( NOT HAVE_CRYPT )
-check_function_exists( bcopy HAVE_BCOPY )
check_function_exists( mmap HAVE_MMAP )
check_function_exists( munmap HAVE_MUNMAP )
@@ -448,7 +487,13 @@ check_type_size( "unsigned long" SIZEOF_UNSIGNED_LONG )
set( CMAKE_EXTRA_INCLUDE_FILES "netdb.h" )
check_type_size( "struct addrinfo" STRUCT_ADDRINFO )
set( CMAKE_EXTRA_INCLUDE_FILES "netinet/in.h" )
-check_type_size( "struct sockaddr_in6" HAVE_STRUCT_SOCKADDR_IN6 )
+check_type_size( "struct sockaddr_in6" STRUCT_SOCKADDR_IN6 )
+check_struct_has_member( "struct sockaddr_in6" sin6_scope_id "sys/types.h;sys/socket.h;netinet/in.h" HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID )
+check_struct_has_member( "struct sockaddr" sa_len "sys/types.h;sys/socket.h;netinet/in.h" HAVE_STRUCT_SOCKADDR_SA_LEN )
+check_struct_has_member( "struct sockaddr_un" sun_len "sys/types.h;sys/un.h" HAVE_STRUCT_SOCKADDR_UN_SUN_LEN )
+set( CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h" )
+check_type_size( "struct ucred" STRUCT_UCRED )
+check_struct_has_member( "struct sockaddr_in" sin_len "sys/types.h;sys/socket.h;netinet/in.h" HAVE_STRUCT_SOCKADDR_IN_SIN_LEN )
unset( CMAKE_EXTRA_INCLUDE_FILES )
check_c_source_compiles("
@@ -494,6 +539,8 @@ endif( NOT HAVE_GOOD_GETADDRINFO )
# save CMAKE_REQUIRED_LIBRARIES
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
+check_symbol_exists( res_init "sys/types.h;netinet/in.h;arpa/nameser.h;resolv.h" HAVE_RES_INIT_PROTO )
+
set( CMAKE_REQUIRED_LIBRARIES resolv )
check_c_source_compiles("
#include <sys/types.h>
@@ -576,6 +623,7 @@ if( NOT HAVE_LIBDL )
set( HAVE_LIBDL 1 )
endif( HAVE_DLOPEN )
endif( NOT HAVE_LIBDL )
+check_library_exists( dld, dld_link "" HAVE_DLD )
##### check for magic ###########################
@@ -938,7 +986,7 @@ if( WITH_SSL )
check_library_exists( ssl SSL_library_init "" HAVE_LIBSSL )
endif( )
check_library_exists( crypto EVP_EncryptInit_ex "" HAVE_LIBCRYPTO )
- if( HAVE_OPENSSL_H AND (HAVE_LIBSSL_11 OR HAVEL_LIBSSL) AND HAVE_LIBCRYPTO )
+ if( HAVE_OPENSSL_H AND (HAVE_LIBSSL_11 OR HAVE_LIBSSL) AND HAVE_LIBCRYPTO )
set( SSL_FOUND 1 CACHE INTERNAL "" FORCE )
find_file( OPENSSLV_H openssl/opensslv.h )
file( STRINGS "${OPENSSLV_H}" SSL_VERSION REGEX "#[ \t]*define[ \t]*OPENSSL_VERSION_TEXT" )
@@ -946,7 +994,7 @@ if( WITH_SSL )
SSL_VERSION "${SSL_VERSION}" )
set( SSL_VERSION "${SSL_VERSION}" CACHE INTERNAL "" FORCE )
message( STATUS "Found OpenSSL: version ${SSL_VERSION}" )
- endif( HAVE_OPENSSL_H AND (HAVE_LIBSSL_11 OR HAVEL_LIBSSL) AND HAVE_LIBCRYPTO )
+ endif( HAVE_OPENSSL_H AND (HAVE_LIBSSL_11 OR HAVE_LIBSSL) AND HAVE_LIBCRYPTO )
endif( NOT SSL_FOUND )
if( NOT SSL_FOUND )
tde_message_fatal( "SSL support is requested, but openssl not found on your system" )
@@ -998,16 +1046,15 @@ endif( WITH_LUA )
##### check for avahi ###########################
if( WITH_AVAHI )
- if( WITH_QT4 )
- endif( WITH_QT4 )
-
- if( WITH_QT3 )
- pkg_search_module( AVAHI avahi-tqt )
- if( NOT AVAHI_FOUND )
- message(FATAL_ERROR "\navahi support are requested, but not found on your system" )
- endif( NOT AVAHI_FOUND )
- set( AVAHI_API_0_6 1 )
- endif( WITH_QT3 )
+ pkg_search_module( AVAHI_TQT avahi-tqt )
+ pkg_search_module( AVAHI_CLIENT avahi-client )
+ if( NOT AVAHI_TQT_FOUND OR NOT AVAHI_CLIENT_FOUND )
+ tde_message_fatal( "avahi support is requested, but not found on your system" )
+ endif( NOT AVAHI_TQT_FOUND OR NOT AVAHI_CLIENT_FOUND )
+ if( NOT AVAHI_CLIENT_VERSION VERSION_LESS "0.6" )
+ set( AVAHI_API_0_6 1 )
+ endif( )
+ set( HAVE_DNSSD 1 )
endif( )
##### check for pcre ###########################
@@ -1066,15 +1113,48 @@ if( WITH_GAMIN )
endif( WITH_GAMIN )
+##### check for ispell ##########################
+
+if( WITH_ISPELL )
+ if( NOT ISPELL_LIBDIR )
+ find_program( ISPELL_EXECUTABLE NAMES ispell DOC "path to the ispell executable" )
+ if( ISPELL_EXECUTABLE )
+ execute_process (
+ COMMAND ${ISPELL_EXECUTABLE} -vv
+ COMMAND awk "$1 == \"LIBDIR\" && $2 == \"=\" {gsub(/\"/, \"\", $3); print $3;}"
+ OUTPUT_VARIABLE ISPELL_LIBDIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if ( ISPELL_LIBDIR )
+ set ( ISPELL_LIBDIR "${ISPELL_LIBDIR}" CACHE PATH "ispell lib directory contains dictionaries" )
+ else ( ISPELL_LIBDIR )
+ unset ( ISPELL_LIBDIR )
+ endif ( ISPELL_LIBDIR )
+ endif( ISPELL_EXECUTABLE )
+ endif ( NOT ISPELL_LIBDIR )
+endif( WITH_ISPELL )
+
+
##### check for aspell ##########################
-# we need ASPELL_DATADIR too
if( WITH_ASPELL )
find_package( ASPELL )
if( NOT ASPELL_FOUND )
message(FATAL_ERROR "\nASPELL support are requested, but not found on your system" )
endif( NOT ASPELL_FOUND )
+ if( NOT ASPELL_DATADIR )
+ find_program( PSPELL_CONFIG_EXECUTABLE NAMES pspell-config DOC "path to the pspell-config executable" )
+ if( PSPELL_CONFIG_EXECUTABLE )
+ execute_process (
+ COMMAND ${PSPELL_CONFIG_EXECUTABLE} --pkgdatadir
+ OUTPUT_VARIABLE ASPELL_DATADIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ endif( PSPELL_CONFIG_EXECUTABLE )
+ endif( NOT ASPELL_DATADIR )
endif( WITH_ASPELL )
+if( NOT ASPELL_DATADIR )
+ set ( ASPELL_DATADIR "/usr/lib/aspell" )
+endif( NOT ASPELL_DATADIR )
+set ( ASPELL_DATADIR "${ASPELL_DATADIR}" CACHE PATH "aspell data directory" )
##### check for hspell ##########################
@@ -1087,10 +1167,52 @@ if( WITH_HSPELL )
endif( WITH_HSPELL )
+####" default spell checker #####################
+
+set( DEFAULT_SPELL_CHECKER "ISPELL" CACHE STRING "default spell checker" )
+if( NOT WITH_${DEFAULT_SPELL_CHECKER} )
+ tde_message_fatal( "Spell checker selected as default (${DEFAULT_SPELL_CHECKER}) is not enabled to build." )
+endif()
+
+
+##### find tools path ###########################
+
+if( NOT WIN32 AND NOT ICEAUTH_PATH )
+ find_program( ICEAUTH_PATH iceauth )
+ if( ${ICEAUTH_PATH} STREQUAL "ICEAUTH_PATH-NOTFOUND" )
+ tde_message_fatal( "iceauth command was not found in path." )
+ endif()
+ message( STATUS "Found iceauth: ${ICEAUTH_PATH}" )
+endif( NOT WIN32 AND NOT ICEAUTH_PATH )
+
+
+##### find the rgb.txt file
+
+message( STATUS "Looking for rgb.txt" )
+find_file( PATH_RGB rgb.txt
+ PATHS
+ /usr/share/X11
+ /usr/X11R6/lib/X11
+ /usr/openwin/lib/X11
+)
+if( PATH_RGB )
+ message( STATUS "Found rgb.txt file: ${PATH_RGB}" )
+ set( X11_RGBFILE "${PATH_RGB}" )
+endif()
+
+
+##### Look for xmllint
+
+find_program( XMLLINT_EXE xmllint )
+if( XMLLINT_EXE )
+ set( XMLLINT "${XMLLINT_EXE}" )
+ message( STATUS "Found xmllint: ${XMLLINT}" )
+endif()
+
+
##### write configure files #####################
configure_file( config.h.cmake config.h )
-configure_file( dcop/dcop-path.h.cmake dcop/dcop-path.h )
configure_file( kdecore/kdemacros.h.cmake kdecore/kdemacros.h )
configure_file( kjs/global.h.in kjs/global.h )
configure_file( kio/kssl/ksslconfig.h.cmake kio/kssl/ksslconfig.h )
@@ -1099,10 +1221,15 @@ configure_file( kdoctools/checkXML.cmake kdoctools/checkXML )
##### tools #####################################
-set( KDE3_DCOPIDL_EXECUTABLE ${CMAKE_BINARY_DIR}/dcop/dcopidl/dcopidl )
-set( KDE3_DCOPIDL2CPP_EXECUTABLE ${CMAKE_BINARY_DIR}/dcop/dcopidl2cpp/dcopidl2cpp )
-set( KDE3_MEINPROC_EXECUTABLE ${CMAKE_BINARY_DIR}/kdoctools/meinproc )
-set( KDE3_KCFGC_EXECUTABLE ${CMAKE_BINARY_DIR}/kdecore/kconfig_compiler/kconfig_compiler )
+set( KDE3_DCOPIDL_EXECUTABLE dcopidl )
+set( KDE3_DCOPIDLNG_EXECUTABLE
+ perl -I"${CMAKE_SOURCE_DIR}/dcop/dcopidlng"
+ "${CMAKE_SOURCE_DIR}/dcop/dcopidlng/kalyptus"
+ --allow_k_dcop_accessors -f dcopidl
+)
+set( KDE3_DCOPIDL2CPP_EXECUTABLE dcopidl2cpp )
+set( KDE3_MEINPROC_EXECUTABLE meinproc )
+set( KDE3_KCFGC_EXECUTABLE kconfig_compiler )
##### global compiler settings ##################
diff --git a/admin b/admin
-Subproject abcfc50b82beb89ebce050026ac8ba6f36ef9be
+Subproject 92a6d62b8f8f1836c43b54e3fb13b7ea7bb22e9
diff --git a/arts/knotify/CMakeLists.txt b/arts/knotify/CMakeLists.txt
index 7871b1813..1a39ed4fd 100644
--- a/arts/knotify/CMakeLists.txt
+++ b/arts/knotify/CMakeLists.txt
@@ -49,6 +49,5 @@ endif( ARTS_FOUND )
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK ${LIBS}
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/arts/knotify/README b/arts/knotify/README
index 3257cdc33..676dcc25e 100644
--- a/arts/knotify/README
+++ b/arts/knotify/README
@@ -31,3 +31,17 @@ example, while the screen is locked, it is very likely that the user is not
present. Thus, he will not be able to hear a "You have mail" sound (or to
see a talk request). Re-routing this to a log window sounds like a very good
idea.
+
+Notes:
+------
+
+KNotify can be accessed directly using one of the available methods.
+ - void notify(TQString event, TQString fromApp, TQString text, TQString sound,
+ TQString file, int present, int level)
+ - void notify(TQString event, TQString fromApp, TQString text, TQString sound,
+ TQString file, int present, int level, int winId)
+ - void notify(TQString event, TQString fromApp, TQString text, TQString sound,
+ TQString file, int present, int level, int winId, int eventId)
+
+For example:
+ dcop knotify Notify notify event "Msg from MyApp" "Hello World!" "" "" 16 0
diff --git a/cmake b/cmake
deleted file mode 160000
-Subproject 641dd35df12becc8ee3680114a7003cd4027faf
diff --git a/config.h.cmake b/config.h.cmake
index 4aba3f528..dac584141 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -1,28 +1,21 @@
/* config.h.in. Generated from configure.in by autoheader. */
+/* Define where ispell libdir is */
+#cmakedefine ISPELL_LIBDIR "@ISPELL_LIBDIR@"
+
/* Define where aspell data dir is */
#define ASPELL_DATADIR "@ASPELL_DATADIR@"
+/* Define default spell checker */
+#define DEFAULT_SPELL_CHECKER KS_CLIENT_@DEFAULT_SPELL_CHECKER@
+
/* Avahi API 0.6 */
+#cmakedefine HAVE_DNSSD 1
#cmakedefine AVAHI_API_0_6 1
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define where your dcop binary is */
-#cmakedefine DCOP_PATH "@DCOP_PATH@"
-
/* Use su or sudo */
#define DEFAULT_SUPER_USER_COMMAND "@DEFAULT_SUPER_USER_COMMAND@"
-/* Define if getaddrinfo returns AF_UNIX sockets */
-#undef GETADDRINFO_RETURNS_UNIX
-
/* getmntinfo() uses struct statvfs */
#cmakedefine GETMNTINFO_USES_STATVFS
@@ -65,8 +58,11 @@
/* Define if you have strvercmp prototype */
#cmakedefine HAVE_STRVERCMP_PROTO 1
-/* Define to 1 if execinfo.h exists and defines backtrace (GLIBC >= 2.1) */
+/* Define to 1 if GLIBC >= 2.1 compatible backtrace facility exists */
#cmakedefine HAVE_BACKTRACE 1
+#ifdef HAVE_BACKTRACE
+#define BACKTRACE_H <@Backtrace_HEADER@>
+#endif
/* Define to 1 if gcc (or may be some over compiller) provides abi::__cxa_demangle() */
#cmakedefine HAVE_ABI_CXA_DEMANGLE 1
@@ -112,12 +108,6 @@
/* Define to 1 if libbfd provides demangle.h header */
#cmakedefine HAVE_DEMANGLE_H 1
-/* Define to 1 if you have the `bcopy' function. */
-#cmakedefine HAVE_BCOPY 1
-
-/* You _must_ have bool */
-#undef HAVE_BOOL
-
/* Define if getaddrinfo is broken and should be replaced */
#cmakedefine HAVE_BROKEN_GETADDRINFO 1
@@ -152,13 +142,13 @@
#cmakedefine HAVE_CUPS_1_6 1
/* Define to 1 if you have the declaration of `getservbyname_r', and to 0 if you don't. */
-#undef HAVE_DECL_GETSERVBYNAME_R
+#cmakedefine01 HAVE_DECL_GETSERVBYNAME_R
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. */
#cmakedefine HAVE_DIRENT_H 1
/* Define if you have the GNU dld library. */
-#undef HAVE_DLD
+#cmakedefine HAVE_DLD
/* Define to 1 if you have the <dld.h> header file. */
#cmakedefine HAVE_DLD_H 1
@@ -182,7 +172,7 @@
#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
/* Define is posix_fadvise is supported */
-#undef HAVE_FADVISE
+#cmakedefine HAVE_FADVISE
/* Define if your system has libfam */
#cmakedefine HAVE_FAM 1
@@ -196,18 +186,6 @@
/* Define to 1 if you have the <fstab.h> header file. */
#cmakedefine HAVE_FSTAB_H 1
-/* Define if you have finite */
-#cmakedefine HAVE_FUNC_FINITE 1
-
-/* Define if you have isinf */
-#cmakedefine HAVE_FUNC_ISINF 1
-
-/* Define if you have isnan */
-#cmakedefine HAVE_FUNC_ISNAN 1
-
-/* Define if you have _finite */
-#cmakedefine HAVE_FUNC__FINITE 1
-
/* Define to 1 if you have the `gai_strerror' function. */
#cmakedefine HAVE_GAI_STRERROR 1
@@ -307,9 +285,6 @@
/* Define if you have jasper */
#cmakedefine HAVE_JASPER 1
-/* Define if your locale.h file contains LC_MESSAGES */
-#undef HAVE_LC_MESSAGES
-
/* Defines if your system has the libart library */
#cmakedefine HAVE_LIBART 1
@@ -334,12 +309,6 @@
/* Define if you have libpng */
#cmakedefine HAVE_LIBPNG 1
-/* Define if you have a working libpthread (will enable threaded code) */
-#undef HAVE_LIBPTHREAD
-
-/* Define to 1 if you have the `qt-mt' library (-lqt-mt). */
-#undef HAVE_LIBQT_MT
-
/* Defined if you have libthai and want to have it compiled in */
#undef HAVE_LIBTHAI
@@ -373,9 +342,6 @@
/* Define to 1 if you have the <malloc.h> header file. */
#cmakedefine HAVE_MALLOC_H 1
-/* Define to 1 if you have the `memcpy' function. */
-#cmakedefine HAVE_MEMCPY 1
-
/* Define to 1 if you have the <memory.h> header file. */
#cmakedefine HAVE_MEMORY_H 1
@@ -418,9 +384,6 @@
/* Define to 1 if you have the <net/if.h> header file. */
#cmakedefine HAVE_NET_IF_H 1
-/* Define to 1 if you have the <nl_types.h> header file. */
-#undef HAVE_NL_TYPES_H
-
/* Define if system has non-POSIX extensions to the ACL support. */
#cmakedefine HAVE_NON_POSIX_ACL_EXTENSIONS 1
@@ -442,6 +405,9 @@
/* Define to 1 if you have the `poll' function. */
#cmakedefine HAVE_POLL 1
+/* Define to 1 if you have the `posix_openpt' function. */
+#cmakedefine HAVE_POSIX_OPENPT 1
+
/* Define to 1 if the assembler supports AltiVec instructions. */
#undef HAVE_PPC_ALTIVEC
@@ -473,7 +439,7 @@
#cmakedefine HAVE_RES_INIT 1
/* Define if you have the res_init prototype */
-#undef HAVE_RES_INIT_PROTO
+#cmakedefine HAVE_RES_INIT_PROTO
/* Define if revoke(tty) is present in unistd.h */
#cmakedefine HAVE_REVOKE 1
@@ -596,13 +562,19 @@
#cmakedefine HAVE_STRUCT_SOCKADDR_IN6 1
/* Define to 1 if `sin6_scope_id' is member of `struct sockaddr_in6'. */
-#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID
+#cmakedefine HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
/* Define to 1 if `sa_len' is member of `struct sockaddr'. */
-#undef HAVE_STRUCT_SOCKADDR_SA_LEN
+#cmakedefine HAVE_STRUCT_SOCKADDR_SA_LEN 1
+
+/* Define to 1 if `sin_len' is member of `struct sockaddr_in'. */
+#cmakedefine HAVE_STRUCT_SOCKADDR_IN_SIN_LEN 1
+
+/* Define to 1 if `sun_len' is member of `struct sockaddr_un'. */
+#cmakedefine HAVE_STRUCT_SOCKADDR_UN_SUN_LEN 1
/* Define if struct ucred is present from sys/socket.h */
-#undef HAVE_STRUCT_UCRED
+#cmakedefine HAVE_STRUCT_UCRED 1
/* Define to 1 if you have the <sysent.h> header file. */
#cmakedefine HAVE_SYSENT_H 1
@@ -920,6 +892,15 @@
/* Defined if your system has XRandR support */
#cmakedefine XRANDR_SUPPORT 1
+/* Defines the executable of iceauth */
+#cmakedefine ICEAUTH_PATH "@ICEAUTH_PATH@"
+
+#ifdef ICEAUTH_PATH
+# define ICEAUTH_COMMAND ICEAUTH_PATH
+#else
+# define ICEAUTH_COMMAND "iceauth"
+#endif
+
/*
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
* headers and I'm too lazy to write a configure test as long as only
@@ -1142,11 +1123,7 @@ __END_DECLS
-/*
- * On HP-UX, the declaration of vsnprintf() is needed every time !
- */
-
-#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if !defined(HAVE_VSNPRINTF_PROTO) || !defined(HAVE_SNPRINTF_PROTO)
#if __STDC__
#include <stdarg.h>
#include <stdlib.h>
@@ -1156,11 +1133,15 @@ __END_DECLS
#ifdef __cplusplus
extern "C"
#endif
+#if !defined(HAVE_VSNPRINTF_PROTO)
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#endif
+#if !defined(HAVE_SNPRINTF_PROTO)
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
#ifdef __cplusplus
extern "C"
#endif
-int snprintf(char *str, size_t n, char const *fmt, ...);
#endif
diff --git a/dcop/CMakeLists.txt b/dcop/CMakeLists.txt
index 8a69361f7..783035805 100644
--- a/dcop/CMakeLists.txt
+++ b/dcop/CMakeLists.txt
@@ -30,6 +30,12 @@ link_directories(
)
+##### Define where your dcop binary is ##########
+
+set( DCOP_PATH "${BIN_INSTALL_DIR}" )
+configure_file( dcop-path.h.cmake dcop-path.h )
+
+
##### headers ###################################
install( FILES
diff --git a/dcop/KDE-ICE/Xtrans.c b/dcop/KDE-ICE/Xtrans.c
index b954d4b3b..e34574248 100644
--- a/dcop/KDE-ICE/Xtrans.c
+++ b/dcop/KDE-ICE/Xtrans.c
@@ -1261,7 +1261,7 @@ static int TRANS(ReadV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
len = iov->iov_len;
base = iov->iov_base;
while (len > 0) {
- register int nbytes;
+ int nbytes;
nbytes = TRANS(Read) (ciptr, base, len);
if (nbytes < 0 && total == 0) return -1;
if (nbytes <= 0) return total;
@@ -1293,7 +1293,7 @@ static int TRANS(WriteV) (XtransConnInfo ciptr, struct iovec *iov, int iovcnt)
len = iov->iov_len;
base = iov->iov_base;
while (len > 0) {
- register int nbytes;
+ int nbytes;
nbytes = TRANS(Write) (ciptr, base, len);
if (nbytes < 0 && total == 0) return -1;
if (nbytes <= 0) return total;
diff --git a/dcop/KDE-ICE/Xtranssock.c b/dcop/KDE-ICE/Xtranssock.c
index bb6d122bc..31a35fcd9 100644
--- a/dcop/KDE-ICE/Xtranssock.c
+++ b/dcop/KDE-ICE/Xtranssock.c
@@ -47,6 +47,10 @@ from The Open Group.
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <ctype.h>
#include <unistd.h>
#include <stdlib.h>
@@ -873,7 +877,7 @@ TRANS(SocketINETCreateListener) (XtransConnInfo ciptr, char *port)
else
sockname.sin_port = htons (0);
-#ifdef BSD44SOCKETS
+#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
sockname.sin_len = sizeof (sockname);
#endif
sockname.sin_family = AF_INET;
@@ -947,7 +951,7 @@ TRANS(SocketUNIXCreateListener) (XtransConnInfo ciptr, char *port)
}
namelen = sizeof( sockname ) - sizeof( sockname.sun_path ) + strlen( sockname.sun_path ) + 1;
-#if defined(BSD44SOCKETS)
+#if defined(HAVE_STRUCT_SOCKADDR_UN_SUN_LEN)
sockname.sun_len = namelen;
#endif
@@ -1278,7 +1282,7 @@ TRANS(SocketINETConnect) (XtransConnInfo ciptr, char *host, char *port)
* Build the socket name.
*/
-#ifdef BSD44SOCKETS
+#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
sockname.sin_len = sizeof (struct sockaddr_in);
#endif
sockname.sin_family = AF_INET;
diff --git a/dcop/KDE-ICE/iceauth.c b/dcop/KDE-ICE/iceauth.c
index 72297ceb5..609615643 100644
--- a/dcop/KDE-ICE/iceauth.c
+++ b/dcop/KDE-ICE/iceauth.c
@@ -45,7 +45,7 @@ extern Time_t time ();
#define Time_t time_t
#endif
-static int binaryEqual (register const char *a, register const char *b, register unsigned len);
+static int binaryEqual (const char *a, const char *b, unsigned len);
static int was_called_state;
@@ -264,7 +264,7 @@ char **errorStringRet;
* local routines
*/
-static int binaryEqual (register const char *a, register const char *b, register unsigned len)
+static int binaryEqual (const char *a, const char *b, unsigned len)
{
while (len--)
if (*a++ != *b++)
diff --git a/dcop/KDE-ICE/misc.c b/dcop/KDE-ICE/misc.c
index 0dbbf24b7..4658b8d14 100644
--- a/dcop/KDE-ICE/misc.c
+++ b/dcop/KDE-ICE/misc.c
@@ -233,12 +233,12 @@ IceConn iceConn;
Status
_IceRead (iceConn, nbytes, ptr)
-register IceConn iceConn;
+IceConn iceConn;
unsigned long nbytes;
-register char *ptr;
+char *ptr;
{
- register unsigned long nleft;
+ unsigned long nleft;
nleft = nbytes;
while (nleft > 0)
@@ -335,8 +335,8 @@ register char *ptr;
void
_IceReadSkip (iceConn, nbytes)
-register IceConn iceConn;
-register unsigned long nbytes;
+IceConn iceConn;
+unsigned long nbytes;
{
char temp[512];
@@ -359,12 +359,12 @@ register unsigned long nbytes;
void
_IceWrite (iceConn, nbytes, ptr)
-register IceConn iceConn;
+IceConn iceConn;
unsigned long nbytes;
-register char *ptr;
+char *ptr;
{
- register unsigned long nleft;
+ unsigned long nleft;
nleft = nbytes;
while (nleft > 0)
diff --git a/dcop/client/dcop.cpp b/dcop/client/dcop.cpp
index 5a76b8193..48cf02ec4 100644
--- a/dcop/client/dcop.cpp
+++ b/dcop/client/dcop.cpp
@@ -590,69 +590,76 @@ int runDCOP( QCStringList args, UserList users, Session session,
}
}
- if( users.count() > 1 || ( users.count() == 1 &&
- ( getenv( "ICEAUTHORITY" ) == 0 || getenv( "DISPLAY" ) == 0 ) ) )
+ if ((users.count() > 1) || ((users.count() == 1) &&
+ ((getenv("ICEAUTHORITY") == 0) || (getenv("DISPLAY") == 0))))
{
- // Check for ICE authority file and if the file can be read by us
- TQString iceFileBase = "ICEauthority";
- TQString iceFile;
- TQFileInfo fi;
+ // Check for ICE authority file and if the file can be read by us
+ TQString iceFileBase = "ICEauthority";
+ TQString iceFile;
+ TQFileInfo fi;
- if (getenv("XDG_RUNTIME_DIR") != 0 )
- {
- TQFileInfo xdgRuntime(getenv("XDG_RUNTIME_DIR"));
- passwd* pstruct = getpwnam(it.key().local8Bit());
- if (pstruct)
+ TQString xdgRuntimeDir = TQString::fromLocal8Bit(getenv("XDG_RUNTIME_DIR"));
+ if (xdgRuntimeDir.isEmpty())
{
- iceFile = TQString("%1/%2/%3").arg(xdgRuntime.dirPath()).arg(pstruct->pw_uid).arg(iceFileBase);
- fi.setFile(iceFile);
+ xdgRuntimeDir = "/run/user/<uid>";
}
- if (!pstruct || !fi.exists())
+ if (!xdgRuntimeDir.isEmpty())
{
- iceFile = TQString::null;
+ TQFileInfo xdgRuntime(xdgRuntimeDir);
+ passwd* pstruct = getpwnam(it.key().local8Bit());
+ if (pstruct)
+ {
+ iceFile = TQString("%1/%2/%3").arg(xdgRuntime.dirPath()).arg(pstruct->pw_uid).arg(iceFileBase);
+ fi.setFile(iceFile);
+ }
+ if (!pstruct || !fi.exists())
+ {
+ iceFile = TQString::null;
+ }
}
- }
- if (iceFile.isEmpty())
- {
- iceFile = TQString("%1/.%2").arg(it.data()).arg(iceFileBase);
- fi.setFile(iceFile);
- }
- if( iceFile.isEmpty() )
- {
- cerr_ << "WARNING: Cannot determine home directory for user "
- << it.key() << "!" << endl
- << "Please check permissions or set the $ICEAUTHORITY variable manually before" << endl
- << "calling dcop." << endl;
- }
- else if( fi.exists() )
- {
- if( fi.isReadable() )
+ if (iceFile.isEmpty())
{
- char *envStr = strdup( ( "ICEAUTHORITY=" + iceFile ).ascii() );
- putenv( envStr );
- //cerr_ << "ice: " << envStr << endl;
+ iceFile = TQString("%1/.%2").arg(it.data()).arg(iceFileBase);
+ fi.setFile(iceFile);
}
- else
+ if (iceFile.isEmpty())
{
- cerr_ << "WARNING: ICE authority file " << iceFile
- << "is not readable by you!" << endl
- << "Please check permissions or set the $ICEAUTHORITY variable manually before" << endl
- << "calling dcop." << endl;
+ cerr_ << "WARNING: Cannot determine home directory for user "
+ << it.key() << "!" << endl
+ << "Please check permissions or set the $ICEAUTHORITY variable manually before" << endl
+ << "calling dcop." << endl;
+ }
+ else if (fi.exists())
+ {
+ if (fi.isReadable())
+ {
+ char *envStr = strdup(("ICEAUTHORITY=" + iceFile).local8Bit());
+ putenv(envStr);
+ //cerr_ << "ice: " << envStr << endl;
+ }
+ else
+ {
+ cerr_ << "WARNING: ICE authority file " << iceFile
+ << "is not readable by you!" << endl
+ << "Please check permissions or set the $ICEAUTHORITY variable manually before" << endl
+ << "calling dcop." << endl;
+ }
}
- }
- else
- {
- if( users.count() > 1 )
- continue;
else
{
- cerr_ << "WARNING: Cannot find ICE authority file "
- << iceFile << "!" << endl
- << "Please check permissions or set the $ICEAUTHORITY"
- << " variable manually before" << endl
- << "calling dcop." << endl;
+ if (users.count() > 1)
+ {
+ continue;
+ }
+ else
+ {
+ cerr_ << "WARNING: Cannot find ICE authority file "
+ << iceFile << "!" << endl
+ << "Please check permissions or set the $ICEAUTHORITY"
+ << " variable manually before" << endl
+ << "calling dcop." << endl;
+ }
}
- }
}
// Main loop
diff --git a/dcop/dcopclient.cpp b/dcop/dcopclient.cpp
index 6a740e2ff..ed9594c6a 100644
--- a/dcop/dcopclient.cpp
+++ b/dcop/dcopclient.cpp
@@ -41,6 +41,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <sys/stat.h>
#include <sys/file.h>
#include <sys/socket.h>
+#include <sys/un.h>
#include <fcntl.h>
#include <unistd.h>
@@ -212,13 +213,26 @@ public:
TQCString DCOPClient::iceauthPath()
{
-#ifdef Q_OS_WIN32
+#if defined(ICEAUTH_PATH)
+ if (
+# if defined(Q_WS_WIN)
+ access(ICEAUTH_PATH, 0) == 0
+# else
+ access(ICEAUTH_PATH, X_OK) == 0
+# endif
+ )
+ {
+ return TQCString(ICEAUTH_PATH);
+ }
+
+#elif defined(Q_OS_WIN32)
char szPath[512];
char * pszFilePart;
int ret;
ret = SearchPathA(NULL,"iceauth.exe",NULL,sizeof(szPath)/sizeof(szPath[0]),szPath,&pszFilePart);
if(ret != 0)
return TQCString(szPath);
+
#else
TQCString path = ::getenv("PATH");
if (path.isEmpty())
@@ -232,9 +246,9 @@ TQCString DCOPClient::iceauthPath()
{
return fPath;
}
-
fPath = strtok(NULL, ":\b");
}
+
#endif
return 0;
}
@@ -713,10 +727,12 @@ bool DCOPClient::isSuspended() const
return !d->notifier->isEnabled();
}
-#ifdef SO_PEERCRED
+#if defined(SO_PEERCRED) || defined(LOCAL_PEEREID)
+#define USE_PEER_IS_US
// Check whether the remote end is owned by the same user.
static bool peerIsUs(int sockfd)
{
+#ifdef SO_PEERCRED
#if defined(__OpenBSD__)
struct sockpeercred cred;
#else
@@ -726,6 +742,13 @@ static bool peerIsUs(int sockfd)
if (getsockopt(sockfd, SOL_SOCKET, SO_PEERCRED, &cred, &siz) != 0)
return false;
return (cred.uid == getuid());
+#elif defined LOCAL_PEEREID
+ struct unpcbid cred;
+ socklen_t siz = sizeof(cred);
+ if (getsockopt(sockfd, 0, LOCAL_PEEREID, &cred, &siz) != 0 || siz != sizeof(cred))
+ return false;
+ return (cred.unp_euid == geteuid());
+#endif
}
#else
// Check whether the socket is owned by the same user.
@@ -871,7 +894,7 @@ bool DCOPClient::attachInternal( bool registerAsAnonymous )
return false;
}
-#ifdef SO_PEERCRED
+#ifdef USE_PEER_IS_US
d->foreign_server = !peerIsUs(socket());
#else
d->foreign_server = !isServerSocketOwnedByUser(d->serverAddr);
diff --git a/dcop/dcopidl/scanner.cc b/dcop/dcopidl/scanner.cc
index cac884f71..02d33a764 100644
--- a/dcop/dcopidl/scanner.cc
+++ b/dcop/dcopidl/scanner.cc
@@ -1076,9 +1076,9 @@ YY_MALLOC_DECL
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
#line 148 "scanner.ll"
@@ -1127,7 +1127,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
@@ -1762,9 +1762,9 @@ ECHO;
static int yy_get_next_buffer()
{
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
- register int number_to_move, i;
+ char *dest = yy_current_buffer->yy_ch_buf;
+ char *source = yytext_ptr;
+ int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
@@ -1894,8 +1894,8 @@ static int yy_get_next_buffer()
static yy_state_type yy_get_previous_state()
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
yy_current_state = yy_start;
yy_state_ptr = yy_state_buf;
@@ -1903,7 +1903,7 @@ static yy_state_type yy_get_previous_state()
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
@@ -1931,9 +1931,9 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
{
- register int yy_is_jam;
+ int yy_is_jam;
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
@@ -1955,10 +1955,10 @@ static void yyunput( int c, register char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
-register char *yy_bp;
+char *yy_bp;
#endif
{
- register char *yy_cp = yy_c_buf_p;
+ char *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
*yy_cp = yy_hold_char;
@@ -1966,10 +1966,10 @@ register char *yy_bp;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
+ int number_to_move = yy_n_chars + 2;
+ char *dest = &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size + 2];
- register char *source =
+ char *source =
&yy_current_buffer->yy_ch_buf[number_to_move];
while ( source > yy_current_buffer->yy_ch_buf )
@@ -2430,7 +2430,7 @@ yyconst char *s2;
int n;
#endif
{
- register int i;
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -2444,7 +2444,7 @@ static int yy_flex_strlen( s )
yyconst char *s;
#endif
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
diff --git a/dcop/dcopidlng/kalyptus b/dcop/dcopidlng/kalyptus
index e970812b2..22bfb6f53 100644
--- a/dcop/dcopidlng/kalyptus
+++ b/dcop/dcopidlng/kalyptus
@@ -439,7 +439,7 @@ LOOP:
|| $p =~ /^\s*KDOM_/
);
- push @includes_list, $1 if $p =~ /^#include\s+<?(.*?)>?\s*$/;
+ push @includes_list, $1 if $p =~ /^#include\s+[<"]?(.*?)[>"]?\s*$/;
# remove all preprocessor macros
if( $p =~ /^\s*#\s*(\w+)/ ) {
@@ -1521,16 +1521,22 @@ sub makeParamList($$$)
# Separate arg type from arg name, if the latter is specified
if ( $arg =~ /(.*)\s+([\w_]+)\s*$/ || $arg =~ /(.*)\(\s*\*\s([\w_]+)\)\s*\((.*)\)\s*$/ ) {
- if ( defined $3 ) { # function pointer
- $argType = $1."(*)($3)";
- $argName = $2;
+ if ( $1 eq "const" || $2 eq "long" || $2 eq "short" || $2 eq "int" || $2 eq "char" ) {
+ # const qualifier or long notation of numeric type
+ # without argument name
+ $argType = "$1 $2";
} else {
$argType = $1;
$argName = $2;
}
- } else { # unnamed arg - or enum value
+ if ( defined $3 ) {
+ # function pointer
+ $argType .= "(*)($3)";
+ }
+ } else {
+ # unnamed arg - or enum value
$argType = $arg if (!$isEnum);
- $argName = $arg if ($isEnum);
+ $argName = $arg if ($isEnum);
}
$argId++;
diff --git a/dcop/dcopidlng/kalyptusCxxToDcopIDL.pm b/dcop/dcopidlng/kalyptusCxxToDcopIDL.pm
index 8a2988f06..719f13e3b 100644
--- a/dcop/dcopidlng/kalyptusCxxToDcopIDL.pm
+++ b/dcop/dcopidlng/kalyptusCxxToDcopIDL.pm
@@ -95,7 +95,7 @@ sub preParseClass
my( $classNode ) = @_;
my $className = join( "::", kdocAstUtil::heritage($classNode) );
- if( $#{$classNode->{Kids}} < 0 ||
+ if( ($#{$classNode->{Kids}} < 0 && !$classNode->{DcopExported}) ||
$classNode->{Access} eq "private" ||
$classNode->{Access} eq "protected" || # e.g. QPixmap::QPixmapData
exists $classNode->{Tmpl} ||
@@ -161,18 +161,33 @@ sub generateMethod($$)
$argType =~ s/^\s*(.*?)\s*$/$1/;
$argType =~ s/</&lt;/g;
$argType =~ s/>/&gt;/g;
- $argType =~ s/\s//g;
-
- $args .= " <ARG><TYPE$typeAttrs>$argType</TYPE><NAME>$arg->{ArgName}</NAME></ARG>\n";
+ $argType =~ s/(\W)\s+/$1/g;
+ $argType =~ s/\s+(\W)/$1/g;
+ $argType =~ s/\b(signed|unsigned|long|short)$/$1 int/;
+
+ $args .= " ";
+ $args .= "<ARG><TYPE$typeAttrs>$argType</TYPE>";
+ $args .= "<NAME>$arg->{ArgName}</NAME>" if $arg->{ArgName} !~ /^$/;
+ $args .= "</ARG>\n";
}
my $qual = "";
$qual .= " qual=\"const\"" if $flags =~ "c";
+ my $r_isConst = ($returnType =~ s/^\s*const\s*//);
+ my $r_isRef = ($returnType =~ s/&//);
+
+ my $retTypeAttrs = "";
+ $retTypeAttrs .= " qleft=\"const\"" if $r_isConst;
+ $retTypeAttrs .= " qright=\"&amp;\"" if $r_isRef;
+
$returnType = "void" unless $returnType;
+ $returnType =~ s/^\s*(.*?)\s*$/$1/;
$returnType =~ s/</&lt;/g;
$returnType =~ s/>/&gt;/g;
- $returnType =~ s/^\s*const\s*//;
+ $returnType =~ s/(\W)\s+/$1/g;
+ $returnType =~ s/\s+(\W)/$1/g;
+ $returnType =~ s/\b(signed|unsigned|long|short)$/$1 int/;
my $methodCode = "";
@@ -182,7 +197,7 @@ sub generateMethod($$)
if (!$isConstructor) {
$methodCode .= " <$tagType$tagAttr$qual>\n";
- $methodCode .= " <TYPE>$returnType</TYPE>\n";
+ $methodCode .= " <TYPE$retTypeAttrs>$returnType</TYPE>\n";
$methodCode .= " <NAME>$name</NAME>\n";
$methodCode .= "$args";
$methodCode .= " </$tagType>\n";
diff --git a/dcop/dcopidlng/kdocAstUtil.pm b/dcop/dcopidlng/kdocAstUtil.pm
index f31f2b365..6abb59a25 100644
--- a/dcop/dcopidlng/kdocAstUtil.pm
+++ b/dcop/dcopidlng/kdocAstUtil.pm
@@ -152,10 +152,12 @@ ANITER:
if( !defined $ref ) {
# ancestor undefined
- warn "warning: ", $node->{astNodeName},
- " inherits unknown class '",
+ if( $in->{astNodeName} ne "DCOPObject"
+ && $in->{astNodeName} ne "TQObject" ) {
+ warn "warning: ", $node->{astNodeName},
+ " inherits unknown class '",
$in->{astNodeName},"'\n";
-
+ }
$parent->AddPropList( 'InBy', $node );
}
else {
diff --git a/dcop/dcopidlng/kdocParseDoc.pm b/dcop/dcopidlng/kdocParseDoc.pm
index e5f19d50c..fa34f5f30 100644
--- a/dcop/dcopidlng/kdocParseDoc.pm
+++ b/dcop/dcopidlng/kdocParseDoc.pm
@@ -60,15 +60,15 @@ PARSELOOP:
next if !defined $text;
$text =~ s#^\s*\*(?!\/)##;
+ if ( $text =~ m#\*/# ) {
+ $finished = 1;
+ $text = $`;
+ }
# if ( $text =~ /^\s*<\/pre>/i ) {
# flushProp();
# $inbounded = 0;
# }
if( $inbounded ) {
- if ( $text =~ m#\*/# ) {
- $finished = 1;
- $text = $`;
- }
$buffer .= $text;
next PARSELOOP;
}
@@ -162,10 +162,6 @@ PARSELOOP:
docProp( "LibDoc" );
}
else {
- if ( $text =~ m#\*/# ) {
- $finished = 1;
- $text = $`;
- }
$buffer .= $text;
}
}
diff --git a/dcop/dcopserver.cpp b/dcop/dcopserver.cpp
index c5bacc267..9a75a131e 100644
--- a/dcop/dcopserver.cpp
+++ b/dcop/dcopserver.cpp
@@ -118,7 +118,7 @@ static Bool HostBasedAuthProc ( char* /*hostname*/)
extern "C" {
extern IceWriteHandler _kde_IceWriteHandler;
extern IceIOErrorHandler _kde_IceIOErrorHandler;
-void DCOPIceWriteChar(register IceConn iceConn, unsigned long nbytes, char *ptr);
+void DCOPIceWriteChar(IceConn iceConn, unsigned long nbytes, char *ptr);
}
static TQCString readQCString(TQDataStream &ds)
@@ -237,7 +237,7 @@ static unsigned long writeIceData(IceConn iceConn, unsigned long nbytes, char *p
return 0;
}
-void DCOPIceWriteChar(register IceConn iceConn, unsigned long nbytes, char *ptr)
+void DCOPIceWriteChar(IceConn iceConn, unsigned long nbytes, char *ptr)
{
DCOPConnection* conn = the_server->findConn( iceConn );
#ifdef DCOP_DEBUG
@@ -384,7 +384,7 @@ qWarning("[dcopserver] slotOutputRead() more data to send.");
}
}
-static void DCOPIceSendData(register IceConn _iceConn,
+static void DCOPIceSendData(IceConn _iceConn,
const TQByteArray &_data)
{
if (_iceConn->outbufptr > _iceConn->outbuf)
diff --git a/dcop/dcopserver_shutdown.c b/dcop/dcopserver_shutdown.c
index fb25a86fa..af75c6d5a 100644
--- a/dcop/dcopserver_shutdown.c
+++ b/dcop/dcopserver_shutdown.c
@@ -151,7 +151,7 @@ static void cleanupDCOPsocket(char *buffer)
if (socket_file)
unlink(socket_file);
- snprintf(cmd, BUFFER_SIZE, "iceauth remove netid='%s'", buffer);
+ snprintf(cmd, BUFFER_SIZE, ICEAUTH_COMMAND " remove netid='%s'", buffer);
system(cmd);
}
diff --git a/dcop/tests/run-tests.sh b/dcop/tests/run-tests.sh
index dc3640511..0d0b02aad 100644
--- a/dcop/tests/run-tests.sh
+++ b/dcop/tests/run-tests.sh
@@ -10,7 +10,9 @@ clean_up
# create temporary home
export HOME=$PWD/test-home
mkdir $HOME
+export ICEAUTHORITY=$HOME/.ICEauthority
+echo '* Starting dcop server'
../dcopserver --nofork &
DCOP_SERVER_PID=$!
@@ -22,6 +24,10 @@ die() {
}
trap 'die "The script interrupted by user"' 2 15
+while ! ../dcopserver --serverid 2>/dev/null; do
+ echo '* Wait for the dcop server'
+ sleep 2
+done
echo '* Running batch mode'
./dcop_test --batch >batch.stdout || die "Failed to run dcop_test"
diff --git a/dnssd/CMakeLists.txt b/dnssd/CMakeLists.txt
index 0a078f3e5..c465d67a5 100644
--- a/dnssd/CMakeLists.txt
+++ b/dnssd/CMakeLists.txt
@@ -11,6 +11,8 @@
include_directories(
${TQT_INCLUDE_DIRS}
+ ${AVAHI_TQT_INCLUDE_DIRS}
+ ${AVAHI_CLIENT_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}/kdecore
@@ -20,6 +22,8 @@ include_directories(
link_directories(
${TDECORE_LIBRARY_DIRS}
+ ${AVAHI_TQT_LIBRARY_DIRS}
+ ${AVAHI_CLIENT_LIBRARY_DIRS}
)
##### headers ###################################
@@ -45,6 +49,6 @@ tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 1.0.0
LINK kdecore-shared
- DEPENDENCIES kconfig_compiler
+ LINK_PRIVATE ${AVAHI_TQT_LIBRARIES} ${AVAHI_CLIENT_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/dnssd/publicservice.cpp b/dnssd/publicservice.cpp
index 326dabeb7..ce2afa28c 100644
--- a/dnssd/publicservice.cpp
+++ b/dnssd/publicservice.cpp
@@ -56,7 +56,7 @@ class PublicServicePrivate
public:
PublicServicePrivate() : m_published(false), m_running(false), m_collision(false)
#ifdef HAVE_DNSSD
- , m_group(false)
+ , m_group(0)
#endif
{}
bool m_published;
diff --git a/doc/common/doxygen.css b/doc/common/doxygen.css
index 48563b473..932e6975a 100644
--- a/doc/common/doxygen.css
+++ b/doc/common/doxygen.css
@@ -94,3 +94,16 @@ SPAN.comment { color: #800000 }
SPAN.preprocessor { color: #806020 }
SPAN.stringliteral { color: #002080 }
SPAN.charliteral { color: #008080 }
+
+.line {
+text-align: left;
+font-family: monospace;
+}
+
+.lineno {
+display: inline-block;
+width: 3em;
+margin-right: 5px;
+background: #EEEEEE;
+text-align: right;
+}
diff --git a/doc/common/footer.html b/doc/common/footer.html
index 14fa8208c..982673386 100644
--- a/doc/common/footer.html
+++ b/doc/common/footer.html
@@ -1,4 +1,3 @@
- </div>
</div>
</div>
<div id="left">
diff --git a/doc/common/header.html b/doc/common/header.html
index b57fb0a04..de91edbac 100644
--- a/doc/common/header.html
+++ b/doc/common/header.html
@@ -46,7 +46,7 @@
</div>
<div id="menu">
-</ul> </div>
+ </div>
</div>
</div>
<!-- End page header -->
diff --git a/doc/common/mainfooter.html b/doc/common/mainfooter.html
index 00321fd49..f1e204f40 100644
--- a/doc/common/mainfooter.html
+++ b/doc/common/mainfooter.html
@@ -11,7 +11,6 @@ Questions about the reference manuals should be sent to
</p>
</div>
- </div>
</div>
</div>
<div id="left">
diff --git a/doc/common/mainheader.html b/doc/common/mainheader.html
index a7e2adca6..44b551dfb 100644
--- a/doc/common/mainheader.html
+++ b/doc/common/mainheader.html
@@ -45,7 +45,7 @@
</div>
<div id="menu">
-</ul> </div>
+ </div>
</div>
</div>
<!-- End page header -->
diff --git a/doc/kspell/CMakeLists.txt b/doc/kspell/CMakeLists.txt
index 94bc7cff5..2c67b9295 100644
--- a/doc/kspell/CMakeLists.txt
+++ b/doc/kspell/CMakeLists.txt
@@ -10,4 +10,3 @@
#################################################
tde_create_handbook( SRCDIR ${CMAKE_SOURCE_DIR}/kdoctools DESTINATION kspell )
-add_dependencies( kspell-en-handbook meinproc )
diff --git a/interfaces/kimproxy/library/CMakeLists.txt b/interfaces/kimproxy/library/CMakeLists.txt
index fb9584973..3f100ba57 100644
--- a/interfaces/kimproxy/library/CMakeLists.txt
+++ b/interfaces/kimproxy/library/CMakeLists.txt
@@ -47,5 +47,4 @@ tde_add_library( ${target} SHARED AUTOMOC
VERSION 0.0.0
LINK kio-shared
DESTINATION ${LIB_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
diff --git a/interfaces/kmediaplayer/CMakeLists.txt b/interfaces/kmediaplayer/CMakeLists.txt
index 06e14d9d1..93d828042 100644
--- a/interfaces/kmediaplayer/CMakeLists.txt
+++ b/interfaces/kmediaplayer/CMakeLists.txt
@@ -56,5 +56,4 @@ tde_add_library( ${target} SHARED AUTOMOC
VERSION 0.0.0
LINK kparts-shared
DESTINATION ${LIB_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
diff --git a/interfaces/ktexteditor/CMakeLists.txt b/interfaces/ktexteditor/CMakeLists.txt
index a011f2122..a234009de 100644
--- a/interfaces/ktexteditor/CMakeLists.txt
+++ b/interfaces/ktexteditor/CMakeLists.txt
@@ -90,7 +90,7 @@ set( ${target}_SRCS
tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 0.0.0
- LINK kdeui-shared kabc-shared kparts-shared
- DEPENDENCIES dcopidl dcopidl2cpp
+ LINK kdeui-shared kparts-shared
+ LINK_PRIVATE kabc-shared
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kab/CMakeLists.txt b/kab/CMakeLists.txt
index acf8663cb..a88aee095 100644
--- a/kab/CMakeLists.txt
+++ b/kab/CMakeLists.txt
@@ -32,5 +32,4 @@ set( ${target}_SRCS
tde_add_library( ${target} STATIC_PIC AUTOMOC
SOURCES ${${target}_SRCS}
- DEPENDENCIES dcopidl
)
diff --git a/kab/addressbook.cc b/kab/addressbook.cc
index 9795c42a7..ddae03d9b 100644
--- a/kab/addressbook.cc
+++ b/kab/addressbook.cc
@@ -407,7 +407,7 @@ AddressBook::AddressBook(TQWidget* parent, const char* name, bool loadit)
entries(new StringKabKeyMap),
state(NoFile)
{
- register bool GUARD; GUARD=true;
+ bool GUARD; GUARD=true;
// ###########################################################################
TQString dir, filename;
bool createBackup=true;
@@ -647,7 +647,7 @@ AddressBook::ErrorCode AddressBook::load(const TQString& filename)
AddressBook::ErrorCode
AddressBook::getListOfNames(TQStringList* strings, bool reverse, bool initials)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "AddressBook::getListOfNames: called.\n";
StringKabKeyMap::iterator pos;
@@ -702,7 +702,7 @@ AddressBook::literalName(const KabKey& key, TQString& text, bool rev, bool init)
AddressBook::ErrorCode
AddressBook::literalName(const Entry& entry, TQString& text, bool rev, bool init)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "AddressBook::literalName: called.\n";
TQString firstname, middlename, lastname, nameprefix;
@@ -817,7 +817,7 @@ AddressBook::dataFileChanged()
void
AddressBook::configFileChanged()
{
- register bool GUARD; GUARD=true;
+ bool GUARD; GUARD=true;
// ###########################################################################
if(!config->load())
{
@@ -835,7 +835,7 @@ AddressBook::configFileChanged()
void
AddressBook::reloaded(QConfigDB* db)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
if(db==data)
{
@@ -924,7 +924,7 @@ AddressBook::getEntry(const KabKey& key, Entry& entry)
AddressBook::ErrorCode
AddressBook::getEntry(const KabKey& key, Section*& section)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "AddressBook::getEntry: searching entry "
"with key " << key.getKey().data() << endl;
@@ -1004,7 +1004,7 @@ AddressBook::getKey(int index, KabKey& key)
AddressBook::ErrorCode
AddressBook::getIndex(const KabKey& key, int& index)
{
- register bool GUARD; GUARD=true;
+ bool GUARD; GUARD=true;
// ###########################################################################
StringKabKeyMap::iterator pos;
// -----
@@ -1283,7 +1283,7 @@ AddressBook::nextAvailEntryKey()
AddressBook::ErrorCode
AddressBook::updateMirrorMap()
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA)
<< "AddressBook::updateMirrorMap: updating mirror map.\n";
diff --git a/kab/qconfigDB.cc b/kab/qconfigDB.cc
index a5d13b815..1dcde3761 100644
--- a/kab/qconfigDB.cc
+++ b/kab/qconfigDB.cc
@@ -55,7 +55,7 @@ static bool isComment(TQCString line)
static void tokenize(list<TQCString>& res, const TQCString& text, char tr, bool strict=false)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "tokenize: called." << endl;
int eins=0, zwei=0;
@@ -99,7 +99,7 @@ static void tokenize(list<TQCString>& res, const TQCString& text, char tr, bool
static TQCString ReadLineFromStream(TQTextStream& stream)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "ReadLineFromStream:: reading line." << endl;
TQCString line;
@@ -174,7 +174,7 @@ KeyValueMap::size() const
void
KeyValueMap::clear()
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::clear: erasing map contents ... " << endl;
@@ -191,7 +191,7 @@ KeyValueMap::clear()
bool
KeyValueMap::fill(const TQString& filename, bool force, bool relax)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
TQFile file(filename);
TQCString line;
@@ -231,7 +231,7 @@ KeyValueMap::fill(const TQString& filename, bool force, bool relax)
bool
KeyValueMap::save(const TQString& filename, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::save: saving data to -->" <<
@@ -271,7 +271,7 @@ KeyValueMap::save(const TQString& filename, bool force)
bool
KeyValueMap::save(TQTextStream& file, int count)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::save: saving data to given output stream." << endl;
@@ -318,7 +318,7 @@ KeyValueMap::parseComplexString
int& noOfChars) // no of chars that represented the
const // complex string in the original
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
int first;
TQCString temp(2*orig.length());
@@ -415,7 +415,7 @@ KeyValueMap::parseComplexString
TQCString
KeyValueMap::makeComplexString(const TQCString& orig)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::makeComplexString: coding the string\n -->"
@@ -468,7 +468,7 @@ KeyValueMap::makeComplexString(const TQCString& orig)
bool
KeyValueMap::getRaw(const TQCString& key, TQCString& value) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::getRaw: trying to get raw value for key \"" << key << "\" ...\n";
@@ -490,7 +490,7 @@ KeyValueMap::getRaw(const TQCString& key, TQCString& value) const
bool
KeyValueMap::insertRaw(const TQCString& key, const TQCString& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::insertRaw: inserting uncoded value "
@@ -535,7 +535,7 @@ KeyValueMap::insertRaw(const TQCString& key, const TQCString& value, bool force)
bool
KeyValueMap::insert(const TQCString& key, const TQCString& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::insert: inserting value\n -->"
@@ -556,7 +556,7 @@ KeyValueMap::insert(const TQCString& key, const TQCString& value, bool force)
bool
KeyValueMap::insertLine(TQCString line, bool force, bool relax, bool encode)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::insertLine: inserting line -->"<<line<<"<--.\n";
@@ -611,7 +611,7 @@ KeyValueMap::insertLine(TQCString line, bool force, bool relax, bool encode)
bool
KeyValueMap::get(const TQCString& key, TQCString& value) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[string]: "
"trying to get value for key \"" << key << "\" ... " << endl;
@@ -651,7 +651,7 @@ KeyValueMap::get(const TQCString& key, TQCString& value) const
bool
KeyValueMap::insert(const TQCString& key, const TQString& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
TQCString v;
// -----
@@ -668,7 +668,7 @@ KeyValueMap::insert(const TQCString& key, const TQString& value, bool force)
bool
KeyValueMap::get(const TQCString& key, TQString& value) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[QString]: trying to get "
"a TQString value for key " << key << endl;
@@ -694,7 +694,7 @@ KeyValueMap::get(const TQCString& key, TQString& value) const
bool
KeyValueMap::insert(const TQCString& key, const bool& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[bool]: trying to "
"insert \""
@@ -709,7 +709,7 @@ KeyValueMap::insert(const TQCString& key, const bool& value, bool force)
bool
KeyValueMap::get(const TQCString& key, bool& value) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[bool]: trying to get "
"BOOL value for key " << key << endl;
@@ -750,7 +750,7 @@ KeyValueMap::get(const TQCString& key, bool& value) const
bool
KeyValueMap::insert(const TQCString& key, const long& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[int]: trying to "
"insert value \""<<value << "\" for key\n -->"<<key<<"<--.\n";
@@ -764,7 +764,7 @@ KeyValueMap::insert(const TQCString& key, const long& value, bool force)
bool
KeyValueMap::get(const TQCString& key, long& value) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[int]: trying to get "
"INTEGER value for key " << key << endl;
@@ -796,7 +796,7 @@ KeyValueMap::get(const TQCString& key, long& value) const
bool
KeyValueMap::insert(const TQCString& key, const list<long>& values, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[long int list]: "
"trying to insert long int list into map." << endl;
@@ -823,7 +823,7 @@ KeyValueMap::insert(const TQCString& key, const list<long>& values, bool force)
bool
KeyValueMap::get(const TQCString& key, list<long>& values) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[long int list]: trying "
"to decode int list for key " << key << endl;
@@ -871,7 +871,7 @@ KeyValueMap::get(const TQCString& key, list<long>& values) const
bool
KeyValueMap::insert(const TQCString& key, const list<int>& values, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[int list]: trying to "
"insert int list into map." << endl;
@@ -898,7 +898,7 @@ KeyValueMap::insert(const TQCString& key, const list<int>& values, bool force)
bool
KeyValueMap::get(const TQCString& key, list<int>& values) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[int list]: trying to "
"decode int list for key " << key << endl;
@@ -946,7 +946,7 @@ KeyValueMap::get(const TQCString& key, list<int>& values) const
bool
KeyValueMap::insert(const TQCString& key, const double& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA).form("KeyValueMap::insert[double]: trying to "
"insert value \"%f\" for key\n -->", value) << key << "<--.\n";
@@ -960,7 +960,7 @@ KeyValueMap::insert(const TQCString& key, const double& value, bool force)
bool
KeyValueMap::get(const TQCString& key, double& value) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[double]: trying to get "
"FLOAT value for key " << key << endl;
@@ -993,7 +993,7 @@ KeyValueMap::get(const TQCString& key, double& value) const
bool
KeyValueMap::get(const TQCString& key, list<TQCString>& values) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
kdDebug(!values.empty(), KAB_KDEBUG_AREA) << "KeyValueMap::get[string list]: "
"attention!\n \"values\" list reference is not "
"empty!" << endl;
@@ -1070,7 +1070,7 @@ KeyValueMap::get(const TQCString& key, list<TQCString>& values) const
bool
KeyValueMap::insert(const TQCString& key, const list<TQCString>& values, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[string list]: "
"coding string list." << endl;
@@ -1102,7 +1102,7 @@ KeyValueMap::insert(const TQCString& key, const list<TQCString>& values, bool fo
bool
KeyValueMap::get(const TQCString& key, TQStrList& values) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
kdDebug(!values.isEmpty(), KAB_KDEBUG_AREA) << "KeyValueMap::get[QStrList]: "
"attention!\n \"values\" list reference is not "
"empty!" << endl;
@@ -1178,7 +1178,7 @@ KeyValueMap::get(const TQCString& key, TQStrList& values) const
bool
KeyValueMap::insert(const TQCString& key, const TQStrList& values, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::insert[QStrList]: coding string list." << endl;
@@ -1209,7 +1209,7 @@ KeyValueMap::insert(const TQCString& key, const TQStrList& values, bool force)
bool
KeyValueMap::get(const TQCString& key, TQStringList& values) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
kdDebug(!values.isEmpty(), KAB_KDEBUG_AREA) << "KeyValueMap::get"
"[QStringList]: attention!\n \"values\" list reference"
" is not empty!" << endl;
@@ -1242,7 +1242,7 @@ KeyValueMap::get(const TQCString& key, TQStringList& values) const
bool
KeyValueMap::insert(const TQCString& key, const TQStringList& values, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"KeyValueMap::insert[QStringList]: coding TQStringList." << endl;
@@ -1265,7 +1265,7 @@ KeyValueMap::insert(const TQCString& key, const TQStringList& values, bool force
bool
KeyValueMap::insert(const TQCString& key, const list<double>& values, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[double list]: trying "
"to insert double list into map." << endl;
@@ -1293,7 +1293,7 @@ KeyValueMap::insert(const TQCString& key, const list<double>& values, bool force
bool
KeyValueMap::get(const TQCString& key, list<double>& values) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[double list]: trying to "
"decode double list for key " << key << endl;
@@ -1336,7 +1336,7 @@ KeyValueMap::get(const TQCString& key, list<double>& values) const
bool
KeyValueMap::insert(const TQCString& key, const TQDate& value, bool force)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::insert[QDate]: trying to "
"insert TQDate into map." << endl;
@@ -1360,7 +1360,7 @@ KeyValueMap::insert(const TQCString& key, const TQDate& value, bool force)
bool
KeyValueMap::get(const TQCString& key, TQDate& date) const
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "KeyValueMap::get[QDate]: trying to decode"
" TQDate for key " << key << endl;
@@ -1420,7 +1420,7 @@ Section::Section(const KeyValueMap& contents)
bool
Section::add(const TQCString& name)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::add: adding section \""
<<name<<"\" to "
@@ -1455,7 +1455,7 @@ Section::add(const TQCString& name)
bool
Section::add(const TQCString& name, Section* section)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
if(sections.insert(StringSectionMap::value_type(name, section)).second)
{
@@ -1473,7 +1473,7 @@ Section::add(const TQCString& name, Section* section)
bool
Section::find(const TQCString& name, StringSectionMap::iterator& result)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::find: trying to get section "
"\""<<name<<"\" ... \n";
@@ -1549,7 +1549,7 @@ Section::insertIndentSpace(TQTextStream& file, int level)
bool
Section::save(TQTextStream& stream, int level)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
StringSectionMap::iterator pos;
// -----
@@ -1592,7 +1592,7 @@ Section::save(TQTextStream& stream, int level)
bool
Section::readSection(TQTextStream& file, bool finish)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::readSection: reading section." << endl;
TQCString line;
@@ -1661,7 +1661,7 @@ Section::readSection(TQTextStream& file, bool finish)
bool
Section::isBeginOfSection(TQCString line)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
line=line.simplifyWhiteSpace();
if(line.isEmpty() || line.length()<2)
@@ -1687,7 +1687,7 @@ Section::isBeginOfSection(TQCString line)
bool
Section::isEndOfSection(TQCString line)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "Section::isEndOfSection: is "
<< line <<" the end of"
@@ -1728,7 +1728,7 @@ Section::isEndOfSection(TQCString line)
TQCString
Section::nameOfSection(const TQCString& line)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ###########################################################################
int first=1, second;
TQCString temp;
@@ -1849,7 +1849,7 @@ bool QConfigDB::invariant()
bool
QConfigDB::get(const list<TQCString>& key, KeyValueMap*& map)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::get: trying to get keys ... " << endl;
Section* section=&top;
@@ -1960,7 +1960,7 @@ QConfigDB::get(const TQCString& key, KeyValueMap*& map)
list<TQCString>
QConfigDB::stringToKeylist(const TQCString& desc)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::stringToKeylist: parsing path " << desc << endl;
// ############################################################################
list<TQCString> key;
@@ -2012,7 +2012,7 @@ QConfigDB::get(const TQCString& key, Section*& section)
bool
QConfigDB::get(const list<TQCString>& key, Section*& section)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::get: searching section ... " << endl;
Section* temp=&top;
@@ -2044,7 +2044,7 @@ QConfigDB::isRO()
int
QConfigDB::IsLocked(const TQString& file)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
TQString lockfile=file+".lock";
int pid=-1;
@@ -2087,7 +2087,7 @@ QConfigDB::IsLocked(const TQString& file)
bool
QConfigDB::lock()
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
if(locked)
{
@@ -2108,7 +2108,7 @@ QConfigDB::lock()
bool
QConfigDB::lock(const TQString& file)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::lock: locking the file "
<< file << endl;
@@ -2143,7 +2143,7 @@ QConfigDB::lock(const TQString& file)
bool
QConfigDB::unlock()
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::unlock: unlocking the file "
<< filename << endl;
@@ -2190,7 +2190,7 @@ QConfigDB::unlock()
void
QConfigDB::CleanLockFiles(int)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
list<TQString>::iterator pos;
// -----
@@ -2236,7 +2236,7 @@ QConfigDB::watch(bool state)
bool
QConfigDB::CheckLockFile(const TQString& file)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::CheckLockFile: called." << endl;
int pid;
@@ -2270,7 +2270,7 @@ QConfigDB::CheckLockFile(const TQString& file)
bool
QConfigDB::checkFileChanged()
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
// kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::checkFileChanged: called." << endl;
if(filename.isEmpty())
@@ -2308,7 +2308,7 @@ QConfigDB::checkFileChanged()
bool
QConfigDB::storeFileAge()
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::storeFileAge: called." << endl;
TQFileInfo file(filename);
@@ -2329,7 +2329,7 @@ QConfigDB::storeFileAge()
bool
QConfigDB::setFileName(const TQString& filename_, bool mustexist, bool readonly_)
{
- register bool GUARD; GUARD=false;
+ bool GUARD; GUARD=false;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) << "QConfigDB::setFileName: setting filename "
"to \""
@@ -2443,7 +2443,7 @@ QConfigDB::fileName()
bool
QConfigDB::save(const char* header, bool force)
{
- register bool GUARD; GUARD=true;
+ bool GUARD; GUARD=true;
// ############################################################################
kdDebug(GUARD, KAB_KDEBUG_AREA) <<
"QConfigDB::save: saving database -->" << filename << "<--.\n";
@@ -2522,7 +2522,7 @@ QConfigDB::save(const char* header, bool force)
bool
QConfigDB::load()
{
- register bool GUARD; GUARD=false ;
+ bool GUARD; GUARD=false ;
// ############################################################################
TQFile file(filename);
// -----
diff --git a/kabc/CMakeLists.txt b/kabc/CMakeLists.txt
index 7b8816986..8cbc41096 100644
--- a/kabc/CMakeLists.txt
+++ b/kabc/CMakeLists.txt
@@ -111,7 +111,7 @@ tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 1.2.0
LINK vcards-static vcard-shared kio-shared kresources-shared
- DEPENDENCIES addressee_files dcopidl
+ DEPENDENCIES addressee_files
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kabc/vcard/CMakeLists.txt b/kabc/vcard/CMakeLists.txt
index 673c01276..2af405d7d 100644
--- a/kabc/vcard/CMakeLists.txt
+++ b/kabc/vcard/CMakeLists.txt
@@ -14,7 +14,6 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
- ${CMAKE_CURRENT_SOURCE_DIR}/include/generated
${CMAKE_BINARY_DIR}/kdecore
${CMAKE_SOURCE_DIR}/kdecore
)
diff --git a/kabc/vcard/Enum.cpp b/kabc/vcard/Enum.cpp
index bcb48f98a..4811a0955 100644
--- a/kabc/vcard/Enum.cpp
+++ b/kabc/vcard/Enum.cpp
@@ -433,12 +433,12 @@ static signed char b64dec[] = {
char *
VCARD::decodeBase64(const char * s, unsigned long srcl, unsigned long & len)
{
- register unsigned char c;
- register unsigned long e(0);
+ unsigned char c;
+ unsigned long e(0);
len = 0;
unsigned const char * src = (unsigned const char *)s;
char * ret = new char[srcl + (srcl / 4 + 1)];
- register char *d = ret;
+ char *d = ret;
while (srcl--) { // Critical loop
c = *src++;
int dec = b64dec[c];
@@ -468,12 +468,12 @@ VCARD::decodeBase64(const char * s, unsigned long srcl, unsigned long & len)
char *
VCARD::encodeBase64(const char * src, unsigned long srcl, unsigned long & destl)
{
- register const unsigned char *s = (unsigned char *)src;
- register unsigned long i = ((srcl + 2) / 3) * 4;
+ const unsigned char *s = (unsigned char *)src;
+ unsigned long i = ((srcl + 2) / 3) * 4;
destl = i += 2 * ((i / 60) + 1);
i = 0;
char * ret = new char[destl];
- register unsigned char *d((unsigned char *)ret);
+ unsigned char *d((unsigned char *)ret);
while (srcl != 0) { // Critical loop
*d++ = B64[s[0] >> 2];
*d++ = B64[((s[0] << 4) + (--srcl == 0 ? 0 : s[1] >> 4)) & 0x3f];
diff --git a/kabc/vcard/Makefile.am b/kabc/vcard/Makefile.am
index 20d9b640e..542481ae7 100644
--- a/kabc/vcard/Makefile.am
+++ b/kabc/vcard/Makefile.am
@@ -1,6 +1,5 @@
INCLUDES = \
-I$(srcdir)/include \
- -I$(srcdir)/include/generated \
$(all_includes)
### KDE 4.0: either make noinst or rename to something like libkvcard
diff --git a/kabc/vcard/RToken.cpp b/kabc/vcard/RToken.cpp
index 582a9e1c7..0f7910688 100644
--- a/kabc/vcard/RToken.cpp
+++ b/kabc/vcard/RToken.cpp
@@ -40,11 +40,11 @@ RTokenise(const char * str, const char * delim, TQStrList & l)
char * len = (char *)(str + strlen(str)); // End of string.
- register char * rstart = new char[strlen(str) + 1];
- register char * r = rstart;
+ char * rstart = new char[strlen(str) + 1];
+ char * r = rstart;
- register const char * i = str; // Cursor.
+ const char * i = str; // Cursor.
while (i <= len) {
diff --git a/kabc/vcard/include/VCardAdrParam.h b/kabc/vcard/include/VCardAdrParam.h
index d40165f4a..00d016c31 100644
--- a/kabc/vcard/include/VCardAdrParam.h
+++ b/kabc/vcard/include/VCardAdrParam.h
@@ -34,25 +34,42 @@ namespace VCARD
class KVCARD_EXPORT AdrParam : public Param
{
+ public:
+ AdrParam();
+ AdrParam(const AdrParam&);
+ AdrParam(const TQCString&);
+ AdrParam & operator = (AdrParam&);
+ AdrParam & operator = (const TQCString&);
+ bool operator ==(AdrParam&);
+ bool operator !=(AdrParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {AdrParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
-#include "AdrParam-generated.h"
-
- TQStrList adrTypeList()
- { parse(); return adrTypeList_; }
-
- TQCString textParam()
- { parse(); return textParam_; }
-
- void setAdrTypeList(const TQStrList & l)
- { adrTypeList_ = l; assembled_ = false; }
-
- void setTextParam(const TQCString & s)
- { textParam_ = s; assembled_ = false; }
+ virtual ~AdrParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "AdrParam"; }
+
+ TQStrList adrTypeList()
+ { parse(); return adrTypeList_; }
+
+ TQCString textParam()
+ { parse(); return textParam_; }
- enum AdrType {
- AdrDom, AdrIntl, AdrPostal, AdrParcel, AdrHome, AdrWork, AdrPref,
- AdrIANA, AdrX
- };
+ void setAdrTypeList(const TQStrList & l)
+ { adrTypeList_ = l; assembled_ = false; }
+
+ void setTextParam(const TQCString & s)
+ { textParam_ = s; assembled_ = false; }
+
+ enum AdrType {
+ AdrDom, AdrIntl, AdrPostal, AdrParcel, AdrHome, AdrWork, AdrPref,
+ AdrIANA, AdrX
+ };
private:
diff --git a/kabc/vcard/include/VCardAdrValue.h b/kabc/vcard/include/VCardAdrValue.h
index 94ed93aee..7325c10c5 100644
--- a/kabc/vcard/include/VCardAdrValue.h
+++ b/kabc/vcard/include/VCardAdrValue.h
@@ -32,39 +32,56 @@ namespace VCARD
class KVCARD_EXPORT AdrValue : public Value
{
-
-#include "AdrValue-generated.h"
-
- AdrValue *clone();
-
- void setPOBox(const TQCString & s)
- { poBox_ = s; assembled_ = false; }
-
- void setExtAddress(const TQCString & s)
- { extAddress_ = s; assembled_ = false; }
+ public:
+ AdrValue();
+ AdrValue(const AdrValue&);
+ AdrValue(const TQCString&);
+ AdrValue & operator = (AdrValue&);
+ AdrValue & operator = (const TQCString&);
+ bool operator ==(AdrValue&);
+ bool operator !=(AdrValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {AdrValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
- void setStreet(const TQCString & s)
- { street_ = s; assembled_ = false; }
+ virtual ~AdrValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
- void setLocality(const TQCString & s)
- { locality_ = s; assembled_ = false; }
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
- void setRegion(const TQCString & s)
- { region_ = s; assembled_ = false; }
+ void _parse();
+ void _assemble();
+ const char * className() const { return "AdrValue"; }
- void setPostCode(const TQCString & s)
- { postCode_ = s; assembled_ = false; }
-
- void setCountryName(const TQCString & s)
- { countryName_ = s; assembled_ = false; }
-
- TQCString poBox() { parse(); return poBox_; }
- TQCString extAddress() { parse(); return extAddress_; }
- TQCString street() { parse(); return street_; }
- TQCString locality() { parse(); return locality_; }
- TQCString region() { parse(); return region_; }
- TQCString postCode() { parse(); return postCode_; }
- TQCString countryName() { parse(); return countryName_; }
+ AdrValue *clone();
+
+ void setPOBox(const TQCString & s)
+ { poBox_ = s; assembled_ = false; }
+
+ void setExtAddress(const TQCString & s)
+ { extAddress_ = s; assembled_ = false; }
+
+ void setStreet(const TQCString & s)
+ { street_ = s; assembled_ = false; }
+
+ void setLocality(const TQCString & s)
+ { locality_ = s; assembled_ = false; }
+
+ void setRegion(const TQCString & s)
+ { region_ = s; assembled_ = false; }
+
+ void setPostCode(const TQCString & s)
+ { postCode_ = s; assembled_ = false; }
+
+ void setCountryName(const TQCString & s)
+ { countryName_ = s; assembled_ = false; }
+
+ TQCString poBox() { parse(); return poBox_; }
+ TQCString extAddress() { parse(); return extAddress_; }
+ TQCString street() { parse(); return street_; }
+ TQCString locality() { parse(); return locality_; }
+ TQCString region() { parse(); return region_; }
+ TQCString postCode() { parse(); return postCode_; }
+ TQCString countryName() { parse(); return countryName_; }
private:
diff --git a/kabc/vcard/include/VCardAgentParam.h b/kabc/vcard/include/VCardAgentParam.h
index 90c3bd528..b7b84c800 100644
--- a/kabc/vcard/include/VCardAgentParam.h
+++ b/kabc/vcard/include/VCardAgentParam.h
@@ -34,20 +34,37 @@ namespace VCARD
class KVCARD_EXPORT AgentParam : public Param
{
+ public:
+ AgentParam();
+ AgentParam(const AgentParam&);
+ AgentParam(const TQCString&);
+ AgentParam & operator = (AgentParam&);
+ AgentParam & operator = (const TQCString&);
+ bool operator ==(AgentParam&);
+ bool operator !=(AgentParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {AgentParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~AgentParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "AgentParam"; }
-#include "AgentParam-generated.h"
-
- bool refer()
- { parse(); return refer_; }
-
- URIValue uri()
- { parse(); return uri_; }
-
- void setRefer(bool b)
- { refer_ = b; assembled_ = false; }
+ bool refer()
+ { parse(); return refer_; }
+
+ URIValue uri()
+ { parse(); return uri_; }
+
+ void setRefer(bool b)
+ { refer_ = b; assembled_ = false; }
- void setURI(const TQCString & s)
- { uri_ = s; assembled_ = false; }
+ void setURI(const TQCString & s)
+ { uri_ = s; assembled_ = false; }
private:
diff --git a/kabc/vcard/include/VCardAgentValue.h b/kabc/vcard/include/VCardAgentValue.h
index dd68145c9..bb4ac4eff 100644
--- a/kabc/vcard/include/VCardAgentValue.h
+++ b/kabc/vcard/include/VCardAgentValue.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT AgentValue : public Value
{
-
-#include "AgentValue-generated.h"
-
- private:
+ public:
+ AgentValue();
+ AgentValue(const AgentValue&);
+ AgentValue(const TQCString&);
+ AgentValue & operator = (AgentValue&);
+ AgentValue & operator = (const TQCString&);
+ bool operator ==(AgentValue&);
+ bool operator !=(AgentValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {AgentValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~AgentValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "AgentValue"; }
};
}
diff --git a/kabc/vcard/include/VCardClassValue.h b/kabc/vcard/include/VCardClassValue.h
index 5de79167b..fd2b499d1 100644
--- a/kabc/vcard/include/VCardClassValue.h
+++ b/kabc/vcard/include/VCardClassValue.h
@@ -35,8 +35,25 @@ namespace VCARD
class KVCARD_EXPORT ClassValue : public Value
{
+ public:
+ ClassValue();
+ ClassValue(const ClassValue&);
+ ClassValue(const TQCString&);
+ ClassValue & operator = (ClassValue&);
+ ClassValue & operator = (const TQCString&);
+ bool operator ==(ClassValue&);
+ bool operator !=(ClassValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {ClassValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
-#include "ClassValue-generated.h"
+ virtual ~ClassValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "ClassValue"; }
enum ClassType {
Public, Private, Confidential, Other
diff --git a/kabc/vcard/include/VCardContentLine.h b/kabc/vcard/include/VCardContentLine.h
index ea59444a0..e62ba9864 100644
--- a/kabc/vcard/include/VCardContentLine.h
+++ b/kabc/vcard/include/VCardContentLine.h
@@ -36,30 +36,47 @@ namespace VCARD
class KVCARD_EXPORT ContentLine : public Entity
{
+ public:
+ ContentLine();
+ ContentLine(const ContentLine&);
+ ContentLine(const TQCString&);
+ ContentLine & operator = (ContentLine&);
+ ContentLine & operator = (const TQCString&);
+ bool operator ==(ContentLine&);
+ bool operator !=(ContentLine& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {ContentLine a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
-#include "ContentLine-generated.h"
-
- TQCString group() { parse(); return group_; }
- TQCString name() { parse(); return name_; }
- Value * value() { parse(); return value_; }
- ParamList paramList() { parse(); return paramList_; }
- ParamType paramType() { parse(); return paramType_; }
- ValueType valueType() { parse(); return valueType_; }
- EntityType entityType() { parse(); return entityType_; }
-
- void setGroup (const TQCString & s)
- { group_ = s; assembled_ = false; }
-
- void setName (const TQCString & s)
- { name_ = s; assembled_ = false; }
-
- void setValue (Value *s)
- { value_ = s; assembled_ = false; }
-
- void setParamList (const ParamList & l)
- { paramList_ = l; assembled_ = false; }
+ virtual ~ContentLine();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "ContentLine"; }
+
+ TQCString group() { parse(); return group_; }
+ TQCString name() { parse(); return name_; }
+ Value * value() { parse(); return value_; }
+ ParamList paramList() { parse(); return paramList_; }
+ ParamType paramType() { parse(); return paramType_; }
+ ValueType valueType() { parse(); return valueType_; }
+ EntityType entityType() { parse(); return entityType_; }
+
+ void setGroup (const TQCString & s)
+ { group_ = s; assembled_ = false; }
+
+ void setName (const TQCString & s)
+ { name_ = s; assembled_ = false; }
+
+ void setValue (Value *s)
+ { value_ = s; assembled_ = false; }
+
+ void setParamList (const ParamList & l)
+ { paramList_ = l; assembled_ = false; }
- void clear ();
+ void clear ();
private:
diff --git a/kabc/vcard/include/VCardDateParam.h b/kabc/vcard/include/VCardDateParam.h
index 410eae6b7..6c6092346 100644
--- a/kabc/vcard/include/VCardDateParam.h
+++ b/kabc/vcard/include/VCardDateParam.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT DateParam : public Param
{
-
-#include "DateParam-generated.h"
-
- private:
+ public:
+ DateParam();
+ DateParam(const DateParam&);
+ DateParam(const TQCString&);
+ DateParam & operator = (DateParam&);
+ DateParam & operator = (const TQCString&);
+ bool operator ==(DateParam&);
+ bool operator !=(DateParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {DateParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~DateParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "DateParam"; }
};
}
diff --git a/kabc/vcard/include/VCardDateValue.h b/kabc/vcard/include/VCardDateValue.h
index 4f2e2fe7f..60db0f330 100644
--- a/kabc/vcard/include/VCardDateValue.h
+++ b/kabc/vcard/include/VCardDateValue.h
@@ -34,52 +34,70 @@ namespace VCARD
class KVCARD_EXPORT DateValue : public Value
{
-#include "DateValue-generated.h"
-
- DateValue(
- unsigned int year,
- unsigned int month,
- unsigned int day,
- unsigned int hour = 0,
- unsigned int minute = 0,
- unsigned int second = 0,
- double secFrac = 0,
- bool zonePositive = true,
- unsigned int zoneHour = 0,
- unsigned int zoneMinute = 0);
-
- DateValue(const TQDate &);
- DateValue(const TQDateTime &);
-
- DateValue *clone();
-
- bool hasTime();
-
- unsigned int year();
- unsigned int month();
- unsigned int day();
- unsigned int hour();
- unsigned int minute();
- unsigned int second();
- double secondFraction();
- bool zonePositive();
- unsigned int zoneHour();
- unsigned int zoneMinute();
-
- void setYear (unsigned int);
- void setMonth (unsigned int);
- void setDay (unsigned int);
- void setHour (unsigned int);
- void setMinute (unsigned int);
- void setSecond (unsigned int);
- void setSecondFraction (double);
- void setZonePositive (bool);
- void setZoneHour (unsigned int);
- void setZoneMinute (unsigned int);
-
- TQDate qdate();
- TQTime qtime();
- TQDateTime qdt();
+ public:
+ DateValue();
+ DateValue(const DateValue&);
+ DateValue(const TQCString&);
+ DateValue & operator = (DateValue&);
+ DateValue & operator = (const TQCString&);
+ bool operator ==(DateValue&);
+ bool operator !=(DateValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {DateValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~DateValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "DateValue"; }
+
+ DateValue(
+ unsigned int year,
+ unsigned int month,
+ unsigned int day,
+ unsigned int hour = 0,
+ unsigned int minute = 0,
+ unsigned int second = 0,
+ double secFrac = 0,
+ bool zonePositive = true,
+ unsigned int zoneHour = 0,
+ unsigned int zoneMinute = 0);
+
+ DateValue(const TQDate &);
+ DateValue(const TQDateTime &);
+
+ DateValue *clone();
+
+ bool hasTime();
+
+ unsigned int year();
+ unsigned int month();
+ unsigned int day();
+ unsigned int hour();
+ unsigned int minute();
+ unsigned int second();
+ double secondFraction();
+ bool zonePositive();
+ unsigned int zoneHour();
+ unsigned int zoneMinute();
+
+ void setYear (unsigned int);
+ void setMonth (unsigned int);
+ void setDay (unsigned int);
+ void setHour (unsigned int);
+ void setMinute (unsigned int);
+ void setSecond (unsigned int);
+ void setSecondFraction (double);
+ void setZonePositive (bool);
+ void setZoneHour (unsigned int);
+ void setZoneMinute (unsigned int);
+
+ TQDate qdate();
+ TQTime qtime();
+ TQDateTime qdt();
private:
diff --git a/kabc/vcard/include/VCardEmailParam.h b/kabc/vcard/include/VCardEmailParam.h
index 1fe558afd..4ed4af5a0 100644
--- a/kabc/vcard/include/VCardEmailParam.h
+++ b/kabc/vcard/include/VCardEmailParam.h
@@ -33,17 +33,34 @@ namespace VCARD
class KVCARD_EXPORT EmailParam : public Param
{
+ public:
+ EmailParam();
+ EmailParam(const EmailParam&);
+ EmailParam(const TQCString&);
+ EmailParam & operator = (EmailParam&);
+ EmailParam & operator = (const TQCString&);
+ bool operator ==(EmailParam&);
+ bool operator !=(EmailParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {EmailParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~EmailParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "EmailParam"; }
-#include "EmailParam-generated.h"
-
- TQCString emailType() { parse(); return emailType_; }
- bool pref() { parse(); return pref_; }
-
- void setEmailType(const TQCString & s)
- { emailType_ = s; assembled_ = false; }
-
- void setPref(bool b)
- { pref_ = b; assembled_ = false; }
+ TQCString emailType() { parse(); return emailType_; }
+ bool pref() { parse(); return pref_; }
+
+ void setEmailType(const TQCString & s)
+ { emailType_ = s; assembled_ = false; }
+
+ void setPref(bool b)
+ { pref_ = b; assembled_ = false; }
private:
diff --git a/kabc/vcard/include/VCardFloatValue.h b/kabc/vcard/include/VCardFloatValue.h
index 45a6823be..24c4760b8 100644
--- a/kabc/vcard/include/VCardFloatValue.h
+++ b/kabc/vcard/include/VCardFloatValue.h
@@ -33,13 +33,30 @@ namespace VCARD
class KVCARD_EXPORT FloatValue : public Value
{
-
-#include "FloatValue-generated.h"
-
- FloatValue(float);
-
- float value();
- void setValue(float);
+ public:
+ FloatValue();
+ FloatValue(const FloatValue&);
+ FloatValue(const TQCString&);
+ FloatValue & operator = (FloatValue&);
+ FloatValue & operator = (const TQCString&);
+ bool operator ==(FloatValue&);
+ bool operator !=(FloatValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {FloatValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~FloatValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "FloatValue"; }
+
+ FloatValue(float);
+
+ float value();
+ void setValue(float);
private:
diff --git a/kabc/vcard/include/VCardGeoValue.h b/kabc/vcard/include/VCardGeoValue.h
index 4228587a4..5d5720df5 100644
--- a/kabc/vcard/include/VCardGeoValue.h
+++ b/kabc/vcard/include/VCardGeoValue.h
@@ -28,8 +28,25 @@ namespace VCARD
class KVCARD_EXPORT GeoValue : public Value
{
-
-#include "GeoValue-generated.h"
+ public:
+ GeoValue();
+ GeoValue(const GeoValue&);
+ GeoValue(const TQCString&);
+ GeoValue & operator = (GeoValue&);
+ GeoValue & operator = (const TQCString&);
+ bool operator ==(GeoValue&);
+ bool operator !=(GeoValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {GeoValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~GeoValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "GeoValue"; }
GeoValue *clone();
diff --git a/kabc/vcard/include/VCardGroup.h b/kabc/vcard/include/VCardGroup.h
index ce884f100..878e6ab78 100644
--- a/kabc/vcard/include/VCardGroup.h
+++ b/kabc/vcard/include/VCardGroup.h
@@ -31,7 +31,25 @@ namespace VCARD
class KVCARD_EXPORT Group : public Entity
{
-#include "Group-generated.h"
+ public:
+ Group();
+ Group(const Group&);
+ Group(const TQCString&);
+ Group & operator = (Group&);
+ Group & operator = (const TQCString&);
+ bool operator ==(Group&);
+ bool operator !=(Group& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {Group a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~Group();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "Group"; }
};
}
diff --git a/kabc/vcard/include/VCardImageParam.h b/kabc/vcard/include/VCardImageParam.h
index 10ab8a3f5..b679dab4d 100644
--- a/kabc/vcard/include/VCardImageParam.h
+++ b/kabc/vcard/include/VCardImageParam.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT ImageParam : public Param
{
-
-#include "ImageParam-generated.h"
-
- private:
+ public:
+ ImageParam();
+ ImageParam(const ImageParam&);
+ ImageParam(const TQCString&);
+ ImageParam & operator = (ImageParam&);
+ ImageParam & operator = (const TQCString&);
+ bool operator ==(ImageParam&);
+ bool operator !=(ImageParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {ImageParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~ImageParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "ImageParam"; }
};
}
diff --git a/kabc/vcard/include/VCardImageValue.h b/kabc/vcard/include/VCardImageValue.h
index 45fbcad9c..ed703121b 100644
--- a/kabc/vcard/include/VCardImageValue.h
+++ b/kabc/vcard/include/VCardImageValue.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT ImageValue : public Value
{
-
-#include "ImageValue-generated.h"
-
- private:
+ public:
+ ImageValue();
+ ImageValue(const ImageValue&);
+ ImageValue(const TQCString&);
+ ImageValue & operator = (ImageValue&);
+ ImageValue & operator = (const TQCString&);
+ bool operator ==(ImageValue&);
+ bool operator !=(ImageValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {ImageValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~ImageValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "ImageValue"; }
};
}
diff --git a/kabc/vcard/include/VCardImgValue.h b/kabc/vcard/include/VCardImgValue.h
index 7d4bbfa2d..3e57e94e0 100644
--- a/kabc/vcard/include/VCardImgValue.h
+++ b/kabc/vcard/include/VCardImgValue.h
@@ -31,7 +31,25 @@ namespace VCARD
class KVCARD_EXPORT ImgValue : public Value
{
-#include "ImgValue-generated.h"
+ public:
+ ImgValue();
+ ImgValue(const ImgValue&);
+ ImgValue(const TQCString&);
+ ImgValue & operator = (ImgValue&);
+ ImgValue & operator = (const TQCString&);
+ bool operator ==(ImgValue&);
+ bool operator !=(ImgValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {ImgValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~ImgValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ virtual const char * className() const { return "ImgValue"; }
};
}
diff --git a/kabc/vcard/include/VCardLangValue.h b/kabc/vcard/include/VCardLangValue.h
index 7767d52fa..96eea4f71 100644
--- a/kabc/vcard/include/VCardLangValue.h
+++ b/kabc/vcard/include/VCardLangValue.h
@@ -34,16 +34,34 @@ namespace VCARD
class KVCARD_EXPORT LangValue : public Value
{
-#include "LangValue-generated.h"
-
- TQCString primary();
- TQStrList subtags();
-
- void setPrimary(const TQCString &);
- void setSubTags(const TQStrList &);
-
- TQCString primary_;
- TQStrList subtags_;
+ public:
+ LangValue();
+ LangValue(const LangValue&);
+ LangValue(const TQCString&);
+ LangValue & operator = (LangValue&);
+ LangValue & operator = (const TQCString&);
+ bool operator ==(LangValue&);
+ bool operator !=(LangValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {LangValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~LangValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "LangValue"; }
+
+ TQCString primary();
+ TQStrList subtags();
+
+ void setPrimary(const TQCString &);
+ void setSubTags(const TQStrList &);
+
+ TQCString primary_;
+ TQStrList subtags_;
};
}
diff --git a/kabc/vcard/include/VCardNValue.h b/kabc/vcard/include/VCardNValue.h
index 9db37fbbc..cd15c6b53 100644
--- a/kabc/vcard/include/VCardNValue.h
+++ b/kabc/vcard/include/VCardNValue.h
@@ -31,24 +31,43 @@ namespace VCARD
class KVCARD_EXPORT NValue : public Value
{
-#include "NValue-generated.h"
- NValue *clone();
-
- TQCString family() { parse(); return family_; }
- TQCString given() { parse(); return given_; }
- TQCString middle() { parse(); return middle_; }
- TQCString prefix() { parse(); return prefix_; }
- TQCString suffix() { parse(); return suffix_; }
-
- void setFamily (const TQCString & s) { family_ = s; assembled_ = false; }
- void setGiven (const TQCString & s) { given_ = s; assembled_ = false; }
- void setMiddle (const TQCString & s) { middle_ = s; assembled_ = false; }
- void setPrefix (const TQCString & s) { prefix_ = s; assembled_ = false; }
- void setSuffix (const TQCString & s) { suffix_ = s; assembled_ = false; }
-
+ public:
+ NValue();
+ NValue(const NValue&);
+ NValue(const TQCString&);
+ NValue & operator = (NValue&);
+ NValue & operator = (const TQCString&);
+ bool operator ==(NValue&);
+ bool operator !=(NValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {NValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~NValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "NValue"; }
+
+ NValue *clone();
+
+ TQCString family() { parse(); return family_; }
+ TQCString given() { parse(); return given_; }
+ TQCString middle() { parse(); return middle_; }
+ TQCString prefix() { parse(); return prefix_; }
+ TQCString suffix() { parse(); return suffix_; }
+
+ void setFamily (const TQCString & s) { family_ = s; assembled_ = false; }
+ void setGiven (const TQCString & s) { given_ = s; assembled_ = false; }
+ void setMiddle (const TQCString & s) { middle_ = s; assembled_ = false; }
+ void setPrefix (const TQCString & s) { prefix_ = s; assembled_ = false; }
+ void setSuffix (const TQCString & s) { suffix_ = s; assembled_ = false; }
+
private:
-
- TQCString family_, given_, middle_, prefix_, suffix_;
+
+ TQCString family_, given_, middle_, prefix_, suffix_;
};
}
diff --git a/kabc/vcard/include/VCardOrgValue.h b/kabc/vcard/include/VCardOrgValue.h
index a2bd803e5..f4bad70ac 100644
--- a/kabc/vcard/include/VCardOrgValue.h
+++ b/kabc/vcard/include/VCardOrgValue.h
@@ -34,11 +34,28 @@ namespace VCARD
class KVCARD_EXPORT OrgValue : public Value
{
+ public:
+ OrgValue();
+ OrgValue(const OrgValue&);
+ OrgValue(const TQCString&);
+ OrgValue & operator = (OrgValue&);
+ OrgValue & operator = (const TQCString&);
+ bool operator ==(OrgValue&);
+ bool operator !=(OrgValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {OrgValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~OrgValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "OrgValue"; }
-#include "OrgValue-generated.h"
-
- unsigned int numValues();
- TQCString value(unsigned int);
+ unsigned int numValues();
+ TQCString value(unsigned int);
private:
diff --git a/kabc/vcard/include/VCardParam.h b/kabc/vcard/include/VCardParam.h
index 93d70f06b..8114e28e5 100644
--- a/kabc/vcard/include/VCardParam.h
+++ b/kabc/vcard/include/VCardParam.h
@@ -34,16 +34,33 @@ namespace VCARD
class KVCARD_EXPORT Param : public Entity
{
+ public:
+ Param();
+ Param(const Param&);
+ Param(const TQCString&);
+ Param & operator = (Param&);
+ Param & operator = (const TQCString&);
+ bool operator ==(Param&);
+ bool operator !=(Param& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {Param a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
-#include "Param-generated.h"
+ virtual ~Param();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
- Param(const TQCString &name, const TQCString &value);
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
- void setName(const TQCString &);
- void setValue(const TQCString &);
-
- TQCString name();
- TQCString value();
+ void _parse();
+ void _assemble();
+ const char * className() const { return "Param"; }
+
+ Param(const TQCString &name, const TQCString &value);
+
+ void setName(const TQCString &);
+ void setValue(const TQCString &);
+
+ TQCString name();
+ TQCString value();
private:
diff --git a/kabc/vcard/include/VCardPhoneNumberValue.h b/kabc/vcard/include/VCardPhoneNumberValue.h
index 3f9e106ca..3a44da2d2 100644
--- a/kabc/vcard/include/VCardPhoneNumberValue.h
+++ b/kabc/vcard/include/VCardPhoneNumberValue.h
@@ -31,7 +31,25 @@ namespace VCARD
class KVCARD_EXPORT PhoneNumberValue : public Value
{
-#include "PhoneNumberValue-generated.h"
+ public:
+ PhoneNumberValue();
+ PhoneNumberValue(const PhoneNumberValue&);
+ PhoneNumberValue(const TQCString&);
+ PhoneNumberValue & operator = (PhoneNumberValue&);
+ PhoneNumberValue & operator = (const TQCString&);
+ bool operator ==(PhoneNumberValue&);
+ bool operator !=(PhoneNumberValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {PhoneNumberValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~PhoneNumberValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "PhoneNumberValue"; }
};
}
diff --git a/kabc/vcard/include/VCardSndValue.h b/kabc/vcard/include/VCardSndValue.h
deleted file mode 100644
index 09a3a8238..000000000
--- a/kabc/vcard/include/VCardSndValue.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- libvcard - vCard parsing library for vCard version 3.0
-
- Copyright (C) 1999 Rik Hemsley rik@kde.org
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to
- deal in the Software without restriction, including without limitation the
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#ifndef SNDVALUE_H
-#define SNDVALUE_H
-
-#include <VCardValue.h>
-
-namespace VCARD
-{
-
-class KVCARD_EXPORT SndValue : public Value
-{
-#include "SndValue-generated.h"
-};
-
-}
-
-#endif
diff --git a/kabc/vcard/include/VCardSoundValue.h b/kabc/vcard/include/VCardSoundValue.h
index 61858f058..591449f7d 100644
--- a/kabc/vcard/include/VCardSoundValue.h
+++ b/kabc/vcard/include/VCardSoundValue.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT SoundValue : public Value
{
-
-#include "SoundValue-generated.h"
-
- private:
+ public:
+ SoundValue();
+ SoundValue(const SoundValue&);
+ SoundValue(const TQCString&);
+ SoundValue & operator = (SoundValue&);
+ SoundValue & operator = (const TQCString&);
+ bool operator ==(SoundValue&);
+ bool operator !=(SoundValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {SoundValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~SoundValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "SoundValue"; }
};
}
diff --git a/kabc/vcard/include/VCardSourceParam.h b/kabc/vcard/include/VCardSourceParam.h
index 1d9d03d47..5d80dd2f4 100644
--- a/kabc/vcard/include/VCardSourceParam.h
+++ b/kabc/vcard/include/VCardSourceParam.h
@@ -33,15 +33,32 @@ namespace VCARD
class KVCARD_EXPORT SourceParam : public Param
{
+ public:
+ SourceParam();
+ SourceParam(const SourceParam&);
+ SourceParam(const TQCString&);
+ SourceParam & operator = (SourceParam&);
+ SourceParam & operator = (const TQCString&);
+ bool operator ==(SourceParam&);
+ bool operator !=(SourceParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {SourceParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~SourceParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "SourceParam"; }
+
+ enum SourceParamType { TypeUnknown, TypeValue, TypeContext, TypeX };
-#include "SourceParam-generated.h"
-
- enum SourceParamType { TypeUnknown, TypeValue, TypeContext, TypeX };
-
SourceParamType type() { parse(); return type_;}
TQCString par() { parse(); return par_; }
TQCString val() { parse(); return val_; }
-
+
void setType(SourceParamType t) { type_ = t; assembled_ = false; }
void setPar(const TQCString & s) { par_ = s; assembled_ = false; }
void setVal(const TQCString & s) { val_ = s; assembled_ = false; }
diff --git a/kabc/vcard/include/VCardTelParam.h b/kabc/vcard/include/VCardTelParam.h
index 9eea5da2f..a780108d8 100644
--- a/kabc/vcard/include/VCardTelParam.h
+++ b/kabc/vcard/include/VCardTelParam.h
@@ -33,13 +33,31 @@ namespace VCARD
class KVCARD_EXPORT TelParam : public Param
{
-#include "TelParam-generated.h"
-
- enum TelType {
- TelHome, TelWork, TelPref, TelVoice, TelFex, TelMsg, TelCell,
- TelPager, TelBBS, TelModem, TelCar, TelISDN, TelVideo, TelPCS,
- TelIANA, TelX
- };
+ public:
+ TelParam();
+ TelParam(const TelParam&);
+ TelParam(const TQCString&);
+ TelParam & operator = (TelParam&);
+ TelParam & operator = (const TQCString&);
+ bool operator ==(TelParam&);
+ bool operator !=(TelParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TelParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TelParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TelParam"; }
+
+ enum TelType {
+ TelHome, TelWork, TelPref, TelVoice, TelFex, TelMsg, TelCell,
+ TelPager, TelBBS, TelModem, TelCar, TelISDN, TelVideo, TelPCS,
+ TelIANA, TelX
+ };
private:
diff --git a/kabc/vcard/include/VCardTelValue.h b/kabc/vcard/include/VCardTelValue.h
index 043a45aa9..e02504112 100644
--- a/kabc/vcard/include/VCardTelValue.h
+++ b/kabc/vcard/include/VCardTelValue.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT TelValue : public Value
{
-
-#include "TelValue-generated.h"
-
- private:
+ public:
+ TelValue();
+ TelValue(const TelValue&);
+ TelValue(const TQCString&);
+ TelValue & operator = (TelValue&);
+ TelValue & operator = (const TQCString&);
+ bool operator ==(TelValue&);
+ bool operator !=(TelValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TelValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TelValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TelValue"; }
};
}
diff --git a/kabc/vcard/include/VCardTextBinParam.h b/kabc/vcard/include/VCardTextBinParam.h
index 5a681ad48..f4c1e908b 100644
--- a/kabc/vcard/include/VCardTextBinParam.h
+++ b/kabc/vcard/include/VCardTextBinParam.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT TextBinParam : public Param
{
-
-#include "TextBinParam-generated.h"
-
- private:
+ public:
+ TextBinParam();
+ TextBinParam(const TextBinParam&);
+ TextBinParam(const TQCString&);
+ TextBinParam & operator = (TextBinParam&);
+ TextBinParam & operator = (const TQCString&);
+ bool operator ==(TextBinParam&);
+ bool operator !=(TextBinParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TextBinParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TextBinParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TextBinParam"; }
};
}
diff --git a/kabc/vcard/include/VCardTextBinValue.h b/kabc/vcard/include/VCardTextBinValue.h
index 316fa7832..d90d1e9d5 100644
--- a/kabc/vcard/include/VCardTextBinValue.h
+++ b/kabc/vcard/include/VCardTextBinValue.h
@@ -33,28 +33,45 @@ namespace VCARD
class KVCARD_EXPORT TextBinValue : public Value
{
-
-#include "TextBinValue-generated.h"
-
- TextBinValue *clone();
-
- bool isBinary() { parse(); return mIsBinary_; }
- TQByteArray data() { parse(); return mData_; }
- TQString url() { parse(); return mUrl_; }
-
- void setData( const TQByteArray &data )
- {
- mData_ = data;
- mIsBinary_ = true;
- assembled_ = false;
- }
-
- void setUrl( const TQString &url )
- {
- mUrl_ = url;
- mIsBinary_ = false;
- assembled_ = false;
- }
+ public:
+ TextBinValue();
+ TextBinValue(const TextBinValue&);
+ TextBinValue(const TQCString&);
+ TextBinValue & operator = (TextBinValue&);
+ TextBinValue & operator = (const TQCString&);
+ bool operator ==(TextBinValue&);
+ bool operator !=(TextBinValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TextBinValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TextBinValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TextBinValue"; }
+
+ TextBinValue *clone();
+
+ bool isBinary() { parse(); return mIsBinary_; }
+ TQByteArray data() { parse(); return mData_; }
+ TQString url() { parse(); return mUrl_; }
+
+ void setData( const TQByteArray &data )
+ {
+ mData_ = data;
+ mIsBinary_ = true;
+ assembled_ = false;
+ }
+
+ void setUrl( const TQString &url )
+ {
+ mUrl_ = url;
+ mIsBinary_ = false;
+ assembled_ = false;
+ }
private:
int mIsBinary_;
diff --git a/kabc/vcard/include/VCardTextListValue.h b/kabc/vcard/include/VCardTextListValue.h
index 53760c75a..4c3cfafe6 100644
--- a/kabc/vcard/include/VCardTextListValue.h
+++ b/kabc/vcard/include/VCardTextListValue.h
@@ -35,12 +35,29 @@ namespace VCARD
class KVCARD_EXPORT TextListValue : public Value
{
+ public:
+ TextListValue();
+ TextListValue(const TextListValue&);
+ TextListValue(const TQCString&);
+ TextListValue & operator = (TextListValue&);
+ TextListValue & operator = (const TQCString&);
+ bool operator ==(TextListValue&);
+ bool operator !=(TextListValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TextListValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TextListValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TextListValue"; }
-#include "TextListValue-generated.h"
-
- unsigned int numValues();
- TQCString value(unsigned int);
-
+ unsigned int numValues();
+ TQCString value(unsigned int);
+
private:
TQStrList valueList_;
diff --git a/kabc/vcard/include/VCardTextParam.h b/kabc/vcard/include/VCardTextParam.h
index d593c0578..1bdd70aa6 100644
--- a/kabc/vcard/include/VCardTextParam.h
+++ b/kabc/vcard/include/VCardTextParam.h
@@ -33,10 +33,25 @@ namespace VCARD
class KVCARD_EXPORT TextParam : public Param
{
-
-#include "TextParam-generated.h"
-
- private:
+ public:
+ TextParam();
+ TextParam(const TextParam&);
+ TextParam(const TQCString&);
+ TextParam & operator = (TextParam&);
+ TextParam & operator = (const TQCString&);
+ bool operator ==(TextParam&);
+ bool operator !=(TextParam& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TextParam a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TextParam();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TextParam"; }
};
}
diff --git a/kabc/vcard/include/VCardTextValue.h b/kabc/vcard/include/VCardTextValue.h
index 66eed32a8..ae573c5d6 100644
--- a/kabc/vcard/include/VCardTextValue.h
+++ b/kabc/vcard/include/VCardTextValue.h
@@ -31,9 +31,27 @@ namespace VCARD
class KVCARD_EXPORT TextValue : public Value
{
-#include "TextValue-generated.h"
-
- TextValue *clone();
+ public:
+ TextValue();
+ TextValue(const TextValue&);
+ TextValue(const TQCString&);
+ TextValue & operator = (TextValue&);
+ TextValue & operator = (const TQCString&);
+ bool operator ==(TextValue&);
+ bool operator !=(TextValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {TextValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~TextValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "TextValue"; }
+
+ TextValue *clone();
};
}
diff --git a/kabc/vcard/include/VCardURIValue.h b/kabc/vcard/include/VCardURIValue.h
index 696887774..0158b1b00 100644
--- a/kabc/vcard/include/VCardURIValue.h
+++ b/kabc/vcard/include/VCardURIValue.h
@@ -31,15 +31,33 @@ namespace VCARD
class KVCARD_EXPORT URIValue : public Value
{
-#include "URIValue-generated.h"
+ public:
+ URIValue();
+ URIValue(const URIValue&);
+ URIValue(const TQCString&);
+ URIValue & operator = (URIValue&);
+ URIValue & operator = (const TQCString&);
+ bool operator ==(URIValue&);
+ bool operator !=(URIValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {URIValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
- URIValue(const TQCString & scheme, const TQCString & schemeSpecificPart);
-
- TQCString scheme();
- TQCString schemeSpecificPart();
-
- void setScheme (const TQCString &);
- void setSchemeSpecificPart (const TQCString &);
+ virtual ~URIValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "URIValue"; }
+
+ URIValue(const TQCString & scheme, const TQCString & schemeSpecificPart);
+
+ TQCString scheme();
+ TQCString schemeSpecificPart();
+
+ void setScheme (const TQCString &);
+ void setSchemeSpecificPart (const TQCString &);
private:
diff --git a/kabc/vcard/include/VCardUTCValue.h b/kabc/vcard/include/VCardUTCValue.h
index cb09ccf00..6a623aa6a 100644
--- a/kabc/vcard/include/VCardUTCValue.h
+++ b/kabc/vcard/include/VCardUTCValue.h
@@ -33,19 +33,36 @@ namespace VCARD
class KVCARD_EXPORT UTCValue : public Value
{
-
-#include "UTCValue-generated.h"
+ public:
+ UTCValue();
+ UTCValue(const UTCValue&);
+ UTCValue(const TQCString&);
+ UTCValue & operator = (UTCValue&);
+ UTCValue & operator = (const TQCString&);
+ bool operator ==(UTCValue&);
+ bool operator !=(UTCValue& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {UTCValue a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
- UTCValue *clone();
-
- void setPositive( int p ) { positive_ = p; assembled_ = false; }
- void setHour( int h ) { hour_ = h; assembled_ = false; }
- void setMinute( int m ) { minute_ = m; assembled_ = false; }
+ virtual ~UTCValue();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
- bool positive() { parse(); return positive_; }
- unsigned int hour() { parse(); return hour_; }
- unsigned int minute() { parse(); return minute_; }
-
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "UTCValue"; }
+
+ UTCValue *clone();
+
+ void setPositive( int p ) { positive_ = p; assembled_ = false; }
+ void setHour( int h ) { hour_ = h; assembled_ = false; }
+ void setMinute( int m ) { minute_ = m; assembled_ = false; }
+
+ bool positive() { parse(); return positive_; }
+ unsigned int hour() { parse(); return hour_; }
+ unsigned int minute() { parse(); return minute_; }
+
private:
bool positive_;
diff --git a/kabc/vcard/include/VCardVCard.h b/kabc/vcard/include/VCardVCard.h
index 53563e8c0..1d2bbb1ef 100644
--- a/kabc/vcard/include/VCardVCard.h
+++ b/kabc/vcard/include/VCardVCard.h
@@ -36,26 +36,43 @@ namespace VCARD
class KVCARD_EXPORT VCard : public Entity
{
+ public:
+ VCard();
+ VCard(const VCard&);
+ VCard(const TQCString&);
+ VCard & operator = (VCard&);
+ VCard & operator = (const TQCString&);
+ bool operator ==(VCard&);
+ bool operator !=(VCard& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {VCard a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
-#include "VCard-generated.h"
-
- bool has(EntityType);
- bool has(const TQCString &);
-
- void add(const ContentLine &);
- void add(const TQCString &);
-
- ContentLine * contentLine(EntityType);
- ContentLine * contentLine(const TQCString &);
-
- TQCString group() { parse(); return group_; }
-
- TQPtrList<ContentLine> contentLineList() { parse(); return contentLineList_; }
+ virtual ~VCard();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "VCard"; }
+ bool has(EntityType);
+ bool has(const TQCString &);
+
+ void add(const ContentLine &);
+ void add(const TQCString &);
+
+ ContentLine * contentLine(EntityType);
+ ContentLine * contentLine(const TQCString &);
+
+ TQCString group() { parse(); return group_; }
+
+ TQPtrList<ContentLine> contentLineList() { parse(); return contentLineList_; }
+
private:
- TQCString group_;
- TQPtrList<ContentLine> contentLineList_;
+ TQCString group_;
+ TQPtrList<ContentLine> contentLineList_;
};
}
diff --git a/kabc/vcard/include/VCardVCardEntity.h b/kabc/vcard/include/VCardVCardEntity.h
index 422790c22..7f012cfa2 100644
--- a/kabc/vcard/include/VCardVCardEntity.h
+++ b/kabc/vcard/include/VCardVCardEntity.h
@@ -39,15 +39,32 @@ typedef TQPtrListIterator<VCard> VCardListIterator;
class KVCARD_EXPORT VCardEntity : public Entity
{
+ public:
+ VCardEntity();
+ VCardEntity(const VCardEntity&);
+ VCardEntity(const TQCString&);
+ VCardEntity & operator = (VCardEntity&);
+ VCardEntity & operator = (const TQCString&);
+ bool operator ==(VCardEntity&);
+ bool operator !=(VCardEntity& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {VCardEntity a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
-#include "VCardEntity-generated.h"
-
- void setCardList(const VCardList & l);
- VCardList & cardList();
+ virtual ~VCardEntity();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "VCardEntity"; }
+
+ void setCardList(const VCardList & l);
+ VCardList & cardList();
private:
- VCardList cardList_;
+ VCardList cardList_;
};
diff --git a/kabc/vcard/include/VCardValue.h b/kabc/vcard/include/VCardValue.h
index 3c167d70a..f9c052c8e 100644
--- a/kabc/vcard/include/VCardValue.h
+++ b/kabc/vcard/include/VCardValue.h
@@ -33,7 +33,25 @@ namespace VCARD
class KVCARD_EXPORT Value : public Entity
{
-#include "Value-generated.h"
+public:
+ Value();
+ Value(const Value&);
+ Value(const TQCString&);
+ Value & operator = (Value&);
+ Value & operator = (const TQCString&);
+ bool operator ==(Value&);
+ bool operator !=(Value& x) {return !(*this==x);}
+ bool operator ==(const TQCString& s) {Value a(s);return(*this==a);}
+ bool operator != (const TQCString& s) {return !(*this == s);}
+
+ virtual ~Value();
+ void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
+
+ void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
+
+ void _parse();
+ void _assemble();
+ const char * className() const { return "Value"; }
virtual Value *clone() { return new Value( *this ); }
};
diff --git a/kabc/vcard/include/generated/AdrParam-generated.h b/kabc/vcard/include/generated/AdrParam-generated.h
deleted file mode 100644
index 1afdcd36a..000000000
--- a/kabc/vcard/include/generated/AdrParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-AdrParam();
-AdrParam(const AdrParam&);
-AdrParam(const TQCString&);
-AdrParam & operator = (AdrParam&);
-AdrParam & operator = (const TQCString&);
-bool operator ==(AdrParam&);
-bool operator !=(AdrParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {AdrParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~AdrParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "AdrParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/AdrValue-generated.h b/kabc/vcard/include/generated/AdrValue-generated.h
deleted file mode 100644
index 9882d1186..000000000
--- a/kabc/vcard/include/generated/AdrValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-AdrValue();
-AdrValue(const AdrValue&);
-AdrValue(const TQCString&);
-AdrValue & operator = (AdrValue&);
-AdrValue & operator = (const TQCString&);
-bool operator ==(AdrValue&);
-bool operator !=(AdrValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {AdrValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~AdrValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "AdrValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/AgentParam-generated.h b/kabc/vcard/include/generated/AgentParam-generated.h
deleted file mode 100644
index 07b87d106..000000000
--- a/kabc/vcard/include/generated/AgentParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-AgentParam();
-AgentParam(const AgentParam&);
-AgentParam(const TQCString&);
-AgentParam & operator = (AgentParam&);
-AgentParam & operator = (const TQCString&);
-bool operator ==(AgentParam&);
-bool operator !=(AgentParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {AgentParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~AgentParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "AgentParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/AgentValue-generated.h b/kabc/vcard/include/generated/AgentValue-generated.h
deleted file mode 100644
index e2866bb8f..000000000
--- a/kabc/vcard/include/generated/AgentValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-AgentValue();
-AgentValue(const AgentValue&);
-AgentValue(const TQCString&);
-AgentValue & operator = (AgentValue&);
-AgentValue & operator = (const TQCString&);
-bool operator ==(AgentValue&);
-bool operator !=(AgentValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {AgentValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~AgentValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "AgentValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ClassValue-generated.h b/kabc/vcard/include/generated/ClassValue-generated.h
deleted file mode 100644
index e10c65568..000000000
--- a/kabc/vcard/include/generated/ClassValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-ClassValue();
-ClassValue(const ClassValue&);
-ClassValue(const TQCString&);
-ClassValue & operator = (ClassValue&);
-ClassValue & operator = (const TQCString&);
-bool operator ==(ClassValue&);
-bool operator !=(ClassValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {ClassValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~ClassValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "ClassValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ContentLine-generated.h b/kabc/vcard/include/generated/ContentLine-generated.h
deleted file mode 100644
index ad2ac7649..000000000
--- a/kabc/vcard/include/generated/ContentLine-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-ContentLine();
-ContentLine(const ContentLine&);
-ContentLine(const TQCString&);
-ContentLine & operator = (ContentLine&);
-ContentLine & operator = (const TQCString&);
-bool operator ==(ContentLine&);
-bool operator !=(ContentLine& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {ContentLine a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~ContentLine();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "ContentLine"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/DateParam-generated.h b/kabc/vcard/include/generated/DateParam-generated.h
deleted file mode 100644
index 75e7ad72d..000000000
--- a/kabc/vcard/include/generated/DateParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-DateParam();
-DateParam(const DateParam&);
-DateParam(const TQCString&);
-DateParam & operator = (DateParam&);
-DateParam & operator = (const TQCString&);
-bool operator ==(DateParam&);
-bool operator !=(DateParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {DateParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~DateParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "DateParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/DateValue-generated.h b/kabc/vcard/include/generated/DateValue-generated.h
deleted file mode 100644
index cf0eb40d8..000000000
--- a/kabc/vcard/include/generated/DateValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-DateValue();
-DateValue(const DateValue&);
-DateValue(const TQCString&);
-DateValue & operator = (DateValue&);
-DateValue & operator = (const TQCString&);
-bool operator ==(DateValue&);
-bool operator !=(DateValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {DateValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~DateValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "DateValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/EmailParam-generated.h b/kabc/vcard/include/generated/EmailParam-generated.h
deleted file mode 100644
index 46ae1f80f..000000000
--- a/kabc/vcard/include/generated/EmailParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-EmailParam();
-EmailParam(const EmailParam&);
-EmailParam(const TQCString&);
-EmailParam & operator = (EmailParam&);
-EmailParam & operator = (const TQCString&);
-bool operator ==(EmailParam&);
-bool operator !=(EmailParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {EmailParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~EmailParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "EmailParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/FloatValue-generated.h b/kabc/vcard/include/generated/FloatValue-generated.h
deleted file mode 100644
index 155f52ae1..000000000
--- a/kabc/vcard/include/generated/FloatValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-FloatValue();
-FloatValue(const FloatValue&);
-FloatValue(const TQCString&);
-FloatValue & operator = (FloatValue&);
-FloatValue & operator = (const TQCString&);
-bool operator ==(FloatValue&);
-bool operator !=(FloatValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {FloatValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~FloatValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "FloatValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/GeoValue-generated.h b/kabc/vcard/include/generated/GeoValue-generated.h
deleted file mode 100644
index b525e8c21..000000000
--- a/kabc/vcard/include/generated/GeoValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-GeoValue();
-GeoValue(const GeoValue&);
-GeoValue(const TQCString&);
-GeoValue & operator = (GeoValue&);
-GeoValue & operator = (const TQCString&);
-bool operator ==(GeoValue&);
-bool operator !=(GeoValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {GeoValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~GeoValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "GeoValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/Group-generated.h b/kabc/vcard/include/generated/Group-generated.h
deleted file mode 100644
index 38e1c2a3a..000000000
--- a/kabc/vcard/include/generated/Group-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-Group();
-Group(const Group&);
-Group(const TQCString&);
-Group & operator = (Group&);
-Group & operator = (const TQCString&);
-bool operator ==(Group&);
-bool operator !=(Group& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {Group a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~Group();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "Group"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ImageParam-generated.h b/kabc/vcard/include/generated/ImageParam-generated.h
deleted file mode 100644
index 78a5a97cf..000000000
--- a/kabc/vcard/include/generated/ImageParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-ImageParam();
-ImageParam(const ImageParam&);
-ImageParam(const TQCString&);
-ImageParam & operator = (ImageParam&);
-ImageParam & operator = (const TQCString&);
-bool operator ==(ImageParam&);
-bool operator !=(ImageParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {ImageParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~ImageParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "ImageParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ImageValue-generated.h b/kabc/vcard/include/generated/ImageValue-generated.h
deleted file mode 100644
index 882081fbc..000000000
--- a/kabc/vcard/include/generated/ImageValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-ImageValue();
-ImageValue(const ImageValue&);
-ImageValue(const TQCString&);
-ImageValue & operator = (ImageValue&);
-ImageValue & operator = (const TQCString&);
-bool operator ==(ImageValue&);
-bool operator !=(ImageValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {ImageValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~ImageValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "ImageValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ImgParam-generated.h b/kabc/vcard/include/generated/ImgParam-generated.h
deleted file mode 100644
index 04132c857..000000000
--- a/kabc/vcard/include/generated/ImgParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-ImgParam();
-ImgParam(const ImgParam&);
-ImgParam(const TQCString&);
-ImgParam & operator = (ImgParam&);
-ImgParam & operator = (const TQCString&);
-bool operator ==(ImgParam&);
-bool operator !=(ImgParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {ImgParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~ImgParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-virtual const char * className() const { return "ImgParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ImgValue-generated.h b/kabc/vcard/include/generated/ImgValue-generated.h
deleted file mode 100644
index 0774de9bf..000000000
--- a/kabc/vcard/include/generated/ImgValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-ImgValue();
-ImgValue(const ImgValue&);
-ImgValue(const TQCString&);
-ImgValue & operator = (ImgValue&);
-ImgValue & operator = (const TQCString&);
-bool operator ==(ImgValue&);
-bool operator !=(ImgValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {ImgValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~ImgValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-virtual const char * className() const { return "ImgValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/LangValue-generated.h b/kabc/vcard/include/generated/LangValue-generated.h
deleted file mode 100644
index c4930c59e..000000000
--- a/kabc/vcard/include/generated/LangValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-LangValue();
-LangValue(const LangValue&);
-LangValue(const TQCString&);
-LangValue & operator = (LangValue&);
-LangValue & operator = (const TQCString&);
-bool operator ==(LangValue&);
-bool operator !=(LangValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {LangValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~LangValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "LangValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/NValue-generated.h b/kabc/vcard/include/generated/NValue-generated.h
deleted file mode 100644
index d78715ec0..000000000
--- a/kabc/vcard/include/generated/NValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-NValue();
-NValue(const NValue&);
-NValue(const TQCString&);
-NValue & operator = (NValue&);
-NValue & operator = (const TQCString&);
-bool operator ==(NValue&);
-bool operator !=(NValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {NValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~NValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "NValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/Name-generated.h b/kabc/vcard/include/generated/Name-generated.h
deleted file mode 100644
index 17d56e680..000000000
--- a/kabc/vcard/include/generated/Name-generated.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-V_Name();
-V_Name(const V_Name&);
-V_Name(const TQCString&);
-V_Name & operator = (V_Name&);
-V_Name & operator = (const TQCString&);
-bool operator ==(V_Name&);
-bool operator !=(V_Name& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {V_Name a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~V_Name();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/OrgValue-generated.h b/kabc/vcard/include/generated/OrgValue-generated.h
deleted file mode 100644
index 661ecf5a3..000000000
--- a/kabc/vcard/include/generated/OrgValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-OrgValue();
-OrgValue(const OrgValue&);
-OrgValue(const TQCString&);
-OrgValue & operator = (OrgValue&);
-OrgValue & operator = (const TQCString&);
-bool operator ==(OrgValue&);
-bool operator !=(OrgValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {OrgValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~OrgValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "OrgValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/Param-generated.h b/kabc/vcard/include/generated/Param-generated.h
deleted file mode 100644
index bf63e7166..000000000
--- a/kabc/vcard/include/generated/Param-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-Param();
-Param(const Param&);
-Param(const TQCString&);
-Param & operator = (Param&);
-Param & operator = (const TQCString&);
-bool operator ==(Param&);
-bool operator !=(Param& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {Param a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~Param();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "Param"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ParamName-generated.h b/kabc/vcard/include/generated/ParamName-generated.h
deleted file mode 100644
index 60b1e12d5..000000000
--- a/kabc/vcard/include/generated/ParamName-generated.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-V_ParamName();
-V_ParamName(const V_ParamName&);
-V_ParamName(const TQCString&);
-V_ParamName & operator = (V_ParamName&);
-V_ParamName & operator = (const TQCString&);
-bool operator ==(V_ParamName&);
-bool operator !=(V_ParamName& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {V_ParamName a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~V_ParamName();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/ParamValue-generated.h b/kabc/vcard/include/generated/ParamValue-generated.h
deleted file mode 100644
index f31a166c6..000000000
--- a/kabc/vcard/include/generated/ParamValue-generated.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-V_ParamValue();
-V_ParamValue(const V_ParamValue&);
-V_ParamValue(const TQCString&);
-V_ParamValue & operator = (V_ParamValue&);
-V_ParamValue & operator = (const TQCString&);
-bool operator ==(V_ParamValue&);
-bool operator !=(V_ParamValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {V_ParamValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~V_ParamValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/PhoneNumberValue-generated.h b/kabc/vcard/include/generated/PhoneNumberValue-generated.h
deleted file mode 100644
index f0eb6b4f4..000000000
--- a/kabc/vcard/include/generated/PhoneNumberValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-PhoneNumberValue();
-PhoneNumberValue(const PhoneNumberValue&);
-PhoneNumberValue(const TQCString&);
-PhoneNumberValue & operator = (PhoneNumberValue&);
-PhoneNumberValue & operator = (const TQCString&);
-bool operator ==(PhoneNumberValue&);
-bool operator !=(PhoneNumberValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {PhoneNumberValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~PhoneNumberValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "PhoneNumberValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/SoundValue-generated.h b/kabc/vcard/include/generated/SoundValue-generated.h
deleted file mode 100644
index 64081be0b..000000000
--- a/kabc/vcard/include/generated/SoundValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-SoundValue();
-SoundValue(const SoundValue&);
-SoundValue(const TQCString&);
-SoundValue & operator = (SoundValue&);
-SoundValue & operator = (const TQCString&);
-bool operator ==(SoundValue&);
-bool operator !=(SoundValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {SoundValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~SoundValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "SoundValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/SourceParam-generated.h b/kabc/vcard/include/generated/SourceParam-generated.h
deleted file mode 100644
index e3b13bca1..000000000
--- a/kabc/vcard/include/generated/SourceParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-SourceParam();
-SourceParam(const SourceParam&);
-SourceParam(const TQCString&);
-SourceParam & operator = (SourceParam&);
-SourceParam & operator = (const TQCString&);
-bool operator ==(SourceParam&);
-bool operator !=(SourceParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {SourceParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~SourceParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "SourceParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TelParam-generated.h b/kabc/vcard/include/generated/TelParam-generated.h
deleted file mode 100644
index 9f8f24270..000000000
--- a/kabc/vcard/include/generated/TelParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TelParam();
-TelParam(const TelParam&);
-TelParam(const TQCString&);
-TelParam & operator = (TelParam&);
-TelParam & operator = (const TQCString&);
-bool operator ==(TelParam&);
-bool operator !=(TelParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TelParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TelParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TelParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TelValue-generated.h b/kabc/vcard/include/generated/TelValue-generated.h
deleted file mode 100644
index 600da7727..000000000
--- a/kabc/vcard/include/generated/TelValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TelValue();
-TelValue(const TelValue&);
-TelValue(const TQCString&);
-TelValue & operator = (TelValue&);
-TelValue & operator = (const TQCString&);
-bool operator ==(TelValue&);
-bool operator !=(TelValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TelValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TelValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TelValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TextBinParam-generated.h b/kabc/vcard/include/generated/TextBinParam-generated.h
deleted file mode 100644
index 37dc56e55..000000000
--- a/kabc/vcard/include/generated/TextBinParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TextBinParam();
-TextBinParam(const TextBinParam&);
-TextBinParam(const TQCString&);
-TextBinParam & operator = (TextBinParam&);
-TextBinParam & operator = (const TQCString&);
-bool operator ==(TextBinParam&);
-bool operator !=(TextBinParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TextBinParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TextBinParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TextBinParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TextBinValue-generated.h b/kabc/vcard/include/generated/TextBinValue-generated.h
deleted file mode 100644
index 4c9580421..000000000
--- a/kabc/vcard/include/generated/TextBinValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TextBinValue();
-TextBinValue(const TextBinValue&);
-TextBinValue(const TQCString&);
-TextBinValue & operator = (TextBinValue&);
-TextBinValue & operator = (const TQCString&);
-bool operator ==(TextBinValue&);
-bool operator !=(TextBinValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TextBinValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TextBinValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TextBinValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TextListValue-generated.h b/kabc/vcard/include/generated/TextListValue-generated.h
deleted file mode 100644
index 8babb0d9f..000000000
--- a/kabc/vcard/include/generated/TextListValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TextListValue();
-TextListValue(const TextListValue&);
-TextListValue(const TQCString&);
-TextListValue & operator = (TextListValue&);
-TextListValue & operator = (const TQCString&);
-bool operator ==(TextListValue&);
-bool operator !=(TextListValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TextListValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TextListValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TextListValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TextNSParam-generated.h b/kabc/vcard/include/generated/TextNSParam-generated.h
deleted file mode 100644
index bd8e74b07..000000000
--- a/kabc/vcard/include/generated/TextNSParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TextNSParam();
-TextNSParam(const TextNSParam&);
-TextNSParam(const TQCString&);
-TextNSParam & operator = (TextNSParam&);
-TextNSParam & operator = (const TQCString&);
-bool operator ==(TextNSParam&);
-bool operator !=(TextNSParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TextNSParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TextNSParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TextNSParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TextParam-generated.h b/kabc/vcard/include/generated/TextParam-generated.h
deleted file mode 100644
index 54ae611a5..000000000
--- a/kabc/vcard/include/generated/TextParam-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TextParam();
-TextParam(const TextParam&);
-TextParam(const TQCString&);
-TextParam & operator = (TextParam&);
-TextParam & operator = (const TQCString&);
-bool operator ==(TextParam&);
-bool operator !=(TextParam& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TextParam a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TextParam();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TextParam"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/TextValue-generated.h b/kabc/vcard/include/generated/TextValue-generated.h
deleted file mode 100644
index 5b56b54a7..000000000
--- a/kabc/vcard/include/generated/TextValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-TextValue();
-TextValue(const TextValue&);
-TextValue(const TQCString&);
-TextValue & operator = (TextValue&);
-TextValue & operator = (const TQCString&);
-bool operator ==(TextValue&);
-bool operator !=(TextValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {TextValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~TextValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "TextValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/URIValue-generated.h b/kabc/vcard/include/generated/URIValue-generated.h
deleted file mode 100644
index 5a691e6d6..000000000
--- a/kabc/vcard/include/generated/URIValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-URIValue();
-URIValue(const URIValue&);
-URIValue(const TQCString&);
-URIValue & operator = (URIValue&);
-URIValue & operator = (const TQCString&);
-bool operator ==(URIValue&);
-bool operator !=(URIValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {URIValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~URIValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "URIValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/UTCValue-generated.h b/kabc/vcard/include/generated/UTCValue-generated.h
deleted file mode 100644
index 0c6edfb46..000000000
--- a/kabc/vcard/include/generated/UTCValue-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-UTCValue();
-UTCValue(const UTCValue&);
-UTCValue(const TQCString&);
-UTCValue & operator = (UTCValue&);
-UTCValue & operator = (const TQCString&);
-bool operator ==(UTCValue&);
-bool operator !=(UTCValue& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {UTCValue a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~UTCValue();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "UTCValue"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/VCard-generated.h b/kabc/vcard/include/generated/VCard-generated.h
deleted file mode 100644
index 4f36d11da..000000000
--- a/kabc/vcard/include/generated/VCard-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-VCard();
-VCard(const VCard&);
-VCard(const TQCString&);
-VCard & operator = (VCard&);
-VCard & operator = (const TQCString&);
-bool operator ==(VCard&);
-bool operator !=(VCard& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {VCard a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~VCard();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "VCard"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/VCardEntity-generated.h b/kabc/vcard/include/generated/VCardEntity-generated.h
deleted file mode 100644
index 4e973e62a..000000000
--- a/kabc/vcard/include/generated/VCardEntity-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-VCardEntity();
-VCardEntity(const VCardEntity&);
-VCardEntity(const TQCString&);
-VCardEntity & operator = (VCardEntity&);
-VCardEntity & operator = (const TQCString&);
-bool operator ==(VCardEntity&);
-bool operator !=(VCardEntity& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {VCardEntity a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~VCardEntity();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "VCardEntity"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/Value-generated.h b/kabc/vcard/include/generated/Value-generated.h
deleted file mode 100644
index 935d137b6..000000000
--- a/kabc/vcard/include/generated/Value-generated.h
+++ /dev/null
@@ -1,23 +0,0 @@
-// XXX Automatically generated. DO NOT EDIT! XXX //
-
-public:
-Value();
-Value(const Value&);
-Value(const TQCString&);
-Value & operator = (Value&);
-Value & operator = (const TQCString&);
-bool operator ==(Value&);
-bool operator !=(Value& x) {return !(*this==x);}
-bool operator ==(const TQCString& s) {Value a(s);return(*this==a);}
-bool operator != (const TQCString& s) {return !(*this == s);}
-
-virtual ~Value();
-void parse() {if(!parsed_) _parse();parsed_=true;assembled_=false;}
-
-void assemble() {if(assembled_) return;parse();_assemble();assembled_=true;}
-
-void _parse();
-void _assemble();
-const char * className() const { return "Value"; }
-
-// End of automatically generated code //
diff --git a/kabc/vcard/include/generated/generate b/kabc/vcard/include/generated/generate
deleted file mode 100755
index 926dbf136..000000000
--- a/kabc/vcard/include/generated/generate
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-cat headerBodies | awk -f generateHeaders.awk
diff --git a/kabc/vcard/include/generated/generateHeaders.awk b/kabc/vcard/include/generated/generateHeaders.awk
deleted file mode 100755
index 471db11b4..000000000
--- a/kabc/vcard/include/generated/generateHeaders.awk
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/awk -f
-
-{
- outfile = $1 "-generated.h"
- name = $1
-
- OFS=""
-
- print "// XXX Automatically generated. DO NOT EDIT! XXX //\n" > outfile
- print "// WARNING! All changes made in this file will be lost!\n" > outfile
-
- if ($2 == "v") { pre = "virtual " } else { pre = "" }
-
- print "public:" >> outfile
- print name "();" >> outfile
- print name "(const " name "&);" >> outfile
- print name "(const QCString&);" >> outfile
- print pre name " & operator = (" name "&);" >> outfile
- print pre name " & operator = (const QCString&);" >> outfile
- print pre "bool operator ==(" name "&);" >> outfile
- print pre "bool operator !=(" name "& x) {return !(*this==x);}" \
- >> outfile
- print pre "bool operator ==(const QCString& s) {" name " a(s);" \
- "return(*this==a);} " >> outfile
- print pre "bool operator != (const QCString& s) {return !(*this == s);}\n" \
- >> outfile
- print "virtual ~" name "();" >> outfile
- print pre "void parse() " \
- "{if(!parsed_) _parse();parsed_=true;assembled_=false;}\n" \
- >> outfile
- print pre "void assemble() " \
- "{if(assembled_) return;parse();_assemble();assembled_=true;}\n" \
- >> outfile
- print pre "void _parse();" >> outfile
- print pre "void _assemble();" >> outfile
- print pre "const char * className() const { return \"" name "\"; }" \
- >> outfile
-
- print "\n// End of automatically generated code //" >> outfile
-}
-
diff --git a/kabc/vcard/include/generated/headerBodies b/kabc/vcard/include/generated/headerBodies
deleted file mode 100644
index 5e77b2b5e..000000000
--- a/kabc/vcard/include/generated/headerBodies
+++ /dev/null
@@ -1,34 +0,0 @@
-AdrParam Param
-AdrValue Value
-AgentParam Param
-ContentLine Entity
-DateParam Param
-DateValue Value
-EmailParam Param
-GeoValue Value
-Group Entity
-ImageParam Param
-ImageValue Value
-LangValue Value
-NValue Value
-Param Entity
-PhoneNumberValue Value
-SourceParam Param
-TelParam Param
-TextParam Param
-TextNSParam Param
-TextValue Value
-TextBinParam Param
-URIValue Value
-VCard Entity
-VCardEntity Entity
-Value Entity
-SoundValue Value
-AgentValue Value
-TelValue Value
-TextBinValue Value
-OrgValue Value
-UTCValue Value
-ClassValue Value
-FloatValue Value
-TextListValue Value
diff --git a/kate/part/CMakeLists.txt b/kate/part/CMakeLists.txt
index 9d0392254..8841ba63c 100644
--- a/kate/part/CMakeLists.txt
+++ b/kate/part/CMakeLists.txt
@@ -59,7 +59,6 @@ tde_add_lut( katejscript.cpp katejscript.lut.h katejscript.cpp )
tde_add_library( ${target} STATIC_PIC AUTOMOC
SOURCES ${${target}_SRCS}
- DEPENDENCIES dcopidl
)
@@ -67,7 +66,7 @@ tde_add_library( ${target} STATIC_PIC AUTOMOC
set( target libkatepart )
-configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_dummy_cpp.cmake dummy.cpp COPYONLY )
+configure_file( ${TDE_CMAKE_TEMPLATES}/tde_dummy_cpp.cmake dummy.cpp COPYONLY )
tde_add_kpart( ${target}
SOURCES dummy.cpp
diff --git a/kate/part/kateluaindentscript.cpp b/kate/part/kateluaindentscript.cpp
index dbc7d1fa4..ac7bd1607 100644
--- a/kate/part/kateluaindentscript.cpp
+++ b/kate/part/kateluaindentscript.cpp
@@ -153,7 +153,7 @@ static int katelua_document_insertText(lua_State *L) {
lua_error(L);
}
if ((!lua_isnumber(L,1)) || (!lua_isnumber(L,2)) ||(!lua_isstring(L,3)) ) {
- lua_pushstring(L,i18n("document.removeText:Three parameters needed (line,col,text) (number,number,string)").utf8().data());
+ lua_pushstring(L,i18n("document.insertText:Three parameters needed (line,col,text) (number,number,string)").utf8().data());
lua_error(L);
}
lua_pushboolean(L,katelua_doc->insertText((uint)lua_tonumber(L,1),(uint)lua_tonumber(L,2),TQString::fromUtf8(lua_tostring(L,3))));
diff --git a/kcmshell/CMakeLists.txt b/kcmshell/CMakeLists.txt
index 46e8f28ab..98c7b246f 100644
--- a/kcmshell/CMakeLists.txt
+++ b/kcmshell/CMakeLists.txt
@@ -37,5 +37,4 @@ set( ${target}_SRCS
tde_add_kdeinit_executable( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kutils-shared
- DEPENDENCIES dcopidl
)
diff --git a/kdecore/CMakeLists.txt b/kdecore/CMakeLists.txt
index 93e54b332..025c7206f 100644
--- a/kdecore/CMakeLists.txt
+++ b/kdecore/CMakeLists.txt
@@ -129,9 +129,10 @@ tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 4.2.0
EMBED kdecorenetwork-static
- LINK ltdlc-static ${KDESVGICONS} DCOP-shared kdefx-shared ${ZLIB_LIBRARIES} ${LIBIDN_LIBRARIES} ${XCOMPOSITE_LIBRARIES} ICE SM
- ${LIBBFD_LIBRARIES} util
- DEPENDENCIES dcopidl dcopidl2cpp
+ LINK DCOP-shared kdefx-shared ICE SM ${ZLIB_LIBRARIES}
+ LINK_PRIVATE ltdlc-static ${KDESVGICONS} ${XCOMPOSITE_LIBRARIES}
+ ${LIBIDN_LIBRARIES} ${LIBBFD_LIBRARIES} ${LIB_UTIL}
+ ${Backtrace_LIBRARY}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kdecore/kbufferedio.cpp b/kdecore/kbufferedio.cpp
index 951c41244..89706a78d 100644
--- a/kdecore/kbufferedio.cpp
+++ b/kdecore/kbufferedio.cpp
@@ -174,7 +174,7 @@ int KBufferedIO::unreadBlock(const char *data, uint len)
unsigned KBufferedIO::consumeReadBuffer(unsigned nbytes, char *destbuffer, bool discard)
{
{
- register unsigned u = readBufferSize();
+ unsigned u = readBufferSize();
if (nbytes > u)
nbytes = u; // we can't consume more than there is
}
diff --git a/kdecore/kconfigbackend.cpp b/kdecore/kconfigbackend.cpp
index 5939c6d9d..7df9930ca 100644
--- a/kdecore/kconfigbackend.cpp
+++ b/kdecore/kconfigbackend.cpp
@@ -114,8 +114,8 @@ static TQCString printableToString(const char *str, int l)
static TQCString stringToPrintable(const TQCString& str){
TQCString result(str.length()*2); // Maximum 2x as long as source string
- register char *r = const_cast<TQCString&>(result).data();
- register char *s = const_cast<TQCString&>(str).data();
+ char *r = const_cast<TQCString&>(result).data();
+ char *s = const_cast<TQCString&>(str).data();
if (!s) return TQCString("");
@@ -166,7 +166,7 @@ static TQCString stringToPrintable(const TQCString& str){
static TQCString decodeGroup(const char*s, int l)
{
TQCString result(l);
- register char *r = result.data();
+ char *r = result.data();
l--; // Correct for trailing \0
while(l)
@@ -198,8 +198,8 @@ static TQCString encodeGroup(const TQCString &str)
{
int l = str.length();
TQCString result(l*2+1);
- register char *r = const_cast<TQCString&>(result).data();
- register char *s = const_cast<TQCString&>(str).data();
+ char *r = const_cast<TQCString&>(result).data();
+ char *s = const_cast<TQCString&>(str).data();
while(l)
{
if ((*s == '[') || (*s == ']'))
diff --git a/kdecore/kconfigbase.cpp b/kdecore/kconfigbase.cpp
index add2d6a6d..13ab4fac7 100644
--- a/kdecore/kconfigbase.cpp
+++ b/kdecore/kconfigbase.cpp
@@ -28,6 +28,7 @@
#include <tqtextstream.h>
#include <kapplication.h>
+#include <kglobalsettings.h>
#include <kglobal.h>
#include <klocale.h>
#include <kcharsets.h>
@@ -274,9 +275,9 @@ TQString KConfigBase::readEntry( const char *pKey,
// check for environment variables and make necessary translations
int nDollarPos = aValue.find( '$' );
- while( nDollarPos != -1 && nDollarPos+1 < static_cast<int>(aValue.length())) {
+ while( nDollarPos != -1 && (nDollarPos + 1) < static_cast<int>(aValue.length())) {
// there is at least one $
- if( (aValue)[nDollarPos+1] != '$' ) {
+ if( aValue[nDollarPos+1] != '$' ) {
uint nEndPos = nDollarPos+1;
// the next character is no $
TQString aVarName;
@@ -294,17 +295,48 @@ TQString KConfigBase::readEntry( const char *pKey,
nEndPos++;
aVarName = aValue.mid( nDollarPos+1, nEndPos-nDollarPos-1 );
}
- const char* pEnv = 0;
+ const char *pEnv = 0;
if (!aVarName.isEmpty())
pEnv = getenv( aVarName.ascii() );
- if( pEnv ) {
+ if (pEnv) {
// !!! Sergey A. Sukiyazov <corwin@micom.don.ru> !!!
// A environment variables may contain values in 8bit
// locale cpecified encoding or in UTF8 encoding.
aValue.replace( nDollarPos, nEndPos-nDollarPos, KStringHandler::from8Bit( pEnv ) );
- } else
+ }
+ else if (aVarName.length() > 8 && aVarName.startsWith("XDG_") && aVarName.endsWith("_DIR")) {
+ TQString result;
+ if (aVarName == "XDG_DESKTOP_DIR") {
+ result = KGlobalSettings::desktopPath();
+ }
+ else if (aVarName == "XDG_DOCUMENTS_DIR") {
+ result = KGlobalSettings::documentPath();
+ }
+ else if (aVarName == "XDG_DOWNLOAD_DIR") {
+ result = KGlobalSettings::downloadPath();
+ }
+ else if (aVarName == "XDG_MUSIC_DIR") {
+ result = KGlobalSettings::musicPath();
+ }
+ else if (aVarName == "XDG_PICTURES_DIR") {
+ result = KGlobalSettings::picturesPath();
+ }
+ else if (aVarName == "XDG_PUBLICSHARE_DIR") {
+ result = KGlobalSettings::publicSharePath();
+ }
+ else if (aVarName == "XDG_TEMPLATES_DIR") {
+ result = KGlobalSettings::templatesPath();
+ }
+ else if (aVarName == "XDG_VIDEOS_DIR") {
+ result = KGlobalSettings::videosPath();
+ }
+ aValue.replace( nDollarPos, nEndPos-nDollarPos, result );
+ }
+ else {
aValue.remove( nDollarPos, nEndPos-nDollarPos );
- } else {
+ }
+ }
+ else {
// remove one of the dollar signs
aValue.remove( nDollarPos, 1 );
nDollarPos++;
diff --git a/kdecore/kdebug.cpp b/kdecore/kdebug.cpp
index 17cb95842..82fb7b24c 100644
--- a/kdecore/kdebug.cpp
+++ b/kdecore/kdebug.cpp
@@ -59,7 +59,11 @@
#include <config.h>
#ifdef HAVE_BACKTRACE
-#include <execinfo.h>
+#include BACKTRACE_H
+
+#ifdef HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
#ifdef HAVE_ABI_CXA_DEMANGLE
#include <cxxabi.h>
diff --git a/kdecore/kentities.c b/kdecore/kentities.c
index 8181e5a6c..5cd999e8e 100644
--- a/kdecore/kentities.c
+++ b/kdecore/kentities.c
@@ -73,7 +73,7 @@ inline
#endif
#endif
static unsigned int
-hash_Entity (register const char *str, register unsigned int len)
+hash_Entity (const char *str, unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -104,7 +104,7 @@ hash_Entity (register const char *str, register unsigned int len)
932, 932, 932, 932, 932, 932, 932, 932, 932, 932,
932, 932, 932, 932, 932, 932, 932
};
- register int hval = len;
+ int hval = len;
switch (hval)
{
@@ -140,7 +140,7 @@ hash_Entity (register const char *str, register unsigned int len)
__inline
#endif
const struct entity *
-kde_findEntity (register const char *str, register unsigned int len)
+kde_findEntity (const char *str, unsigned int len)
{
enum
{
@@ -815,15 +815,15 @@ kde_findEntity (register const char *str, register unsigned int len)
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = hash_Entity (str, len);
+ int key = hash_Entity (str, len);
if (key <= MAX_HASH_VALUE && key >= 0)
{
- register int index = lookup[key];
+ int index = lookup[key];
if (index >= 0)
{
- register const char *s = wordlist_Entity[index].name;
+ const char *s = wordlist_Entity[index].name;
if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
return &wordlist_Entity[index];
diff --git a/kdecore/kextsock.cpp b/kdecore/kextsock.cpp
index fc398ef2a..84c6b9718 100644
--- a/kdecore/kextsock.cpp
+++ b/kdecore/kextsock.cpp
@@ -1509,7 +1509,7 @@ TQT_TQIO_LONG KExtendedSocket::tqwriteBlock(const char *data, TQT_TQIO_ULONG len
// LOCK BUFFER MUTEX
- register unsigned wsize = writeBufferSize();
+ unsigned wsize = writeBufferSize();
if (d->outMaxSize == (int)wsize) // (int) to get rid of annoying warning
{
// buffer is full!
diff --git a/kdecore/kglobalsettings.cpp b/kdecore/kglobalsettings.cpp
index 4da6beaa8..8db5b5361 100644
--- a/kdecore/kglobalsettings.cpp
+++ b/kdecore/kglobalsettings.cpp
@@ -66,6 +66,8 @@ TQString* KGlobalSettings::s_videosPath = 0;
TQString* KGlobalSettings::s_musicPath = 0;
TQString* KGlobalSettings::s_downloadPath = 0;
TQString* KGlobalSettings::s_picturesPath = 0;
+TQString* KGlobalSettings::s_templatesPath = 0;
+TQString* KGlobalSettings::s_publicSharePath = 0;
TQFont *KGlobalSettings::_generalFont = 0;
TQFont *KGlobalSettings::_fixedFont = 0;
TQFont *KGlobalSettings::_toolBarFont = 0;
@@ -85,36 +87,138 @@ TQColor *KGlobalSettings::alternateColor = 0;
KGlobalSettings::KMouseSettings *KGlobalSettings::s_mouseSettings = 0;
-// helper function for reading xdg user dirs: it is required in order to take
-// care of locale stuff
-void readXdgUserDirs(TQString *desktop, TQString *documents, TQString *videos, TQString *music, TQString *download, TQString *pictures)
+// Helper function for reading xdg user dirs.
+// Returns sane values in case the user dir file can't be read
+static void readXdgUserDirs(TQString *desktop, TQString *documents, TQString *download, TQString *music,
+ TQString *pictures, TQString *publicShare, TQString *templates, TQString *videos)
{
- TQFile f( TQDir::homeDirPath() + "/.config/user-dirs.dirs" );
+ TQFile dirsFile(TQDir::homeDirPath() + "/.config/user-dirs.dirs");
+ if (dirsFile.open(IO_ReadOnly))
+ {
+ // set the codec for the current locale
+ TQTextStream stream(&dirsFile);
+ stream.setCodec(TQTextCodec::codecForLocale());
+
+ while (!stream.atEnd())
+ {
+ TQString line = stream.readLine();
+ if (line.startsWith("XDG_DESKTOP_DIR="))
+ {
+ *desktop = line.remove("XDG_DESKTOP_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_DOCUMENTS_DIR="))
+ {
+ *documents = line.remove("XDG_DOCUMENTS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_DOWNLOAD_DIR="))
+ {
+ *download = line.remove("XDG_DOWNLOAD_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_MUSIC_DIR="))
+ {
+ *music = line.remove("XDG_MUSIC_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_PICTURES_DIR="))
+ {
+ *pictures = line.remove("XDG_PICTURES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_PUBLICSHARE_DIR="))
+ {
+ *publicShare = line.remove("XDG_PUBLICSHARE_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_TEMPLATES_DIR="))
+ {
+ *templates = line.remove("XDG_TEMPLATES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ else if (line.startsWith("XDG_VIDEOS_DIR="))
+ {
+ *videos = line.remove("XDG_VIDEOS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
+ }
+ }
+ dirsFile.close();
+ }
- if (!f.open(IO_ReadOnly))
- return;
+ // Use sane values in case some paths are missing
+ if (desktop->isEmpty())
+ {
+ *desktop = TQDir::homeDirPath() + "/" + "Desktop" + "/";
+ if (!TQDir(*desktop).exists())
+ {
+ *desktop = TQDir::homeDirPath() + "/" + i18n("Desktop") + "/";
+ }
+ }
+ if (documents->isEmpty())
+ {
+ *documents = TQDir::homeDirPath() + "/" + "Documents" + "/";
+ if (!TQDir(*documents).exists())
+ {
+ *documents = TQDir::homeDirPath() + "/" + i18n("Documents") + "/";
+ }
+ }
+ if (download->isEmpty())
+ {
+ *download = TQDir::homeDirPath() + "/" + "Downloads" + "/";
+ if (!TQDir(*download).exists())
+ {
+ *download = TQDir::homeDirPath() + "/" + i18n("Downloads") + "/";
+ }
+ }
+ if (music->isEmpty())
+ {
+ *music = TQDir::homeDirPath() + "/" + "Music" + "/";
+ if (!TQDir(*music).exists())
+ {
+ *music = TQDir::homeDirPath() + "/" + i18n("Music") + "/";
+ }
+ }
+ if (pictures->isEmpty())
+ {
+ *pictures = TQDir::homeDirPath() + "/" + "Pictures" + "/";
+ if (!TQDir(*pictures).exists())
+ {
+ *pictures = TQDir::homeDirPath() + "/" + i18n("Pictures") + "/";
+ }
+ }
+ if (publicShare->isEmpty())
+ {
+ *publicShare = TQDir::homeDirPath() + "/" + "Public" + "/";
+ if (!TQDir(*publicShare).exists())
+ {
+ *publicShare = TQDir::homeDirPath() + "/" + i18n("Public") + "/";
+ }
+ }
+ if (templates->isEmpty())
+ {
+ *templates = TQDir::homeDirPath() + "/" + "Templates" + "/";
+ if (!TQDir(*templates).exists())
+ {
+ *templates = TQDir::homeDirPath() + "/" + i18n("Templates") + "/";
+ }
+ }
+ if (videos->isEmpty())
+ {
+ *videos = TQDir::homeDirPath() + "/" + "Videos" + "/";
+ if (!TQDir(*videos).exists())
+ {
+ *videos = TQDir::homeDirPath() + "/" + i18n("Videos") + "/";
+ }
+ }
+}
- // set the codec for the current locale
- TQTextStream s(&f);
- s.setCodec( TQTextCodec::codecForLocale() );
+static void checkAndCreateXdgFolder(const TQString &folder, const TQString &path, KConfig *config)
+{
+ bool pathOk = true;
+ if (!TQDir(path).exists())
+ {
+ if (!KStandardDirs::makeDir(path))
+ {
+ pathOk = false;
+ }
+ }
- TQString line = s.readLine();
- while (!line.isNull())
+ if (pathOk)
{
- if (line.startsWith("XDG_DESKTOP_DIR="))
- *desktop = line.remove("XDG_DESKTOP_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_DOCUMENTS_DIR="))
- *documents = line.remove("XDG_DOCUMENTS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_MUSIC_DIR="))
- *videos = line.remove("XDG_MUSIC_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_DOWNLOAD_DIR="))
- *download = line.remove("XDG_DOWNLOAD_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_VIDEOS_DIR="))
- *music = line.remove("XDG_VIDEOS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_PICTURES_DIR="))
- *pictures = line.remove("XDG_PICTURES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
-
- line = s.readLine();
+ config->writePathEntry(folder, '"' + path + '"', true, false, false, false );
}
}
@@ -518,53 +622,68 @@ TQFont KGlobalSettings::largeFont(const TQString &text)
return *_largeFont;
}
-void KGlobalSettings::initStatic() // should be called initPaths(). Don't put anything else here.
+void KGlobalSettings::initStatic()
{
- if ( s_desktopPath != 0 )
- return;
+ // The method is primarily to ensure backward compatibility of the API.
+ // Don't put anything else here.
+ initPaths();
+}
+
+void KGlobalSettings::initPaths()
+{
+ if (s_desktopPath)
+ {
+ return;
+ }
- s_desktopPath = new TQString();
s_autostartPath = new TQString();
s_trashPath = new TQString();
+ s_desktopPath = new TQString();
s_documentPath = new TQString();
- s_videosPath = new TQString();
- s_musicPath = new TQString();
s_downloadPath = new TQString();
+ s_musicPath = new TQString();
s_picturesPath = new TQString();
-
+ s_publicSharePath = new TQString();
+ s_templatesPath = new TQString();
+ s_videosPath = new TQString();
KConfigGroup g( KGlobal::config(), "Paths" );
- // Read desktop and documents path using XDG_USER_DIRS
- readXdgUserDirs(s_desktopPath, s_documentPath, s_musicPath, s_videosPath, s_downloadPath, s_picturesPath);
-
- if (s_desktopPath->isEmpty() == true) {
- *s_desktopPath = TQDir::homeDirPath() + "/Desktop/";
- }
+ // Read xdg folder paths
+ readXdgUserDirs(s_desktopPath, s_documentPath, s_downloadPath, s_musicPath,
+ s_picturesPath, s_publicSharePath, s_templatesPath, s_videosPath);
- *s_desktopPath = TQDir::cleanDirPath( *s_desktopPath );
- if ( !s_desktopPath->endsWith("/") )
+ *s_desktopPath = TQDir::cleanDirPath(*s_desktopPath);
+ if (!s_desktopPath->endsWith("/"))
s_desktopPath->append('/');
- *s_documentPath = TQDir::cleanDirPath( *s_documentPath );
- if ( !s_documentPath->endsWith("/"))
+ *s_documentPath = TQDir::cleanDirPath(*s_documentPath);
+ if (!s_documentPath->endsWith("/"))
s_documentPath->append('/');
- *s_musicPath = TQDir::cleanDirPath( *s_musicPath );
- if ( !s_musicPath->endsWith("/"))
+ *s_downloadPath = TQDir::cleanDirPath(*s_downloadPath);
+ if (!s_downloadPath->endsWith("/"))
+ s_downloadPath->append('/');
+
+ *s_musicPath = TQDir::cleanDirPath(*s_musicPath);
+ if (!s_musicPath->endsWith("/"))
s_musicPath->append('/');
- *s_videosPath = TQDir::cleanDirPath( *s_videosPath );
- if ( !s_videosPath->endsWith("/"))
- s_videosPath->append('/');
+ *s_picturesPath = TQDir::cleanDirPath(*s_picturesPath);
+ if (!s_picturesPath->endsWith("/"))
+ s_picturesPath->append('/');
- *s_downloadPath = TQDir::cleanDirPath( *s_downloadPath );
- if ( !s_downloadPath->endsWith("/"))
- s_downloadPath->append('/');
+ *s_publicSharePath = TQDir::cleanDirPath(*s_publicSharePath);
+ if (!s_publicSharePath->endsWith("/"))
+ s_publicSharePath->append('/');
- *s_picturesPath = TQDir::cleanDirPath( *s_picturesPath );
- if ( !s_picturesPath->endsWith("/"))
- s_picturesPath->append('/');
+ *s_templatesPath = TQDir::cleanDirPath(*s_templatesPath);
+ if (!s_templatesPath->endsWith("/"))
+ s_templatesPath->append('/');
+
+ *s_videosPath = TQDir::cleanDirPath(*s_videosPath);
+ if (!s_videosPath->endsWith("/"))
+ s_videosPath->append('/');
// Trash Path - TODO remove in KDE4 (kio_trash can't use it for interoperability reasons)
*s_trashPath = *s_desktopPath + i18n("Trash") + "/";
@@ -579,12 +698,30 @@ void KGlobalSettings::initStatic() // should be called initPaths(). Don't put an
g.sync();
}
+ // Create folders if they do not exists.
+ KConfig *xdgconfig = new KConfig(TQDir::homeDirPath()+"/.config/user-dirs.dirs");
+ checkAndCreateXdgFolder("XDG_DESKTOP_DIR", *s_desktopPath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_DOCUMENTS_DIR", *s_documentPath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_DOWNLOAD_DIR", *s_downloadPath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_MUSIC_DIR", *s_musicPath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_PICTURES_DIR", *s_picturesPath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_PUBLICSHARE_DIR", *s_publicSharePath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_TEMPLATES_DIR", *s_templatesPath, xdgconfig);
+ checkAndCreateXdgFolder("XDG_VIDEOS_DIR", *s_videosPath, xdgconfig);
+ xdgconfig->sync();
+
// Autostart Path
*s_autostartPath = KGlobal::dirs()->localkdedir() + "Autostart/";
*s_autostartPath = g.readPathEntry( "Autostart" , *s_autostartPath);
*s_autostartPath = TQDir::cleanDirPath( *s_autostartPath );
- if ( !s_autostartPath->endsWith("/") )
+ if (!s_autostartPath->endsWith("/"))
+ {
s_autostartPath->append('/');
+ }
+ if (!TQDir(*s_autostartPath).exists())
+ {
+ KStandardDirs::makeDir(*s_autostartPath);
+ }
// Make sure this app gets the notifications about those paths
if (kapp)
@@ -630,14 +767,18 @@ void KGlobalSettings::rereadPathSettings()
s_desktopPath = 0L;
delete s_documentPath;
s_documentPath = 0L;
- delete s_videosPath;
- s_videosPath = 0L;
- delete s_picturesPath;
- s_picturesPath = 0L;
delete s_downloadPath;
s_downloadPath = 0L;
delete s_musicPath;
s_musicPath = 0L;
+ delete s_picturesPath;
+ s_picturesPath = 0L;
+ delete s_publicSharePath;
+ s_publicSharePath = 0L;
+ delete s_templatesPath;
+ s_templatesPath = 0L;
+ delete s_videosPath;
+ s_videosPath = 0L;
}
KGlobalSettings::KMouseSettings & KGlobalSettings::mouseSettings()
diff --git a/kdecore/kglobalsettings.h b/kdecore/kglobalsettings.h
index b4bf0497f..73bdd5b97 100644
--- a/kdecore/kglobalsettings.h
+++ b/kdecore/kglobalsettings.h
@@ -227,55 +227,67 @@ class KDECORE_EXPORT KGlobalSettings
static KMouseSettings & mouseSettings();
/**
- * The path to the desktop directory of the current user.
- * @return the user's desktop directory
- */
- static TQString desktopPath() { initStatic(); return *s_desktopPath; }
-
- /**
* The path to the autostart directory of the current user.
* @return the path of the autostart directory
*/
- static TQString autostartPath() { initStatic(); return *s_autostartPath; }
+ static TQString autostartPath() { initPaths(); return *s_autostartPath; }
/**
* DEPRECATED (starting from kde-3.4).
* This isn't where the trash contents is, anymore.
* Use KIO::trash() to trash files, "trash:/" to list the trash contents.
*/
- static TQString trashPath() { initStatic(); return *s_trashPath; }
+ static TQString trashPath() { initPaths(); return *s_trashPath; }
// KDE4: if you want to remove the above, move it to kdesktop/init.cc, which needs
// to know the old location of the trash
/**
+ * The path to the desktop directory of the current user.
+ * @return the user's desktop directory
+ */
+ static TQString desktopPath() { initPaths(); return *s_desktopPath; }
+
+ /**
* The path where documents are stored of the current user.
* @return the path of the document directory
*/
- static TQString documentPath() { initStatic(); return *s_documentPath; }
+ static TQString documentPath() { initPaths(); return *s_documentPath; }
/**
* The path where documents are stored of the current user.
- * @return the path of the videos directory
+ * @return the path of the downloads directory
*/
- static TQString videosPath() { initStatic(); return *s_videosPath; }
+ static TQString downloadPath() { initPaths(); return *s_downloadPath; }
/**
* The path where documents are stored of the current user.
* @return the path of the music directory
*/
- static TQString musicPath() { initStatic(); return *s_musicPath; }
+ static TQString musicPath() { initPaths(); return *s_musicPath; }
/**
* The path where documents are stored of the current user.
- * @return the path of the downloads directory
+ * @return the path of the pictures directory
*/
- static TQString downloadPath() { initStatic(); return *s_downloadPath; }
+ static TQString picturesPath() { initPaths(); return *s_picturesPath; }
+
+ /**
+ * The path of the public share of the current user.
+ * @return the path of the public share directory
+ */
+ static TQString publicSharePath() { initPaths(); return *s_publicSharePath; }
+
+ /**
+ * The path where templates are stored of the current user.
+ * @return the path of the templates directory
+ */
+ static TQString templatesPath() { initPaths(); return *s_templatesPath; }
/**
* The path where documents are stored of the current user.
- * @return the path of the pictures directory
+ * @return the path of the videos directory
*/
- static TQString picturesPath() { initStatic(); return *s_picturesPath; }
+ static TQString videosPath() { initPaths(); return *s_videosPath; }
/**
* The default color to use when highlighting toolbar buttons.
@@ -558,10 +570,16 @@ class KDECORE_EXPORT KGlobalSettings
private:
/**
- * reads in all paths from kdeglobals
+ * global initialization - should only include paths initialization
+ *
+ * The method is primarily to ensure backward compatibility of the API.
*/
static void initStatic();
/**
+ * reads in all paths from kdeglobals
+ */
+ static void initPaths();
+ /**
* initialize colors
*/
static void initColors();
@@ -579,14 +597,16 @@ private:
static void rereadMouseSettings();
- static TQString* s_desktopPath;
- static TQString* s_autostartPath;
- static TQString* s_trashPath;
- static TQString* s_documentPath;
- static TQString* s_picturesPath;
- static TQString* s_downloadPath;
- static TQString* s_musicPath;
- static TQString* s_videosPath;
+ static TQString *s_desktopPath;
+ static TQString *s_autostartPath;
+ static TQString *s_trashPath;
+ static TQString *s_documentPath;
+ static TQString *s_picturesPath;
+ static TQString *s_templatesPath;
+ static TQString *s_publicSharePath;
+ static TQString *s_downloadPath;
+ static TQString *s_musicPath;
+ static TQString *s_videosPath;
static TQFont *_generalFont;
static TQFont *_fixedFont;
static TQFont *_toolBarFont;
@@ -594,15 +614,15 @@ private:
static TQFont *_windowTitleFont;
static TQFont *_taskbarFont;
static TQFont *_largeFont;
- static TQColor * _trinity4Blue;
- static TQColor * _inactiveBackground;
- static TQColor * _inactiveForeground;
- static TQColor * _activeBackground;
- static TQColor * _buttonBackground;
- static TQColor * _selectBackground;
- static TQColor * _linkColor;
- static TQColor * _visitedLinkColor;
- static TQColor * alternateColor;
+ static TQColor *_trinity4Blue;
+ static TQColor *_inactiveBackground;
+ static TQColor *_inactiveForeground;
+ static TQColor *_activeBackground;
+ static TQColor *_buttonBackground;
+ static TQColor *_selectBackground;
+ static TQColor *_linkColor;
+ static TQColor *_visitedLinkColor;
+ static TQColor *alternateColor;
static KMouseSettings *s_mouseSettings;
friend class KApplication;
diff --git a/kdecore/klocale.cpp b/kdecore/klocale.cpp
index 4a4d845f5..33dc4c26c 100644
--- a/kdecore/klocale.cpp
+++ b/kdecore/klocale.cpp
@@ -1976,7 +1976,7 @@ TQString KLocale::formatDateTime(const TQDateTime &pDateTime,
TQString i18n(const char* text)
{
- register KLocale *instance = KGlobal::locale();
+ KLocale *instance = KGlobal::locale();
if (instance)
return instance->translate(text);
return TQString::fromUtf8(text);
@@ -1984,7 +1984,7 @@ TQString i18n(const char* text)
TQString i18n(const char* index, const char *text)
{
- register KLocale *instance = KGlobal::locale();
+ KLocale *instance = KGlobal::locale();
if (instance)
return instance->translate(index, text);
return TQString::fromUtf8(text);
@@ -1992,7 +1992,7 @@ TQString i18n(const char* index, const char *text)
TQString i18n(const char* singular, const char* plural, unsigned long n)
{
- register KLocale *instance = KGlobal::locale();
+ KLocale *instance = KGlobal::locale();
if (instance)
return instance->translate(singular, plural, n);
if (n == 1)
diff --git a/kdecore/kmdcodec.cpp b/kdecore/kmdcodec.cpp
index 48afddb09..b5d540f53 100644
--- a/kdecore/kmdcodec.cpp
+++ b/kdecore/kmdcodec.cpp
@@ -137,9 +137,9 @@ const unsigned int KCodecs::maxQPLineLength = 70;
/******************************** KCodecs ********************************/
// strchr(3) for broken systems.
-static int rikFindChar(register const char * _s, const char c)
+static int rikFindChar(const char * _s, const char c)
{
- register const char * s = _s;
+ const char * s = _s;
while (true)
{
diff --git a/kdecore/kpty.cpp b/kdecore/kpty.cpp
index 035ca530a..1fe99275f 100644
--- a/kdecore/kpty.cpp
+++ b/kdecore/kpty.cpp
@@ -217,49 +217,60 @@ bool KPty::setPty(int pty_master)
bool KPty::_attachPty(int pty_master)
{
- TQCString ptyName;
+ if (d->slaveFd < 0 ) {
kdDebug(175) << "KPty::_attachPty(): " << pty_master << endl;
-#if defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT)
+#if defined(HAVE_PTSNAME)
char *ptsn = ptsname(d->masterFd);
if (ptsn) {
- grantpt(d->masterFd);
d->ttyName = ptsn;
} else {
::close(d->masterFd);
d->masterFd = -1;
+ return false;
}
#endif
- struct stat st;
- if (stat(d->ttyName.data(), &st))
- return false; // this just cannot happen ... *cough* Yeah right, I just
- // had it happen when pty #349 was allocated. I guess
- // there was some sort of leak? I only had a few open.
- if (((st.st_uid != getuid()) ||
- (st.st_mode & (S_IRGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH))) &&
- !chownpty(true))
- {
- kdWarning(175)
- << "KPty::_attachPty(): " << "chownpty failed for device " << ptyName << "::" << d->ttyName << endl
- << "KPty::_attachPty(): " << "This means the communication can be eavesdropped." << endl;
- }
+#if defined(HAVE_GRANTPT)
+ if (grantpt(d->masterFd)) {
+ return false;
+ }
+#else
+ struct stat st;
+ if (stat(d->ttyName.data(), &st))
+ return false; // this just cannot happen ... *cough* Yeah right, I just
+ // had it happen when pty #349 was allocated. I guess
+ // there was some sort of leak? I only had a few open.
+ if (((st.st_uid != getuid()) ||
+ (st.st_mode & (S_IRGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH))) &&
+ !chownpty(true))
+ {
+ kdWarning(175)
+ << "KPty::_attachPty(): " << "chownpty failed for device " << d->ttyName << endl
+ << "KPty::_attachPty(): " << "This means the communication can be eavesdropped." << endl;
+ }
+#endif
#ifdef BSD
- revoke(d->ttyName.data());
+ revoke(d->ttyName.data());
#endif
#ifdef HAVE_UNLOCKPT
- unlockpt(d->masterFd);
+ unlockpt(d->masterFd);
#endif
- d->slaveFd = ::open(d->ttyName.data(), O_RDWR | O_NOCTTY);
- if (d->slaveFd < 0)
- {
- kdWarning(175) << "KPty::_attachPty(): " << "Can't open slave pseudo teletype" << endl;
- ::close(d->masterFd);
- d->masterFd = -1;
- return false;
+ d->slaveFd = ::open(d->ttyName.data(), O_RDWR | O_NOCTTY);
+ if (d->slaveFd < 0)
+ {
+ kdWarning(175) << "KPty::_attachPty(): " << "Can't open slave pseudo teletype" << endl;
+ ::close(d->masterFd);
+ d->masterFd = -1;
+ return false;
+ }
+#ifdef HAVE_OPENPTY
+ // set screen size
+ ioctl(d->slaveFd, TIOCSWINSZ, (char *)&d->winSize);
+#endif
}
#if (defined(__svr4__) || defined(__sgi__))
@@ -294,8 +305,10 @@ bool KPty::_attachPty(int pty_master)
_tcsetattr(d->slaveFd, &ttmode);
+#ifndef HAVE_OPENPTY
// set screen size
ioctl(d->slaveFd, TIOCSWINSZ, (char *)&d->winSize);
+#endif
fcntl(d->masterFd, F_SETFD, FD_CLOEXEC);
fcntl(d->slaveFd, F_SETFD, FD_CLOEXEC);
@@ -308,7 +321,7 @@ bool KPty::open()
if (d->masterFd >= 0)
return true;
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#if defined(HAVE_OPENPTY)
char cpty[16];
if (openpty(&d->masterFd, &d->slaveFd, cpty, NULL, &d->winSize) == 0) {
@@ -329,7 +342,11 @@ bool KPty::open()
// We try, as we know them, one by one.
#if defined(HAVE_PTSNAME) && defined(HAVE_GRANTPT)
-#ifdef _AIX
+#if defined(HAVE_GETPT)
+ d->masterFd = ::getpt();
+#elif defined(HAVE_POSIX_OPENPT)
+ d->masterFd = ::posix_openpt(O_RDWR);
+#elif defined(_AIX)
d->masterFd = ::open("/dev/ptc",O_RDWR);
#else
d->masterFd = ::open("/dev/ptmx",O_RDWR);
diff --git a/kdecore/kstringhandler.cpp b/kdecore/kstringhandler.cpp
index d33c3c924..2c70504d3 100644
--- a/kdecore/kstringhandler.cpp
+++ b/kdecore/kstringhandler.cpp
@@ -567,7 +567,7 @@ TQString KStringHandler::obscure( const TQString &str )
bool KStringHandler::isUtf8(const char *buf)
{
int i, n;
- register unsigned char c;
+ unsigned char c;
bool gotone = false;
if (!buf)
diff --git a/kdecore/ksycocadict.cpp b/kdecore/ksycocadict.cpp
index d1deb609b..344a4009f 100644
--- a/kdecore/ksycocadict.cpp
+++ b/kdecore/ksycocadict.cpp
@@ -182,7 +182,7 @@ uint
KSycocaDict::hashKey( const TQString &key)
{
int l = key.length();
- register uint h = 0;
+ uint h = 0;
for(uint i = 0; i < mHashList.count(); i++)
{
@@ -217,10 +217,10 @@ calcDiversity(KSycocaDictStringList *d, int pos, int sz)
pos = -pos-1;
for(string_entry *entry=d->first(); entry; entry = d->next())
{
- register int l = entry->length;
+ int l = entry->length;
if (pos < l && pos != 0)
{
- register uint hash = ((entry->hash * 13) + (entry->key[l-pos].cell() % 29)) & 0x3ffffff;
+ uint hash = ((entry->hash * 13) + (entry->key[l-pos].cell() % 29)) & 0x3ffffff;
matrix[ hash % usz ] = true;
}
}
@@ -232,7 +232,7 @@ calcDiversity(KSycocaDictStringList *d, int pos, int sz)
{
if (pos < entry->length)
{
- register uint hash = ((entry->hash * 13) + (entry->key[pos].cell() % 29)) & 0x3ffffff;
+ uint hash = ((entry->hash * 13) + (entry->key[pos].cell() % 29)) & 0x3ffffff;
matrix[ hash % usz ] = true;
}
}
@@ -257,7 +257,7 @@ addDiversity(KSycocaDictStringList *d, int pos)
pos = -pos-1;
for(string_entry *entry=d->first(); entry; entry = d->next())
{
- register int l = entry->length;
+ int l = entry->length;
if (pos < l)
entry->hash = ((entry->hash * 13) + (entry->key[l-pos].cell() % 29)) & 0x3fffffff;
}
@@ -306,7 +306,7 @@ KSycocaDict::save(TQDataStream &str)
// use "almost prime" number for sz (to calculate diversity) and later
// for the table size of big tables
// int sz = d->count()*5-1;
- register unsigned int sz = count()*4 + 1;
+ unsigned int sz = count()*4 + 1;
while(!(((sz % 3) && (sz % 5) && (sz % 7) && (sz % 11) && (sz % 13)))) sz+=2;
int maxDiv = 0;
diff --git a/kdecore/malloc/malloc.c b/kdecore/malloc/malloc.c
index dba0fdef0..761667049 100644
--- a/kdecore/malloc/malloc.c
+++ b/kdecore/malloc/malloc.c
@@ -16,7 +16,6 @@ int kde_malloc_is_used = 0;
#define USE_MALLOC_LOCK
#define INLINE __inline__
/*#define INLINE*/
-#define USE_MEMCPY 0
#define MMAP_CLEARS 1
/*
@@ -193,8 +192,6 @@ int kde_malloc_is_used = 0;
__STD_C derived from C compiler defines
WIN32 NOT defined
- HAVE_MEMCPY defined
- USE_MEMCPY 1 if HAVE_MEMCPY is defined
HAVE_MMAP defined as 1
MMAP_CLEARS 1
HAVE_MREMAP 0 unless linux defined
@@ -563,34 +560,6 @@ extern "C" {
#endif /* USE_DL_PREFIX */
-/*
- HAVE_MEMCPY should be defined if you are not otherwise using
- ANSI STD C, but still have memcpy and memset in your C library
- and want to use them in calloc and realloc. Otherwise simple
- macro versions are defined below.
-
- USE_MEMCPY should be defined as 1 if you actually want to
- have memset and memcpy called. People report that the macro
- versions are faster than libc versions on some systems.
-
- Even if USE_MEMCPY is set to 1, loops to copy/clear small chunks
- (of <= 36 bytes) are manually unrolled in realloc and calloc.
-*/
-
-/* If it's available it's defined in config.h. */
-/* #define HAVE_MEMCPY */
-
-#ifndef USE_MEMCPY
-#ifdef HAVE_MEMCPY
-#define USE_MEMCPY 1
-#else
-#define USE_MEMCPY 0
-#endif
-#endif
-
-
-#if (__STD_C || defined(HAVE_MEMCPY))
-
#ifdef WIN32
/* On Win32 memset and memcpy are already declared in windows.h */
#else
@@ -602,7 +571,6 @@ Void_t* memset();
Void_t* memcpy();
#endif
#endif
-#endif
/*
MALLOC_FAILURE_ACTION is the action to take before "return 0" when
@@ -1747,64 +1715,6 @@ int public_mALLOPt(int p, int v) {
#endif
-
-
-/* ------------- Optional versions of memcopy ---------------- */
-
-
-#if USE_MEMCPY
-
-/*
- Note: memcpy is ONLY invoked with non-overlapping regions,
- so the (usually slower) memmove is not needed.
-*/
-
-#define MALLOC_COPY(dest, src, nbytes) memcpy(dest, src, nbytes)
-#define MALLOC_ZERO(dest, nbytes) memset(dest, 0, nbytes)
-
-#else /* !USE_MEMCPY */
-
-/* Use Duff's device for good zeroing/copying performance. */
-
-#define MALLOC_ZERO(charp, nbytes) \
-do { \
- INTERNAL_SIZE_T* mzp = (INTERNAL_SIZE_T*)(charp); \
- unsigned long mctmp = (nbytes)/sizeof(INTERNAL_SIZE_T); \
- long mcn; \
- if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \
- switch (mctmp) { \
- case 0: for(;;) { *mzp++ = 0; \
- case 7: *mzp++ = 0; \
- case 6: *mzp++ = 0; \
- case 5: *mzp++ = 0; \
- case 4: *mzp++ = 0; \
- case 3: *mzp++ = 0; \
- case 2: *mzp++ = 0; \
- case 1: *mzp++ = 0; if(mcn <= 0) break; mcn--; } \
- } \
-} while(0)
-
-#define MALLOC_COPY(dest,src,nbytes) \
-do { \
- INTERNAL_SIZE_T* mcsrc = (INTERNAL_SIZE_T*) src; \
- INTERNAL_SIZE_T* mcdst = (INTERNAL_SIZE_T*) dest; \
- unsigned long mctmp = (nbytes)/sizeof(INTERNAL_SIZE_T); \
- long mcn; \
- if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \
- switch (mctmp) { \
- case 0: for(;;) { *mcdst++ = *mcsrc++; \
- case 7: *mcdst++ = *mcsrc++; \
- case 6: *mcdst++ = *mcsrc++; \
- case 5: *mcdst++ = *mcsrc++; \
- case 4: *mcdst++ = *mcsrc++; \
- case 3: *mcdst++ = *mcsrc++; \
- case 2: *mcdst++ = *mcsrc++; \
- case 1: *mcdst++ = *mcsrc++; if(mcn <= 0) break; mcn--; } \
- } \
-} while(0)
-
-#endif
-
/* ------------------ MMAP support ------------------ */
@@ -4006,9 +3916,9 @@ Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;
ncopies = copysize / sizeof(INTERNAL_SIZE_T);
assert(ncopies >= 3);
- if (ncopies > 9)
- MALLOC_COPY(d, s, copysize);
-
+ if (ncopies > 9) {
+ memcpy(d, s, copysize);
+ }
else {
*(d+0) = *(s+0);
*(d+1) = *(s+1);
@@ -4106,7 +4016,7 @@ Void_t* rEALLOc(oldmem, bytes) Void_t* oldmem; size_t bytes;
/* Must alloc, copy, free. */
newmem = mALLOc(nb - MALLOC_ALIGN_MASK);
if (newmem != 0) {
- MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
+ memcpy(newmem, oldmem, oldsize - 2*SIZE_SZ);
fREe(oldmem);
}
}
@@ -4264,9 +4174,9 @@ Void_t* cALLOc(n_elements, elem_size) size_t n_elements; size_t elem_size;
nclears = clearsize / sizeof(INTERNAL_SIZE_T);
assert(nclears >= 3);
- if (nclears > 9)
- MALLOC_ZERO(d, clearsize);
-
+ if (nclears > 9) {
+ memset(d, 0, clearsize);
+ }
else {
*(d+0) = 0;
*(d+1) = 0;
@@ -4290,7 +4200,7 @@ Void_t* cALLOc(n_elements, elem_size) size_t n_elements; size_t elem_size;
{
d = (INTERNAL_SIZE_T*)mem;
clearsize = chunksize(p) - 2 * SIZE_SZ;
- MALLOC_ZERO(d, clearsize);
+ memset(d, 0, clearsize);
}
#endif
}
@@ -4396,7 +4306,7 @@ static Void_t** iALLOc(n_elements, sizes, opts, chunks) size_t n_elements; size_
remainder_size = chunksize(p);
if (opts & 0x2) { /* optionally clear the elements */
- MALLOC_ZERO(mem, remainder_size - SIZE_SZ - array_size);
+ memset(mem, 0, remainder_size - SIZE_SZ - array_size)
}
/* If not provided, allocate the pointer array as final part of chunk */
diff --git a/kdecore/network/kresolver_p.h b/kdecore/network/kresolver_p.h
index 9cc139458..7f74c6fe6 100644
--- a/kdecore/network/kresolver_p.h
+++ b/kdecore/network/kresolver_p.h
@@ -48,7 +48,6 @@ extern TQMutex getXXbyYYmutex;
#endif
/* some systems have the functions, but don't declare them */
-#ifndef __OpenBSD__
#if defined(HAVE_GETSERVBYNAME_R) && !HAVE_DECL_GETSERVBYNAME_R
extern "C" {
struct servent;
@@ -70,7 +69,6 @@ extern "C" {
struct protoent** result);
}
#endif
-#endif
/* decide whether res_init is thread-safe or not */
#if defined(__GLIBC__)
diff --git a/kdecore/network/ksocketdevice.cpp b/kdecore/network/ksocketdevice.cpp
index 68651b8e2..6db329b59 100644
--- a/kdecore/network/ksocketdevice.cpp
+++ b/kdecore/network/ksocketdevice.cpp
@@ -39,7 +39,7 @@
#include <unistd.h>
#ifdef HAVE_POLL
-# include <sys/poll.h>
+# include <poll.h>
#else
# ifdef HAVE_SYS_SELECT
# include <sys/select.h>
diff --git a/kdecore/svgicons/ksvgiconpainter.cpp b/kdecore/svgicons/ksvgiconpainter.cpp
index 1e83509db..e91b64350 100644
--- a/kdecore/svgicons/ksvgiconpainter.cpp
+++ b/kdecore/svgicons/ksvgiconpainter.cpp
@@ -747,7 +747,14 @@ public:
d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0);
- sfactor_sq = 1.0 / d - 0.25;
+ if (d)
+ {
+ sfactor_sq = 1.0 / d - 0.25;
+ }
+ else
+ {
+ sfactor_sq = 0;
+ }
if(sfactor_sq < 0)
sfactor_sq = 0;
@@ -770,7 +777,7 @@ public:
else if(th_arc > 0 && !sweepFlag)
th_arc -= 2 * M_PI;
- n_segs = (int) (int) ceil(fabs(th_arc / (M_PI * 0.5 + 0.001)));
+ n_segs = (int) ceil(fabs(th_arc / (M_PI * 0.5 + 0.001)));
for(i = 0; i < n_segs; i++)
{
@@ -1736,17 +1743,34 @@ void KSVGIconPainter::drawPath(const TQString &data, bool filled)
double curx = 0.0, cury = 0.0, contrlx = 0.0, contrly = 0.0, xc, yc;
unsigned int lastCommand = 0;
- TQString _d = value.replace(",", " ");
- _d = _d.simplifyWhiteSpace();
- const char *ptr = _d.latin1();
- const char *end = _d.latin1() + _d.length() + 1;
+ TQCString _d = value.replace(",", " ").simplifyWhiteSpace().latin1();
+ const char *ptr = _d.data();
+ const char *end = _d.data() + _d.length();
double tox, toy, x1, y1, x2, y2, rx, ry, angle;
bool largeArc, sweep;
- char command = *(ptr++);
+ char command = *ptr;
while(ptr < end)
{
+
+ if(*ptr == '+' || *ptr == '-' || *ptr == '.' || (*ptr >= '0' && *ptr <= '9'))
+ {
+ // there are still coords in this command
+ if(command == 'M')
+ {
+ command = 'L';
+ }
+ else if(command == 'm')
+ {
+ command = 'l';
+ }
+ }
+ else
+ {
+ command = *(ptr++);
+ }
+
if(*ptr == ' ')
ptr++;
@@ -2172,10 +2196,19 @@ void KSVGIconPainter::drawPath(const TQString &data, bool filled)
ptr = getCoord(ptr, rx);
ptr = getCoord(ptr, ry);
ptr = getCoord(ptr, angle);
- ptr = getCoord(ptr, tox);
- largeArc = tox == 1;
- ptr = getCoord(ptr, tox);
- sweep = tox == 1;
+ // 'largeArc' and 'sweep' are single digit flags. Some non conforming svg files do not
+ // separate those fields with separators, so we can't use getCoord() here.
+ // See TDE/tde issue #46 on TGW
+ largeArc = ((*ptr++) != '0');
+ while (*ptr == ' ')
+ {
+ ptr++;
+ }
+ sweep = ((*ptr++) != '0');
+ while (*ptr == ' ')
+ {
+ ptr++;
+ }
ptr = getCoord(ptr, tox);
ptr = getCoord(ptr, toy);
@@ -2191,10 +2224,19 @@ void KSVGIconPainter::drawPath(const TQString &data, bool filled)
ptr = getCoord(ptr, rx);
ptr = getCoord(ptr, ry);
ptr = getCoord(ptr, angle);
- ptr = getCoord(ptr, tox);
- largeArc = tox == 1;
- ptr = getCoord(ptr, tox);
- sweep = tox == 1;
+ // 'largeArc' and 'sweep' are single digit flags. Some non conforming svg files do not
+ // separate those fields with separators, so we can't use getCoord() here.
+ // See TDE/tde issue #46 on TGW
+ largeArc = ((*ptr++) != '0');
+ while (*ptr == ' ')
+ {
+ ptr++;
+ }
+ sweep = ((*ptr++) != '0');
+ while (*ptr == ' ')
+ {
+ ptr++;
+ }
ptr = getCoord(ptr, tox);
ptr = getCoord(ptr, toy);
@@ -2208,23 +2250,6 @@ void KSVGIconPainter::drawPath(const TQString &data, bool filled)
break;
}
- if(*ptr == '+' || *ptr == '-' || *ptr == '.' || (*ptr >= '0' && *ptr <= '9'))
- {
- // there are still coords in this command
- if(command == 'M')
- {
- command = 'L';
- }
- else if(command == 'm')
- {
- command = 'l';
- }
- }
- else
- {
- command = *(ptr++);
- }
-
// Detect reflection points
if(lastCommand != 'C' && lastCommand != 'c' &&
lastCommand != 'S' && lastCommand != 's' &&
diff --git a/kded/kbuildservicetypefactory.cpp b/kded/kbuildservicetypefactory.cpp
index 27b55176d..a24710740 100644
--- a/kded/kbuildservicetypefactory.cpp
+++ b/kded/kbuildservicetypefactory.cpp
@@ -106,7 +106,7 @@ KBuildServiceTypeFactory::createEntry(const TQString &file, const char *resource
|| (mime == "media/builtin-trash")
|| (mime == "media/builtin-webbrowser") )
e = new KDEDesktopMimeType( &desktopFile );
- else if ( mime == "application/x-executable" || mime == "application/x-shellscript" )
+ else if ( mime == "application/x-executable" || mime == "application/x-pie-executable" || mime == "application/x-shellscript" )
e = new KExecMimeType( &desktopFile );
else if ( !mime.isEmpty() )
e = new KMimeType( &desktopFile );
diff --git a/kded/khostname.cpp b/kded/khostname.cpp
index 9b57e5362..4f75848db 100644
--- a/kded/khostname.cpp
+++ b/kded/khostname.cpp
@@ -16,6 +16,8 @@
* Boston, MA 02110-1301, USA.
**/
+#include <config.h>
+
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -236,7 +238,7 @@ void KHostName::changeDcop()
::symlink(fname.data(), compatLink.data()); // Compatibility link
// Update .ICEauthority
- TQString cmd = "iceauth list "+KProcess::quote("netid="+oldNetId);
+ TQString cmd = ICEAUTH_COMMAND " list "+KProcess::quote("netid="+oldNetId);
FILE *iceFile = popen(TQFile::encodeName(cmd), "r");
if (!iceFile)
{
@@ -271,7 +273,7 @@ void KHostName::changeDcop()
if (netId != oldNetId)
continue;
- cmd = "iceauth add ";
+ cmd = ICEAUTH_COMMAND " add ";
cmd += KProcess::quote(protName);
cmd += " '' ";
cmd += KProcess::quote(newNetId);
@@ -288,7 +290,7 @@ void KHostName::changeDcop()
char* xauthlocalhostname = getenv("XAUTHLOCALHOSTNAME");
if (!xauthlocalhostname || !oldNetId.contains(xauthlocalhostname))
{
- TQString cmd = "iceauth remove "+KProcess::quote("netid="+oldNetId);
+ TQString cmd = ICEAUTH_COMMAND " remove "+KProcess::quote("netid="+oldNetId);
system(TQFile::encodeName(cmd));
unlink(origFName.data());
origFName = DCOPClient::dcopServerFileOld(oldName); // Compatibility link
diff --git a/kdefx/kimageeffect.cpp b/kdefx/kimageeffect.cpp
index ba7393385..db5d0f150 100644
--- a/kdefx/kimageeffect.cpp
+++ b/kdefx/kimageeffect.cpp
@@ -136,7 +136,7 @@ TQImage KImageEffect::gradient(const TQSize &size, const TQColor &ca,
return image;
}
- register int x, y;
+ int x, y;
rDiff = (rcb = cb.red()) - (rca = ca.red());
gDiff = (gcb = cb.green()) - (gca = ca.green());
@@ -147,9 +147,9 @@ TQImage KImageEffect::gradient(const TQSize &size, const TQColor &ca,
uint *p;
uint rgb;
- register int rl = rca << 16;
- register int gl = gca << 16;
- register int bl = bca << 16;
+ int rl = rca << 16;
+ int gl = gca << 16;
+ int bl = bca << 16;
if( eff == VerticalGradient ) {
@@ -424,7 +424,7 @@ TQImage KImageEffect::unbalancedGradient(const TQSize &size, const TQColor &ca,
return image;
}
- register int x, y;
+ int x, y;
unsigned int *scanline;
rDiff = (rcb = cb.red()) - (rca = ca.red());
@@ -949,7 +949,7 @@ TQImage& KImageEffect::modulate(TQImage &image, TQImage &modImage, bool reverse,
TQColor clr;
int mod=0;
unsigned int x1, x2, y1, y2;
- register int x, y;
+ int x, y;
// for image, we handle only depth 32
if (image.depth()<32) image = image.convertDepth(32);
@@ -1280,12 +1280,12 @@ TQImage& KImageEffect::blend(const TQColor& clr, TQImage& dst, float opacity)
clr.rgb(&rcol, &gcol, &bcol);
#ifdef WORDS_BIGENDIAN // ARGB (skip alpha)
- register unsigned char *data = (unsigned char *)dst.bits() + 1;
+ unsigned char *data = (unsigned char *)dst.bits() + 1;
#else // BGRA
- register unsigned char *data = (unsigned char *)dst.bits();
+ unsigned char *data = (unsigned char *)dst.bits();
#endif
- for (register int i=0; i<pixels; i++)
+ for (int i=0; i<pixels; i++)
{
#ifdef WORDS_BIGENDIAN
*data += (unsigned char)((rcol - *data) * opacity);
@@ -1513,14 +1513,14 @@ TQImage& KImageEffect::blend(TQImage& src, TQImage& dst, float opacity)
{
#ifdef WORDS_BIGENDIAN // ARGB (skip alpha)
- register unsigned char *data1 = (unsigned char *)dst.bits() + 1;
- register unsigned char *data2 = (unsigned char *)src.bits() + 1;
+ unsigned char *data1 = (unsigned char *)dst.bits() + 1;
+ unsigned char *data2 = (unsigned char *)src.bits() + 1;
#else // BGRA
- register unsigned char *data1 = (unsigned char *)dst.bits();
- register unsigned char *data2 = (unsigned char *)src.bits();
+ unsigned char *data1 = (unsigned char *)dst.bits();
+ unsigned char *data2 = (unsigned char *)src.bits();
#endif
- for (register int i=0; i<pixels; i++)
+ for (int i=0; i<pixels; i++)
{
#ifdef WORDS_BIGENDIAN
*data1 += (unsigned char)((*(data2++) - *data1) * opacity);
@@ -1582,7 +1582,7 @@ TQImage& KImageEffect::blend(TQImage &image, float initial_intensity,
var = -var;
}
- register int x, y;
+ int x, y;
unsigned int *data = (unsigned int *)image.bits();
@@ -1790,7 +1790,7 @@ TQImage& KImageEffect::blend(TQImage &image1, TQImage &image2,
unsigned int x1, x2, x3, y1, y2, y3;
unsigned int a;
- register int x, y;
+ int x, y;
// for image1 and image2, we only handle depth 32
if (image1.depth()<32) image1 = image1.convertDepth(32);
@@ -1884,7 +1884,7 @@ TQImage& KImageEffect::hash(TQImage &image, Lighting lite, unsigned int spacing)
return image;
}
- register int x, y;
+ int x, y;
unsigned int *data = (unsigned int *)image.bits();
unsigned int ind;
@@ -2142,9 +2142,9 @@ TQImage& KImageEffect::toGray(TQImage &img, bool fast)
if(fast){
if (img.depth() == 32) {
- register uchar * r(img.bits());
- register uchar * g(img.bits() + 1);
- register uchar * b(img.bits() + 2);
+ uchar * r(img.bits());
+ uchar * g(img.bits() + 1);
+ uchar * b(img.bits() + 2);
uchar * end(img.bits() + img.numBytes());
@@ -2161,11 +2161,11 @@ TQImage& KImageEffect::toGray(TQImage &img, bool fast)
{
for (int i = 0; i < img.numColors(); i++)
{
- register uint r = tqRed(img.color(i));
- register uint g = tqGreen(img.color(i));
- register uint b = tqBlue(img.color(i));
+ uint r = tqRed(img.color(i));
+ uint g = tqGreen(img.color(i));
+ uint b = tqBlue(img.color(i));
- register uint gray = (((r + g) >> 1) + b) >> 1;
+ uint gray = (((r + g) >> 1) + b) >> 1;
img.setColor(i, tqRgba(gray, gray, gray, tqAlpha(img.color(i))));
}
}
@@ -2408,10 +2408,10 @@ bool KImageEffect::blend(
output = lower.copy();
- register uchar *i, *o;
- register int a;
- register int col;
- register int w = upper.width();
+ uchar *i, *o;
+ int a;
+ int col;
+ int w = upper.width();
int row(upper.height() - 1);
do {
@@ -2490,10 +2490,10 @@ bool KImageEffect::blend(
// output.setAlphaBuffer(true); // I should do some benchmarks to see if
// this is worth the effort
- register QRgb *i, *o, *b;
+ QRgb *i, *o, *b;
- register int a;
- register int j,k;
+ int a;
+ int j,k;
for (j=0; j<ch; j++)
{
b=reinterpret_cast<QRgb *>(&const_cast<TQImage&>(lower).scanLine(y+j) [ (x+cw) << 2 ]);
@@ -2549,9 +2549,9 @@ bool KImageEffect::blendOnLower(
if ( cw <= 0 || ch <= 0 ) return true;
}
- register uchar *i, *b;
- register int a;
- register int k;
+ uchar *i, *b;
+ int a;
+ int k;
for (int j=0; j<ch; j++)
{
@@ -3102,7 +3102,7 @@ unsigned int KImageEffect::generateNoise(unsigned int pixel,
}
case PoissonNoise:
{
- register int
+ int
i;
for (i=0; alpha > exp(-SigmaPoisson*pixel); i++)
@@ -3709,7 +3709,7 @@ void KImageEffect::normalize(TQImage &image)
TQ_INT64 number_pixels;
int x, y;
unsigned int *p, *q;
- register long i;
+ long i;
unsigned long threshold_intensity;
unsigned char r, g, b, a;
@@ -4016,7 +4016,7 @@ TQImage KImageEffect::edge(TQImage &image, double radius)
{
double *kernel;
int width;
- register long i;
+ long i;
TQImage dest;
if(radius == 50.0){
@@ -4054,7 +4054,7 @@ TQImage KImageEffect::emboss(TQImage &image, double radius, double sigma)
{
double alpha, *kernel;
int j, width;
- register long i, u, v;
+ long i, u, v;
TQImage dest;
if(sigma == 0.0){
@@ -4099,10 +4099,10 @@ void KImageEffect::blurScanLine(double *kernel, int width,
unsigned int *src, unsigned int *dest,
int columns)
{
- register double *p;
+ double *p;
unsigned int *q;
- register int x;
- register long i;
+ int x;
+ long i;
double red, green, blue, alpha;
double scale = 0.0;
@@ -4239,7 +4239,7 @@ int KImageEffect::getBlurKernel(int width, double sigma, double **kernel)
{
#define KernelRank 3
double alpha, normalize;
- register long i;
+ long i;
int bias;
assert(sigma != 0.0);
@@ -4352,8 +4352,8 @@ bool KImageEffect::convolveImage(TQImage *image, TQImage *dest,
long width;
double red, green, blue, alpha;
double normalize, *normal_kernel;
- register const double *k;
- register unsigned int *q;
+ const double *k;
+ unsigned int *q;
int x, y, mx, my, sx, sy;
long i;
int mcx, mcy;
@@ -4425,7 +4425,7 @@ int KImageEffect::getOptimalKernelWidth(double radius, double sigma)
{
double normalize, value;
long width;
- register long u;
+ long u;
assert(sigma != 0.0);
if(radius > 0.0)
@@ -4453,7 +4453,7 @@ TQImage KImageEffect::sharpen(TQImage &image, double radius, double sigma)
{
double alpha, normalize, *kernel;
int width;
- register long i, u, v;
+ long i, u, v;
TQImage dest;
if(sigma == 0.0){
@@ -4957,12 +4957,12 @@ TQImage KImageEffect::convertToPremultipliedAlpha(TQImage input) {
int w = alphaImage.width();
int h = alphaImage.height();
- register int r;
- register int g;
- register int b;
- register int a;
- register float alpha_adjust;
- register TQRgb l;
+ int r;
+ int g;
+ int b;
+ int a;
+ float alpha_adjust;
+ TQRgb l;
TQRgb *ls;
for (int y = 0; y < h; ++y) {
ls = (TQRgb *)alphaImage.scanLine( y );
diff --git a/kdefx/kpixmap.cpp b/kdefx/kpixmap.cpp
index 152ae6e83..22a88222f 100644
--- a/kdefx/kpixmap.cpp
+++ b/kdefx/kpixmap.cpp
@@ -34,7 +34,7 @@
// Based on Qt's image conversion functions
static bool kdither_32_to_8( const TQImage *src, TQImage *dst )
{
- // register QRgb *p;
+ // TQRgb *p;
uchar *b;
int y;
diff --git a/kdefx/kpixmapeffect.cpp b/kdefx/kpixmapeffect.cpp
index c4bf04dae..6e09c715f 100644
--- a/kdefx/kpixmapeffect.cpp
+++ b/kdefx/kpixmapeffect.cpp
@@ -30,15 +30,15 @@ KPixmap& KPixmapEffect::gradient(KPixmap &pixmap, const TQColor &ca,
int rDiff, gDiff, bDiff;
int rca, gca, bca /*, rcb, gcb, bcb*/;
- register int x, y;
+ int x, y;
rDiff = (/*rcb = */ cb.red()) - (rca = ca.red());
gDiff = (/*gcb = */ cb.green()) - (gca = ca.green());
bDiff = (/*bcb = */ cb.blue()) - (bca = ca.blue());
- register int rl = rca << 16;
- register int gl = gca << 16;
- register int bl = bca << 16;
+ int rl = rca << 16;
+ int gl = gca << 16;
+ int bl = bca << 16;
int rcdelta = ((1<<16) / (eff == VerticalGradient ? pixmap.height() : pixmap.width())) * rDiff;
int gcdelta = ((1<<16) / (eff == VerticalGradient ? pixmap.height() : pixmap.width())) * gDiff;
diff --git a/kdefx/kstyle.cpp b/kdefx/kstyle.cpp
index ac37f69c8..14de0210d 100644
--- a/kdefx/kstyle.cpp
+++ b/kdefx/kstyle.cpp
@@ -1983,11 +1983,11 @@ void TransparencyHandler::rightShadow(TQImage& dst)
// blend top-right corner.
int pixels = dst.width() * dst.height();
#ifdef WORDS_BIGENDIAN
- register unsigned char* data = dst.bits() + 1; // Skip alpha
+ unsigned char* data = dst.bits() + 1; // Skip alpha
#else
- register unsigned char* data = dst.bits(); // Skip alpha
+ unsigned char* data = dst.bits(); // Skip alpha
#endif
- for(register int i = 0; i < 16; i++) {
+ for(int i = 0; i < 16; i++) {
if (have_composite) {
data++;
data++;
@@ -2003,8 +2003,8 @@ void TransparencyHandler::rightShadow(TQImage& dst)
}
pixels -= 32; // tint right strip without rounded edges.
- register int c = 0;
- for(register int i = 0; i < pixels; i++) {
+ int c = 0;
+ for(int i = 0; i < pixels; i++) {
if (have_composite) {
data++;
data++;
@@ -2022,7 +2022,7 @@ void TransparencyHandler::rightShadow(TQImage& dst)
}
// tint bottom edge
- for(register int i = 0; i < 16; i++) {
+ for(int i = 0; i < 16; i++) {
if (have_composite) {
data++;
data++;
@@ -2051,15 +2051,15 @@ void TransparencyHandler::bottomShadow(TQImage& dst)
double* corner = const_cast<double*>(bottom_left_corner);
#ifdef WORDS_BIGENDIAN
- register unsigned char* data = dst.bits() + 1; // Skip alpha
+ unsigned char* data = dst.bits() + 1; // Skip alpha
#else
- register unsigned char* data = dst.bits(); // Skip alpha
+ unsigned char* data = dst.bits(); // Skip alpha
#endif
for(int y = 0; y < 4; y++)
{
// Bottom-left Corner
- for(register int x = 0; x < 4; x++) {
+ for(int x = 0; x < 4; x++) {
if (have_composite) {
data++;
data++;
@@ -2076,7 +2076,7 @@ void TransparencyHandler::bottomShadow(TQImage& dst)
}
// Scanline
- for(register int x = 0; x < width; x++) {
+ for(int x = 0; x < width; x++) {
if (have_composite) {
data++;
data++;
diff --git a/kdeprint/CMakeLists.txt b/kdeprint/CMakeLists.txt
index fa77fd3b4..0be00c28b 100644
--- a/kdeprint/CMakeLists.txt
+++ b/kdeprint/CMakeLists.txt
@@ -85,7 +85,6 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kio-shared kdeinit_kded-shared
- DEPENDENCIES dcopidl dcopidl2cpp
DESTINATION ${PLUGIN_INSTALL_DIR}
)
@@ -117,7 +116,6 @@ tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 4.2.0
LINK kio-shared
- DEPENDENCIES dcopidl dcopidl2cpp
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kdeprint/cups/make_driver_db_cups.cpp b/kdeprint/cups/make_driver_db_cups.cpp
index bc6e4383b..0cd73ba9e 100644
--- a/kdeprint/cups/make_driver_db_cups.cpp
+++ b/kdeprint/cups/make_driver_db_cups.cpp
@@ -213,7 +213,7 @@ void initCompressedPpd(const char *dirname)
// If we were to rerun initPpd here then all drivers would be duplicated!
}
-int parsePpdFile(const char *filename, const char *origin, const char *metadata, FILE *output_file)
+int parsePpdFile(const char *filename, const char * /*origin*/, const char * /*metadata*/, FILE *output_file)
{
gzFile ppd_file;
char line[4096], value[256], langver[64] = {0}, desc[256] = {0};
diff --git a/kdeprint/driverparse.c b/kdeprint/driverparse.c
index 5a2459c28..b9c2170d5 100644
--- a/kdeprint/driverparse.c
+++ b/kdeprint/driverparse.c
@@ -280,7 +280,7 @@ int getMaticPrinterInfos(const char *base, const char *id, char *make, char *mod
return 1;
}
-int parseMaticFile(const char *driver, const char *origin, const char *metadata, FILE *output)
+int parseMaticFile(const char *driver, const char * UNUSED(origin), const char * UNUSED(metadata), FILE *output)
{
FILE *drFile;
char name[32] = {0},
diff --git a/kdeprint/driverparse.h b/kdeprint/driverparse.h
index 0fa632fd7..b6dba8f51 100644
--- a/kdeprint/driverparse.h
+++ b/kdeprint/driverparse.h
@@ -23,6 +23,14 @@
#include <stdio.h>
+#if !defined(UNUSED)
+# if defined(__GNUC__) && ( __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) )
+# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
+# else
+# define UNUSED(x) UNUSED_ ## x
+# endif
+#endif
+
void registerHandler(const char *name, void(*initf)(const char*), int(*parsef)(const char*, const char*, const char*, FILE*));
void initFoomatic(void);
int execute(int argc, char *argv[]);
diff --git a/kdeprint/filters/CMakeLists.txt b/kdeprint/filters/CMakeLists.txt
index a19bb1f93..731308d84 100644
--- a/kdeprint/filters/CMakeLists.txt
+++ b/kdeprint/filters/CMakeLists.txt
@@ -20,4 +20,6 @@ install( FILES
pdf2ps.xml poster.desktop poster.xml
DESTINATION ${DATA_INSTALL_DIR}/kdeprint/filters )
-install( PROGRAMS imagetops DESTINATION ${BIN_INSTALL_DIR} )
+if( WITH_IMAGETOPS_BINARY )
+ install( PROGRAMS imagetops DESTINATION ${BIN_INSTALL_DIR} )
+endif()
diff --git a/kdeprint/filters/ps2pdf.xml b/kdeprint/filters/ps2pdf.xml
index 15b1005b6..f4eb63e77 100644
--- a/kdeprint/filters/ps2pdf.xml
+++ b/kdeprint/filters/ps2pdf.xml
@@ -1,6 +1,6 @@
<!DOCTYPE kprintfilter>
<kprintfilter name="ps2pdf" >
- <filtercommand data="gs -q -dSAFER -dPARANOIDSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%filteroutput -sPAPERSIZE=%psl %filterargs -c .setpdfwrite -f %filterinput" />
+ <filtercommand data="gs -q -dSAFER -dPARANOIDSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%filteroutput -sPAPERSIZE=%psl %filterargs -f %filterinput" />
<filterargs name="__root__" description="ps2pdf" >
<filtergroup name="general" description="General" >
<filterarg format="-dPDFSETTINGS=%value" type="list" name="targetdevice" default="/default" description="Target device" >
diff --git a/kdeprint/fooparser.cpp b/kdeprint/fooparser.cpp
index 09ba34bf2..92135e7aa 100644
--- a/kdeprint/fooparser.cpp
+++ b/kdeprint/fooparser.cpp
@@ -369,9 +369,9 @@ __yy_memcpy (to, from, count)
char *from;
unsigned int count;
{
- register char *f = from;
- register char *t = to;
- register int i = count;
+ char *f = from;
+ char *t = to;
+ int i = count;
while (i-- > 0)
*t++ = *f++;
@@ -384,9 +384,9 @@ __yy_memcpy (to, from, count)
static void
__yy_memcpy (char *to, char *from, unsigned int count)
{
- register char *t = to;
- register char *f = from;
- register int i = count;
+ char *t = to;
+ char *f = from;
+ int i = count;
while (i-- > 0)
*t++ = *f++;
@@ -429,10 +429,10 @@ int
yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
- register int yystate;
- register int yyn;
- register short *yyssp;
- register YYSTYPE *yyvsp;
+ int yystate;
+ int yyn;
+ short *yyssp;
+ YYSTYPE *yyvsp;
int yyerrstatus; /* number of tokens to shift before error messages enabled */
int yychar1 = 0; /* lookahead token as an internal (translated) token number */
diff --git a/kdeprint/fooscanner.cpp b/kdeprint/fooscanner.cpp
index 1ae1eac56..ce4e7b2de 100644
--- a/kdeprint/fooscanner.cpp
+++ b/kdeprint/fooscanner.cpp
@@ -614,9 +614,9 @@ YY_MALLOC_DECL
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
#line 47 "./fooscanner.l"
@@ -664,7 +664,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -954,9 +954,9 @@ case YY_STATE_EOF(INITIAL):
static int yy_get_next_buffer()
{
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
- register int number_to_move, i;
+ char *dest = yy_current_buffer->yy_ch_buf;
+ char *source = yytext_ptr;
+ int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
@@ -1086,15 +1086,15 @@ static int yy_get_next_buffer()
static yy_state_type yy_get_previous_state()
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
yy_current_state = yy_start;
yy_current_state += YY_AT_BOL();
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1126,10 +1126,10 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
{
- register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
+ int yy_is_jam;
+ char *yy_cp = yy_c_buf_p;
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1150,14 +1150,14 @@ yy_state_type yy_current_state;
#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
+static void yyunput( int c, char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
-register char *yy_bp;
+char *yy_bp;
#endif
{
- register char *yy_cp = yy_c_buf_p;
+ char *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
*yy_cp = yy_hold_char;
@@ -1165,10 +1165,10 @@ register char *yy_bp;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
+ int number_to_move = yy_n_chars + 2;
+ char *dest = &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size + 2];
- register char *source =
+ char *source =
&yy_current_buffer->yy_ch_buf[number_to_move];
while ( source > yy_current_buffer->yy_ch_buf )
@@ -1625,7 +1625,7 @@ yyconst char *s2;
int n;
#endif
{
- register int i;
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -1639,7 +1639,7 @@ static int yy_flex_strlen( s )
yyconst char *s;
#endif
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
diff --git a/kdeprint/kmmanager.cpp b/kdeprint/kmmanager.cpp
index bee42fe2a..38554d64a 100644
--- a/kdeprint/kmmanager.cpp
+++ b/kdeprint/kmmanager.cpp
@@ -272,6 +272,7 @@ TQPtrList<KMPrinter>* KMManager::printerList(bool reload)
if (defprinter)
setSoftDefault(defprinter);
}
+ emit printerListUpdated();
}
return &m_fprinters;
diff --git a/kdeprint/kmmanager.h b/kdeprint/kmmanager.h
index ecdacba06..1a8473ed1 100644
--- a/kdeprint/kmmanager.h
+++ b/kdeprint/kmmanager.h
@@ -142,7 +142,8 @@ public:
void checkUpdatePossible();
signals:
- void updatePossible( bool );
+ void updatePossible(bool);
+ void printerListUpdated();
protected:
// the real printer listing job is done here
diff --git a/kdeprint/lpr/make_driver_db_lpr.c b/kdeprint/lpr/make_driver_db_lpr.c
index 848eb967f..f73babbe2 100644
--- a/kdeprint/lpr/make_driver_db_lpr.c
+++ b/kdeprint/lpr/make_driver_db_lpr.c
@@ -47,7 +47,7 @@ void simplifyModel(const char *modelname)
}
}
-int parseApsFile(const char *filename, FILE *output)
+int parseApsFile(const char *filename, const char * UNUSED(origin), const char * UNUSED(metadata), FILE *output)
{
FILE *apsfile;
char buf[256], modelname[256];
@@ -127,7 +127,7 @@ char* nextWord(char *c)
return d;
}
-int parseIfhpFile(const char *filename, FILE *output)
+int parseIfhpFile(const char *filename, const char * UNUSED(origin), const char * UNUSED(metadata), FILE *output)
{
char buf[1024];
FILE *in;
diff --git a/kdeprint/management/kmjobviewer.cpp b/kdeprint/management/kmjobviewer.cpp
index 4ae3ef46f..aec1339b8 100644
--- a/kdeprint/management/kmjobviewer.cpp
+++ b/kdeprint/management/kmjobviewer.cpp
@@ -104,6 +104,8 @@ KMJobViewer::KMJobViewer(TQWidget *parent, const char *name)
conf->setGroup( "Jobs" );
resize( conf->readSizeEntry( "Size", &defSize ) );
}
+
+ connect(KMFactory::self()->manager(), TQT_SIGNAL(printerListUpdated()),TQT_SLOT(slotPrinterListUpdated()));
}
KMJobViewer::~KMJobViewer()
@@ -332,6 +334,11 @@ void KMJobViewer::initActions()
// create status bar
KStatusBar *statusbar = statusBar();
m_stickybox = new TQCheckBox( i18n( "Keep window permanent" ), statusbar );
+
+ KConfig *conf = KMFactory::self()->printConfig();
+ conf->setGroup("Jobs");
+ m_stickybox->setChecked(conf->readBoolEntry("KeepWindow",false));
+ connect(m_stickybox, TQT_SIGNAL(toggled(bool)), TQT_SLOT(slotKeepWindowChange(bool)));
statusbar->addWidget( m_stickybox, 1, false );
statusbar->insertItem(" " + i18n("Max.: %1").arg(i18n("Unlimited"))+ " ", 0, 0, true);
statusbar->setItemFixed(0);
@@ -365,6 +372,13 @@ void KMJobViewer::buildPrinterMenu(TQPopupMenu *menu, bool use_all, bool use_spe
}
}
+void KMJobViewer::slotKeepWindowChange( bool val )
+{
+ KConfig *conf = KMFactory::self()->printConfig();
+ conf->setGroup("Jobs");
+ conf->writeEntry("KeepWindow",val);
+}
+
void KMJobViewer::slotShowMoveMenu()
{
TQPopupMenu *menu = static_cast<KActionMenu*>(actionCollection()->action("job_move"))->popupMenu();
@@ -520,6 +534,11 @@ void KMJobViewer::slotRightClicked(TQListViewItem*,const TQPoint& p,int)
if (m_pop) m_pop->popup(p);
}
+void KMJobViewer::slotPrinterListUpdated()
+{
+ loadPrinters();
+}
+
void KMJobViewer::loadPrinters()
{
m_printers.clear();
diff --git a/kdeprint/management/kmjobviewer.h b/kdeprint/management/kmjobviewer.h
index a8ac7d0af..66150e8d6 100644
--- a/kdeprint/management/kmjobviewer.h
+++ b/kdeprint/management/kmjobviewer.h
@@ -86,6 +86,8 @@ protected slots:
void slotUserChanged();
void slotConfigure();
void slotDropped( TQDropEvent*, TQListViewItem* );
+ void slotKeepWindowChange(bool);
+ void slotPrinterListUpdated();
protected:
void init();
diff --git a/kdeprint/ppdparser.cpp b/kdeprint/ppdparser.cpp
index ace79dbab..761c126cb 100644
--- a/kdeprint/ppdparser.cpp
+++ b/kdeprint/ppdparser.cpp
@@ -225,7 +225,7 @@ union yyalloc
# define YYCOPY(To, From, Count) \
do \
{ \
- register YYSIZE_T yyi; \
+ YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
@@ -704,7 +704,7 @@ yystrlen (yystr)
const char *yystr;
# endif
{
- register const char *yys = yystr;
+ const char *yys = yystr;
while (*yys++ != '\0')
continue;
@@ -729,8 +729,8 @@ yystpcpy (yydest, yysrc)
const char *yysrc;
# endif
{
- register char *yyd = yydest;
- register const char *yys = yysrc;
+ char *yyd = yydest;
+ const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
@@ -860,8 +860,8 @@ yyparse ()
#endif
{
- register int yystate;
- register int yyn;
+ int yystate;
+ int yyn;
int yyresult;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -879,12 +879,12 @@ yyparse ()
/* The state stack. */
short yyssa[YYINITDEPTH];
short *yyss = yyssa;
- register short *yyssp;
+ short *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa;
- register YYSTYPE *yyvsp;
+ YYSTYPE *yyvsp;
diff --git a/kdeprint/ppdscanner.cpp b/kdeprint/ppdscanner.cpp
index c015e5100..5a4f5ee40 100644
--- a/kdeprint/ppdscanner.cpp
+++ b/kdeprint/ppdscanner.cpp
@@ -719,9 +719,9 @@ YY_MALLOC_DECL
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
#line 59 "./ppdscanner.l"
@@ -771,7 +771,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1155,9 +1155,9 @@ case YY_STATE_EOF(constr):
static int yy_get_next_buffer()
{
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
- register int number_to_move, i;
+ char *dest = yy_current_buffer->yy_ch_buf;
+ char *source = yytext_ptr;
+ int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
@@ -1287,14 +1287,14 @@ static int yy_get_next_buffer()
static yy_state_type yy_get_previous_state()
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
yy_current_state = yy_start;
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1326,10 +1326,10 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
{
- register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
+ int yy_is_jam;
+ char *yy_cp = yy_c_buf_p;
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1350,14 +1350,14 @@ yy_state_type yy_current_state;
#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
+static void yyunput( int c, char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
-register char *yy_bp;
+char *yy_bp;
#endif
{
- register char *yy_cp = yy_c_buf_p;
+ char *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
*yy_cp = yy_hold_char;
@@ -1365,10 +1365,10 @@ register char *yy_bp;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
+ int number_to_move = yy_n_chars + 2;
+ char *dest = &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size + 2];
- register char *source =
+ char *source =
&yy_current_buffer->yy_ch_buf[number_to_move];
while ( source > yy_current_buffer->yy_ch_buf )
@@ -1824,7 +1824,7 @@ yyconst char *s2;
int n;
#endif
{
- register int i;
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -1838,7 +1838,7 @@ static int yy_flex_strlen( s )
yyconst char *s;
#endif
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
diff --git a/kdesu/CMakeLists.txt b/kdesu/CMakeLists.txt
index c032d8a48..67afb980d 100644
--- a/kdesu/CMakeLists.txt
+++ b/kdesu/CMakeLists.txt
@@ -42,7 +42,8 @@ set( ${target}_SRCS
tde_add_library( ${target} SHARED
SOURCES ${${target}_SRCS}
VERSION 4.2.0
- LINK kdecore-shared ${LIB_UTIL}
+ LINK kdecore-shared
+ LINK_PRIVATE ${LIB_UTIL}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kdesu/kdesu_pty.cpp b/kdesu/kdesu_pty.cpp
index 8f48f0b88..506118e08 100644
--- a/kdesu/kdesu_pty.cpp
+++ b/kdesu/kdesu_pty.cpp
@@ -94,10 +94,14 @@ PTY::~PTY()
int PTY::getpt()
{
-#if defined(HAVE_GETPT) && defined(HAVE_PTSNAME)
+#if (defined(HAVE_GETPT) || defined(HAVE_POSIX_OPENPT)) && defined(HAVE_PTSNAME)
// 1: UNIX98: preferred way
+#ifdef HAVE_GETPT
ptyfd = ::getpt();
+#elif defined(HAVE_POSIX_OPENPT)
+ ptyfd = ::posix_openpt(O_RDWR);
+#endif
ttyname = ::ptsname(ptyfd);
return ptyfd;
diff --git a/kdesu/kdesu_stub.c b/kdesu/kdesu_stub.c
index 8ef7f503e..86c775baf 100644
--- a/kdesu/kdesu_stub.c
+++ b/kdesu/kdesu_stub.c
@@ -367,9 +367,9 @@ int main()
close(fd);
xsetenv("ICEAUTHORITY", iceauthority);
- fout = popen("iceauth >/dev/null 2>&1", "w");
+ fout = popen(ICEAUTH_COMMAND " >/dev/null 2>&1", "w");
if (!fout) {
- perror("kdesu_stub: popen iceauth");
+ perror("kdesu_stub: popen " ICEAUTH_COMMAND);
exit(1);
}
for (i=0; host[i]; i++)
diff --git a/kdesu/process.cpp b/kdesu/process.cpp
index edd80c67d..b977a1342 100644
--- a/kdesu/process.cpp
+++ b/kdesu/process.cpp
@@ -359,6 +359,7 @@ int PtyProcess::exec(const TQCString &command, const QCStringList &args)
putenv(const_cast<TQCString&>(*it).data());
}
unsetenv("TDE_FULL_SESSION");
+ unsetenv("XDG_RUNTIME_DIR");
// set temporarily LC_ALL to C, for su (to be able to parse "Password:")
const char* old_lc_all = getenv( "LC_ALL" );
diff --git a/kdeui/CMakeLists.txt b/kdeui/CMakeLists.txt
index 1cf55ccba..9999603a1 100644
--- a/kdeui/CMakeLists.txt
+++ b/kdeui/CMakeLists.txt
@@ -148,8 +148,8 @@ set( ${target}_SRCS
tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 4.2.0
- LINK kdecore-shared ${FREETYPE_LIBRARIES} ${FONTCONFIG_LIBRARIES} ${XEXT_LIBRARIES}
- DEPENDENCIES dcopidl
+ LINK kdecore-shared
+ LINK_PRIVATE ${FREETYPE_LIBRARIES} ${FONTCONFIG_LIBRARIES} ${XEXT_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
@@ -158,7 +158,7 @@ tde_add_library( ${target} SHARED AUTOMOC
set( target kspell )
-configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_dummy_cpp.cmake dummy.cpp COPYONLY )
+configure_file( ${TDE_CMAKE_TEMPLATES}/tde_dummy_cpp.cmake dummy.cpp COPYONLY )
tde_add_library( ${target} SHARED
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp
diff --git a/kdeui/kcolordialog.cpp b/kdeui/kcolordialog.cpp
index 84385dd33..71b17de0f 100644
--- a/kdeui/kcolordialog.cpp
+++ b/kdeui/kcolordialog.cpp
@@ -64,7 +64,10 @@
#include <config.h>
#include <kdebug.h>
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
+
#ifdef Q_WS_X11
#include <X11/Xlib.h>
@@ -626,9 +629,6 @@ static const char * const *namedColorFilePath( void )
#ifdef X11_RGBFILE
X11_RGBFILE,
#endif
- "/usr/share/X11/rgb.txt",
- "/usr/X11R6/lib/X11/rgb.txt",
- "/usr/openwin/lib/X11/rgb.txt", // for Solaris.
0
};
return path;
diff --git a/kdeui/kdepackages.h b/kdeui/kdepackages.h
index b026229c3..8c371bf0f 100644
--- a/kdeui/kdepackages.h
+++ b/kdeui/kdepackages.h
@@ -559,7 +559,6 @@ const char * const packages[] = {
"keep",
"kenolaba",
"kepas",
-"kerry",
"kexi",
"kexi/Forms Designer",
"kexi/General",
diff --git a/kdeui/kdetrayproxy/CMakeLists.txt b/kdeui/kdetrayproxy/CMakeLists.txt
index 351dc3042..fada990a2 100644
--- a/kdeui/kdetrayproxy/CMakeLists.txt
+++ b/kdeui/kdetrayproxy/CMakeLists.txt
@@ -41,6 +41,5 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdecore-shared kdeinit_kded-shared
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kdeui/ksconfig.cpp b/kdeui/ksconfig.cpp
index 81c6e8417..7a5f77dfd 100644
--- a/kdeui/ksconfig.cpp
+++ b/kdeui/ksconfig.cpp
@@ -188,11 +188,7 @@ KSpellConfig::readGlobalSettings()
setDictionary ( kc->readEntry("KSpell_Dictionary") );
setDictFromList ( kc->readNumEntry("KSpell_DictFromList", false) );
setEncoding ( kc->readNumEntry ("KSpell_Encoding", KS_E_UTF8) );
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
- setClient ( kc->readNumEntry ("KSpell_Client", KS_CLIENT_ASPELL) );
-#else
- setClient ( kc->readNumEntry ("KSpell_Client", KS_CLIENT_ISPELL) );
-#endif
+ setClient ( kc->readNumEntry ("KSpell_Client", DEFAULT_SPELL_CHECKER) );
return true;
}
@@ -603,6 +599,9 @@ KSpellConfig::fillDicts( TQComboBox* box, TQStringList* dictionaries )
box->insertItem( i18n("ISpell Default") );
// dictionary path
+#ifdef ISPELL_LIBDIR
+ TQFileInfo dir (ISPELL_LIBDIR);
+#else
TQFileInfo dir ("/usr/lib/ispell");
if (!dir.exists() || !dir.isDir())
dir.setFile ("/usr/local/lib/ispell");
@@ -617,6 +616,7 @@ KSpellConfig::fillDicts( TQComboBox* box, TQStringList* dictionaries )
if (!dir.exists() || !dir.isDir())
dir.setFile ("/usr/local/lib");
*/
+#endif
if (!dir.exists() || !dir.isDir()) return;
kdDebug(750) << "KSpellConfig::getAvailDictsIspell "
diff --git a/kdeui/kshortcutdialog.cpp b/kdeui/kshortcutdialog.cpp
index 27d721626..2f3fd8b04 100644
--- a/kdeui/kshortcutdialog.cpp
+++ b/kdeui/kshortcutdialog.cpp
@@ -82,7 +82,6 @@ KShortcutDialog::KShortcutDialog( const KShortcut& shortcut, bool bQtShortcut, T
m_bQtShortcut = bQtShortcut;
- m_bGrab = false;
m_iSeq = 0;
m_iKey = 0;
m_ptxtCurrent = 0;
@@ -291,22 +290,20 @@ bool KShortcutDialog::x11Event( XEvent *pEvent )
x11KeyReleaseEvent( pEvent );
return true;
case XFocusIn:
- if (!m_bGrab) {
- //kdDebug(125) << "FocusIn and Grab!" << endl;
- grabKeyboard();
- m_bGrab = true;
+ {
+ XFocusInEvent *fie = (XFocusInEvent*)pEvent;
+ if (fie->mode != NotifyGrab && fie->mode != NotifyUngrab) {
+ grabKeyboard();
+ }
}
- //else
- // kdDebug(125) << "FocusIn" << endl;
break;
case XFocusOut:
- if (m_bGrab) {
- //kdDebug(125) << "FocusOut and Ungrab!" << endl;
- releaseKeyboard();
- m_bGrab = false;
+ {
+ XFocusOutEvent *foe = (XFocusOutEvent*)pEvent;
+ if (foe->mode != NotifyGrab && foe->mode != NotifyUngrab) {
+ releaseKeyboard();
+ }
}
- //else
- // kdDebug(125) << "FocusOut" << endl;
break;
default:
//kdDebug(125) << "x11Event->type = " << pEvent->type << endl;
diff --git a/kdeui/kshortcutdialog.h b/kdeui/kshortcutdialog.h
index d843f6fb0..7c2c7f84b 100644
--- a/kdeui/kshortcutdialog.h
+++ b/kdeui/kshortcutdialog.h
@@ -53,7 +53,6 @@ private:
bool m_bQtShortcut;
KShortcut m_shortcut;
- bool m_bGrab;
KPushButton* m_ptxtCurrent;
uint m_iSeq;
uint m_iKey;
diff --git a/kdeui/kshortcutdialog_advanced.ui b/kdeui/kshortcutdialog_advanced.ui
index 6466174d2..639c43e82 100644
--- a/kdeui/kshortcutdialog_advanced.ui
+++ b/kdeui/kshortcutdialog_advanced.ui
@@ -238,8 +238,8 @@
</connection>
</connections>
<includes>
- <include location="global" impldecl="in declaration">kshortcut.h</include>
<include location="global" impldecl="in declaration">kdialog.h</include>
+ <include location="global" impldecl="in declaration">kshortcut.h</include>
<include location="global" impldecl="in implementation">kpushbutton.h</include>
</includes>
<forwards>
@@ -247,8 +247,4 @@
</forwards>
<layoutdefaults spacing="6" margin="11"/>
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-<includehints>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kdeui/kshortcutdialog_simple.ui b/kdeui/kshortcutdialog_simple.ui
index 97d87b582..5576fef72 100644
--- a/kdeui/kshortcutdialog_simple.ui
+++ b/kdeui/kshortcutdialog_simple.ui
@@ -105,8 +105,8 @@
</grid>
</widget>
<includes>
- <include location="global" impldecl="in declaration">kshortcut.h</include>
<include location="global" impldecl="in declaration">kdialog.h</include>
+ <include location="global" impldecl="in declaration">kshortcut.h</include>
<include location="global" impldecl="in implementation">kpushbutton.h</include>
</includes>
<forwards>
@@ -114,7 +114,4 @@
</forwards>
<layoutdefaults spacing="6" margin="11"/>
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-<includehints>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kdeui/tests/kledtest.cpp b/kdeui/tests/kledtest.cpp
index d68f1e366..2663c5f9b 100644
--- a/kdeui/tests/kledtest.cpp
+++ b/kdeui/tests/kledtest.cpp
@@ -98,7 +98,7 @@ KLedTest::nextColor() {
void
KLedTest::nextLook() {
- register int tmp;
+ int tmp;
if (kled_round) {
tmp = (static_cast<int>(ledlook) +1 ) % 3 ;
}
diff --git a/kdoctools/meinproc.cpp b/kdoctools/meinproc.cpp
index 4becdc859..2ab40d3c7 100644
--- a/kdoctools/meinproc.cpp
+++ b/kdoctools/meinproc.cpp
@@ -1,4 +1,7 @@
-#include <config.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <string.h>
#include <sys/time.h>
#include <unistd.h>
diff --git a/kglib/CMakeLists.txt b/kglib/CMakeLists.txt
index 293a09e75..0d229cabe 100644
--- a/kglib/CMakeLists.txt
+++ b/kglib/CMakeLists.txt
@@ -16,6 +16,8 @@ include_directories(
link_directories(
${TQT_LIBRARY_DIRS}
+ ${GLIB2_LIBRARY_DIRS}
+ ${GOBJECT2_LIBRARY_DIRS}
)
@@ -32,6 +34,7 @@ install( FILES
tde_add_library( kglib SHARED
SOURCES TGlibEventLoop.cpp
VERSION 0.0.0
- LINK ${TQT_LIBRARIES} ${GLIB2_LIBRARIES} ${GOBJECT2_LIBRARIES}
+ LINK ${TQT_LIBRARIES}
+ LINK_PRIVATE ${GLIB2_LIBRARIES} ${GOBJECT2_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/khtml/CMakeLists.txt b/khtml/CMakeLists.txt
index 9a2488c4a..18113d993 100644
--- a/khtml/CMakeLists.txt
+++ b/khtml/CMakeLists.txt
@@ -88,9 +88,9 @@ tde_add_library( ${target} SHARED AUTOMOC
VERSION 4.2.0
LINK ${VSCRIPT} kjava-static kjs_html-static khtmldom-static khtmlcss-static
khtmlhtml-static khtmlxml-static khtmlrender-static khtmlmisc-static
- kutils-shared kdeprint-shared kjs-shared ${JPEG_LIBRARIES}
+ kutils-shared kdeprint-shared
+ LINK_PRIVATE kjs-shared ${JPEG_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
diff --git a/khtml/css/cssproperties.c b/khtml/css/cssproperties.c
index c86f2d326..486082b41 100644
--- a/khtml/css/cssproperties.c
+++ b/khtml/css/cssproperties.c
@@ -39,7 +39,7 @@ struct props {
int id;
};
-static const struct props * findProp (register const char *str, register unsigned int len);
+static const struct props * findProp (const char *str, unsigned int len);
/* maximum key range = 469, duplicates = 0 */
#ifdef __GNUC__
@@ -50,7 +50,7 @@ inline
#endif
#endif
static unsigned int
-hash_prop (register const char *str, register unsigned int len)
+hash_prop (const char *str, unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -81,7 +81,7 @@ hash_prop (register const char *str, register unsigned int len)
472, 472, 472, 472, 472, 472, 472, 472, 472, 472,
472, 472, 472, 472, 472, 472
};
- register int hval = len;
+ int hval = len;
switch (hval)
{
@@ -189,7 +189,7 @@ hash_prop (register const char *str, register unsigned int len)
__inline
#endif
const struct props *
-findProp (register const char *str, register unsigned int len)
+findProp (const char *str, unsigned int len)
{
enum
{
@@ -516,15 +516,15 @@ findProp (register const char *str, register unsigned int len)
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = hash_prop (str, len);
+ int key = hash_prop (str, len);
if (key <= MAX_HASH_VALUE && key >= 0)
{
- register int index = lookup[key];
+ int index = lookup[key];
if (index >= 0)
{
- register const char *s = wordlist_prop[index].name;
+ const char *s = wordlist_prop[index].name;
if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
return &wordlist_prop[index];
diff --git a/khtml/css/cssvalues.c b/khtml/css/cssvalues.c
index 7368d1869..7545cc205 100644
--- a/khtml/css/cssvalues.c
+++ b/khtml/css/cssvalues.c
@@ -39,7 +39,7 @@ struct css_value {
int id;
};
-static const css_value* findValue (register const char *str, register unsigned int len);
+static const css_value* findValue (const char *str, unsigned int len);
/* maximum key range = 2876, duplicates = 0 */
#ifdef __GNUC__
@@ -50,7 +50,7 @@ inline
#endif
#endif
static unsigned int
-hash_val (register const char *str, register unsigned int len)
+hash_val (const char *str, unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -81,7 +81,7 @@ hash_val (register const char *str, register unsigned int len)
2876, 2876, 2876, 2876, 2876, 2876, 2876, 2876, 2876, 2876,
2876, 2876, 2876, 2876, 2876, 2876, 2876
};
- register int hval = 0;
+ int hval = 0;
switch (len)
{
@@ -177,7 +177,7 @@ hash_val (register const char *str, register unsigned int len)
__inline
#endif
const struct css_value *
-findValue (register const char *str, register unsigned int len)
+findValue (const char *str, unsigned int len)
{
enum
{
@@ -1036,15 +1036,15 @@ findValue (register const char *str, register unsigned int len)
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = hash_val (str, len);
+ int key = hash_val (str, len);
if (key <= MAX_HASH_VALUE && key >= 0)
{
- register int index = lookup[key];
+ int index = lookup[key];
if (index >= 0)
{
- register const char *s = wordlist_value[index].name;
+ const char *s = wordlist_value[index].name;
if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
return &wordlist_value[index];
diff --git a/khtml/css/makeprop b/khtml/css/makeprop
index a1a30ac97..b01ed7319 100644
--- a/khtml/css/makeprop
+++ b/khtml/css/makeprop
@@ -23,7 +23,7 @@
#
grep "^[^\#]" cssproperties.in > cssproperties.strip
-echo -e '%{\n/* This file is automatically generated from cssproperties.in by makeprop, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssproperties.h"\n%}\nstruct props {\n const char *name;\n int id;\n};\n\nstatic const struct props * findProp (register const char *str, register unsigned int len);\n\n%%' > cssproperties.gperf
+echo -e '%{\n/* This file is automatically generated from cssproperties.in by makeprop, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssproperties.h"\n%}\nstruct props {\n const char *name;\n int id;\n};\n\nstatic const struct props * findProp (const char *str, unsigned int len);\n\n%%' > cssproperties.gperf
cat cssproperties.strip | awk '{ do { prop = $0; gsub("-", "_"); print prop ", CSS_PROP_" toupper($0) } while (getline) }' >> cssproperties.gperf
echo '%%' >> cssproperties.gperf
echo -e '/* This file is automatically generated from cssproperties.in by makeprop, do not edit */\n/* Copyright 1998 W. Bastian */\n\n#ifndef CSSPROPERTIES_H\n#define CSSPROPERTIES_H\n\nDOM::DOMString getPropertyName(unsigned short id) KDE_NO_EXPORT;\n' > cssproperties.h
diff --git a/khtml/css/makevalues b/khtml/css/makevalues
index 0f81f1612..3ca0a82ea 100755
--- a/khtml/css/makevalues
+++ b/khtml/css/makevalues
@@ -24,7 +24,7 @@
#
grep "^[^\#]" cssvalues.in > cssvalues.strip
-echo -e '%{\n/* This file is automatically generated from cssvalues.in by makevalues, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssvalues.h"\n%}\nstruct css_value {\n const char *name;\n int id;\n};\n\nstatic const css_value* findValue (register const char *str, register unsigned int len);\n\n%%' > cssvalues.gperf
+echo -e '%{\n/* This file is automatically generated from cssvalues.in by makevalues, do not edit */\n/* Copyright 1999 W. Bastian */\n#include "cssvalues.h"\n%}\nstruct css_value {\n const char *name;\n int id;\n};\n\nstatic const css_value* findValue (const char *str, unsigned int len);\n\n%%' > cssvalues.gperf
cat cssvalues.strip | awk '{ do { prop = $0; gsub("-", "_"); print prop ", CSS_VAL_" toupper($0) } while (getline) }' >> cssvalues.gperf
echo '%%' >> cssvalues.gperf
echo -e '/* This file is automatically generated from cssvalues.in by
diff --git a/khtml/css/parser.cpp b/khtml/css/parser.cpp
index c0e6f5869..4d796d232 100644
--- a/khtml/css/parser.cpp
+++ b/khtml/css/parser.cpp
@@ -385,7 +385,7 @@ union yyalloc
# define YYCOPY(To, From, Count) \
do \
{ \
- register YYSIZE_T yyi; \
+ YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
@@ -1122,7 +1122,7 @@ yystrlen (yystr)
const char *yystr;
# endif
{
- register const char *yys = yystr;
+ const char *yys = yystr;
while (*yys++ != '\0')
continue;
@@ -1147,8 +1147,8 @@ yystpcpy (yydest, yysrc)
const char *yysrc;
# endif
{
- register char *yyd = yydest;
- register const char *yys = yysrc;
+ char *yyd = yydest;
+ const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
@@ -1338,8 +1338,8 @@ YYSTYPE yylval;
/* Number of syntax errors so far. */
int yynerrs;
- register int yystate;
- register int yyn;
+ int yystate;
+ int yyn;
int yyresult;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -1357,12 +1357,12 @@ int yynerrs;
/* The state stack. */
short int yyssa[YYINITDEPTH];
short int *yyss = yyssa;
- register short int *yyssp;
+ short int *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa;
- register YYSTYPE *yyvsp;
+ YYSTYPE *yyvsp;
diff --git a/khtml/css/tokenizer.cpp b/khtml/css/tokenizer.cpp
index 493a98032..e2ffd36ea 100644
--- a/khtml/css/tokenizer.cpp
+++ b/khtml/css/tokenizer.cpp
@@ -592,9 +592,9 @@ static yyconst short int yy_chk[1695] =
YY_DECL
{
- register yy_state_type yy_current_state;
- register unsigned short *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ unsigned short *yy_cp, *yy_bp;
+ int yy_act;
#line 25 "tokenizer.flex"
@@ -617,7 +617,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
diff --git a/khtml/html/doctypes.cpp b/khtml/html/doctypes.cpp
index e79a56f34..8f12ac8e9 100644
--- a/khtml/html/doctypes.cpp
+++ b/khtml/html/doctypes.cpp
@@ -51,7 +51,7 @@ inline
#endif
#endif
static unsigned int
-hash (register const char *str, register unsigned int len)
+hash (const char *str, unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -82,7 +82,7 @@ hash (register const char *str, register unsigned int len)
731, 731, 731, 731, 731, 731, 731, 731, 731, 731,
731, 731, 731, 731, 731, 731
};
- register int hval = len;
+ int hval = len;
switch (hval)
{
@@ -334,7 +334,7 @@ hash (register const char *str, register unsigned int len)
__inline
#endif
const struct PubIDInfo *
-findDoctypeEntry (register const char *str, register unsigned int len)
+findDoctypeEntry (const char *str, unsigned int len)
{
enum
{
@@ -1160,11 +1160,11 @@ findDoctypeEntry (register const char *str, register unsigned int len)
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = hash (str, len);
+ int key = hash (str, len);
if (key <= MAX_HASH_VALUE && key >= 0)
{
- register const char *s = wordlist[key].name;
+ const char *s = wordlist[key].name;
if (*str == *s && !strcmp (str + 1, s + 1))
return &wordlist[key];
diff --git a/khtml/htmlpageinfo.ui b/khtml/htmlpageinfo.ui
index 5dd21cd6f..e2d4b57db 100644
--- a/khtml/htmlpageinfo.ui
+++ b/khtml/htmlpageinfo.ui
@@ -286,16 +286,12 @@
<tabstop>_headers</tabstop>
</tabstops>
<includes>
+ <include location="global" impldecl="in declaration">kactivelabel.h</include>
<include location="global" impldecl="in declaration">kpushbutton.h</include>
<include location="global" impldecl="in declaration">tqlabel.h</include>
- <include location="global" impldecl="in declaration">kactivelabel.h</include>
<include location="global" impldecl="in declaration">tqlistview.h</include>
<include location="global" impldecl="in implementation">kdialog.h</include>
</includes>
<layoutdefaults spacing="6" margin="11"/>
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-<includehints>
- <includehint>kactivelabel.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/khtml/java/dummy/CMakeLists.txt b/khtml/java/dummy/CMakeLists.txt
index 5828f4b83..0023a6b69 100644
--- a/khtml/java/dummy/CMakeLists.txt
+++ b/khtml/java/dummy/CMakeLists.txt
@@ -20,7 +20,7 @@ link_directories(
##### kjava #####################################
-configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_dummy_cpp.cmake dummy.cpp COPYONLY )
+configure_file( ${TDE_CMAKE_TEMPLATES}/tde_dummy_cpp.cmake dummy.cpp COPYONLY )
tde_add_library( kjava SHARED
SOURCES dummy.cpp
diff --git a/khtml/khtmlview.cpp b/khtml/khtmlview.cpp
index 3ac55ba38..3e1f67d6b 100644
--- a/khtml/khtmlview.cpp
+++ b/khtml/khtmlview.cpp
@@ -2788,7 +2788,7 @@ void KHTMLView::print(bool quick)
viewport()->setCursor( tqwaitCursor ); // only viewport(), no TQApplication::, otherwise we get the busy cursor in kdeprint's dialogs
// set up KPrinter
printer->setFullPage(false);
- printer->setCreator(TQString("KDE %1.%2.%3 HTML Library").arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(KDE_VERSION_RELEASE));
+ printer->setCreator(TQString("TDE %1.%2.%3 HTML Library").arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(KDE_VERSION_RELEASE));
printer->setDocName(docname);
TQPainter *p = new TQPainter;
diff --git a/khtml/kjserrordlg.ui b/khtml/kjserrordlg.ui
index da653c016..1c105d937 100644
--- a/khtml/kjserrordlg.ui
+++ b/khtml/kjserrordlg.ui
@@ -118,6 +118,7 @@
<includes>
<include location="global" impldecl="in declaration">kdialog.h</include>
<include location="global" impldecl="in declaration">ksqueezedtextlabel.h</include>
+ <include location="global" impldecl="in implementation">kactivelabel.h</include>
</includes>
<Q_SLOTS>
<slot>init()</slot>
@@ -127,7 +128,4 @@
</Q_SLOTS>
<layoutdefaults spacing="6" margin="11"/>
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
-<includehints>
- <includehint>kactivelabel.h</includehint>
-</includehints>
</UI>
diff --git a/khtml/misc/htmlattrs.c b/khtml/misc/htmlattrs.c
index 5ceaf351d..e37f4c5c9 100644
--- a/khtml/misc/htmlattrs.c
+++ b/khtml/misc/htmlattrs.c
@@ -57,7 +57,7 @@ inline
#endif
#endif
static unsigned int
-hash_attr (register const char *str, register unsigned int len)
+hash_attr (const char *str, unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -88,7 +88,7 @@ hash_attr (register const char *str, register unsigned int len)
577, 577, 577, 577, 577, 577, 577, 577, 577, 577,
577, 577, 577, 577, 577, 577, 577
};
- register int hval = len;
+ int hval = len;
switch (hval)
{
@@ -831,19 +831,19 @@ inline
#endif
#endif
const struct attrs *
-findAttr (register const char *str, register unsigned int len)
+findAttr (const char *str, unsigned int len)
{
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = hash_attr (str, len);
+ int key = hash_attr (str, len);
if (key <= MAX_HASH_VALUE && key >= 0)
{
- register int index = lookup[key];
+ int index = lookup[key];
if (index >= 0)
{
- register const char *s = wordlist_attr[index].name + spool_attr;
+ const char *s = wordlist_attr[index].name + spool_attr;
if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
return &wordlist_attr[index];
diff --git a/khtml/misc/htmltags.c b/khtml/misc/htmltags.c
index 1342e62bf..fa701fe69 100644
--- a/khtml/misc/htmltags.c
+++ b/khtml/misc/htmltags.c
@@ -48,7 +48,7 @@ inline
#endif
#endif
static unsigned int
-hash_tag (register const char *str, register unsigned int len)
+hash_tag (const char *str, unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -79,7 +79,7 @@ hash_tag (register const char *str, register unsigned int len)
346, 346, 346, 346, 346, 346, 346, 346, 346, 346,
346, 346, 346, 346, 346, 346, 346
};
- register int hval = len;
+ int hval = len;
switch (hval)
{
@@ -338,7 +338,7 @@ static const struct spool_Tag_t spool_Tag_contents =
__inline
#endif
const struct tags *
-findTag (register const char *str, register unsigned int len)
+findTag (const char *str, unsigned int len)
{
enum
{
@@ -615,17 +615,17 @@ findTag (register const char *str, register unsigned int len)
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
- register int key = hash_tag (str, len);
+ int key = hash_tag (str, len);
if (key <= MAX_HASH_VALUE && key >= 0)
{
- register int index = lookup[key];
+ int index = lookup[key];
if (index >= 0)
{
if (len == lengthtable[index])
{
- register const char *s = wordlist_tag[index].name + spool_Tag;
+ const char *s = wordlist_tag[index].name + spool_Tag;
if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
return &wordlist_tag[index];
diff --git a/kimgio/jp2.cpp b/kimgio/jp2.cpp
index 2be5253e3..8b621d678 100644
--- a/kimgio/jp2.cpp
+++ b/kimgio/jp2.cpp
@@ -2,7 +2,7 @@
#include "config.h"
#ifdef HAVE_JASPER
-
+#include <unistd.h>
#include "jp2.h"
#if !defined(__STDC_LIMIT_MACROS)
diff --git a/kinit/CMakeLists.txt b/kinit/CMakeLists.txt
index 19b96494c..c1682c698 100644
--- a/kinit/CMakeLists.txt
+++ b/kinit/CMakeLists.txt
@@ -40,7 +40,7 @@ set( ${target}_SRCS
tde_add_executable( ${target}
SOURCES ${${target}_SRCS}
- LINK kICE-static ltdlc-static kparts-shared ${XFT_LIBRARIES}
+ LINK kICE-static ltdlc-static kparts-shared ${FONTCONFIG_LIBRARIES} ${XFT_LIBRARIES}
DESTINATION ${BIN_INSTALL_DIR}
)
diff --git a/kinit/setproctitle.cpp b/kinit/setproctitle.cpp
index a326ef291..88b0c0789 100644
--- a/kinit/setproctitle.cpp
+++ b/kinit/setproctitle.cpp
@@ -136,7 +136,7 @@ char *LastArgv = NULL; /* end of argv */
void
kdeinit_initsetproctitle(int argc, char **argv, char **envp)
{
- register int i, envpsize = 0;
+ int i, envpsize = 0;
#if !defined(HAVE_NSGETENVIRON) || !defined(HAVE_CRT_EXTERNS_H)
extern char **environ;
#endif
@@ -199,8 +199,8 @@ static void
setproctitle(const char *fmt, ...)
{
# if SPT_TYPE != SPT_NONE
- register char *p;
- register int i;
+ char *p;
+ int i;
SETPROC_STATIC char buf[SPT_BUFSIZE];
va_list ap;
# if SPT_TYPE == SPT_PSTAT
diff --git a/kinit/start_kdeinit.c b/kinit/start_kdeinit.c
index a86b366e5..f55861811 100644
--- a/kinit/start_kdeinit.c
+++ b/kinit/start_kdeinit.c
@@ -19,6 +19,9 @@
#include <config.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
diff --git a/kio/CMakeLists.txt b/kio/CMakeLists.txt
index d4dc7df48..de707c575 100644
--- a/kio/CMakeLists.txt
+++ b/kio/CMakeLists.txt
@@ -60,12 +60,13 @@ install( FILES data.protocol DESTINATION ${SERVICES_INSTALL_DIR} )
set( target kio )
-configure_file( ${CMAKE_SOURCE_DIR}/cmake/modules/template_dummy_cpp.cmake dummy.cpp COPYONLY )
+configure_file( ${TDE_CMAKE_TEMPLATES}/tde_dummy_cpp.cmake dummy.cpp COPYONLY )
tde_add_library( ${target} SHARED
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp
VERSION 4.2.0
EMBED kssl-static kiocore-static ksycoca-static kbookmarks-static kfile-static
- LINK ltdlc-static kdeui-shared kdesu-shared kwalletclient-shared ${ACL_LIBRARIES}
+ LINK kdeui-shared kwalletclient-shared
+ LINK_PRIVATE ltdlc-static kdesu-shared ${ACL_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kio/bookmarks/CMakeLists.txt b/kio/bookmarks/CMakeLists.txt
index 9aac8b591..2c55d074b 100644
--- a/kio/bookmarks/CMakeLists.txt
+++ b/kio/bookmarks/CMakeLists.txt
@@ -51,5 +51,4 @@ set( ${target}_SRCS
tde_add_library( ${target} STATIC_PIC AUTOMOC
SOURCES ${${target}_SRCS}
- DEPENDENCIES dcopidl
)
diff --git a/kio/kfile/kfiledialog.cpp b/kio/kfile/kfiledialog.cpp
index bc728acf7..6dbcd1fa9 100644
--- a/kio/kfile/kfiledialog.cpp
+++ b/kio/kfile/kfiledialog.cpp
@@ -1171,12 +1171,6 @@ void KFileDialog::urlEntered(const KURL& url)
d->pathCombo->setURL( url );
}
- if (url.protocol()=="beagle" && url.path()=="/") {
- d->pathCombo->setEditText("beagle:/<"+i18n("search term")+">");
- d->pathCombo->lineEdit()->setSelection(8,255);
- d->pathCombo->setFocus();
- }
-
locationEdit->blockSignals( true );
locationEdit->setCurrentItem( 0 );
if ( d->keepLocation )
diff --git a/kio/kfile/kfilespeedbar.cpp b/kio/kfile/kfilespeedbar.cpp
index 8551812a9..1050ed85b 100644
--- a/kio/kfile/kfilespeedbar.cpp
+++ b/kio/kfile/kfilespeedbar.cpp
@@ -44,76 +44,27 @@ KFileSpeedBar::KFileSpeedBar( TQWidget *parent, const char *name )
if ( m_initializeSpeedbar )
{
- KURL u;
- u.setPath( KGlobalSettings::desktopPath() );
- insertItem( u, i18n("Desktop"), false );
-
-//TODO: win32
- if ((KGlobalSettings::documentPath() != (TQDir::homeDirPath()+"/")) &&
- TQDir(KGlobalSettings::documentPath()).exists())
+ insertItem(TQDir::homeDirPath(), i18n("Home Folder"), false, "folder_home");
+ insertItem(KGlobalSettings::desktopPath(), i18n("Desktop"), false, "desktop");
+ insertItem(KGlobalSettings::documentPath(), i18n("Documents"), false, "folder_wordprocessing");
+ insertItem(KGlobalSettings::downloadPath(), i18n( "Downloads" ), false, "folder_html");
+ insertItem(KGlobalSettings::musicPath(), i18n( "Music" ), false, "folder_sound");
+ insertItem(KGlobalSettings::picturesPath(), i18n( "Pictures" ), false, "folder_image");
+ insertItem(KGlobalSettings::publicSharePath(), i18n( "Public" ), false, "folder_open");
+ insertItem(KGlobalSettings::templatesPath(), i18n( "Templates" ), false, "folder_grey");
+ insertItem(KGlobalSettings::videosPath(), i18n( "Videos" ), false, "folder_video");
+
+ KURL u = "media:/";
+ if (KProtocolInfo::isKnownProtocol(u))
{
- u.setPath( KGlobalSettings::documentPath() );
- insertItem( u, i18n("Documents"), false, "folder_txt" );
+ insertItem(u, i18n("Storage Media"), false, KProtocolInfo::icon("media"));
}
- u.setPath( TQDir::homeDirPath() );
- insertItem( u, i18n("Home Folder"), false,
- "folder_home" );
-
- u = "media:/";
- if ( KProtocolInfo::isKnownProtocol( u ) )
- insertItem( u, i18n("Storage Media"), false,
- KProtocolInfo::icon( "media" ) );
-
- if ( TQFile::exists( TQDir::homeDirPath()+"/.config/user-dirs.dirs" ) )
+ u = "remote:/";
+ if (KProtocolInfo::isKnownProtocol(u))
{
- TQString download, music, pictures, videos, templates, publicShares;
-
- TQFile f( TQDir::homeDirPath()+"/.config/user-dirs.dirs" );
- if (!f.open(IO_ReadOnly))
- return;
-
- TQTextStream s( &f );
- s.setCodec( TQTextCodec::codecForLocale() );
-
- // read the xdg user dirs
- TQString line = s.readLine();
- while (!line.isNull())
- {
- if (line.startsWith("XDG_DOWNLOAD_DIR="))
- download = line.remove("XDG_DOWNLOAD_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_MUSIC_DIR="))
- music = line.remove("XDG_MUSIC_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_PICTURES_DIR="))
- pictures = line.remove("XDG_PICTURES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_VIDEOS_DIR="))
- videos = line.remove("XDG_VIDEOS_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_TEMPLATES_DIR="))
- templates = line.remove("XDG_TEMPLATES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
- else if (line.startsWith("XDG_PUBLICSHARES_DIR="))
- publicShares = line.remove("XDG_PUBLICSHARES_DIR=").remove("\"").replace("$HOME", TQDir::homeDirPath());
-
- line = s.readLine();
- }
- // now add in the speedbar
- if (!download.isEmpty())
- insertItem( download, i18n( "Downloads" ), false, "folder_html" );
- if (!music.isEmpty())
- insertItem( music, i18n( "Music" ), false, "folder_sound" );
- if (!pictures.isEmpty())
- insertItem( pictures, i18n( "Pictures" ), false, "folder_image" );
- if (!videos.isEmpty())
- insertItem( videos, i18n( "Videos" ), false, "folder_video" );
- if (!templates.isEmpty())
- insertItem( templates, i18n( "Templates" ), false, "folder_video" );
- if (!publicShares.isEmpty())
- insertItem( publicShares, i18n( "Public" ), false, "folder_video" );
+ insertItem(u, i18n("Network Folders"), false, KProtocolInfo::icon("remote"));
}
-
- u = "remote:/";
- if ( KProtocolInfo::isKnownProtocol( u ) )
- insertItem( u, i18n("Network Folders"), false,
- KProtocolInfo::icon( "remote" ) );
}
}
diff --git a/kio/kfile/kpropertiesdialog.cpp b/kio/kfile/kpropertiesdialog.cpp
index 5196647f1..85110b6bc 100644
--- a/kio/kfile/kpropertiesdialog.cpp
+++ b/kio/kfile/kpropertiesdialog.cpp
@@ -2093,16 +2093,19 @@ void KFilePermissionsPropsPlugin::slotShowAdvancedPermissions() {
if ( col != 3 ) theNotSpecials.append( cb );
cba[row][col] = cb;
cb->setChecked(aPermissions & fperm[row][col]);
+ if ( d->canChangePermissions )
+ {
+ allDisable = false;
+ }
if ( aPartialPermissions & fperm[row][col] )
{
cb->setTristate();
- if( d->canChangePermissions ) {
- allDisable = false;
- }
cb->setNoChange();
}
else if (d->cbRecursive && d->cbRecursive->isChecked())
- cb->setTristate();
+ {
+ cb->setTristate();
+ }
cb->setEnabled( d->canChangePermissions );
gl->addWidget (cb, row+2, col+1);
@@ -2630,13 +2633,7 @@ KURLPropsPlugin::KURLPropsPlugin( KPropertiesDialog *_props )
KFileItem * item = properties->item();
- if (item && item->mimetype() == "media/builtin-mydocuments") {
- URLStr = TQString::null;
- KConfig xdguserconfig( TQDir::homeDirPath()+"/.config/user-dirs.dirs" );
- URLEdit->setMode(KFile::Directory);
- URLEdit->setURL( xdguserconfig.readPathEntry( "XDG_DOCUMENTS_DIR", TQDir::homeDirPath() + "/Documents").remove( "\"" ));
- }
- else if (item && item->mimetype().startsWith("media/builtin-")) {
+ if (item && item->mimetype().startsWith("media/builtin-")) {
URLEdit->setEnabled(false);
}
@@ -2679,20 +2676,7 @@ void KURLPropsPlugin::applyChanges()
TQString path = properties->kurl().path();
KFileItem * item = properties->item();
- if (item && item->mimetype() == "media/builtin-mydocuments") {
- KConfig xdgconfig(TQDir::homeDirPath()+"/.config/user-dirs.dirs" );
- if (xdgconfig.isReadOnly()) {
- KMessageBox::sorry( 0, i18n("<qt>Could not save properties. You do not have "
- "sufficient access to write to <b>%1</b>.</qt>").arg(path));
- return;
- }
- else {
- xdgconfig.writePathEntry( "XDG_DOCUMENTS_DIR", '"'+ URLEdit->url() + '"', true, false, false, false );
- xdgconfig.sync();
- return;
- }
- }
- else if (item && item->mimetype().startsWith("media/builtin-")) {
+ if (item && item->mimetype().startsWith("media/builtin-")) {
return;
}
diff --git a/kio/kfile/kurlbar.cpp b/kio/kfile/kurlbar.cpp
index 7102b1b64..55a882edc 100644
--- a/kio/kfile/kurlbar.cpp
+++ b/kio/kfile/kurlbar.cpp
@@ -611,15 +611,6 @@ void KURLBar::readItem( int i, KConfig *config, bool applicationLocal )
TQString description = config->readEntry( TQString("Description_") + number );
- if (description.isEmpty() && url.protocol()=="beagle") {
- KIO::UDSEntry uds;
- const KURL kurl("beagle:?beagled-status");
- if (!KIO::NetAccess::stat(kurl, uds))
- return;
-
- description = i18n("Desktop Search");
- }
-
insertItem( url,
description,
applicationLocal,
diff --git a/kio/kio/CMakeLists.txt b/kio/kio/CMakeLists.txt
index 3d2d5ebed..e0c73183b 100644
--- a/kio/kio/CMakeLists.txt
+++ b/kio/kio/CMakeLists.txt
@@ -81,7 +81,6 @@ set( ${target}_SRCS
tde_add_library( ${target} STATIC_PIC AUTOMOC
SOURCES ${${target}_SRCS}
- DEPENDENCIES dcopidl
)
diff --git a/kio/kio/connection.cpp b/kio/kio/connection.cpp
index 786fbd5e3..90696da4c 100644
--- a/kio/kio/connection.cpp
+++ b/kio/kio/connection.cpp
@@ -27,7 +27,6 @@
#include <tqtimer.h>
#include <sys/types.h>
-#include <sys/signal.h>
#include <sys/time.h>
#include <errno.h>
@@ -43,8 +42,10 @@
#include <kdebug.h>
#include <tqsocketnotifier.h>
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)
#define __progname getprogname()
+#elif defined(_GNU_SOURCE) && defined(__GLIBC__)
+#define __progname program_invocation_short_name
#else
extern char *__progname;
#endif
diff --git a/kio/kio/kmimetype.cpp b/kio/kio/kmimetype.cpp
index f63903c27..c1b4b7278 100644
--- a/kio/kio/kmimetype.cpp
+++ b/kio/kio/kmimetype.cpp
@@ -525,6 +525,10 @@ TQString KMimeType::iconForURL( const KURL & _url, mode_t _mode )
// root of protocol: if we found nothing, revert to mimeTypeIcon (which is usually "folder")
if ( _url.path().length() <= 1 && ( i == unknown || i.isEmpty() ) )
i = mimeTypeIcon;
+
+ // special case: root directory (/) -- Gitea issue #128
+ if ( _url == KURL("file:///") )
+ i = "folder_red";
}
return i;
}
diff --git a/kio/kio/krun.cpp b/kio/kio/krun.cpp
index 9669a27c6..f49cc441c 100644
--- a/kio/kio/krun.cpp
+++ b/kio/kio/krun.cpp
@@ -155,8 +155,10 @@ pid_t KRun::runURL( const KURL& u, const TQString& _mimetype, TQWidget* window,
noAuth = true;
}
}
- else if (_mimetype == "application/x-executable")
+ else if (_mimetype == "application/x-executable" || _mimetype == "application/x-pie-executable")
+ {
noRun = true;
+ }
}
else if ( isExecutable(_mimetype) )
{
@@ -697,8 +699,12 @@ static pid_t runTempService( const KService& _service, const KURL::List& _urls,
static KURL::List resolveURLs( const KURL::List& _urls, const KService& _service )
{
// Check which protocols the application supports.
- // This can be a list of actual protocol names, or just KIO for KDE apps.
+ // This can be a list of actual protocol names, or just TDEIO for TDE apps, or KIO for KDE apps.
TQStringList supportedProtocols = _service.property("X-KDE-Protocols").toStringList();
+ if (supportedProtocols.isEmpty())
+ {
+ supportedProtocols = _service.property("X-TDE-Protocols").toStringList();
+ }
KRunMX1 mx1( _service );
TQString exec = _service.exec();
if ( mx1.expandMacrosShellQuote( exec ) && !mx1.hasUrls ) {
@@ -706,9 +712,9 @@ static KURL::List resolveURLs( const KURL::List& _urls, const KService& _service
} else {
if ( supportedProtocols.isEmpty() )
{
- // compat mode: assume KIO if not set and it's a KDE app
+ // compat mode: assume KIO if not set and it's a TDE or KDE app
TQStringList categories = _service.property("Categories").toStringList();
- if (( categories.find("TDE") != categories.end() ) && ( categories.find("KDE") != categories.end() ))
+ if ((categories.find("TDE") != categories.end()) || (categories.find("KDE") != categories.end()))
supportedProtocols.append( "KIO" );
else { // if no KDE app, be a bit over-generic
supportedProtocols.append( "http");
@@ -719,12 +725,13 @@ static KURL::List resolveURLs( const KURL::List& _urls, const KService& _service
kdDebug(7010) << "supportedProtocols:" << supportedProtocols << endl;
KURL::List urls( _urls );
- if ( supportedProtocols.find( "KIO" ) == supportedProtocols.end() ) {
+ if ((supportedProtocols.find("KIO") == supportedProtocols.end()) &&
+ (supportedProtocols.find("TDEIO") == supportedProtocols.end())) {
for( KURL::List::Iterator it = urls.begin(); it != urls.end(); ++it ) {
const KURL url = *it;
bool supported = url.isLocalFile() || supportedProtocols.find( url.protocol().lower() ) != supportedProtocols.end();
kdDebug(7010) << "Looking at url=" << url << " supported=" << supported << endl;
- if ( !supported && KProtocolInfo::protocolClass(url.protocol()) == ":local" )
+ if ((!supported) && (KProtocolInfo::protocolClass(url.protocol()) == ":local"))
{
// Maybe we can resolve to a local URL?
KURL localURL = KIO::NetAccess::mostLocalURL( url, 0 );
@@ -931,26 +938,7 @@ void KRun::init()
while( nDollarPos != -1 && nDollarPos+1 < static_cast<int>(aValue.length())) {
// there is at least one $
- if( (aValue)[nDollarPos+1] == '(' ) {
- uint nEndPos = nDollarPos+1;
- // the next character is no $
- while ( (nEndPos <= aValue.length()) && (aValue[nEndPos]!=')') )
- nEndPos++;
- nEndPos++;
- TQString cmd = aValue.mid( nDollarPos+2, nEndPos-nDollarPos-3 );
-
- TQString result;
- FILE *fs = popen(TQFile::encodeName(cmd).data(), "r");
- if (fs)
- {
- {
- TQTextStream ts(fs, IO_ReadOnly);
- result = ts.read().stripWhiteSpace();
- }
- pclose(fs);
- }
- aValue.replace( nDollarPos, nEndPos-nDollarPos, result );
- } else if( (aValue)[nDollarPos+1] != '$' ) {
+ if( (aValue)[nDollarPos+1] != '$' ) {
uint nEndPos = nDollarPos+1;
// the next character is no $
TQString aVarName;
@@ -1470,6 +1458,7 @@ bool KRun::isExecutable( const TQString& serviceType )
serviceType == "media/builtin-trash" ||
serviceType == "media/builtin-webbrowser" ||
serviceType == "application/x-executable" ||
+ serviceType == "application/x-pie-executable" ||
serviceType == "application/x-msdos-program" ||
serviceType == "application/x-shellscript" );
}
diff --git a/kio/kio/lex.c b/kio/kio/lex.c
index 99848a2f3..06f38fc47 100644
--- a/kio/kio/lex.c
+++ b/kio/kio/lex.c
@@ -590,9 +590,9 @@ YY_MALLOC_DECL
YY_DECL
{
- register yy_state_type yy_current_state;
- register char *yy_cp, *yy_bp;
- register int yy_act;
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
#line 21 "lex.l"
@@ -639,7 +639,7 @@ YY_DECL
yy_match:
do
{
- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -949,9 +949,9 @@ case YY_STATE_EOF(INITIAL):
static int yy_get_next_buffer()
{
- register char *dest = yy_current_buffer->yy_ch_buf;
- register char *source = yytext_ptr;
- register int number_to_move, i;
+ char *dest = yy_current_buffer->yy_ch_buf;
+ char *source = yytext_ptr;
+ int number_to_move, i;
int ret_val;
if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
@@ -1081,14 +1081,14 @@ static int yy_get_next_buffer()
static yy_state_type yy_get_previous_state()
{
- register yy_state_type yy_current_state;
- register char *yy_cp;
+ yy_state_type yy_current_state;
+ char *yy_cp;
yy_current_state = yy_start;
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
{
- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1120,10 +1120,10 @@ static yy_state_type yy_try_NUL_trans( yy_current_state )
yy_state_type yy_current_state;
#endif
{
- register int yy_is_jam;
- register char *yy_cp = yy_c_buf_p;
+ int yy_is_jam;
+ char *yy_cp = yy_c_buf_p;
- register YY_CHAR yy_c = 1;
+ YY_CHAR yy_c = 1;
if ( yy_accept[yy_current_state] )
{
yy_last_accepting_state = yy_current_state;
@@ -1144,14 +1144,14 @@ yy_state_type yy_current_state;
#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
+static void yyunput( int c, char *yy_bp )
#else
static void yyunput( c, yy_bp )
int c;
-register char *yy_bp;
+char *yy_bp;
#endif
{
- register char *yy_cp = yy_c_buf_p;
+ char *yy_cp = yy_c_buf_p;
/* undo effects of setting up yytext */
*yy_cp = yy_hold_char;
@@ -1159,10 +1159,10 @@ register char *yy_bp;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = yy_n_chars + 2;
- register char *dest = &yy_current_buffer->yy_ch_buf[
+ int number_to_move = yy_n_chars + 2;
+ char *dest = &yy_current_buffer->yy_ch_buf[
yy_current_buffer->yy_buf_size + 2];
- register char *source =
+ char *source =
&yy_current_buffer->yy_ch_buf[number_to_move];
while ( source > yy_current_buffer->yy_ch_buf )
@@ -1618,7 +1618,7 @@ yyconst char *s2;
int n;
#endif
{
- register int i;
+ int i;
for ( i = 0; i < n; ++i )
s1[i] = s2[i];
}
@@ -1632,7 +1632,7 @@ static int yy_flex_strlen( s )
yyconst char *s;
#endif
{
- register int n;
+ int n;
for ( n = 0; s[n]; ++n )
;
diff --git a/kio/kio/netaccess.cpp b/kio/kio/netaccess.cpp
index e6c3d655b..38fed9b27 100644
--- a/kio/kio/netaccess.cpp
+++ b/kio/kio/netaccess.cpp
@@ -337,7 +337,7 @@ bool NetAccess::statInternal( const KURL & url, int details, bool source,
TQWidget* window )
{
bJobOK = true; // success unless further error occurs
- KIO::StatJob * job = KIO::stat( url, !url.isLocalFile() && !url.url().startsWith("beagle:?") );
+ KIO::StatJob * job = KIO::stat( url, !url.isLocalFile() );
job->setWindow (window);
job->setDetails( details );
job->setSide( source );
diff --git a/kio/kio/yacc.c b/kio/kio/yacc.c
index a6fa63428..f73d777b2 100644
--- a/kio/kio/yacc.c
+++ b/kio/kio/yacc.c
@@ -219,7 +219,7 @@ union yyalloc
# define YYCOPY(To, From, Count) \
do \
{ \
- register YYSIZE_T yyi; \
+ YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(To)[yyi] = (From)[yyi]; \
} \
@@ -694,7 +694,7 @@ yystrlen (yystr)
const char *yystr;
# endif
{
- register const char *yys = yystr;
+ const char *yys = yystr;
while (*yys++ != '\0')
continue;
@@ -719,8 +719,8 @@ yystpcpy (yydest, yysrc)
const char *yysrc;
# endif
{
- register char *yyd = yydest;
- register const char *yys = yysrc;
+ char *yyd = yydest;
+ const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
@@ -855,8 +855,8 @@ yyparse ()
#endif
{
- register int yystate;
- register int yyn;
+ int yystate;
+ int yyn;
int yyresult;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
@@ -874,12 +874,12 @@ yyparse ()
/* The state stack. */
short int yyssa[YYINITDEPTH];
short int *yyss = yyssa;
- register short int *yyssp;
+ short int *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs = yyvsa;
- register YYSTYPE *yyvsp;
+ YYSTYPE *yyvsp;
diff --git a/kio/kpasswdserver/CMakeLists.txt b/kio/kpasswdserver/CMakeLists.txt
index 5ed92bf17..ee766a4d0 100644
--- a/kio/kpasswdserver/CMakeLists.txt
+++ b/kio/kpasswdserver/CMakeLists.txt
@@ -38,6 +38,5 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdeinit_kded-shared
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kio/kssl/kopenssl.cc b/kio/kssl/kopenssl.cc
index 578437d95..1e4b5a4ef 100644
--- a/kio/kssl/kopenssl.cc
+++ b/kio/kssl/kopenssl.cc
@@ -2048,7 +2048,7 @@ X509_LOOKUP_TYPE KOpenSSLProxy::X509_OBJECT_get_type(const X509_OBJECT *a) {
return a->type;
#endif
kdWarning() << "X509_OBJECT_get_type not defined!" << endl;
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
return X509_LU_NONE;
#else
return 0;
@@ -2057,7 +2057,7 @@ X509_LOOKUP_TYPE KOpenSSLProxy::X509_OBJECT_get_type(const X509_OBJECT *a) {
X509* KOpenSSLProxy::X509_OBJECT_get0_X509(const X509_OBJECT *a) {
if (K_X509_OBJECT_get0_X509) return (K_X509_OBJECT_get0_X509)(a);
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
return a->data.x509;
#endif
kdWarning() << "X509_OBJECT_get0_X509 not defined!" << endl;
@@ -2067,7 +2067,7 @@ X509* KOpenSSLProxy::X509_OBJECT_get0_X509(const X509_OBJECT *a) {
ASN1_TIME* KOpenSSLProxy::X509_getm_notAfter(const X509 *x) {
if (K_X509_getm_notAfter) return (K_X509_getm_notAfter)(x);
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
return X509_get_notAfter(x);
#endif
kdWarning() << "X509_get_notAfter not defined!" << endl;
@@ -2076,7 +2076,7 @@ ASN1_TIME* KOpenSSLProxy::X509_getm_notAfter(const X509 *x) {
ASN1_TIME* KOpenSSLProxy::X509_getm_notBefore(const X509 *x) {
if (K_X509_getm_notBefore) return (K_X509_getm_notBefore)(x);
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
return X509_get_notBefore(x);
#endif
kdWarning() << "X509_get_notBefore not defined!" << endl;
diff --git a/kio/kssl/kssl/LETSENCRYPT b/kio/kssl/kssl/LETSENCRYPT
new file mode 100644
index 000000000..ec1fe3cb3
--- /dev/null
+++ b/kio/kssl/kssl/LETSENCRYPT
@@ -0,0 +1,3 @@
+Lets Encrypt certificates support is provided via ISRG's X1+X2 root certificates.
+
+Read more here: https://letsencrypt.org/certificates/
diff --git a/kio/kssl/kssl/caroot/ca-bundle.crt b/kio/kssl/kssl/caroot/ca-bundle.crt
index 31409b62f..31ef23fb0 100644
--- a/kio/kssl/kssl/caroot/ca-bundle.crt
+++ b/kio/kssl/kssl/caroot/ca-bundle.crt
@@ -2971,3 +2971,1014 @@ OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+
hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy
tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
+QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
+QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E
+jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo
+ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI
+ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu
+Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg
+AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7
+HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA
+uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa
+TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg
+xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q
+CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
+O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
+6GAqm4VKQPNriiTsBhYscw==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICjTCCAXWgAwIBAgIDAQAhMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
+QTAeFw0wMjA3MTIxNjMxNTNaFw0xMjA3MTIxNjMxNTNaMEMxCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xFzAVBgNVBAMTDkNlcnR1bSBM
+ZXZlbCBJMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl73pZ9DFcn7Qy0qBZ
+K+So18cav7drUrJ8SiYOlDDVskt81+eIcL/4FelTSGjuAOvYdmm+HGYG998RPB0i
+Z+Ak67vXFJ537vRWOcu6aMjNuAwu8BOdc5eSgB0Y8X4+3LOYfugtaZa8mrEQ8Hit
+0yLE9UBcU9J+4PmkVGecmZ8jZQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0G
+CSqGSIb3DQEBBQUAA4IBAQAlDS4aTmgK0YgmUvt/3zN7G2/ZrtBBCtONlUvC69c7
+TmLJWJ842y2AH7ryNXXkcsn6p0ZBTrTJ2tA2y/j2PXJeXrCkK/qAJIpM0l4u0MT7
+enY5akasduHp2NXMP9vDlgMy7elU2s3nkOT79gfh5XttC+5D/x4JDNi1DMAA9hk1
+6DK4zWmDVfjkiP/G3fEndtJgNDQsyqnaQ3E3bljv3f1KJTjZUvtA2Ml6MP2hFRhg
+ZPsxuhW8QXidQYNiua1h7XUUiPiERLDLWZmfY6dxGrHXjSTx3shHNaQM0qkDs9gS
+6UK8uWJN2bf2YBnvGmzy0IQvx5wDCH7h8AdaBD6DgIG1
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICjjCCAXagAwIBAgIDAQAiMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
+QTAeFw0wMjA3MTIxNjMyMDNaFw0xMjA3MTIxNjMyMDNaMEQxCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGDAWBgNVBAMTD0NlcnR1bSBM
+ZXZlbCBJSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyMQSaN5fA94hNE46
+bMKpGUb5yIPEowReGZzGttYBQnC6oUOy+iM3md8WerzXeBKf7iIZEDW2HAp7BKhS
+4rMB6taxT07vDtkNfEKwOk6X7dODw6KY4mxnzjmjh5pf2feKKJ3MoZxi2HAz2a6J
+vHKFMq8dAlGL2GBtLvzlFp2jwkMCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN
+BgkqhkiG9w0BAQUFAAOCAQEAWo3wgy+/0B7UiTCu4Wn1rvGRXIUtbPNp4Bc4PP/i
+1q6pPheIe0ooCopuqnDX9maTHhZeNpnApgCUSbyw71EaOremD7HjWXASRUTylhwL
+5FdSx+D6MgF2uW9uwZ+NErkeRJYT2aRXe5FBOVIseC4g93Ay0D8Hg50MkAC5pQqW
++8GSszT94NzT7ppIaMtq53PZpUtLGiL3UBZ5vUJ5pE4lLKD7Ce+pXzZevy/MnkMG
+D1L7LgjRWL17OcMlASFETyUTajNjvxMy+oM4C22rwHRh2WQrvgw5MO+Q3UyYA1r5
+VrSaqgQ1g06ZcQt+mhzoc2swlOSwm8iis8H6orR8xmCWrA==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICjzCCAXegAwIBAgIDAQAjMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
+QTAeFw0wMjA3MTIxNjMyMTdaFw0xMjA3MTIxNjMyMTdaMEUxCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGTAXBgNVBAMTEENlcnR1bSBM
+ZXZlbCBJSUkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALZjBbfGFmlsLjPe
+pWaDwG0LqhF11lWKabaHi1sQhK3qomHY7Em7qpL11dUQ1vsMcnnpzz/J0AEH6KDh
++yAyXV1SE/tVToLYYByZK+JGacLYIYF9aCwV8AhqyzOGurO5QX6vLboXB2WNnwmX
+hyNVKUgnUVy4ktAR2qZJIw5Bjsn/AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8w
+DQYJKoZIhvcNAQEFBQADggEBAIsLt3vKCZqd/gui45ovm3FSO6FLjzzq4pagPvbN
+nZ39HrhRaCpqkHDAj71L5L27U3eW2D4ILL0iUmZadbC4i3at/PUL9mjhGlajcCN8
+EF6IXGT87Tbcii735jRaaXSbEY4YhNOg9DPBoD4uJMkA8Z0Y/6lYmk4S6KUMCzzt
+t5zZBiWjdd08yFi5VGMvpE74KVOMdMa3JNVaR0XvT0Q8yXo1XKCrY9OFIxnhVgDb
+hzr9fwjKWDwu8kxhT9khAETm0BU2Buu+CTasaJdT/bBR2YEx9qcN7XyXTeDtkOO5
+QeGSqFgzquwjWEbKhf7l/e+efdRCg+ikH3O5snHB6iS+dgg=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICjjCCAXagAwIBAgIDAQAkMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
+QTAeFw0wMjA3MTIxNjMyMzVaFw0xMjA3MTIxNjMyMzVaMEQxCzAJBgNVBAYTAlBM
+MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGDAWBgNVBAMTD0NlcnR1bSBM
+ZXZlbCBJVjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmyb1lKqCAKE4juAy
+6lpVNUl6aJ2DuWPSiJ3BBk3/6ty6I4Lr2Dpy1b1vjVelhaFsVKEDgK2JyQlk9XMq
+LPZI2Ql166mJiPKFg77aY/W78EcQfGyjnRvVcs0tG40mAs/p84OEpFcVe/RSqDrD
+/D7R01u+Wj5xLl0PUsFplIGDbikCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN
+BgkqhkiG9w0BAQUFAAOCAQEAPS99JujKGVRfa50TKfieq+uK1SxjidErYaZTb3cJ
+NNfQDYn6nk4lnrnab5EUVhO/NegP2yIu3YOnZGfxFDhvVozMTKKAB5r5XKOvzsP9
+9C9578PVMLozucfUMCSwau7Z4l5uuQOHuzjzlVLCibbbf4RwfvZ7hh5sB5c0pNbw
+RQq64RXQUUEvul/W9gUeT9ISHOsASGTq+HJ5i7vNARjukEAXW/maqs9vyTWWbGVI
+1FSOnVyteymq4Xk+9YlIyNPNyacgnsMnU72XKBLDS0KJdhIWALFAZI4dSh5WZNuW
+ZguUnEmeH81lLbR+p/N3iuN8+oSo8UXik92jxeUY2tQJUA==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEuDCCA6CgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBtDELMAkGA1UEBhMCQlIx
+EzARBgNVBAoTCklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25h
+bCBkZSBUZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxETAPBgNVBAcTCEJy
+YXNpbGlhMQswCQYDVQQIEwJERjExMC8GA1UEAxMoQXV0b3JpZGFkZSBDZXJ0aWZp
+Y2Fkb3JhIFJhaXogQnJhc2lsZWlyYTAeFw0wMTExMzAxMjU4MDBaFw0xMTExMzAy
+MzU5MDBaMIG0MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE9MDsG
+A1UECxM0SW5zdGl0dXRvIE5hY2lvbmFsIGRlIFRlY25vbG9naWEgZGEgSW5mb3Jt
+YWNhbyAtIElUSTERMA8GA1UEBxMIQnJhc2lsaWExCzAJBgNVBAgTAkRGMTEwLwYD
+VQQDEyhBdXRvcmlkYWRlIENlcnRpZmljYWRvcmEgUmFpeiBCcmFzaWxlaXJhMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPMudwX/hvm+Uh2b/lQAcHVA
+isamaLkWdkwP9/S/tOKIgRrL6Oy+ZIGlOUdd6uYtk9Ma/3pUpgcfNAj0vYm5gsyj
+Qo9emsc+x6m4VWwk9iqMZSCK5EQkAq/Ut4n7KuLE1+gdftwdIgxfUsPt4CyNrY50
+QV57KM2UT8x5rrmzEjr7TICGpSUAl2gVqe6xaii+bmYR1QrmWaBSAG59LrkrjrYt
+bRhFboUDe1DK+6T8s5L6k8c8okpbHpa9veMztDVC9sPJ60MWXh6anVKo1UcLcbUR
+yEeNvZneVRKAAU6ouwdjDvwlsaKydFKwed0ToQ47bmUKgcm+wV3eTRk36UOnTwID
+AQABo4HSMIHPME4GA1UdIARHMEUwQwYFYEwBAQAwOjA4BggrBgEFBQcCARYsaHR0
+cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0RQQ2FjcmFpei5wZGYwPQYDVR0f
+BDYwNDAyoDCgLoYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0xDUmFj
+cmFpei5jcmwwHQYDVR0OBBYEFIr68VeEERM1kEL6V0lUaQ2kxPA3MA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAZA5c1
+U/hgIh6OcgLAfiJgFWpvmDZWqlV30/bHFpj8iBobJSm5uDpt7TirYh1Uxe3fQaGl
+YjJe+9zd+izPRbBqXPVQA34EXcwk4qpWuf1hHriWfdrx8AcqSqr6CuQFwSr75Fos
+SzlwDADa70mT7wZjAmQhnZx2xJ6wfWlT9VQfS//JYeIc7Fue2JNLd00UOSMMaiK/
+t79enKNHEA2fupH3vEigf5Eh4bVAN5VohrTm6MY53x7XQZZr1ME7a55lFEnSeT0u
+mlOAjR2mAbvSM5X5oSZNrmetdzyTj2flCM8CC7MLab0kkdngRIlUBGHF1/S5nmPb
+K+9A46sd33oqK8n8
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIG2jCCBcKgAwIBAgIDFc/9MA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJE
+RTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYDVQQLEw1E
+Rk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRERk4gVG9w
+bGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEmNl
+cnRpZnlAcGNhLmRmbi5kZTAeFw0wMTEyMDExMjExMTZaFw0xMDAxMzExMjExMTZa
+MIGsMQswCQYDVQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3Nu
+ZXR6MRYwFAYDVQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0w
+KwYDVQQDEyRERk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAf
+BgkqhkiG9w0BCQEWEmNlcnRpZnlAcGNhLmRmbi5kZTCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMF5rhMt6zmhxK5oWPwT2FG7Up7T5DovHSD/YKPIRxsv
+DWmC4dTzByIBLnOmEflk+5KAqAYao6eY1qF0hR4WiS4DjCsn7l3zNo/4i2eF4EmG
+EksBygb4tRlTThcO7heFX+Du5qFoks+ONqa70RlwOr2l53KVwjMXBCtCLFSKRLVu
+xeh5+Smkm+FuOmwEugndM2n74Djjyf9DCOaHGZrHwVDh+Vpy5Ny4bKCSboujRxd5
+NxsStUshDVbTeS3B8TuzAJbywYWEE7erox+7WTfQr8ivSCBhrNJ36VRjAb8hiV9I
+uy2TmJYo2oPyC8a3eM3xj9Ku2IW3tS2zpfiIzt9xvFMCAwEAAaOCAwEwggL9MA8G
+A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAYL+rX4SHijILELPs+g0MTRf33QMIHb
+BgNVHSMEgdMwgdCAFAYL+rX4SHijILELPs+g0MTRf33QoYGypIGvMIGsMQswCQYD
+VQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYD
+VQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRE
+Rk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0B
+CQEWEmNlcnRpZnlAcGNhLmRmbi5kZYIDFc/9MAsGA1UdDwQEAwIBBjARBglghkgB
+hvhCAQEEBAMCAAcwgaUGA1UdHwSBnTCBmjBLoEmgR4ZFaHR0cDovL3d3dy5kZm4t
+cGNhLmRlL2NlcnRpZmljYXRpb24veDUwOS9nMS9kYXRhL2NybHMvcm9vdC1jYS1j
+cmwuY3J4MEugSaBHhkVodHRwOi8vd3d3LmRmbi1wY2EuZGUvY2VydGlmaWNhdGlv
+bi94NTA5L2cxL2RhdGEvY3Jscy9yb290LWNhLWNybC5jcmwwOAYJYIZIAYb4QgED
+BCsWKWh0dHBzOi8vd3d3LmRmbi1wY2EuZGUvY2dpL2NoZWNrLXJldi5jZ2k/MEsG
+CWCGSAGG+EIBCAQ+FjxodHRwOi8vd3d3LmRmbi1wY2EuZGUvY2VydGlmaWNhdGlv
+bi9wb2xpY2llcy94NTA5cG9saWN5Lmh0bWwwOAYJYIZIAYb4QgENBCsWKVRoZSBE
+Rk4gVG9wLUxldmVsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MGQGA1UdIARdMFsw
+WQYLKwYBBAHZGoIsAQEwSjBIBggrBgEFBQcCARY8aHR0cDovL3d3dy5kZm4tcGNh
+LmRlL2NlcnRpZmljYXRpb24vcG9saWNpZXMveDUwOXBvbGljeS5odG1sMA0GCSqG
+SIb3DQEBBQUAA4IBAQAmbai6JMt7nkuavyvxKzLGn04Gyt0zKrp8zmERp4inktvY
+7p+vkaomYu2QYC7cHq0tlrPXQQhhetjiXGb+36aJtHDkEA0NwrJzYnHgPsvx7z0w
+ysENP4wxf97KsSWm07RY+f6/gIQF7Je7CW30Rzq7N6R0NMBs32mJgdn3ntqlFNw3
+Nbs050FEjPNq54RdawlJo85x+w+QJd7uQM4yZjHpRhvwgte9Ge1UqCUdpMsLHzeM
+KJ0B9GhwIIqOJCMiPgKjcUBrn6ehSX70POvXvjjE2+FzhPGTyTkS474d2UCAnL9q
+hPrdWXzBjOumOjhJutT1aecm9eljlshmh1cNen00
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAyygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCQVQx
+EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAGA1UEChM5QXJn
+ZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBmdWVyIERhdGVu
+c2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVuLmF0MB4XDTAx
+MDIxMjExMzAzMFoXDTA5MDIxMjExMzAzMFowgZgxCzAJBgNVBAYTAkFUMRAwDgYD
+VQQIEwdBdXN0cmlhMQ8wDQYDVQQHEwZWaWVubmExQjBABgNVBAoTOUFyZ2UgRGF0
+ZW4gT2VzdGVycmVpY2hpc2NoZSBHZXNlbGxzY2hhZnQgZnVlciBEYXRlbnNjaHV0
+ejEiMCAGCSqGSIb3DQEJARYTYS1jZXJ0QGFyZ2VkYXRlbi5hdDCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEAwgsHqoNtmmrJ86+e1I4hOVBaL4kokqKN2IPOIL+1
+XwY8vfOOUfPEdhWpaC0ldt7VYrksgDiUccgH0FROANWK2GkfKMDzjjXHysR04uEb
+Om7Kqjqn0nproOGkFG+QvBZgs+Ws+HXNFJA6V76fU4+JXq4452LSK4Lr5YcBquu3
+NJECAwEAAaOCARkwggEVMB0GA1UdDgQWBBQ0j59zH/G31zRjgK1y2P//tSAWZjCB
+xQYDVR0jBIG9MIG6gBQ0j59zH/G31zRjgK1y2P//tSAWZqGBnqSBmzCBmDELMAkG
+A1UEBhMCQVQxEDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAG
+A1UEChM5QXJnZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBm
+dWVyIERhdGVuc2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVu
+LmF0ggEAMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQE
+AwICBDANBgkqhkiG9w0BAQQFAAOBgQBFuJYncqMYB6gXQS3eDOI90BEHfFTKy/dV
+AV+K7QdAYikWmqgBheRdPKddJdccPy/Zl/p3ZT7GhDyC5f3wZjcuu8AJ27BNwbCA
+x54dgxgCNcyPm79nY8MRtEdEpoRGdSsFKJemz6hpXM++MWFciyrRWIIA44XB0Gv3
+US0spjsDPQ==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICtzCCAiACAQAwDQYJKoZIhvcNAQEEBQAwgaMxCzAJBgNVBAYTAkVTMRIwEAYD
+VQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBT
+IFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQD
+Ew5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVz
+MB4XDTk4MDEwMTIzMjEwN1oXDTA5MTIyOTIzMjEwN1owgaMxCzAJBgNVBAYTAkVT
+MRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UE
+ChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcw
+FQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwu
+aXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsT1J0nznqjtwlxLyY
+XZhkJAk8IbPMGbWOlI6H0fg3PqHILVikgDVboXVsHUUMH2Fjal5vmwpMwci4YSM1
+gf/+rHhwLWjhOgeYlQJU3c0jt4BT18g3RXIGJBK6E2Ehim51KODFDzT9NthFf+G4
+Nu+z4cYgjui0OLzhPvYR3oydAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACzzw3lY
+JN7GO9HgQmm47mSzPWIBubOE3yN93ZjPEKn+ANgilgUTB1RXxafey9m4iEL2mdsU
+dx+2/iU94aI+A6mB0i1sR/WWRowiq8jMDQ6XXotBtDvECgZAHd1G9AHduoIuPD14
+cJ58GNCr+Lh3B0Zx8coLY1xq+XKU1QFPoNtC
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCB
+ozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3Qt
+TmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5WhcNMTkwNzA5MTg1
+NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0
+IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYD
+VQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VS
+Rmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQCz+5Gh5DZVhawGNFugmliy+LUPBXeDrjKxdpJo7CNKyXY/45y2
+N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4CjDUeJT1FxL+78P/m4FoCH
+iZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXuOzr0hARe
+YFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1
+axwiP8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6g
+yN7igEL66S/ozjIEj3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQD
+AgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPh
+ahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V
+VE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0GCSqGSIb3DQEB
+BQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
+IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6Lzs
+QCv4AdRWOOTKRIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4
+ZSfP1FMa8Kxun08FDAOBp4QpxFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qM
+YEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAqDbUMo2s/rn9X9R+WfN9v3YIwLGUb
+QErNaLly7HF27FSOH4UMAWr6pjisH8SE
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
+kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
+IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
+EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
+VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
+dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
+E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
+D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
+4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
+lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
+bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
+o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
+MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
+LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
+BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
+AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
+Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
+j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
+KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
+2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
+mfnGV/TJVTl4uix5yaaIK/QI
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
+MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
+GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
+YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
+MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
+BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
+GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
+BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
+3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
+YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
+rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
+ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
+oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
+QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
+b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
+AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
+GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
+G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
+l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
+smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb
+MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
+GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp
+ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow
+fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV
+BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM
+cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S
+HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996
+CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk
+3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz
+6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV
+HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
+EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv
+Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw
+Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww
+DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0
+5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
+Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI
+gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ
+aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl
+izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb
+MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
+GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0
+aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla
+MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD
+VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW
+fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt
+TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL
+fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW
+1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7
+kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G
+A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD
+VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v
+ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo
+dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu
+Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/
+HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
+pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS
+jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+
+xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn
+dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
+lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
+SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
+A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
+MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
+d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
+cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
+0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
+M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
+MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
+oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
+DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
+oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
+dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
+bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
+BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
+//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
+CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
+CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
+3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
+KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
+kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
+IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
+EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
+VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
+dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
+E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
+D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
+4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
+lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
+bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
+o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
+MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
+LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
+BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
+AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
+Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
+j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
+KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
+2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
+mfnGV/TJVTl4uix5yaaIK/QI
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCB
+rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VSRmlyc3Qt
+Q2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05OTA3MDkxNzI4NTBa
+Fw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAV
+BgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l
+dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UE
+AxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWls
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3B
+YHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9
+hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8om+rWV6l
+L8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLm
+SGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM
+1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws
+6wIDAQABo4G5MIG2MAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud
+DgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNVHR8EUTBPME2gS6BJhkdodHRw
+Oi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGllbnRBdXRoZW50
+aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
+AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u
+7mFVbwQ+zznexRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0
+xtcgBEXkzYABurorbs6q15L+5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQ
+rfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarVNZ1yQAOJujEdxRBoUp7fooXFXAim
+eOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZw7JHpsIyYdfHb0gk
+USeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCB
+lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
+Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
+dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt
+T2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAzNlowgZUxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAc
+BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3
+dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicP
+HxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLO
+KqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQw5ujm9M89RKZd7G3CeBo
+5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vulBe3/IW+
+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb
+kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUC
+AwEAAaOBrzCBrDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov
+L2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmlyc3QtT2JqZWN0LmNybDApBgNV
+HSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQwDQYJKoZIhvcN
+AQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
+NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXB
+mMiKVl0+7kNOPmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU
+4U3GDZlDAQ0Slox4nb9QorFEqmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK5
+81OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCGhU3IfdeLA/5u1fedFqySLKAj5ZyR
+Uh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
+MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAx
+MDQwNjEwNDkxM1oXDTIxMDQwNjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNV
+BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMSBDQTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H887dF+2rDNbS82rDTG
+29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9EJUk
+oVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk
+3w0LBUXl0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBL
+qdReLjVQCfOAl/QMF6452F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIIN
+nvmLVz5MxxftLItyM19yejhW1ebZrgUaHXVFsculJRwSVzb9IjcCAwEAAaMzMDEw
+DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZTiFIwCwYDVR0PBAQDAgEG
+MA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE928Jj2VuX
+ZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0H
+DjxVyhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VO
+TzF2nBBhjrZTOqMRvq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2Uv
+kVrCqIexVmiUefkl98HVrhq4uz2PqYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4w
+zMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9ZIRlXvVWa
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
+MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx
+MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV
+BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o
+Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt
+5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s
+3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej
+vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu
+8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw
+DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG
+MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil
+zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/
+3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD
+FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6
+Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
+ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUx
+ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
+b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQD
+EytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4X
+DTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREw
+DwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9u
+c2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMr
+TmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzAN
+BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNA
+OoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC
+2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwW
+RMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0P
+AQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEW
+ggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0
+YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFz
+b2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBO
+ZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBB
+IGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVs
+b2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
+ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25s
+YXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kg
+a2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4g
+SU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0
+aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUg
+YXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQg
+Y3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmY
+ta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2g
+pO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4
+Fp1hBWeAyNDYpQcCNJgEjTME1A==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV
+MRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe
+TmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0
+dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB
+KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0
+N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC
+dWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu
+MRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL
+b3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD
+zl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi
+3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8
+WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY
+Oph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi
+NCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC
+ApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4
+QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0
+YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz
+aSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
+IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm
+ZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg
+ZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs
+amFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv
+IGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3
+Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6
+ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1
+YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg
+dG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs
+b2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G
+CSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO
+xmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP
+0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ
+QeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk
+f1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK
+8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUx
+ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
+b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQD
+EylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05
+OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8G
+A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh
+Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5l
+dExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqG
+SIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xK
+gZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riX
+iK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvc
+Q7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8E
+BAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1G
+SUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFu
+b3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBh
+bGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExv
+Y2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGln
+aXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0
+IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
+c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGph
+biBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJo
+ZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBP
+UlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmlj
+YXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBo
+dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNA
+bmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06
+sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXa
+n3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKS
+NitjrFgBazMpUIaD8QFI
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICiTCCAfKgAwIBAgIEN4dnrDANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJi
+ZTERMA8GA1UEChMIQmVsZ2Fjb20xDDAKBgNVBAsTA01UTTEkMCIGA1UEAxMbQmVs
+Z2Fjb20gRS1UcnVzdCBQcmltYXJ5IENBMR8wHQYKCZImiZPyLGQBAxQPaW5mb0Bl
+LXRydXN0LmJlMB4XDTk4MTEwNDEzMDQzOVoXDTEwMDEyMTEzMDQzOVowdTELMAkG
+A1UEBhMCYmUxETAPBgNVBAoTCEJlbGdhY29tMQwwCgYDVQQLEwNNVE0xJDAiBgNV
+BAMTG0JlbGdhY29tIEUtVHJ1c3QgUHJpbWFyeSBDQTEfMB0GCgmSJomT8ixkAQMU
+D2luZm9AZS10cnVzdC5iZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqtm5
+s9VPak3FQdB7BGFqi3GBB9pk41huJ1XCrc4XsPz6ko0I8Bxy/7LDMf7gaoeXTMxD
+V6coeTq1g12kHWrxasU+FCIdWQZv8KYxd9ywSTjmywwP/qpyNIjaKDohWu50Kxuk
+21sTFrVzX8OujNLAPj2wy/Dsi4YLwsFEGFpjqNUCAwEAAaMmMCQwDwYDVR0TBAgw
+BgEB/wIBATARBglghkgBhvhCAQEEBAMCAAcwDQYJKoZIhvcNAQEFBQADgYEAerKx
+pbF9M+nC4RvO05OMfwH9Gx1amq6rB1Ev7Ymr3VBCux//SrWknLFhKQpM6oNZSY2v
+hmnXgaxHqqRxblnvynxqblSK2qiSyfVms3lf1IsBniFjRjWTpcJfImIDcB1jI+hr
+SB0jECfY9t9HorrsgFBKbMRwpnrkdCJ/9oRiMn8=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
+gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
+MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
+UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
+NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
+dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
+dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
+38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
+KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
+DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
+qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
+JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
+PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
+BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
+jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
+eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
+ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
+vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
+IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
+i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
+O+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJE
+SzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEw
+ODM5MzBaFw0zNzAyMTEwOTA5MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNU
+REMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuHnEz9pPPEXyG9VhDr
+2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0zY0s
+2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItU
+GBxIYXvViGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKj
+dGqPqcNiKXEx5TukYBdedObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+r
+TpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB5DCB4TCB3gYIKoFQgSkB
+AQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5kay9yZXBv
+c2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRl
+ciBmcmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEu
+MS4xLiBDZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIg
+T0lEIDEuMi4yMDguMTY5LjEuMS4xLjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1Ud
+HwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYD
+VQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYmaHR0cDovL2Ny
+bC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
+MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZ
+J2cdUBVLc647+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqG
+SIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACrom
+JkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4A9G28kNBKWKnctj7fAXmMXAnVBhO
+inxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYscA+UYyAFMP8uXBV2Y
+caaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9AOoB
+mbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQ
+YqbsFbS1AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9
+BKNDLdr8C2LqL19iUw==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUx
+ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0
+b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQD
+EzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVneXpvaSAoQ2xhc3MgUUEpIFRhbnVz
+aXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0bG9jay5odTAeFw0w
+MzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTERMA8G
+A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh
+Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5l
+dExvY2sgTWlub3NpdGV0dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZh
+bnlraWFkbzEeMBwGCSqGSIb3DQEJARYPaW5mb0BuZXRsb2NrLmh1MIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRVCacbvWy5FPSKAtt2/Goq
+eKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e8ia6AFQe
+r7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO5
+3Lhbm+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWd
+vLrqOU+L73Sa58XQ0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0l
+mT+1fMptsK6ZmfoIYOcZwvK9UdPM0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4IC
+wDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwggJ1Bglg
+hkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2YW55IGEgTmV0
+TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
+biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQg
+ZWxla3Ryb25pa3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywg
+dmFsYW1pbnQgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6
+b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwgYXogQWx0YWxhbm9zIFN6ZXJ6b2Rl
+c2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kgZWxqYXJhcyBtZWd0
+ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczovL3d3
+dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0Bu
+ZXRsb2NrLm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBh
+bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRo
+ZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3
+Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0IGluZm9AbmV0bG9jay5u
+ZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3DQEBBQUA
+A4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQ
+MznNwNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+
+NFAwLvt/MpqNPfMgW/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCR
+VCHnpgu0mfVRQdzNo0ci2ccBgcTcR08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY
+83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR5qq5aKrN9p2QdRLqOBrKROi3
+macqaJVmlaut74nLYKkGEsaUR+ko
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
+MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
+YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
+MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
+ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
+MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
+ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
+PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
+wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
+EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
+avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
+sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
+/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
+IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
+ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
+OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
+TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
+dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
+ReYNnyicsbkqWletNw+vHX/bvZ8=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
+MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
+U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
+NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
+ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
+ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
+DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
+8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
+X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
+K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
+1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
+A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
+zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
+YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
+bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
+DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
+L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
+eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
+VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
+WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
+MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
+YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
+R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
+9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
+fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
+iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
+1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
+MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
+ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
+uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
+Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
+tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
+PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
+hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
+5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW
+MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs
+IENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg
+R2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A
+PRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8
+Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL
+TytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL
+5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7
+S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe
+2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap
+EBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td
+EPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv
+/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN
+A0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0
+abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF
+I8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz
+4iIprn2DQKi6bA==
+-----END CERTIFICATE-----
+
+
+
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW
+MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy
+c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0
+IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV
+VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8
+cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT
+QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh
+F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v
+c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w
+mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd
+VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX
+teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ
+f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe
+Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+
+nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB
+/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY
+MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG
+9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX
+IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn
+ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z
+uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN
+Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja
+QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW
+koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9
+ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt
+DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm
+bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+
+
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
+MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
+c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
+VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
+c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
+WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
+FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
+XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
+se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
+KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
+IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
+y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
+hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
+QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
+Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
+HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
+KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
+L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
+Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
+ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
+T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
+GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
+1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
+OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
+6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
+QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC
+TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0
+aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0
+aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz
+MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw
+IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR
+dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp
+li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D
+rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ
+WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug
+F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU
+xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC
+Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv
+dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw
+ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl
+IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh
+c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy
+ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI
+KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T
+KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq
+y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p
+dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD
+VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL
+MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk
+fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8
+7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R
+cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y
+mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW
+xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK
+SnQ2+Q==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsx
+CzAJBgNVBAYTAkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRp
+ZmljYWNpw7NuIERpZ2l0YWwgLSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwa
+QUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4wHhcNMDYxMTI3MjA0NjI5WhcNMzAw
+NDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+U29jaWVkYWQgQ2Ft
+ZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJhIFMu
+QS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeG
+qentLhM0R7LQcNzJPNCNyu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzL
+fDe3fezTf3MZsGqy2IiKLUV0qPezuMDU2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQ
+Y5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU34ojC2I+GdV75LaeHM/J4
+Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP2yYe68yQ
+54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+b
+MMCm8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48j
+ilSH5L887uvDdUhfHjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++Ej
+YfDIJss2yKHzMI+ko6Kh3VOz3vCaMh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/zt
+A/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK5lw1omdMEWux+IBkAC1vImHF
+rEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1bczwmPS9KvqfJ
+pxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
+AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCB
+lTCBkgYEVR0gADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFy
+YS5jb20vZHBjLzBaBggrBgEFBQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW50
+7WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2UgcHVlZGVuIGVuY29udHJhciBlbiBs
+YSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEfAygPU3zmpFmps4p6
+xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuXEpBc
+unvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/
+Jre7Ir5v/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dp
+ezy4ydV/NgIlqmjCMRW3MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42
+gzmRkBDI8ck1fj+404HGIGQatlDCIaR43NAvO2STdPCWkPHv+wlaNECW8DYSwaN0
+jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wkeZBWN7PGKX6jD/EpOe9+
+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f/RWmnkJD
+W2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/
+RL5hRqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35r
+MDOhYil/SrnhLecUIw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxk
+BYn8eNZcLCZDqQ==
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
+WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
+ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
+MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
+h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
+0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
+A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
+T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
+B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
+B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
+KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
+OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
+jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
+qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
+rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
+hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
+3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
+NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
+ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
+TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
+jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
+oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
+4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
+mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
+emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
+
+
+-----BEGIN CERTIFICATE-----
+MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
+CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
+R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
+MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
+ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
+EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
++1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
+ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
+AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
+zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
+tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
+/q4AaOeMSQ+2b1tbFfLn
+-----END CERTIFICATE-----
+
diff --git a/kio/kssl/kssl/isrg-root-x1.pem b/kio/kssl/kssl/isrg-root-x1.pem
new file mode 100644
index 000000000..b85c8037f
--- /dev/null
+++ b/kio/kssl/kssl/isrg-root-x1.pem
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
+WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
+ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
+MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
+h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
+0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
+A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
+T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
+B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
+B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
+KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
+OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
+jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
+qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
+rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
+hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
+3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
+NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
+ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
+TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
+jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
+oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
+4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
+mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
+emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
diff --git a/kio/kssl/kssl/isrg-root-x2.pem b/kio/kssl/kssl/isrg-root-x2.pem
new file mode 100644
index 000000000..7d903edc9
--- /dev/null
+++ b/kio/kssl/kssl/isrg-root-x2.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
+CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
+R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
+MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
+ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
+EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
++1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
+ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
+AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
+zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
+tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
+/q4AaOeMSQ+2b1tbFfLn
+-----END CERTIFICATE-----
diff --git a/kio/kssl/kssl/ksslcalist b/kio/kssl/kssl/ksslcalist
index a0761cf4a..50ef61257 100644
--- a/kio/kssl/kssl/ksslcalist
+++ b/kio/kssl/kssl/ksslcalist
@@ -785,3 +785,225 @@ x509=MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTA
site=true
email=true
code=true
+
+[subject=C = PL, O = Unizeto Sp. z o.o., CN = Certum CA]
+x509=MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
+site=true
+email=true
+code=false
+
+[subject=C = PL, O = Unizeto Sp. z o.o., CN = Certum Level I]
+x509=MIICjTCCAXWgAwIBAgIDAQAhMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA3MTIxNjMxNTNaFw0xMjA3MTIxNjMxNTNaMEMxCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xFzAVBgNVBAMTDkNlcnR1bSBMZXZlbCBJMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl73pZ9DFcn7Qy0qBZK+So18cav7drUrJ8SiYOlDDVskt81+eIcL/4FelTSGjuAOvYdmm+HGYG998RPB0iZ+Ak67vXFJ537vRWOcu6aMjNuAwu8BOdc5eSgB0Y8X4+3LOYfugtaZa8mrEQ8Hit0yLE9UBcU9J+4PmkVGecmZ8jZQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAlDS4aTmgK0YgmUvt/3zN7G2/ZrtBBCtONlUvC69c7TmLJWJ842y2AH7ryNXXkcsn6p0ZBTrTJ2tA2y/j2PXJeXrCkK/qAJIpM0l4u0MT7enY5akasduHp2NXMP9vDlgMy7elU2s3nkOT79gfh5XttC+5D/x4JDNi1DMAA9hk16DK4zWmDVfjkiP/G3fEndtJgNDQsyqnaQ3E3bljv3f1KJTjZUvtA2Ml6MP2hFRhgZPsxuhW8QXidQYNiua1h7XUUiPiERLDLWZmfY6dxGrHXjSTx3shHNaQM0qkDs9gS6UK8uWJN2bf2YBnvGmzy0IQvx5wDCH7h8AdaBD6DgIG1
+site=true
+email=true
+code=false
+
+[subject=C = PL, O = Unizeto Sp. z o.o., CN = Certum Level II]
+x509=MIICjjCCAXagAwIBAgIDAQAiMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA3MTIxNjMyMDNaFw0xMjA3MTIxNjMyMDNaMEQxCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGDAWBgNVBAMTD0NlcnR1bSBMZXZlbCBJSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyMQSaN5fA94hNE46bMKpGUb5yIPEowReGZzGttYBQnC6oUOy+iM3md8WerzXeBKf7iIZEDW2HAp7BKhS4rMB6taxT07vDtkNfEKwOk6X7dODw6KY4mxnzjmjh5pf2feKKJ3MoZxi2HAz2a6JvHKFMq8dAlGL2GBtLvzlFp2jwkMCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAWo3wgy+/0B7UiTCu4Wn1rvGRXIUtbPNp4Bc4PP/i1q6pPheIe0ooCopuqnDX9maTHhZeNpnApgCUSbyw71EaOremD7HjWXASRUTylhwL5FdSx+D6MgF2uW9uwZ+NErkeRJYT2aRXe5FBOVIseC4g93Ay0D8Hg50MkAC5pQqW+8GSszT94NzT7ppIaMtq53PZpUtLGiL3UBZ5vUJ5pE4lLKD7Ce+pXzZevy/MnkMGD1L7LgjRWL17OcMlASFETyUTajNjvxMy+oM4C22rwHRh2WQrvgw5MO+Q3UyYA1r5VrSaqgQ1g06ZcQt+mhzoc2swlOSwm8iis8H6orR8xmCWrA==
+site=true
+email=true
+code=false
+
+[subject=C = PL, O = Unizeto Sp. z o.o., CN = Certum Level III]
+x509=MIICjzCCAXegAwIBAgIDAQAjMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA3MTIxNjMyMTdaFw0xMjA3MTIxNjMyMTdaMEUxCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGTAXBgNVBAMTEENlcnR1bSBMZXZlbCBJSUkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALZjBbfGFmlsLjPepWaDwG0LqhF11lWKabaHi1sQhK3qomHY7Em7qpL11dUQ1vsMcnnpzz/J0AEH6KDh+yAyXV1SE/tVToLYYByZK+JGacLYIYF9aCwV8AhqyzOGurO5QX6vLboXB2WNnwmXhyNVKUgnUVy4ktAR2qZJIw5Bjsn/AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAIsLt3vKCZqd/gui45ovm3FSO6FLjzzq4pagPvbNnZ39HrhRaCpqkHDAj71L5L27U3eW2D4ILL0iUmZadbC4i3at/PUL9mjhGlajcCN8EF6IXGT87Tbcii735jRaaXSbEY4YhNOg9DPBoD4uJMkA8Z0Y/6lYmk4S6KUMCzztt5zZBiWjdd08yFi5VGMvpE74KVOMdMa3JNVaR0XvT0Q8yXo1XKCrY9OFIxnhVgDbhzr9fwjKWDwu8kxhT9khAETm0BU2Buu+CTasaJdT/bBR2YEx9qcN7XyXTeDtkOO5QeGSqFgzquwjWEbKhf7l/e+efdRCg+ikH3O5snHB6iS+dgg=
+site=true
+email=true
+code=false
+
+[subject=C = PL, O = Unizeto Sp. z o.o., CN = Certum Level IV]
+x509=MIICjjCCAXagAwIBAgIDAQAkMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA3MTIxNjMyMzVaFw0xMjA3MTIxNjMyMzVaMEQxCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xGDAWBgNVBAMTD0NlcnR1bSBMZXZlbCBJVjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAmyb1lKqCAKE4juAy6lpVNUl6aJ2DuWPSiJ3BBk3/6ty6I4Lr2Dpy1b1vjVelhaFsVKEDgK2JyQlk9XMqLPZI2Ql166mJiPKFg77aY/W78EcQfGyjnRvVcs0tG40mAs/p84OEpFcVe/RSqDrD/D7R01u+Wj5xLl0PUsFplIGDbikCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAPS99JujKGVRfa50TKfieq+uK1SxjidErYaZTb3cJNNfQDYn6nk4lnrnab5EUVhO/NegP2yIu3YOnZGfxFDhvVozMTKKAB5r5XKOvzsP99C9578PVMLozucfUMCSwau7Z4l5uuQOHuzjzlVLCibbbf4RwfvZ7hh5sB5c0pNbwRQq64RXQUUEvul/W9gUeT9ISHOsASGTq+HJ5i7vNARjukEAXW/maqs9vyTWWbGVI1FSOnVyteymq4Xk+9YlIyNPNyacgnsMnU72XKBLDS0KJdhIWALFAZI4dSh5WZNuWZguUnEmeH81lLbR+p/N3iuN8+oSo8UXik92jxeUY2tQJUA==
+site=true
+email=true
+code=false
+
+[subject=C = BR, O = ICP-Brasil, OU = Instituto Nacional de Tecnologia da Informacao - ITI, L = Brasilia, ST = DF, CN = Autoridade Certificadora Raiz Brasileira]
+x509=MIIEuDCCA6CgAwIBAgIBBDANBgkqhkiG9w0BAQUFADCBtDELMAkGA1UEBhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25hbCBkZSBUZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxETAPBgNVBAcTCEJyYXNpbGlhMQswCQYDVQQIEwJERjExMC8GA1UEAxMoQXV0b3JpZGFkZSBDZXJ0aWZpY2Fkb3JhIFJhaXogQnJhc2lsZWlyYTAeFw0wMTExMzAxMjU4MDBaFw0xMTExMzAyMzU5MDBaMIG0MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE9MDsGA1UECxM0SW5zdGl0dXRvIE5hY2lvbmFsIGRlIFRlY25vbG9naWEgZGEgSW5mb3JtYWNhbyAtIElUSTERMA8GA1UEBxMIQnJhc2lsaWExCzAJBgNVBAgTAkRGMTEwLwYDVQQDEyhBdXRvcmlkYWRlIENlcnRpZmljYWRvcmEgUmFpeiBCcmFzaWxlaXJhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwPMudwX/hvm+Uh2b/lQAcHVAisamaLkWdkwP9/S/tOKIgRrL6Oy+ZIGlOUdd6uYtk9Ma/3pUpgcfNAj0vYm5gsyjQo9emsc+x6m4VWwk9iqMZSCK5EQkAq/Ut4n7KuLE1+gdftwdIgxfUsPt4CyNrY50QV57KM2UT8x5rrmzEjr7TICGpSUAl2gVqe6xaii+bmYR1QrmWaBSAG59LrkrjrYtbRhFboUDe1DK+6T8s5L6k8c8okpbHpa9veMztDVC9sPJ60MWXh6anVKo1UcLcbURyEeNvZneVRKAAU6ouwdjDvwlsaKydFKwed0ToQ47bmUKgcm+wV3eTRk36UOnTwIDAQABo4HSMIHPME4GA1UdIARHMEUwQwYFYEwBAQAwOjA4BggrBgEFBQcCARYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0RQQ2FjcmFpei5wZGYwPQYDVR0fBDYwNDAyoDCgLoYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0xDUmFjcmFpei5jcmwwHQYDVR0OBBYEFIr68VeEERM1kEL6V0lUaQ2kxPA3MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAZA5c1U/hgIh6OcgLAfiJgFWpvmDZWqlV30/bHFpj8iBobJSm5uDpt7TirYh1Uxe3fQaGlYjJe+9zd+izPRbBqXPVQA34EXcwk4qpWuf1hHriWfdrx8AcqSqr6CuQFwSr75FosSzlwDADa70mT7wZjAmQhnZx2xJ6wfWlT9VQfS//JYeIc7Fue2JNLd00UOSMMaiK/t79enKNHEA2fupH3vEigf5Eh4bVAN5VohrTm6MY53x7XQZZr1ME7a55lFEnSeT0umlOAjR2mAbvSM5X5oSZNrmetdzyTj2flCM8CC7MLab0kkdngRIlUBGHF1/S5nmPbK+9A46sd33oqK8n8
+site=true
+email=true
+code=false
+
+[subject=C = DE, O = Deutsches Forschungsnetz, OU = DFN-CERT GmbH, OU = DFN-PCA, CN = DFN Toplevel Certification Authority, emailAddress = certify@pca.dfn.de]
+x509=MIIG2jCCBcKgAwIBAgIDFc/9MA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYDVQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRERk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEmNlcnRpZnlAcGNhLmRmbi5kZTAeFw0wMTEyMDExMjExMTZaFw0xMDAxMzExMjExMTZaMIGsMQswCQYDVQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYDVQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRERk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEmNlcnRpZnlAcGNhLmRmbi5kZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMF5rhMt6zmhxK5oWPwT2FG7Up7T5DovHSD/YKPIRxsvDWmC4dTzByIBLnOmEflk+5KAqAYao6eY1qF0hR4WiS4DjCsn7l3zNo/4i2eF4EmGEksBygb4tRlTThcO7heFX+Du5qFoks+ONqa70RlwOr2l53KVwjMXBCtCLFSKRLVuxeh5+Smkm+FuOmwEugndM2n74Djjyf9DCOaHGZrHwVDh+Vpy5Ny4bKCSboujRxd5NxsStUshDVbTeS3B8TuzAJbywYWEE7erox+7WTfQr8ivSCBhrNJ36VRjAb8hiV9Iuy2TmJYo2oPyC8a3eM3xj9Ku2IW3tS2zpfiIzt9xvFMCAwEAAaOCAwEwggL9MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFAYL+rX4SHijILELPs+g0MTRf33QMIHbBgNVHSMEgdMwgdCAFAYL+rX4SHijILELPs+g0MTRf33QoYGypIGvMIGsMQswCQYDVQQGEwJERTEhMB8GA1UEChMYRGV1dHNjaGVzIEZvcnNjaHVuZ3NuZXR6MRYwFAYDVQQLEw1ERk4tQ0VSVCBHbWJIMRAwDgYDVQQLEwdERk4tUENBMS0wKwYDVQQDEyRERk4gVG9wbGV2ZWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEmNlcnRpZnlAcGNhLmRmbi5kZYIDFc/9MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwgaUGA1UdHwSBnTCBmjBLoEmgR4ZFaHR0cDovL3d3dy5kZm4tcGNhLmRlL2NlcnRpZmljYXRpb24veDUwOS9nMS9kYXRhL2NybHMvcm9vdC1jYS1jcmwuY3J4MEugSaBHhkVodHRwOi8vd3d3LmRmbi1wY2EuZGUvY2VydGlmaWNhdGlvbi94NTA5L2cxL2RhdGEvY3Jscy9yb290LWNhLWNybC5jcmwwOAYJYIZIAYb4QgEDBCsWKWh0dHBzOi8vd3d3LmRmbi1wY2EuZGUvY2dpL2NoZWNrLXJldi5jZ2k/MEsGCWCGSAGG+EIBCAQ+FjxodHRwOi8vd3d3LmRmbi1wY2EuZGUvY2VydGlmaWNhdGlvbi9wb2xpY2llcy94NTA5cG9saWN5Lmh0bWwwOAYJYIZIAYb4QgENBCsWKVRoZSBERk4gVG9wLUxldmVsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MGQGA1UdIARdMFswWQYLKwYBBAHZGoIsAQEwSjBIBggrBgEFBQcCARY8aHR0cDovL3d3dy5kZm4tcGNhLmRlL2NlcnRpZmljYXRpb24vcG9saWNpZXMveDUwOXBvbGljeS5odG1sMA0GCSqGSIb3DQEBBQUAA4IBAQAmbai6JMt7nkuavyvxKzLGn04Gyt0zKrp8zmERp4inktvY7p+vkaomYu2QYC7cHq0tlrPXQQhhetjiXGb+36aJtHDkEA0NwrJzYnHgPsvx7z0wysENP4wxf97KsSWm07RY+f6/gIQF7Je7CW30Rzq7N6R0NMBs32mJgdn3ntqlFNw3Nbs050FEjPNq54RdawlJo85x+w+QJd7uQM4yZjHpRhvwgte9Ge1UqCUdpMsLHzeMKJ0B9GhwIIqOJCMiPgKjcUBrn6ehSX70POvXvjjE2+FzhPGTyTkS474d2UCAnL9qhPrdWXzBjOumOjhJutT1aecm9eljlshmh1cNen00
+site=true
+email=true
+code=false
+
+[subject=C = AT, ST = Austria, L = Vienna, O = Arge Daten Oesterreichische Gesellschaft fuer Datenschutz, emailAddress = a-cert@argedaten.at]
+x509=MIIDwzCCAyygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCQVQxEDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAGA1UEChM5QXJnZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBmdWVyIERhdGVuc2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVuLmF0MB4XDTAxMDIxMjExMzAzMFoXDTA5MDIxMjExMzAzMFowgZgxCzAJBgNVBAYTAkFUMRAwDgYDVQQIEwdBdXN0cmlhMQ8wDQYDVQQHEwZWaWVubmExQjBABgNVBAoTOUFyZ2UgRGF0ZW4gT2VzdGVycmVpY2hpc2NoZSBHZXNlbGxzY2hhZnQgZnVlciBEYXRlbnNjaHV0ejEiMCAGCSqGSIb3DQEJARYTYS1jZXJ0QGFyZ2VkYXRlbi5hdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwgsHqoNtmmrJ86+e1I4hOVBaL4kokqKN2IPOIL+1XwY8vfOOUfPEdhWpaC0ldt7VYrksgDiUccgH0FROANWK2GkfKMDzjjXHysR04uEbOm7Kqjqn0nproOGkFG+QvBZgs+Ws+HXNFJA6V76fU4+JXq4452LSK4Lr5YcBquu3NJECAwEAAaOCARkwggEVMB0GA1UdDgQWBBQ0j59zH/G31zRjgK1y2P//tSAWZjCBxQYDVR0jBIG9MIG6gBQ0j59zH/G31zRjgK1y2P//tSAWZqGBnqSBmzCBmDELMAkGA1UEBhMCQVQxEDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAGA1UEChM5QXJnZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBmdWVyIERhdGVuc2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVuLmF0ggEAMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQEAwICBDANBgkqhkiG9w0BAQQFAAOBgQBFuJYncqMYB6gXQS3eDOI90BEHfFTKy/dVAV+K7QdAYikWmqgBheRdPKddJdccPy/Zl/p3ZT7GhDyC5f3wZjcuu8AJ27BNwbCAx54dgxgCNcyPm79nY8MRtEdEpoRGdSsFKJemz6hpXM++MWFciyrRWIIA44XB0Gv3US0spjsDPQ==
+site=true
+email=true
+code=false
+
+[subject=C = ES, ST = BARCELONA, L = BARCELONA, O = IPS Seguridad CA, OU = Certificaciones, CN = IPS SERVIDORES, emailAddress = ips@mail.ips.es]
+x509=MIICtzCCAiACAQAwDQYJKoZIhvcNAQEEBQAwgaMxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTk4MDEwMTIzMjEwN1oXDTA5MTIyOTIzMjEwN1owgaMxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsT1J0nznqjtwlxLyYXZhkJAk8IbPMGbWOlI6H0fg3PqHILVikgDVboXVsHUUMH2Fjal5vmwpMwci4YSM1gf/+rHhwLWjhOgeYlQJU3c0jt4BT18g3RXIGJBK6E2Ehim51KODFDzT9NthFf+G4Nu+z4cYgjui0OLzhPvYR3oydAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACzzw3lYJN7GO9HgQmm47mSzPWIBubOE3yN93ZjPEKn+ANgilgUTB1RXxafey9m4iEL2mdsUdx+2/iU94aI+A6mB0i1sR/WWRowiq8jMDQ6XXotBtDvECgZAHd1G9AHduoIuPD14cJ58GNCr+Lh3B0Zx8coLY1xq+XKU1QFPoNtC
+site=true
+email=false
+code=false
+
+[subject=C = US, ST = UT, L = Salt Lake City, O = The USERTRUST Network, OU = http://www.usertrust.com, CN = UTN-USERFirst-Network Applications]
+x509=MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFugmliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4CjDUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXuOzr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwiP8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIEj3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3YIWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTKRIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4QpxFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAqDbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
+site=true
+email=true
+code=false
+
+[subject=C = US, ST = UT, L = Salt Lake City, O = The USERTRUST Network, OU = http://www.usertrust.com, CN = UTN - DATACorp SGC]
+x509=MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowftGzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
+site=true
+email=false
+code=false
+
+[subject=C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services]
+x509= MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe 3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+site=true
+email=true
+code=false
+
+[subject=C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = Secure Certificate Services]
+x509= MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996 CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk 3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz 6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0 5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=
+site=true
+email=true
+code=false
+
+[subject=C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = Trusted Certificate Services]
+x509= MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0 aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW 1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7 kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/ HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+ xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi
+site=true
+email=true
+code=false
+
+[subject=C = US, ST = UT, L = Salt Lake City, O = The USERTRUST Network, OU = http://www.usertrust.com, CN = UTN-USERFirst-Hardware]
+x509= MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn 0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0 dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t 3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
+site=true
+email=false
+code=false
+
+[subject=C = US, ST = UT, L = Salt Lake City, O = The USERTRUST Network, OU = http://www.usertrust.com, CN = UTN - DATACorp SGC]
+x509= MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6 E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK 4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv 2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3 mfnGV/TJVTl4uix5yaaIK/QI
+site=true
+email=false
+code=false
+
+[subject=C = US, ST = UT, L = Salt Lake City, O = The USERTRUST Network, OU = http://www.usertrust.com, CN = UTN-USERFirst-Client Authentication and Email]
+x509= MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCB rjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VSRmlyc3Qt Q2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05OTA3MDkxNzI4NTBa Fw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAV BgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UE AxMtVVROLVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWls MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3B YHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9 hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8om+rWV6l L8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLm SGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM 1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws 6wIDAQABo4G5MIG2MAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud DgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNVHR8EUTBPME2gS6BJhkdodHRw Oi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGllbnRBdXRoZW50 aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u 7mFVbwQ+zznexRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0 xtcgBEXkzYABurorbs6q15L+5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQ rfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarVNZ1yQAOJujEdxRBoUp7fooXFXAim eOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZw7JHpsIyYdfHb0gk USeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
+site=true
+email=true
+code=false
+
+[subject=C = US, ST = UT, L = Salt Lake City, O = The USERTRUST Network, OU = http://www.usertrust.com, CN = UTN-USERFirst-Object]
+x509= MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCB lTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNVBAMTFFVUTi1VU0VSRmlyc3Qt T2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAzNlowgZUxCzAJBgNV BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAc BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3 dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicP HxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLO KqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQw5ujm9M89RKZd7G3CeBo 5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vulBe3/IW+ pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUC AwEAAaOBrzCBrDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E FgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov L2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmlyc3QtT2JqZWN0LmNybDApBgNV HSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQwDQYJKoZIhvcN AQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXB mMiKVl0+7kNOPmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU 4U3GDZlDAQ0Slox4nb9QorFEqmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK5 81OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCGhU3IfdeLA/5u1fedFqySLKAj5ZyR Uh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
+site=false
+email=false
+code=true
+
+[subject=C = FI, O = Sonera, CN = Sonera Class1 CA]
+x509=MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQwNjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H887dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF6452F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUaHXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZTiFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE928Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxVyhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMRvq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2PqYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9ZIRlXvVWa
+site=true
+email=true
+code=false
+
+[subject=C = FI, O = Sonera, CN = Sonera Class2 CA]
+x509=MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
+site=true
+email=true
+code=false
+
+[subject=C = HU, L = Budapest, O = NetLock Halozatbiztonsagi Kft., OU = Tanusitvanykiadok, CN = NetLock Expressz (Class C) Tanusitvanykiado]
+x509=MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBDKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9jayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3ZW3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQwDgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJNRklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xnYWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1iaXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBsZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9yemVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5kIHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQUyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwgYXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOWgyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
+site=true
+email=true
+code=false
+
+[subject=C = HU, ST = Hungary, L = Budapest, O = NetLock Halozatbiztonsagi Kft., OU = Tanusitvanykiadok, CN = NetLock Kozjegyzoi (Class A) Tanusitvanykiado]
+x509=MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI
+site=true
+email=true
+code=false
+
+[subject=C = HU, L = Budapest, O = NetLock Halozatbiztonsagi Kft., OU = Tanusitvanykiadok, CN = NetLock Uzleti (Class B) Tanusitvanykiado]
+x509=MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikgVGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYDVQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sgVXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2So/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKRstE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
+site=true
+email=true
+code=false
+
+[subject=C = be, O = Belgacom, OU = MTM, CN = Belgacom E-Trust Primary CA, mail = info@e-trust.be]
+x509=MIICiTCCAfKgAwIBAgIEN4dnrDANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJiZTERMA8GA1UEChMIQmVsZ2Fjb20xDDAKBgNVBAsTA01UTTEkMCIGA1UEAxMbQmVsZ2Fjb20gRS1UcnVzdCBQcmltYXJ5IENBMR8wHQYKCZImiZPyLGQBAxQPaW5mb0BlLXRydXN0LmJlMB4XDTk4MTEwNDEzMDQzOVoXDTEwMDEyMTEzMDQzOVowdTELMAkGA1UEBhMCYmUxETAPBgNVBAoTCEJlbGdhY29tMQwwCgYDVQQLEwNNVE0xJDAiBgNVBAMTG0JlbGdhY29tIEUtVHJ1c3QgUHJpbWFyeSBDQTEfMB0GCgmSJomT8ixkAQMUD2luZm9AZS10cnVzdC5iZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqtm5s9VPak3FQdB7BGFqi3GBB9pk41huJ1XCrc4XsPz6ko0I8Bxy/7LDMf7gaoeXTMxDV6coeTq1g12kHWrxasU+FCIdWQZv8KYxd9ywSTjmywwP/qpyNIjaKDohWu50Kxuk21sTFrVzX8OujNLAPj2wy/Dsi4YLwsFEGFpjqNUCAwEAAaMmMCQwDwYDVR0TBAgwBgEB/wIBATARBglghkgBhvhCAQEEBAMCAAcwDQYJKoZIhvcNAQEFBQADgYEAerKxpbF9M+nC4RvO05OMfwH9Gx1amq6rB1Ev7Ymr3VBCux//SrWknLFhKQpM6oNZSY2vhmnXgaxHqqRxblnvynxqblSK2qiSyfVms3lf1IsBniFjRjWTpcJfImIDcB1jI+hrSB0jECfY9t9HorrsgFBKbMRwpnrkdCJ/9oRiMn8=
+site=true
+email=true
+code=false
+
+[subject=C = US, OU = www.xrampsecurity.com, O = XRamp Security Services Inc, CN = XRamp Global Certification Authority]
+x509=MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxtqZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+site=true
+email=true
+code=false
+
+[subject=C = DK, O = TDC, CN = TDC OCES CA]
+x509=MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuHnEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvViGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBdedObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5kay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBmcmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEMMAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYmaHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAyMTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYscA+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
+site=true
+email=true
+code=false
+
+[subject=C = HU, L = Budapest, O = NetLock Halozatbiztonsagi Kft., OU = Tanusitvanykiadok, CN = NetLock Minositett Kozjegyzoi (Class QA) Tanusitvanykiado, emailAddress = info@netlock.hu]
+x509= MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUx ETAPBgNVBAcTCEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0 b25zYWdpIEtmdC4xGjAYBgNVBAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQD EzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVneXpvaSAoQ2xhc3MgUUEpIFRhbnVz aXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0bG9jay5odTAeFw0w MzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTERMA8G A1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNh Z2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5l dExvY2sgTWlub3NpdGV0dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZh bnlraWFkbzEeMBwGCSqGSIb3DQEJARYPaW5mb0BuZXRsb2NrLmh1MIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRVCacbvWy5FPSKAtt2/Goq eKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e8ia6AFQe r7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO5 3Lhbm+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWd vLrqOU+L73Sa58XQ0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0l mT+1fMptsK6ZmfoIYOcZwvK9UdPM0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4IC wDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNVHQ8BAf8EBAMCAQYwggJ1Bglg hkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2YW55IGEgTmV0 TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQg ZWxla3Ryb25pa3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywg dmFsYW1pbnQgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6 b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwgYXogQWx0YWxhbm9zIFN6ZXJ6b2Rl c2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kgZWxqYXJhcyBtZWd0 ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczovL3d3 dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0Bu ZXRsb2NrLm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBh bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRo ZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3 Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0IGluZm9AbmV0bG9jay5u ZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3DQEBBQUA A4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQ MznNwNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+ NFAwLvt/MpqNPfMgW/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCR VCHnpgu0mfVRQdzNo0ci2ccBgcTcR08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY 83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR5qq5aKrN9p2QdRLqOBrKROi3 macqaJVmlaut74nLYKkGEsaUR+ko
+site=true
+email=true
+code=false
+
+[subject=C = US, O = "The Go Daddy Group, Inc.", OU = Go Daddy Class 2 Certification Authority]
+x509=MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQHmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/bvZ8=
+site=true
+email=true
+code=false
+
+[subject=C = US, O = "Starfield Technologies, Inc.", OU = Starfield Class 2 Certification Authority]
+x509=MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJlxy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
+site=true
+email=true
+code=false
+
+[subject=C = US, O = GeoTrust Inc., CN = GeoTrust Global CA]
+x509=MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
+site=true
+email=true
+code=false
+
+[subject=C = US, O = GeoTrust Inc., CN = GeoTrust Global CA 2]
+x509=MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz4iIprn2DQKi6bA==
+site=true
+email=true
+code=false
+
+[subject=C = US, O = GeoTrust Inc., CN = GeoTrust Universal CA]
+x509=MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRcaanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw=
+site=true
+email=true
+code=false
+
+[subject=C = US, O = GeoTrust Inc., CN = GeoTrust Universal CA 2]
+x509=MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+zdXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+site=true
+email=true
+code=false
+
+[subject=C = BM, O = QuoVadis Limited, OU = Root Certification Authority, CN = QuoVadis Root Certification Authority]
+x509=MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJhY3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOKSnQ2+Q==
+site=true
+email=true
+code=false
+
+[subject=C = CO, O = Sociedad Cameral de Certificaci\C3\B3n Digital - Certic\C3\A1mara S.A., CN = AC Ra\C3\ADz Certic\C3\A1mara S.A.]
+x509=MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYTAkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwgLSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4wHhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJhIFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCNyu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU34ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhfHjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCaMh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1bczwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0gADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEFBQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2UgcHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEfAygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuXEpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR43NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wkeZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5hRqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecUIw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ==
+site=true
+email=true
+code=false
+
+[subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1]
+x509=MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZLubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+site=true
+email=true
+code=false
+
+[subject=C = US, O = Internet Security Research Group, CN = ISRG Root X2]
+x509=MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZIzj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdWtL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1/q4AaOeMSQ+2b1tbFfLn
+site=true
+email=true
+code=false
diff --git a/kio/kssl/kssl/localcerts b/kio/kssl/kssl/localcerts
index 150763522..cb39efb99 100644
--- a/kio/kssl/kssl/localcerts
+++ b/kio/kssl/kssl/localcerts
@@ -34,3 +34,5 @@ GeoTrust_Universal_CA.pem
GeoTrust_Universal_CA2.pem
quovadis.pem
ac_offline_raiz_certicamara.pem
+isrg-root-x1.pem
+isrg-root-x2.pem
diff --git a/kio/misc/CMakeLists.txt b/kio/misc/CMakeLists.txt
index 5271069f3..a225646e0 100644
--- a/kio/misc/CMakeLists.txt
+++ b/kio/misc/CMakeLists.txt
@@ -68,7 +68,6 @@ set( ${target}_SRCS
tde_add_kdeinit_executable( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kio-shared
- DEPENDENCIES dcopidl
)
diff --git a/kio/misc/kpac/CMakeLists.txt b/kio/misc/kpac/CMakeLists.txt
index c3fc418c3..886c23d69 100644
--- a/kio/misc/kpac/CMakeLists.txt
+++ b/kio/misc/kpac/CMakeLists.txt
@@ -50,7 +50,6 @@ set( ${target}_SKELS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdeinit_kded-shared kjs-shared ${RESOLV_LIBRARIES}
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kio/misc/kssld/CMakeLists.txt b/kio/misc/kssld/CMakeLists.txt
index ca9438817..14be2fae3 100644
--- a/kio/misc/kssld/CMakeLists.txt
+++ b/kio/misc/kssld/CMakeLists.txt
@@ -42,6 +42,5 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdeinit_kded-shared
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kio/misc/kwalletd/CMakeLists.txt b/kio/misc/kwalletd/CMakeLists.txt
index eb02085f5..652e0854d 100644
--- a/kio/misc/kwalletd/CMakeLists.txt
+++ b/kio/misc/kwalletd/CMakeLists.txt
@@ -44,6 +44,5 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdeinit_kded-shared kwalletbackend-shared
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kio/misc/kwalletd/kbetterthankdialogbase.ui b/kio/misc/kwalletd/kbetterthankdialogbase.ui
index a02d5def7..ae52f96e0 100644
--- a/kio/misc/kwalletd/kbetterthankdialogbase.ui
+++ b/kio/misc/kwalletd/kbetterthankdialogbase.ui
@@ -148,7 +148,4 @@
<slot access="protected">reject()</slot>
</Q_SLOTS>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kactivelabel.h</includehint>
-</includehints>
</UI>
diff --git a/kio/tests/CMakeLists.txt b/kio/tests/CMakeLists.txt
index 4b554ae97..0800c6f53 100644
--- a/kio/tests/CMakeLists.txt
+++ b/kio/tests/CMakeLists.txt
@@ -80,6 +80,7 @@ configure_file( kmimetypetest.sh.cmake kmimetypetest.sh @ONLY )
add_test( NAME "kio/kmimetypetest"
COMMAND sh -x "${CMAKE_CURRENT_BINARY_DIR}/kmimetypetest.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" )
+set_tests_properties( "kio/kmimetypetest" PROPERTIES TIMEOUT 30)
# TODO add kdirwatchunittest
diff --git a/kio/tests/kmimetypetest.sh.cmake b/kio/tests/kmimetypetest.sh.cmake
index e86d85665..d3d74b05c 100644
--- a/kio/tests/kmimetypetest.sh.cmake
+++ b/kio/tests/kmimetypetest.sh.cmake
@@ -5,11 +5,16 @@ HOME=@CMAKE_CURRENT_BINARY_DIR@/test-home
mkdir $HOME $HOME/.trinity $HOME/.trinity/share
ln -s @CMAKE_SOURCE_DIR@/mimetypes $HOME/.trinity/share/mimelnk
export HOME
+export ICEAUTHORITY=$HOME/.ICEauthority
# run dcop server
../../dcop/dcopserver --nofork &
DCOP_SERVER_PID=$!
+while ! ../../dcop/dcopserver --serverid 2>/dev/null; do
+ sleep 2
+done
+
# update ksycoca using mime types from source
../../kded/kbuildsycoca --noincremental --nosignal
diff --git a/kioslave/file/CMakeLists.txt b/kioslave/file/CMakeLists.txt
index 0462811dc..1fad97845 100644
--- a/kioslave/file/CMakeLists.txt
+++ b/kioslave/file/CMakeLists.txt
@@ -45,7 +45,6 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
- LINK kio-shared
+ LINK kio-shared ${ACL_LIBRARIES}
DESTINATION ${PLUGIN_INSTALL_DIR}
)
-
diff --git a/kioslave/http/kcookiejar/CMakeLists.txt b/kioslave/http/kcookiejar/CMakeLists.txt
index 73eb65e91..c853809b3 100644
--- a/kioslave/http/kcookiejar/CMakeLists.txt
+++ b/kioslave/http/kcookiejar/CMakeLists.txt
@@ -58,6 +58,5 @@ set( ${target}_SRCS
tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdeui-shared kdeinit_kded-shared
- DEPENDENCIES dcopidl
DESTINATION ${PLUGIN_INSTALL_DIR}
)
diff --git a/kioslave/iso/libisofs/bswap.h b/kioslave/iso/libisofs/bswap.h
index 95520c6ef..bda19c09f 100644
--- a/kioslave/iso/libisofs/bswap.h
+++ b/kioslave/iso/libisofs/bswap.h
@@ -39,7 +39,7 @@ inline static unsigned int ByteSwap32(unsigned int x)
inline static unsigned long long int ByteSwap64(unsigned long long int x)
{
- register union { __extension__ unsigned long long int __ll;
+ union { __extension__ unsigned long long int __ll;
unsigned int __l[2]; } __x;
asm("xchgl %0,%1":
"=r"(__x.__l[0]),"=r"(__x.__l[1]):
diff --git a/kioslave/iso/libisofs/isofs.c b/kioslave/iso/libisofs/isofs.c
index f1db4427c..58d23eba6 100644
--- a/kioslave/iso/libisofs/isofs.c
+++ b/kioslave/iso/libisofs/isofs.c
@@ -164,7 +164,7 @@ int ReadBootTable(readfunc *read,long long sector, boot_head *head, void *udata)
int i,end=0;
unsigned short sum;
boot_entry *defcur=NULL,*deflast=NULL;
- register struct validation_entry *ventry=NULL;
+ struct validation_entry *ventry=NULL;
head->sections=NULL;
head->defentry=NULL;
@@ -538,7 +538,7 @@ int ProcessDir(readfunc *read,int extent,int size,dircallback *callback,void *ud
*/
int JolietLevel(struct iso_volume_descriptor *ivd) {
int ret=0;
- register struct iso_supplementary_descriptor *isd;
+ struct iso_supplementary_descriptor *isd;
isd = (struct iso_supplementary_descriptor *) ivd;
diff --git a/kjs/CMakeLists.txt b/kjs/CMakeLists.txt
index e32c6a5ba..8b2024191 100644
--- a/kjs/CMakeLists.txt
+++ b/kjs/CMakeLists.txt
@@ -61,6 +61,7 @@ tde_add_lut( keywords.table lexer.lut.h lexer.cpp )
tde_add_library( ${target} SHARED
SOURCES ${${target}_SRCS}
VERSION 1.2.0
- LINK kdecore-shared ${LIBPCRE_LIBRARIES}
+ LINK kdecore-shared
+ LINK_PRIVATE ${LIBPCRE_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/kjs/configure.in.in b/kjs/configure.in.in
index fd23612e0..1c4d3ac52 100644
--- a/kjs/configure.in.in
+++ b/kjs/configure.in.in
@@ -1,46 +1,6 @@
dnl KDE JavaScript specific configure tests
AC_CHECK_HEADERS(ieeefp.h float.h)
-AC_CHECK_LIB(m, finite, [
- AC_DEFINE_UNQUOTED(HAVE_FUNC_FINITE, 1, [Define if you have finite])
-])
-AC_CHECK_LIB(m, _finite, [
- AC_DEFINE_UNQUOTED(HAVE_FUNC__FINITE, 1, [Define if you have _finite])
-])
-
-dnl The C99 standard says that isinf and isnan are macros, but they might
-dnl be functions on some platforms.
-AC_DEFUN([AC_CHECK_ISNAN],
-[
- ac_save_libs="$LIBS"
- LIBS="-lm"
- AC_MSG_CHECKING([for isnan with <math.h>])
- AC_TRY_LINK(
- [#include <math.h>
- float f;], [return isnan(f)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE([HAVE_FUNC_ISNAN], [1], [Define if you have isnan])],
- AC_MSG_RESULT(no)
- )
- LIBS="$ac_save_libs"
-])
-AC_DEFUN([AC_CHECK_ISINF],
-[
- ac_save_libs="$LIBS"
- LIBS="-lm"
- AC_MSG_CHECKING([for isinf with <math.h>])
- AC_TRY_LINK(
- [#include <math.h>
- float f;], [return isinf(f)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE([HAVE_FUNC_ISINF], [1], [Define if you have isinf])],
- AC_MSG_RESULT(no)
- )
- LIBS="$ac_save_libs"
-])
-
-AC_CHECK_ISNAN
-AC_CHECK_ISINF
AC_DEFUN([AC_CHECK_PCREPOSIX],
[
diff --git a/kjs/dtoa.cpp b/kjs/dtoa.cpp
index 054450f12..c39fa5bc6 100644
--- a/kjs/dtoa.cpp
+++ b/kjs/dtoa.cpp
@@ -610,9 +610,9 @@ s2b
static int
hi0bits
- (register ULong x)
+ (ULong x)
{
- register int k = 0;
+ int k = 0;
if (!(x & 0xffff0000)) {
k = 16;
@@ -642,8 +642,8 @@ hi0bits
lo0bits
(ULong *y)
{
- register int k;
- register ULong x = *y;
+ int k;
+ ULong x = *y;
if (x & 7) {
if (x & 1)
@@ -1035,7 +1035,7 @@ diff
ulp
(double dx)
{
- register Long L;
+ Long L;
U x, a;
dval(x) = dx;
diff --git a/kjs/operations.cpp b/kjs/operations.cpp
index 63c1e669e..b9314eccb 100644
--- a/kjs/operations.cpp
+++ b/kjs/operations.cpp
@@ -25,7 +25,6 @@
#endif
#ifndef HAVE_FLOAT_H /* just for !Windows */
#define HAVE_FLOAT_H 0
-#define HAVE_FUNC__FINITE 0
#endif
#include <stdio.h>
@@ -38,11 +37,9 @@
#include <sunmath.h>
#endif
-#ifndef HAVE_FUNC_ISINF
#ifdef HAVE_IEEEFP_H
#include <ieeefp.h>
#endif
-#endif /* HAVE_FUNC_ISINF */
#if HAVE_FLOAT_H
#include <float.h>
@@ -55,52 +52,22 @@ using namespace KJS;
bool KJS::isNaN(double d)
{
-#ifdef HAVE_FUNC_ISNAN
return isnan(d);
-#elif defined HAVE_FLOAT_H
- return _isnan(d) != 0;
-#else
- return !(d == d);
-#endif
}
bool KJS::isInf(double d)
{
-#if defined(HAVE_FUNC_ISINF)
return isinf(d);
-#elif HAVE_FUNC_FINITE
- return finite(d) == 0 && d == d;
-#elif HAVE_FUNC__FINITE
- return _finite(d) == 0 && d == d;
-#else
- return false;
-#endif
}
bool KJS::isPosInf(double d)
{
-#if defined(HAVE_FUNC_ISINF)
- return (isinf(d) == 1);
-#elif HAVE_FUNC_FINITE
- return finite(d) == 0 && d == d; // ### can we distinguish between + and - ?
-#elif HAVE_FUNC__FINITE
- return _finite(d) == 0 && d == d; // ###
-#else
- return false;
-#endif
+ return ( isinf(d) && d > 0 );
}
bool KJS::isNegInf(double d)
{
-#if defined(HAVE_FUNC_ISINF)
- return (isinf(d) == -1);
-#elif HAVE_FUNC_FINITE
- return finite(d) == 0 && d == d; // ###
-#elif HAVE_FUNC__FINITE
- return _finite(d) == 0 && d == d; // ###
-#else
- return false;
-#endif
+ return ( isinf(d) && d < 0 );
}
// ECMA 11.9.3
diff --git a/krandr/libkrandr.cc b/krandr/libkrandr.cc
index 9ee9650f5..064524250 100644
--- a/krandr/libkrandr.cc
+++ b/krandr/libkrandr.cc
@@ -43,7 +43,7 @@
// This routine is courtsey of an answer on "Stack Overflow"
// It takes an LSB-first int and makes it an MSB-first int (or vice versa)
-unsigned int reverse_bits(register unsigned int x)
+unsigned int reverse_bits(unsigned int x)
{
x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));
x = (((x & 0xcccccccc) >> 2) | ((x & 0x33333333) << 2));
diff --git a/kresources/CMakeLists.txt b/kresources/CMakeLists.txt
index 3e79d13e7..8e744552b 100644
--- a/kresources/CMakeLists.txt
+++ b/kresources/CMakeLists.txt
@@ -59,7 +59,6 @@ tde_add_library( ${target} SHARED AUTOMOC
VERSION 1.2.0
LINK kio-shared
DESTINATION ${LIB_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
diff --git a/krsync/krsync.cpp b/krsync/krsync.cpp
index b9f6f1305..8ba1a54bc 100644
--- a/krsync/krsync.cpp
+++ b/krsync/krsync.cpp
@@ -97,6 +97,8 @@ Reference Manual for Version 2.2.x of the GNU C Library */
#ifdef HAVE_GETPT
master = getpt();
+#elif defined(HAVE_POSIX_OPENTPT)
+ master = posix_openpt(O_RDWR);
#else
master = open("/dev/ptmx", O_RDWR);
#endif
diff --git a/kspell2/plugins/CMakeLists.txt b/kspell2/plugins/CMakeLists.txt
index 062d033d2..d7971e4bb 100644
--- a/kspell2/plugins/CMakeLists.txt
+++ b/kspell2/plugins/CMakeLists.txt
@@ -9,12 +9,6 @@
#
#################################################
-if( WITH_ASPELL )
- add_subdirectory( aspell )
-endif(WITH_ASPELL)
-
-if( WITH_HSPELL )
- add_subdirectory( hspell )
-endif(WITH_HSPELL)
-
-add_subdirectory( ispell )
+tde_conditional_add_subdirectory( WITH_ASPELL aspell )
+tde_conditional_add_subdirectory( WITH_HSPELL hspell )
+tde_conditional_add_subdirectory( WITH_ISPELL ispell )
diff --git a/kspell2/plugins/ispell/correct.cpp b/kspell2/plugins/ispell/correct.cpp
index 65e98fa6d..a417ee777 100644
--- a/kspell2/plugins/ispell/correct.cpp
+++ b/kspell2/plugins/ispell/correct.cpp
@@ -244,8 +244,8 @@ int compoundflag = COMPOUND_CONTROLLED;
int
ISpellChecker::casecmp (char *a, char *b, int canonical)
{
- register ichar_t * ap;
- register ichar_t * bp;
+ ichar_t * ap;
+ ichar_t * bp;
ichar_t inta[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
ichar_t intb[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
@@ -290,7 +290,7 @@ ISpellChecker::casecmp (char *a, char *b, int canonical)
void
ISpellChecker::makepossibilities (ichar_t *word)
{
- register int i;
+ int i;
for (i = 0; i < MAXPOSSIBLE; i++)
m_possibilities[i][0] = 0;
@@ -332,8 +332,8 @@ ISpellChecker::makepossibilities (ichar_t *word)
int
ISpellChecker::insert (ichar_t *word)
{
- register int i;
- register char * realword;
+ int i;
+ char * realword;
realword = ichartosstr (word, 0);
for (i = 0; i < m_pcount; i++)
@@ -381,9 +381,9 @@ ISpellChecker::wrongcapital (ichar_t *word)
void
ISpellChecker::wrongletter (ichar_t *word)
{
- register int i;
- register int j;
- register int n;
+ int i;
+ int j;
+ int n;
ichar_t savechar;
ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
@@ -420,8 +420,8 @@ void
ISpellChecker::extraletter (ichar_t *word)
{
ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
- register ichar_t * p;
- register ichar_t * r;
+ ichar_t * p;
+ ichar_t * r;
if (icharlen (word) < 2)
return;
@@ -445,9 +445,9 @@ void
ISpellChecker::missingletter (ichar_t *word)
{
ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN + 1];
- register ichar_t * p;
- register ichar_t * r;
- register int i;
+ ichar_t * p;
+ ichar_t * r;
+ int i;
icharcpy (newword + 1, word);
for (p = word, r = newword; *p != 0; )
@@ -489,7 +489,7 @@ void ISpellChecker::missingspace (ichar_t *word)
ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN + 1];
int nfirsthalf; /* No. words saved in 1st half */
int nsecondhalf; /* No. words saved in 2nd half */
- register ichar_t * p;
+ ichar_t * p;
ichar_t secondhalf[MAX_CAPS][INPUTWORDLEN + MAXAFFIXLEN];
int secondno; /* Index into second */
@@ -547,8 +547,8 @@ int
ISpellChecker::compoundgood (ichar_t *word, int pfxopts)
{
ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
- register ichar_t * p;
- register ichar_t savech;
+ ichar_t * p;
+ ichar_t savech;
long secondcap; /* Capitalization of 2nd half */
/*
@@ -606,8 +606,8 @@ void
ISpellChecker::transposedletter (ichar_t *word)
{
ichar_t newword[INPUTWORDLEN + MAXAFFIXLEN];
- register ichar_t * p;
- register ichar_t temp;
+ ichar_t * p;
+ ichar_t temp;
icharcpy (newword, word);
for (p = newword; p[1] != 0; p++)
@@ -752,12 +752,12 @@ ISpellChecker::save_root_cap (ichar_t *word, ichar_t *pattern,
int * nsaved)
{
#ifndef NO_CAPITALIZATION_SUPPORT
- register struct dent * dent;
+ struct dent * dent;
#endif /* NO_CAPITALIZATION_SUPPORT */
int firstisupper;
ichar_t newword[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
#ifndef NO_CAPITALIZATION_SUPPORT
- register ichar_t * p;
+ ichar_t * p;
int len;
int i;
int limit;
diff --git a/kspell2/plugins/ispell/good.cpp b/kspell2/plugins/ispell/good.cpp
index 351106d99..42ba79515 100644
--- a/kspell2/plugins/ispell/good.cpp
+++ b/kspell2/plugins/ispell/good.cpp
@@ -247,9 +247,9 @@ static int entryhasaffixes (struct dent *dent, struct success *hit)
*/
int ISpellChecker::cap_ok (ichar_t *word, struct success *hit, int len)
{
- register ichar_t * dword;
- register ichar_t * w;
- register struct dent * dent;
+ ichar_t * dword;
+ ichar_t * w;
+ struct dent * dent;
ichar_t dentword[INPUTWORDLEN + MAXAFFIXLEN];
int preadd;
int prestrip;
@@ -388,10 +388,10 @@ int ISpellChecker::good (ichar_t *w, int ignoreflagbits, int dummy, int pfxopts,
#endif
{
ichar_t nword[INPUTWORDLEN + MAXAFFIXLEN];
- register ichar_t * p;
- register ichar_t * q;
- register int n;
- register struct dent * dp;
+ ichar_t * p;
+ ichar_t * q;
+ int n;
+ struct dent * dp;
/*
** Make an uppercase copy of the word we are checking.
diff --git a/kspell2/plugins/ispell/hash.cpp b/kspell2/plugins/ispell/hash.cpp
index 03bd880bb..07693c14f 100644
--- a/kspell2/plugins/ispell/hash.cpp
+++ b/kspell2/plugins/ispell/hash.cpp
@@ -180,8 +180,8 @@
*/
int ISpellChecker::hash (ichar_t *s, int hashtblsize)
{
- register long h = 0;
- register int i;
+ long h = 0;
+ int i;
#ifdef ICHAR_IS_CHAR
for (i = 4; i-- && *s != 0; )
diff --git a/kspell2/plugins/ispell/ispell_checker.cpp b/kspell2/plugins/ispell/ispell_checker.cpp
index b95be5e6d..083fdfdfb 100644
--- a/kspell2/plugins/ispell/ispell_checker.cpp
+++ b/kspell2/plugins/ispell/ispell_checker.cpp
@@ -55,6 +55,9 @@ typedef struct str_ispell_map
} IspellMap;
static const char *ispell_dirs [] = {
+#ifdef ISPELL_LIBDIR
+ ISPELL_LIBDIR,
+#else
"/usr/" SYSTEM_LIBDIR "/ispell",
"/usr/lib/ispell",
"/usr/local/" SYSTEM_LIBDIR "/ispell",
@@ -62,6 +65,7 @@ static const char *ispell_dirs [] = {
"/usr/local/share/ispell",
"/usr/share/ispell",
"/usr/pkg/lib",
+#endif
0
};
static const IspellMap ispell_map [] = {
diff --git a/kspell2/plugins/ispell/lookup.cpp b/kspell2/plugins/ispell/lookup.cpp
index 6030f49d0..1c3a058e0 100644
--- a/kspell2/plugins/ispell/lookup.cpp
+++ b/kspell2/plugins/ispell/lookup.cpp
@@ -266,13 +266,13 @@ int ISpellChecker::linit (char *hashname)
{
FILE* fpHash;
- register int i;
- register struct dent * dp;
+ int i;
+ struct dent * dp;
struct flagent * entry;
struct flagptr * ind;
int nextchar, x;
int viazero;
- register ichar_t * cp;
+ ichar_t * cp;
if ((fpHash = fopen (hashname, "rb")) == NULL)
{
@@ -571,7 +571,7 @@ int ISpellChecker::linit (char *hashname)
*/
void ISpellChecker::initckch (char *wchars)
{
- register ichar_t c;
+ ichar_t c;
char num[4];
for (c = 0; c < static_cast<ichar_t>(SET_SIZE+ m_hashheader.nstrchars); ++c)
@@ -656,7 +656,7 @@ void ISpellChecker::initckch (char *wchars)
*/
void ISpellChecker::clearindex (struct flagptr *indexp)
{
- register int i;
+ int i;
for (i = 0; i < SET_SIZE + m_hashheader.nstrchars; i++, indexp++)
{
if (indexp->numents == 0 && indexp->pu.fp != NULL)
@@ -669,10 +669,10 @@ void ISpellChecker::clearindex (struct flagptr *indexp)
#ifdef INDEXDUMP
static void dumpindex (indexp, depth)
- register struct flagptr * indexp;
- register int depth;
+ struct flagptr * indexp;
+ int depth;
{
- register int i;
+ int i;
int j;
int k;
char stripbuf[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4];
@@ -733,8 +733,8 @@ static void dumpindex (indexp, depth)
*/
struct dent * ISpellChecker::ispell_lookup (ichar_t *s, int dotree)
{
- register struct dent * dp;
- register char * s1;
+ struct dent * dp;
+ char * s1;
char schar[INPUTWORDLEN + MAXAFFIXLEN];
dp = &m_hashtbl[hash (s, m_hashsize)];
diff --git a/kspell2/plugins/ispell/makedent.cpp b/kspell2/plugins/ispell/makedent.cpp
index 9c168dc17..ebe128dd3 100644
--- a/kspell2/plugins/ispell/makedent.cpp
+++ b/kspell2/plugins/ispell/makedent.cpp
@@ -259,7 +259,7 @@ other abi documents
long
ISpellChecker::whatcap (ichar_t *word)
{
- register ichar_t * p;
+ ichar_t * p;
for (p = word; *p; p++)
{
@@ -311,7 +311,7 @@ ISpellChecker::whatcap (ichar_t *word)
*/
int ISpellChecker::addvheader ( struct dent *dp)
{
- register struct dent * tdent; /* Copy of entry */
+ struct dent * tdent; /* Copy of entry */
/*
** Add a second entry with the correct capitalization, and then make
@@ -502,11 +502,11 @@ ISpellChecker::stringcharlen (char *bufp, int canonical)
static char * sp[MAXSTRINGCHARS];
static int inited = 0;
#endif /* SLOWMULTIPLY */
- register char * bufcur;
- register char * stringcur;
- register int stringno;
- register int lowstringno;
- register int highstringno;
+ char * bufcur;
+ char * stringcur;
+ int stringno;
+ int lowstringno;
+ int highstringno;
int dupwanted;
#ifdef SLOWMULTIPLY
@@ -641,7 +641,7 @@ int l1_isstringch(char *ptr, int len, int canon) {
int
ISpellChecker::strtoichar (ichar_t *out, char *in, int outlen, int canonical)
{
- register int len = 1; /* Length of next character */
+ int len = 1; /* Length of next character */
outlen /= sizeof (ichar_t); /* Convert to an ichar_t count */
for ( ; --outlen > 0 && *in != '\0'; in += len)
@@ -674,9 +674,9 @@ ISpellChecker::strtoichar (ichar_t *out, char *in, int outlen, int canonical)
int
ISpellChecker::ichartostr ( char *out, ichar_t *in, int outlen, int canonical)
{
- register int ch; /* Next character to store */
- register int i; /* Index into duplicates list */
- register char * scharp; /* Pointer into a string char */
+ int ch; /* Next character to store */
+ int i; /* Index into duplicates list */
+ char * scharp; /* Pointer into a string char */
while (--outlen > 0 && (ch = *in++) != 0)
{
@@ -796,7 +796,7 @@ icharcpy (ichar_t *out, ichar_t *in)
int
icharlen (ichar_t * in)
{
- register int len; /* Length so far */
+ int len; /* Length so far */
for (len = 0; *in++ != 0; len++)
;
@@ -862,7 +862,7 @@ ISpellChecker::findfiletype (const char *name, int searchnames, int *deformatter
{
char * cp; /* Pointer into suffix list */
int cplen; /* Length of current suffix */
- register int i; /* Index into type table */
+ int i; /* Index into type table */
int len; /* Length of the name */
/*
diff --git a/kspell2/plugins/ispell/tgood.cpp b/kspell2/plugins/ispell/tgood.cpp
index 06fbc99ef..859eee62f 100644
--- a/kspell2/plugins/ispell/tgood.cpp
+++ b/kspell2/plugins/ispell/tgood.cpp
@@ -243,7 +243,7 @@
void ISpellChecker::chk_aff (ichar_t *word, ichar_t *ucword,
int len, int ignoreflagbits, int allhits, int pfxopts, int sfxopts)
{
- register ichar_t * cp; /* Pointer to char to index on */
+ ichar_t * cp; /* Pointer to char to index on */
struct flagptr * ind; /* Flag index table to test */
pfx_list_chk (word, ucword, len, pfxopts, sfxopts, &m_pflagindex[0],
@@ -293,13 +293,13 @@ void ISpellChecker::pfx_list_chk (ichar_t *word, ichar_t *ucword, int len, int o
int sfxopts, struct flagptr * ind, int ignoreflagbits, int allhits)
{
int cond; /* Condition number */
- register ichar_t * cp; /* Pointer into end of ucword */
+ ichar_t * cp; /* Pointer into end of ucword */
struct dent * dent; /* Dictionary entry we found */
int entcount; /* Number of entries to process */
- register struct flagent *
+ struct flagent *
flent; /* Current table entry */
int preadd; /* Length added to tword2 as prefix */
- register int tlen; /* Length of tword */
+ int tlen; /* Length of tword */
ichar_t tword[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4]; /* Tmp cpy */
ichar_t tword2[sizeof tword]; /* 2nd copy for ins_root_cap */
@@ -414,7 +414,7 @@ ISpellChecker::chk_suf (ichar_t *word, ichar_t *ucword,
int len, int optflags, struct flagent *pfxent,
int ignoreflagbits, int allhits)
{
- register ichar_t * cp; /* Pointer to char to index on */
+ ichar_t * cp; /* Pointer to char to index on */
struct flagptr * ind; /* Flag index table to test */
suf_list_chk (word, ucword, len, &m_sflagindex[0], optflags, pfxent,
@@ -458,14 +458,14 @@ void ISpellChecker::suf_list_chk (ichar_t *word, ichar_t *ucword,
int len, struct flagptr *ind, int optflags,
struct flagent *pfxent, int ignoreflagbits, int allhits)
{
- register ichar_t * cp; /* Pointer into end of ucword */
+ ichar_t * cp; /* Pointer into end of ucword */
int cond; /* Condition number */
struct dent * dent; /* Dictionary entry we found */
int entcount; /* Number of entries to process */
- register struct flagent *
+ struct flagent *
flent; /* Current table entry */
int preadd; /* Length added to tword2 as prefix */
- register int tlen; /* Length of tword */
+ int tlen; /* Length of tword */
ichar_t tword[INPUTWORDLEN + 4 * MAXAFFIXLEN + 4]; /* Tmp cpy */
ichar_t tword2[sizeof tword]; /* 2nd copy for ins_root_cap */
@@ -599,7 +599,7 @@ int ISpellChecker::expand_pre (char *croot, ichar_t *rootword, MASKTYPE mask[],
{
int entcount; /* No. of entries to process */
int explength; /* Length of expansions */
- register struct flagent *
+ struct flagent *
flent; /* Current table entry */
for (flent = m_pflaglist, entcount = m_numpflags, explength = 0;
@@ -630,7 +630,7 @@ int ISpellChecker::pr_pre_expansion ( char *croot, ichar_t *rootword,
char *extra)
{
int cond; /* Current condition number */
- register ichar_t * nextc; /* Next case choice */
+ ichar_t * nextc; /* Next case choice */
int tlen; /* Length of tword */
ichar_t tword[INPUTWORDLEN + MAXAFFIXLEN]; /* Temp */
@@ -728,7 +728,7 @@ int ISpellChecker::expand_suf (char *croot, ichar_t *rootword, MASKTYPE mask[],
{
int entcount; /* No. of entries to process */
int explength; /* Length of expansions */
- register struct flagent *
+ struct flagent *
flent; /* Current table entry */
for (flent = m_sflaglist, entcount = m_numsflags, explength = 0;
@@ -761,7 +761,7 @@ int ISpellChecker::pr_suf_expansion (char *croot, ichar_t *rootword,
struct flagent *flent, int option, char *extra)
{
int cond; /* Current condition number */
- register ichar_t * nextc; /* Next case choice */
+ ichar_t * nextc; /* Next case choice */
int tlen; /* Length of tword */
ichar_t tword[INPUTWORDLEN + MAXAFFIXLEN]; /* Temp */
diff --git a/kspell2/ui/configui.ui b/kspell2/ui/configui.ui
index d6f6e596b..d998ff737 100644
--- a/kspell2/ui/configui.ui
+++ b/kspell2/ui/configui.ui
@@ -102,13 +102,9 @@
<customwidgets>
</customwidgets>
<includes>
- <include location="global" impldecl="in implementation">keditlistbox.h</include>
<include location="global" impldecl="in implementation">kcombobox.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">keditlistbox.h</include>
</includes>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kcombobox.h</includehint>
- <includehint>keditlistbox.h</includehint>
- <includehint>klineedit.h</includehint>
-</includehints>
</UI>
diff --git a/kstyles/plastik/plastik.cpp b/kstyles/plastik/plastik.cpp
index dfa6fb341..f3cc624e5 100644
--- a/kstyles/plastik/plastik.cpp
+++ b/kstyles/plastik/plastik.cpp
@@ -824,15 +824,15 @@ void PlastikStyle::renderGradient(TQPainter *painter,
int rDiff, gDiff, bDiff;
int rc, gc, bc;
- register int x, y;
+ int x, y;
rDiff = ( c2.red()) - (rc = c1.red());
gDiff = ( c2.green()) - (gc = c1.green());
bDiff = ( c2.blue()) - (bc = c1.blue());
- register int rl = rc << 16;
- register int gl = gc << 16;
- register int bl = bc << 16;
+ int rl = rc << 16;
+ int gl = gc << 16;
+ int bl = bc << 16;
int rdelta = ((1<<16) / (horizontal ? r_h : r_w)) * rDiff;
int gdelta = ((1<<16) / (horizontal ? r_h : r_w)) * gDiff;
diff --git a/kutils/CMakeLists.txt b/kutils/CMakeLists.txt
index f0c2c135e..a36b2cf4c 100644
--- a/kutils/CMakeLists.txt
+++ b/kutils/CMakeLists.txt
@@ -62,5 +62,4 @@ tde_add_library( ${target} SHARED AUTOMOC
EMBED ksettings-static
LINK kparts-shared
DESTINATION ${LIB_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
diff --git a/kwallet/backend/tests/CMakeLists.txt b/kwallet/backend/tests/CMakeLists.txt
index 52e2868f0..4cf4d1e34 100644
--- a/kwallet/backend/tests/CMakeLists.txt
+++ b/kwallet/backend/tests/CMakeLists.txt
@@ -29,6 +29,7 @@ tde_add_check_executable( backendtest AUTOMOC
LINK kwalletbackend-shared kwalletclient-shared )
add_test( NAME "kwallet/backed/backendtest"
COMMAND sh -x "${CMAKE_CURRENT_SOURCE_DIR}/backendtest.sh" )
+set_tests_properties( "kwallet/backed/backendtest" PROPERTIES TIMEOUT 30)
tde_add_check_executable( testbf AUTOMOC
SOURCES testbf.cpp ../blockcipher.cc ../blowfish.cc
LINK kwalletbackend-shared kwalletclient-shared TEST )
diff --git a/kwallet/backend/tests/backendtest.sh b/kwallet/backend/tests/backendtest.sh
index d3a6ef0e1..d4f1ba686 100644
--- a/kwallet/backend/tests/backendtest.sh
+++ b/kwallet/backend/tests/backendtest.sh
@@ -3,11 +3,16 @@
# create temporary home
export HOME=$PWD/test-home
mkdir $HOME
+export ICEAUTHORITY=$HOME/.ICEauthority
# run dcop server
../../../dcop/dcopserver --nofork &
DCOP_SERVER_PID=$!
+while ! ../../../dcop/dcopserver --serverid 2>/dev/null; do
+ sleep 2
+done
+
# perform test
./backendtest
STATE=$?
diff --git a/kwallet/client/CMakeLists.txt b/kwallet/client/CMakeLists.txt
index 3c2e68cb6..25187d337 100644
--- a/kwallet/client/CMakeLists.txt
+++ b/kwallet/client/CMakeLists.txt
@@ -41,6 +41,5 @@ tde_add_library( ${target} SHARED AUTOMOC
SOURCES ${${target}_SRCS}
VERSION 1.0.1
LINK kdecore-shared
- DEPENDENCIES dcopidl
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/libkmid/CMakeLists.txt b/libkmid/CMakeLists.txt
index fa7c957bc..a1ba6f119 100644
--- a/libkmid/CMakeLists.txt
+++ b/libkmid/CMakeLists.txt
@@ -46,6 +46,7 @@ set( ${target}_SRCS
tde_add_library( ${target} SHARED
SOURCES ${${target}_SRCS}
VERSION 0.0.95
- LINK kdecore-shared ${ALSA_LIBRARIES}
+ LINK kdecore-shared
+ LINK_PRIVATE ${ALSA_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)
diff --git a/mimetypes/application/CMakeLists.txt b/mimetypes/application/CMakeLists.txt
index 283d8cdf8..2923e52f6 100644
--- a/mimetypes/application/CMakeLists.txt
+++ b/mimetypes/application/CMakeLists.txt
@@ -21,7 +21,8 @@ install( FILES
x-jar.desktop x-arj.desktop x-tarz.desktop
x-gzpostscript.desktop postscript.desktop octet-stream.desktop
x-shellscript.desktop x-desktop.desktop
- x-executable.desktop x-executable-script.desktop x-archive.desktop x-lha.desktop
+ x-executable.desktop x-pie-executable.desktop x-executable-script.desktop
+ x-archive.desktop x-lha.desktop
x-tbz.desktop x-tgz.desktop x-awk.desktop
x-perl.desktop x-perl-module.desktop x-compress.desktop x-cpio.desktop
x-rpm.desktop msword.desktop x-sharedlib.desktop
diff --git a/mimetypes/application/Makefile.am b/mimetypes/application/Makefile.am
index c4e2eeb34..8865b1a1d 100644
--- a/mimetypes/application/Makefile.am
+++ b/mimetypes/application/Makefile.am
@@ -8,7 +8,8 @@ mimetypeapplicationdata_DATA = x-dvi.desktop x-gzdvi.desktop x-bz2dvi.desktop \
x-jar.desktop x-arj.desktop x-tarz.desktop \
x-gzpostscript.desktop postscript.desktop octet-stream.desktop \
x-shellscript.desktop x-desktop.desktop \
- x-executable.desktop x-executable-script.desktop x-archive.desktop x-lha.desktop \
+ x-executable.desktop x-pie-executable.desktop x-executable-script.desktop \
+ x-archive.desktop x-lha.desktop \
x-tbz.desktop x-tgz.desktop x-awk.desktop \
x-perl.desktop x-perl-module.desktop x-compress.desktop x-cpio.desktop \
x-rpm.desktop msword.desktop x-sharedlib.desktop \
diff --git a/mimetypes/application/x-pie-executable.desktop b/mimetypes/application/x-pie-executable.desktop
new file mode 100644
index 000000000..edc09d7f0
--- /dev/null
+++ b/mimetypes/application/x-pie-executable.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Comment=Executable File
+Icon=application-x-executable
+Type=MimeType
+MimeType=application/x-pie-executable
+X-TDE-IsAlso=application/x-executable
diff --git a/networkstatus/CMakeLists.txt b/networkstatus/CMakeLists.txt
index b784580f5..2fd0871ca 100644
--- a/networkstatus/CMakeLists.txt
+++ b/networkstatus/CMakeLists.txt
@@ -65,7 +65,6 @@ tde_add_library( ${target} SHARED AUTOMOC
VERSION 0.0.0
LINK networkstatus-shared
DESTINATION ${LIB_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
@@ -82,7 +81,6 @@ tde_add_kpart( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK kdeinit_kded-shared networkstatus-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
- DEPENDENCIES dcopidl
)
@@ -98,5 +96,4 @@ tde_add_executable( ${target} AUTOMOC
SOURCES ${${target}_SRCS}
LINK networkstatus-shared
DESTINATION ${BIN_INSTALL_DIR}
- DEPENDENCIES dcopidl
)