rev 7647 - in branches/kde4/packages/kdepimlibs/debian: . patches
Fathi Boudra
fboudra-guest at alioth.debian.org
Thu Oct 25 13:37:24 UTC 2007
Author: fboudra-guest
Date: 2007-10-25 13:37:24 +0000 (Thu, 25 Oct 2007)
New Revision: 7647
Added:
branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff
Removed:
branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r726760.diff
Modified:
branches/kde4/packages/kdepimlibs/debian/changelog
branches/kde4/packages/kdepimlibs/debian/patches/series
Log:
* svn branch pull to r729270.
Modified: branches/kde4/packages/kdepimlibs/debian/changelog
===================================================================
--- branches/kde4/packages/kdepimlibs/debian/changelog 2007-10-25 13:27:56 UTC (rev 7646)
+++ branches/kde4/packages/kdepimlibs/debian/changelog 2007-10-25 13:37:24 UTC (rev 7647)
@@ -1,11 +1,19 @@
kdepimlibs (3.94.0-3) experimental; urgency=low
+ +++ Changes by Fathi Boudra:
+
+ * svn branch pull to r729270.
+
+ +++ Changes by Armin Berres:
+
* Build depend on kdelibs5-dev >= 4:3.94.0-2.
- -- Armin Berres <trigger+debian at space-based.de> Sat, 20 Oct 2007 14:19:59 +0200
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Sat, 20 Oct 2007 14:19:59 +0200
kdepimlibs (3.94.0-2) experimental; urgency=low
+ +++ Changes by Fathi Boudra:
+
* svn branch pull to r726760.
+++ Changes by Armin Berres:
Deleted: branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r726760.diff
Added: branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff
===================================================================
--- branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff (rev 0)
+++ branches/kde4/packages/kdepimlibs/debian/patches/01_kdepimlibs_branch_r729270.diff 2007-10-25 13:37:24 UTC (rev 7647)
@@ -0,0 +1,8104 @@
+--- a/kxmlrpcclient/CMakeLists.txt
++++ b/kxmlrpcclient/CMakeLists.txt
+@@ -13,7 +13,11 @@
+ target_link_libraries(kxmlrpcclient ${KDE4_KIO_LIBS})
+
+ set_target_properties(kxmlrpcclient PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kxmlrpcclient DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kxmlrpcclient
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
+--- a/qgpgme/eventloopinteractor_win.cpp
++++ b/qgpgme/eventloopinteractor_win.cpp
+@@ -55,20 +55,40 @@
+ ok = false;
+ return 0;
+ }
+- iod->bytesAvailable(); //HACK: tell KDPipeIODevices to start it's threads
+ if ( dir == Read ) {
+ static QSignalMapper * rsm = setupReadSignalMapper( this );
+- rsm->setMapping( iod, fd );
+- connect( iod, SIGNAL(readyRead()), rsm, SLOT(map()) );
++ if ( !rsm->mapping( fd ) ) {
++ rsm->setMapping( iod, fd );
++ connect( iod, SIGNAL(readyRead()), rsm, SLOT(map()) );
++ } else {
++ // if this fd is already registered, gpgme registers an additional
++ // callback for the same fd.
++ // if there is already something to read when registering the new
++ // callback, gpgme expects the new callback to be called, so we
++ // trigger it"
++ QMetaObject::invokeMethod( this, "slotReadActivity", Qt::QueuedConnection, Q_ARG( int, fd ) );
++ }
+ } else {
+ static QSignalMapper * wsm = setupWriteSignalMapper( this );
+- wsm->setMapping( iod, fd );
+- connect( iod, SIGNAL(bytesWritten(qint64)), wsm, SLOT(map()) );
++ if ( !wsm->mapping( fd ) ) {
++ wsm->setMapping( iod, fd );
++ connect( iod, SIGNAL(bytesWritten(qint64)), wsm, SLOT(map()) );
++ } else {
++ // if this fd is already registered, gpgme registers an additional
++ // callback for the same fd.
++ // if the device is writable when registering the new
++ // callback, gpgme expects the new callback to be called, so we
++ // trigger it:
++ QMetaObject::invokeMethod( this, "slotWriteActivity", Qt::QueuedConnection, Q_ARG( int, fd ) );
++ }
+ }
++
+ ok = true;
+ IO * const io = new IO;
+ io->device = iod;
+ io->direction = dir;
++ iod->bytesAvailable(); //HACK: tell KDPipeIODevices to start their threads
++ iod->bytesToWrite();
+ return io;
+ }
+
+--- a/qgpgme/CMakeLists.txt
++++ b/qgpgme/CMakeLists.txt
+@@ -46,7 +46,11 @@
+ SOVERSION 1.0.0
+ )
+
+- install( TARGETS qgpgme DESTINATION ${LIB_INSTALL_DIR} )
++ install( TARGETS qgpgme
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ )
+
+ install( FILES qgpgme_export.h eventloopinteractor.h dataprovider.h DESTINATION ${INCLUDE_INSTALL_DIR}/qgpgme )
+
+--- a/kpimutils/linklocator.cpp
++++ b/kpimutils/linklocator.cpp
+@@ -432,9 +432,13 @@
+ } else {
+ const QString imageName = (*s_smileyEmoticonNameMap)[smiley];
+
++ QString emotIconTheme = EmotIcons::theme();
++ if (emotIconTheme == "Default")
++ emotIconTheme = "kde4";
++
+ const QString iconPath =
+ KStandardDirs::locate( "emoticons",
+- EmotIcons::theme() +
++ emotIconTheme +
+ QString::fromLatin1( "/" ) +
+ imageName + QString::fromLatin1( ".png" ) );
+
+--- a/kpimutils/CMakeLists.txt
++++ b/kpimutils/CMakeLists.txt
+@@ -13,7 +13,11 @@
+ target_link_libraries(kpimutils ${KDE4_KDEUI_LIBS})
+
+ set_target_properties(kpimutils PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kpimutils DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kpimutils
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
+--- a/kpimidentities/signature.cpp
++++ b/kpimidentities/signature.cpp
+@@ -189,10 +189,10 @@
+ mType = Inlined;
+ } else if ( sigType == sigTypeFileValue ) {
+ mType = FromFile;
+- mUrl = config.readPathEntry( sigFileKey );
++ mUrl = config.readPathEntry( sigFileKey, QString() );
+ } else if ( sigType == sigTypeCommandValue ) {
+ mType = FromCommand;
+- mUrl = config.readPathEntry( sigCommandKey );
++ mUrl = config.readPathEntry( sigCommandKey, QString() );
+ } else {
+ mType = Disabled;
+ }
+--- a/kpimidentities/CMakeLists.txt
++++ b/kpimidentities/CMakeLists.txt
+@@ -10,7 +10,11 @@
+ target_link_libraries(kpimidentities ${QT_AND_KDECORE_LIBS} kpimutils ${KDE4_KIO_LIBS})
+
+ set_target_properties(kpimidentities PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kpimidentities DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS kpimidentities
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ install(FILES org.kde.pim.IdentityManager.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR})
+ install(FILES
+--- a/syndication/tests/CMakeLists.txt
++++ b/syndication/tests/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
+-include_directories( ${CMAKE_SOURCE_DIR}/syndication/ ${Boost_INCLUDE_DIR} )
++include_directories( ../ ${Boost_INCLUDE_DIR} )
+
+
+ ########### next target ###############
+--- a/syndication/CMakeLists.txt
++++ b/syndication/CMakeLists.txt
+@@ -12,78 +12,78 @@
+ ########### next target ###############
+
+ set(librss2local_SRCS
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/category.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/cloud.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/document.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/enclosure.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/image.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/item.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/parser.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/source.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/textinput.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rss2/tools_p.cpp
++ ./rss2/category.cpp
++ ./rss2/cloud.cpp
++ ./rss2/document.cpp
++ ./rss2/enclosure.cpp
++ ./rss2/image.cpp
++ ./rss2/item.cpp
++ ./rss2/parser.cpp
++ ./rss2/source.cpp
++ ./rss2/textinput.cpp
++ ./rss2/tools_p.cpp
+ )
+
+
+ set(librdflocal_la_SRCS
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/parser.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/dublincorevocab.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/dublincore.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/syndicationvocab.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/syndicationinfo.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/contentvocab.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/item.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/image.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/textinput.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/document.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/rssvocab.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/node.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/property.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/literal.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/resource.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/model.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/modelmaker.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/rdfvocab.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/sequence.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/statement.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/resourcewrapper.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/rdf/nodevisitor.cpp
++ ./rdf/parser.cpp
++ ./rdf/dublincorevocab.cpp
++ ./rdf/dublincore.cpp
++ ./rdf/syndicationvocab.cpp
++ ./rdf/syndicationinfo.cpp
++ ./rdf/contentvocab.cpp
++ ./rdf/item.cpp
++ ./rdf/image.cpp
++ ./rdf/textinput.cpp
++ ./rdf/document.cpp
++ ./rdf/rssvocab.cpp
++ ./rdf/node.cpp
++ ./rdf/property.cpp
++ ./rdf/literal.cpp
++ ./rdf/resource.cpp
++ ./rdf/model.cpp
++ ./rdf/modelmaker.cpp
++ ./rdf/rdfvocab.cpp
++ ./rdf/sequence.cpp
++ ./rdf/statement.cpp
++ ./rdf/resourcewrapper.cpp
++ ./rdf/nodevisitor.cpp
+ )
+
+ set(libatomlocal_SRCS
+- ${CMAKE_SOURCE_DIR}/syndication/atom/category.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/constants.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/content.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/document.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/entry.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/generator.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/link.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/parser.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/person.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/source.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/atom/atomtools.cpp
++ ./atom/category.cpp
++ ./atom/constants.cpp
++ ./atom/content.cpp
++ ./atom/document.cpp
++ ./atom/entry.cpp
++ ./atom/generator.cpp
++ ./atom/link.cpp
++ ./atom/parser.cpp
++ ./atom/person.cpp
++ ./atom/source.cpp
++ ./atom/atomtools.cpp
+ )
+
+
+ set(libmapperrss2local_SRCS
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/feedrss2impl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/itemrss2impl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/enclosurerss2impl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/categoryrss2impl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/imagerss2impl.cpp
++ ./mapper/feedrss2impl.cpp
++ ./mapper/itemrss2impl.cpp
++ ./mapper/enclosurerss2impl.cpp
++ ./mapper/categoryrss2impl.cpp
++ ./mapper/imagerss2impl.cpp
+ )
+
+ set(libmapperrdflocal_SRCS
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/feedrdfimpl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/itemrdfimpl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/imagerdfimpl.cpp
++ ./mapper/feedrdfimpl.cpp
++ ./mapper/itemrdfimpl.cpp
++ ./mapper/imagerdfimpl.cpp
+ )
+
+ set(libmapperatomlocal_SRCS
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/feedatomimpl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/itematomimpl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/enclosureatomimpl.cpp
+- ${CMAKE_SOURCE_DIR}/syndication/mapper/categoryatomimpl.cpp
++ ./mapper/feedatomimpl.cpp
++ ./mapper/itematomimpl.cpp
++ ./mapper/enclosureatomimpl.cpp
++ ./mapper/categoryatomimpl.cpp
+ )
+
+ set(syndication_LIB_SRCS
+@@ -120,8 +120,11 @@
+ target_link_libraries(syndication ${KDE4_KIO_LIBS} )
+
+ set_target_properties(syndication PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS syndication DESTINATION ${LIB_INSTALL_DIR})
+-
++install(TARGETS syndication
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
+--- a/kresources/kresources_manager.desktop
++++ b/kresources/kresources_manager.desktop
+@@ -11,6 +11,7 @@
+ Comment[hu]=Erőforráskezelő
+ Comment[ja]=K リソースマネージャ
+ Comment[lt]=KResouse tvarkyklė
++Comment[nds]=KResource-Pleger
+ Comment[nl]=KResource-beheerder
+ Comment[pa]=ਕੇ-ਰੀਸੋਰਸ ਮੈਨੇਜਰ
+ Comment[pt]=Gestor do KResource
+--- a/kresources/kresources.desktop
++++ b/kresources/kresources.desktop
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Exec=kcmshell kresources
++Exec=kcmshell4 kresources
+ Icon=date
+ Type=Service
+ ServiceTypes=KCModule
+@@ -11,6 +11,7 @@
+ Name=KDE Resources
+ Name[be]=Рэсурсы KDE
+ Name[ca]=Recursos del KDE
++Name[cs]=Zdroje KDE
+ Name[de]=KDE-Ressourcen
+ Name[el]=Πόροι του KDE
+ Name[es]=Recursos KDE
+@@ -18,6 +19,7 @@
+ Name[hu]=KDE-erőforrások
+ Name[ja]=KDE リソース
+ Name[lt]=KDE resursai
++Name[nds]=KDE Ressourcen
+ Name[nl]=KDE-hulpbronnen
+ Name[pa]=KDE ਸਰੋਤ
+ Name[pt]=Recursos do KDE
+@@ -38,6 +40,7 @@
+ Comment[hu]=A KDE-erőforrások beállítása
+ Comment[ja]=KDE リソースの設定
+ Comment[lt]=Konfigūruoti KDE resursus
++Comment[nds]=KDE Ressourcen instellen
+ Comment[nl]=KDE-hulpbronnen instellen
+ Comment[pt]=Configurar os Recursos do KDE
+ Comment[sv]=Anpassa KDE-resurser
+--- a/kresources/Mainpage.dox
++++ b/kresources/Mainpage.dox
+@@ -56,7 +56,7 @@
+ : Resource( config )
+ {
+ if ( config ) {
+- mLocation = config->readPathEntry( "Location" );
++ mLocation = config->readPathEntry( "Location", QString() );
+ mPassword = KStringHandler::obscure( config->readEntry( "Password" ) );
+ } else {
+ mLocation = ""; // Or some sensible default
+--- a/kresources/kresources_plugin.desktop
++++ b/kresources/kresources_plugin.desktop
+@@ -5,12 +5,13 @@
+ Comment=KResource Framework Plugin
+ Comment[ca]=Connector del marc de treball pel KResource
+ Comment[de]=Modul für KResource-Framework
+-Comment[el]=Εφαρμογίδιο πλαισίου εργασίας του KResource
++Comment[el]=Μικροεφαρμογή πλαισίου εργασίας του KResource
+ Comment[es]=Extensión de estructura KResource
+ Comment[ga]=Breiseán Creatlaí KResource
+ Comment[hu]=Modul a KResource keretrendszerhez
+ Comment[ja]=K リソース・フレームワーク・プラグイン
+ Comment[lt]=KResource struktūros priedas
++Comment[nds]=Rahmenwark-Moduul för KResource
+ Comment[nl]=KResource-raamwerkplugin
+ Comment[pt]='Plugin' da Plataforma do KResource
+ Comment[sv]=Insticksprogram för resursramverk
+--- a/kresources/CMakeLists.txt
++++ b/kresources/CMakeLists.txt
+@@ -28,8 +28,11 @@
+ target_link_libraries(kresources ${KDE4_KIO_LIBS} )
+
+ set_target_properties(kresources PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kresources DESTINATION ${LIB_INSTALL_DIR} )
+-
++install(TARGETS kresources
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### next target ###############
+
+--- a/kimap/CMakeLists.txt
++++ b/kimap/CMakeLists.txt
+@@ -12,7 +12,11 @@
+ target_link_libraries(kimap ${KDE4_KDECORE_LIBS})
+
+ set_target_properties(kimap PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kimap DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kimap
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
+--- a/kmime/CMakeLists.txt
++++ b/kmime/CMakeLists.txt
+@@ -35,7 +35,11 @@
+ target_link_libraries(kmime ${KDE4_KIO_LIBS} )
+
+ set_target_properties(kmime PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS kmime DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS kmime
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ install( FILES
+ boolflags.h
+--- a/kcal/resourcelocaldir.cpp
++++ b/kcal/resourcelocaldir.cpp
+@@ -66,7 +66,7 @@
+
+ void ResourceLocalDir::readConfig( const KConfigGroup &group )
+ {
+- QString url = group.readPathEntry( "CalendarURL" );
++ QString url = group.readPathEntry( "CalendarURL", QString() );
+ d->mURL = KUrl( url );
+ }
+
+--- a/kcal/resourcelocal.cpp
++++ b/kcal/resourcelocal.cpp
+@@ -67,7 +67,7 @@
+ : ResourceCached( group ), d( new ResourceLocal::Private() )
+ {
+ d->mLock = 0;
+- QString url = group.readPathEntry( "CalendarURL" );
++ QString url = group.readPathEntry( "CalendarURL", QString() );
+ d->mURL = KUrl( url );
+
+ QString format = group.readEntry( "Format" );
+--- a/kcal/localdir.desktop
++++ b/kcal/localdir.desktop
+@@ -2,6 +2,7 @@
+ Name=Calendar in Local Directory
+ Name[be]=Каляндар у мясцовай тэчцы
+ Name[ca]=Calendari en un directori local
++Name[cs]=Kalendář v místním adresáři
+ Name[de]=Kalender in lokalem Ordner
+ Name[el]=Ημερολόγιο σε τοπικό κατάλογο
+ Name[es]=Calendario en directorio local
+@@ -10,6 +11,7 @@
+ Name[hu]=Naptár helyi könyvtárban
+ Name[ja]=ローカルディレクトリのカレンダー
+ Name[lt]=Kalendorius vietiniame aplanke
++Name[nds]=Kalenner in'n lokalen Orner
+ Name[nl]=Agenda in lokale map
+ Name[pa]=ਲੋਕਲ ਡਾਇਰੈਕਟਰੀ 'ਚ ਕੈਲੰਡਰ
+ Name[pt]=Calendário numa Pasta Local
+--- a/kcal/resourcelocal_plugin.cpp
++++ b/kcal/resourcelocal_plugin.cpp
+@@ -25,10 +25,6 @@
+
+ using namespace KCal;
+
+-extern "C"
+-{
+- KDE_EXPORT void *init_kcal_local()
+- {
+- return new KRES::PluginFactory<ResourceLocal,ResourceLocalConfig>();
+- }
+-}
++typedef KRES::PluginFactory<ResourceLocal, ResourceLocalConfig> ResourceLocalFactory;
++
++K_EXPORT_PLUGIN(ResourceLocalFactory)
+--- a/kcal/local.desktop
++++ b/kcal/local.desktop
+@@ -2,6 +2,7 @@
+ Name=Calendar in Local File
+ Name[be]=Каляндар у мясцовым файлу
+ Name[ca]=Calendari en un fitxer local
++Name[cs]=Kalendář v místním souboru
+ Name[de]=Kalender in lokaler Datei
+ Name[el]=Ημερολόγιο σε τοπικό αρχείο
+ Name[es]=Calendario en archivo local
+@@ -9,7 +10,8 @@
+ Name[ga]=Féilire i gComhad Logánta
+ Name[hu]=Helyi naptárfájl
+ Name[ja]=ローカルファイルのカレンダー
+-Name[lt]=Kalendorius vietinėje byloje
++Name[lt]=Kalendorius vietiniame faile
++Name[nds]=Kalenner in en lokale Datei
+ Name[nl]=Agenda in lokaal bestand
+ Name[pa]=ਲੋਕਲ ਫਾਇਲ 'ਚ ਕੈਲੰਡਰ
+ Name[pt]=Calendário num Ficheiro Local
+--- a/kcal/kcal_manager.desktop
++++ b/kcal/kcal_manager.desktop
+@@ -12,7 +12,9 @@
+ Name[hu]=Naptár
+ Name[ja]=カレンダー
+ Name[lt]=Kalendorius
++Name[nds]=Kalenner
+ Name[nl]=Agenda
++Name[oc]=Calendièr
+ Name[pa]=ਕੈਲੰਡਰ
+ Name[pt]=Calendário
+ Name[sv]=Kalender
+--- a/kcal/libical/README.zoneinfo
++++ b/kcal/libical/README.zoneinfo
+@@ -4,9 +4,9 @@
+ from ftp://elsie.nci.nih.gov/pub/ to the tzdata subdir
+
+ % cd tzdata
+- % wget ftp://elsie.nci.nih.gov/pub/tzdata2007g.tar.gz
+- % cat tzdata2007g.tar.gz | gunzip -c | tar xvf -
+- % rm tzdata2007g.tar.gz
++ % wget ftp://elsie.nci.nih.gov/pub/tzdata2007h.tar.gz
++ % cat tzdata2007h.tar.gz | gunzip -c | tar xvf -
++ % rm tzdata2007h.tar.gz
+ % cd ..
+
+ 2. Make sure we have the most recent version of the vzic program
+@@ -30,19 +30,15 @@
+ % make
+ % cd ..
+
+- 4. Prepare for to generate the zoneinfo files
+-
+- % svn mv zoneinfo zoneinfo.bak
+-
+- 5. Do it!
++ 4. Do it!
+
+ % cd vzic-1.3
+ % ./vzic --pure --output-dir ../zoneinfo
+
+- 6. Cleanup
++ 5. Cleanup
+
+ % make clean
+
+- 7. Commit new tzdata and vzic, if necessary
++ 6. Commit new tzdata and vzic, if necessary
+
+- 8. Commit new zoneinfo and remove zoneinfo.bak
++ 7. Commit new zoneinfo
+--- a/kcal/libical/tzdata/southamerica
++++ b/kcal/libical/tzdata/southamerica
+@@ -1,4 +1,4 @@
+-# @(#)southamerica 8.11
++# @(#)southamerica 8.12
+ # <pre>
+
+ # This data is by no means authoritative; if you think you know better,
+@@ -424,6 +424,10 @@
+ # modern Brazilian eletronic voting machines which, apparently, can't deal
+ # with a time change between the first and the second rounds of the elections.
+
++# From Steffen Thorsen (2007-09-20):
++# Brazil will start DST on 2007-10-14 00:00 and end on 2008-02-17 00:00:
++# http://www.mme.gov.br/site/news/detail.do;jsessionid=BBA06811AFCAAC28F0285210913513DA?newsId=13975
++
+ # From Paul Eggert (2002-10-10):
+ # The official decrees referenced below are mostly taken from
+ # <a href="http://pcdsh01.on.br/DecHV.html">
+@@ -557,13 +561,18 @@
+ # Decree <a href="http://pcdsh01.on.br/DecHV5539.gif">5,539</a> (2005-09-19),
+ # adopted by the same states as before.
+ Rule Brazil 2005 only - Oct 16 0:00 1:00 S
+-# Decree <a href="http://www.planalto.gov.br/ccivil_03/_Ato2004-2006/2006/Decreto/D5920.htm">5,920</a>
+-# (2006-10-03), adopted by the same states as before.
+-Rule Brazil 2006 max - Nov Sun>=1 0:00 1:00 S
+-Rule Brazil 2007 max - Feb lastSun 0:00 0 -
++# Decree <a href="http://pcdsh01.on.br/DecHV5920.gif">5,920</a> (2006-10-03),
++# adopted by the same states as before.
++Rule Brazil 2006 only - Nov 5 0:00 1:00 S
++Rule Brazil 2007 only - Feb 25 0:00 0 -
++# (Decree number not yet known)
++# http://www.brasil.gov.br/noticias/ultimas_noticias/horario_verao070920/
++# (2007-09-20) after a heads-up from Steffen Thorsen:
++Rule Brazil 2007 max - Oct Sun>=8 0:00 1:00 S
++Rule Brazil 2008 max - Feb Sun>=15 0:00 0 -
+ # The latest ruleset listed above says that the following states observe DST:
+ # DF, ES, GO, MG, MS, MT, PR, RJ, RS, SC, SP.
+-# For dates after mid-2007, the above rules with TO="max" are guesses
++# For dates after mid-2008, the above rules with TO="max" are guesses
+ # and are quite possibly wrong, but are more likely than no DST at all.
+
+
+@@ -1097,8 +1106,20 @@
+ -3:00 Uruguay UY%sT
+
+ # Venezuela
++#
++# From Kiraz Janicke (2007-09-25), in
++# http://www.venezuelanalysis.com/analysis/2645:
++# The proposal ... involves turning the clock back half an hour from
++# +4.00 Greenwich Mean Time (GMT), to +4.30GMT, the time zone
++# Venezuela had until December 31, 1964, when the current time zone
++# was adopted. The change was due to take place on September 17 and
++# then on September 24, but has since been postponed until December
++# 31, to allow for compliance with international organizations, such
++# as the International Office of Weights and Measures.
++
+ # Zone NAME GMTOFF RULES FORMAT [UNTIL]
+ Zone America/Caracas -4:27:44 - LMT 1890
+ -4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time?
+ -4:30 - VET 1965 # Venezuela Time
+- -4:00 - VET
++ -4:00 - VET 2008
++ -4:30 - VET
+--- a/kcal/libical/tzdata/africa
++++ b/kcal/libical/tzdata/africa
+@@ -1,4 +1,4 @@
+-# @(#)africa 8.9
++# @(#)africa 8.10
+ # <pre>
+
+ # This data is by no means authoritative; if you think you know better,
+@@ -224,9 +224,19 @@
+ # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
+ # http://www.nentjes.info/Bill/bill5.htm
+ # http://www.timeanddate.com/worldclock/city.html?n=53
++# From Steffen Thorsen (2007-09-04): The official information...:
++# http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
++Rule Egypt 2007 only - Sep Thu>=1 23:00s 0 -
++# From Abdelrahman Hassan (2007-09-06):
++# Due to the Hijri (lunar Islamic calendar) year being 11 days shorter
++# than the year of the Gregorian calendar, Ramadan shifts earlier each
++# year. This year it will be observed September 13 (September is quite
++# hot in Egypt), and the idea is to make fasting easier for workers by
++# shifting business hours one hour out of daytime heat. Consequently,
++# unless discontinued, next DST may end Thursday 28 August 2008.
+ # From Paul Eggert (2007-08-17):
+-# For lack of better info, assume the new rule is first Thursday.
+-Rule Egypt 2007 max - Sep Thu>=1 23:00s 0 -
++# For lack of better info, assume the new rule is last Thursday in August.
++Rule Egypt 2008 max - Aug lastThu 23:00s 0 -
+
+ # Zone NAME GMTOFF RULES FORMAT [UNTIL]
+ Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
+--- a/kcal/libical/tzdata/asia
++++ b/kcal/libical/tzdata/asia
+@@ -1,4 +1,4 @@
+-# @(#)asia 8.11
++# @(#)asia 8.12
+ # <pre>
+
+ # This data is by no means authoritative; if you think you know better,
+@@ -568,14 +568,15 @@
+ # Reingold's/Dershowitz' calculator gives correctly the Gregorian date
+ # 2058-03-21 for 1 Farvardin 1437 (astronomical).
+ #
+-# From Paul Eggert (2006-03-22):
+-# The above comments about post-2006 transitions may become relevant again,
+-# if Iran ever resuscitates DST, so we'll leave the comments in.
+-#
+ # From Steffen Thorsen (2006-03-22):
+ # Several of my users have reported that Iran will not observe DST anymore:
+ # http://www.irna.ir/en/news/view/line-17/0603193812164948.htm
+ #
++# From Reuters (2007-09-16), with a heads-up from Jesper Norgaard Welen:
++# ... the Guardian Council ... approved a law on Sunday to re-introduce
++# daylight saving time ...
++# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916
++#
+ # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+ Rule Iran 1978 1980 - Mar 21 0:00 1:00 D
+ Rule Iran 1978 only - Oct 21 0:00 0 S
+@@ -596,6 +597,36 @@
+ Rule Iran 2004 only - Sep 21 0:00 0 S
+ Rule Iran 2005 only - Mar 22 0:00 1:00 D
+ Rule Iran 2005 only - Sep 22 0:00 0 S
++Rule Iran 2008 only - Mar 21 0:00 1:00 D
++Rule Iran 2008 only - Sep 21 0:00 0 S
++Rule Iran 2009 2011 - Mar 22 0:00 1:00 D
++Rule Iran 2009 2011 - Sep 22 0:00 0 S
++Rule Iran 2012 only - Mar 21 0:00 1:00 D
++Rule Iran 2012 only - Sep 21 0:00 0 S
++Rule Iran 2013 2015 - Mar 22 0:00 1:00 D
++Rule Iran 2013 2015 - Sep 22 0:00 0 S
++Rule Iran 2016 only - Mar 21 0:00 1:00 D
++Rule Iran 2016 only - Sep 21 0:00 0 S
++Rule Iran 2017 2019 - Mar 22 0:00 1:00 D
++Rule Iran 2017 2019 - Sep 22 0:00 0 S
++Rule Iran 2020 only - Mar 21 0:00 1:00 D
++Rule Iran 2020 only - Sep 21 0:00 0 S
++Rule Iran 2021 2023 - Mar 22 0:00 1:00 D
++Rule Iran 2021 2023 - Sep 22 0:00 0 S
++Rule Iran 2024 only - Mar 21 0:00 1:00 D
++Rule Iran 2024 only - Sep 21 0:00 0 S
++Rule Iran 2025 2027 - Mar 22 0:00 1:00 D
++Rule Iran 2025 2027 - Sep 22 0:00 0 S
++Rule Iran 2028 2029 - Mar 21 0:00 1:00 D
++Rule Iran 2028 2029 - Sep 21 0:00 0 S
++Rule Iran 2030 2031 - Mar 22 0:00 1:00 D
++Rule Iran 2030 2031 - Sep 22 0:00 0 S
++Rule Iran 2032 2033 - Mar 21 0:00 1:00 D
++Rule Iran 2032 2033 - Sep 21 0:00 0 S
++Rule Iran 2034 2035 - Mar 22 0:00 1:00 D
++Rule Iran 2034 2035 - Sep 22 0:00 0 S
++Rule Iran 2036 2037 - Mar 21 0:00 1:00 D
++Rule Iran 2036 2037 - Sep 21 0:00 0 S
+ # Zone NAME GMTOFF RULES FORMAT [UNTIL]
+ Zone Asia/Tehran 3:25:44 - LMT 1916
+ 3:25:44 - TMT 1946 # Tehran Mean Time
+@@ -1518,6 +1549,17 @@
+ # I guess it is likely that next year's date will be moved as well,
+ # because of the Ramadan.
+
++# From Jesper Norgaard Welen (2007-09-18):
++# According to Steffen Thorsen's web site the Gaza Strip and the rest of the
++# Palestinian territories left DST early on 13.th. of September at 2:00.
++
++# From Paul Eggert (2007-09-20):
++# My understanding is that Gaza and the West Bank disagree even over when
++# the weekend is (Thursday+Friday versus Friday+Saturday), so I'd be a bit
++# surprised if they agreed about DST. But for now, assume they agree.
++# For lack of better information, predict that future changes will be
++# the 2nd Thursday of September at 02:00.
++
+ # The rules for Egypt are stolen from the `africa' file.
+ # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+ Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
+@@ -1533,7 +1575,7 @@
+ Rule Palestine 2005 only - Oct 4 2:00 0 -
+ Rule Palestine 2006 max - Apr 1 0:00 1:00 S
+ Rule Palestine 2006 only - Sep 22 0:00 0 -
+-Rule Palestine 2007 max - Oct Fri>=15 0:00 0 -
++Rule Palestine 2007 max - Sep Thu>=8 2:00 0 -
+
+ # Zone NAME GMTOFF RULES FORMAT [UNTIL]
+ Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
+--- a/kcal/libical/zoneinfo/Atlantic/Madeira.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Madeira.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Madeira
++TZID:/kde.org/Olson_20071016_1/Atlantic/Madeira
+ X-LIC-LOCATION:Atlantic/Madeira
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Atlantic/St_Helena.ics
++++ b/kcal/libical/zoneinfo/Atlantic/St_Helena.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/St_Helena
++TZID:/kde.org/Olson_20071016_1/Atlantic/St_Helena
+ X-LIC-LOCATION:Atlantic/St_Helena
+ BEGIN:STANDARD
+ TZOFFSETFROM:-002248
+--- a/kcal/libical/zoneinfo/Atlantic/Azores.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Azores.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Azores
++TZID:/kde.org/Olson_20071016_1/Atlantic/Azores
+ X-LIC-LOCATION:Atlantic/Azores
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0100
+--- a/kcal/libical/zoneinfo/Atlantic/Faroe.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Faroe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Faroe
++TZID:/kde.org/Olson_20071016_1/Atlantic/Faroe
+ X-LIC-LOCATION:Atlantic/Faroe
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Atlantic/Canary.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Canary.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Canary
++TZID:/kde.org/Olson_20071016_1/Atlantic/Canary
+ X-LIC-LOCATION:Atlantic/Canary
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Atlantic/Cape_Verde.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Cape_Verde.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Cape_Verde
++TZID:/kde.org/Olson_20071016_1/Atlantic/Cape_Verde
+ X-LIC-LOCATION:Atlantic/Cape_Verde
+ BEGIN:STANDARD
+ TZOFFSETFROM:-013404
+--- a/kcal/libical/zoneinfo/Atlantic/Bermuda.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Bermuda.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Bermuda
++TZID:/kde.org/Olson_20071016_1/Atlantic/Bermuda
+ X-LIC-LOCATION:Atlantic/Bermuda
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/Atlantic/Reykjavik.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Reykjavik.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Reykjavik
++TZID:/kde.org/Olson_20071016_1/Atlantic/Reykjavik
+ X-LIC-LOCATION:Atlantic/Reykjavik
+ BEGIN:STANDARD
+ TZOFFSETFROM:-012724
+--- a/kcal/libical/zoneinfo/Atlantic/South_Georgia.ics
++++ b/kcal/libical/zoneinfo/Atlantic/South_Georgia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/South_Georgia
++TZID:/kde.org/Olson_20071016_1/Atlantic/South_Georgia
+ X-LIC-LOCATION:Atlantic/South_Georgia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-022608
+--- a/kcal/libical/zoneinfo/Atlantic/Stanley.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Stanley.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Stanley
++TZID:/kde.org/Olson_20071016_1/Atlantic/Stanley
+ X-LIC-LOCATION:Atlantic/Stanley
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/Atlantic/Jan_Mayen.ics
++++ b/kcal/libical/zoneinfo/Atlantic/Jan_Mayen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Atlantic/Jan_Mayen
++TZID:/kde.org/Olson_20071016_1/Atlantic/Jan_Mayen
+ X-LIC-LOCATION:Atlantic/Jan_Mayen
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Rome.ics
++++ b/kcal/libical/zoneinfo/Europe/Rome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Rome
++TZID:/kde.org/Olson_20071016_1/Europe/Rome
+ X-LIC-LOCATION:Europe/Rome
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Chisinau.ics
++++ b/kcal/libical/zoneinfo/Europe/Chisinau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Chisinau
++TZID:/kde.org/Olson_20071016_1/Europe/Chisinau
+ X-LIC-LOCATION:Europe/Chisinau
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Warsaw.ics
++++ b/kcal/libical/zoneinfo/Europe/Warsaw.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Warsaw
++TZID:/kde.org/Olson_20071016_1/Europe/Warsaw
+ X-LIC-LOCATION:Europe/Warsaw
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Helsinki.ics
++++ b/kcal/libical/zoneinfo/Europe/Helsinki.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Helsinki
++TZID:/kde.org/Olson_20071016_1/Europe/Helsinki
+ X-LIC-LOCATION:Europe/Helsinki
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Podgorica.ics
++++ b/kcal/libical/zoneinfo/Europe/Podgorica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Podgorica
++TZID:/kde.org/Olson_20071016_1/Europe/Podgorica
+ X-LIC-LOCATION:Europe/Podgorica
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Berlin.ics
++++ b/kcal/libical/zoneinfo/Europe/Berlin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Berlin
++TZID:/kde.org/Olson_20071016_1/Europe/Berlin
+ X-LIC-LOCATION:Europe/Berlin
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Oslo.ics
++++ b/kcal/libical/zoneinfo/Europe/Oslo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Oslo
++TZID:/kde.org/Olson_20071016_1/Europe/Oslo
+ X-LIC-LOCATION:Europe/Oslo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Dublin.ics
++++ b/kcal/libical/zoneinfo/Europe/Dublin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Dublin
++TZID:/kde.org/Olson_20071016_1/Europe/Dublin
+ X-LIC-LOCATION:Europe/Dublin
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Paris.ics
++++ b/kcal/libical/zoneinfo/Europe/Paris.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Paris
++TZID:/kde.org/Olson_20071016_1/Europe/Paris
+ X-LIC-LOCATION:Europe/Paris
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Simferopol.ics
++++ b/kcal/libical/zoneinfo/Europe/Simferopol.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Simferopol
++TZID:/kde.org/Olson_20071016_1/Europe/Simferopol
+ X-LIC-LOCATION:Europe/Simferopol
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Vienna.ics
++++ b/kcal/libical/zoneinfo/Europe/Vienna.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vienna
++TZID:/kde.org/Olson_20071016_1/Europe/Vienna
+ X-LIC-LOCATION:Europe/Vienna
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Minsk.ics
++++ b/kcal/libical/zoneinfo/Europe/Minsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Minsk
++TZID:/kde.org/Olson_20071016_1/Europe/Minsk
+ X-LIC-LOCATION:Europe/Minsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Istanbul.ics
++++ b/kcal/libical/zoneinfo/Europe/Istanbul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Istanbul
++TZID:/kde.org/Olson_20071016_1/Europe/Istanbul
+ X-LIC-LOCATION:Europe/Istanbul
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Athens.ics
++++ b/kcal/libical/zoneinfo/Europe/Athens.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Athens
++TZID:/kde.org/Olson_20071016_1/Europe/Athens
+ X-LIC-LOCATION:Europe/Athens
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Kaliningrad.ics
++++ b/kcal/libical/zoneinfo/Europe/Kaliningrad.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Kaliningrad
++TZID:/kde.org/Olson_20071016_1/Europe/Kaliningrad
+ X-LIC-LOCATION:Europe/Kaliningrad
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Bratislava.ics
++++ b/kcal/libical/zoneinfo/Europe/Bratislava.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Bratislava
++TZID:/kde.org/Olson_20071016_1/Europe/Bratislava
+ X-LIC-LOCATION:Europe/Bratislava
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/London.ics
++++ b/kcal/libical/zoneinfo/Europe/London.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/London
++TZID:/kde.org/Olson_20071016_1/Europe/London
+ X-LIC-LOCATION:Europe/London
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Vaduz.ics
++++ b/kcal/libical/zoneinfo/Europe/Vaduz.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vaduz
++TZID:/kde.org/Olson_20071016_1/Europe/Vaduz
+ X-LIC-LOCATION:Europe/Vaduz
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Malta.ics
++++ b/kcal/libical/zoneinfo/Europe/Malta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Malta
++TZID:/kde.org/Olson_20071016_1/Europe/Malta
+ X-LIC-LOCATION:Europe/Malta
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Kiev.ics
++++ b/kcal/libical/zoneinfo/Europe/Kiev.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Kiev
++TZID:/kde.org/Olson_20071016_1/Europe/Kiev
+ X-LIC-LOCATION:Europe/Kiev
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Madrid.ics
++++ b/kcal/libical/zoneinfo/Europe/Madrid.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Madrid
++TZID:/kde.org/Olson_20071016_1/Europe/Madrid
+ X-LIC-LOCATION:Europe/Madrid
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Jersey.ics
++++ b/kcal/libical/zoneinfo/Europe/Jersey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Jersey
++TZID:/kde.org/Olson_20071016_1/Europe/Jersey
+ X-LIC-LOCATION:Europe/Jersey
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Ljubljana.ics
++++ b/kcal/libical/zoneinfo/Europe/Ljubljana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Ljubljana
++TZID:/kde.org/Olson_20071016_1/Europe/Ljubljana
+ X-LIC-LOCATION:Europe/Ljubljana
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Brussels.ics
++++ b/kcal/libical/zoneinfo/Europe/Brussels.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Brussels
++TZID:/kde.org/Olson_20071016_1/Europe/Brussels
+ X-LIC-LOCATION:Europe/Brussels
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Stockholm.ics
++++ b/kcal/libical/zoneinfo/Europe/Stockholm.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Stockholm
++TZID:/kde.org/Olson_20071016_1/Europe/Stockholm
+ X-LIC-LOCATION:Europe/Stockholm
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Samara.ics
++++ b/kcal/libical/zoneinfo/Europe/Samara.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Samara
++TZID:/kde.org/Olson_20071016_1/Europe/Samara
+ X-LIC-LOCATION:Europe/Samara
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0400
+--- a/kcal/libical/zoneinfo/Europe/Zurich.ics
++++ b/kcal/libical/zoneinfo/Europe/Zurich.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Zurich
++TZID:/kde.org/Olson_20071016_1/Europe/Zurich
+ X-LIC-LOCATION:Europe/Zurich
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Belgrade.ics
++++ b/kcal/libical/zoneinfo/Europe/Belgrade.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Belgrade
++TZID:/kde.org/Olson_20071016_1/Europe/Belgrade
+ X-LIC-LOCATION:Europe/Belgrade
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Moscow.ics
++++ b/kcal/libical/zoneinfo/Europe/Moscow.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Moscow
++TZID:/kde.org/Olson_20071016_1/Europe/Moscow
+ X-LIC-LOCATION:Europe/Moscow
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Budapest.ics
++++ b/kcal/libical/zoneinfo/Europe/Budapest.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Budapest
++TZID:/kde.org/Olson_20071016_1/Europe/Budapest
+ X-LIC-LOCATION:Europe/Budapest
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Copenhagen.ics
++++ b/kcal/libical/zoneinfo/Europe/Copenhagen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Copenhagen
++TZID:/kde.org/Olson_20071016_1/Europe/Copenhagen
+ X-LIC-LOCATION:Europe/Copenhagen
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Gibraltar.ics
++++ b/kcal/libical/zoneinfo/Europe/Gibraltar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Gibraltar
++TZID:/kde.org/Olson_20071016_1/Europe/Gibraltar
+ X-LIC-LOCATION:Europe/Gibraltar
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Sarajevo.ics
++++ b/kcal/libical/zoneinfo/Europe/Sarajevo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Sarajevo
++TZID:/kde.org/Olson_20071016_1/Europe/Sarajevo
+ X-LIC-LOCATION:Europe/Sarajevo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Zagreb.ics
++++ b/kcal/libical/zoneinfo/Europe/Zagreb.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Zagreb
++TZID:/kde.org/Olson_20071016_1/Europe/Zagreb
+ X-LIC-LOCATION:Europe/Zagreb
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Zaporozhye.ics
++++ b/kcal/libical/zoneinfo/Europe/Zaporozhye.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Zaporozhye
++TZID:/kde.org/Olson_20071016_1/Europe/Zaporozhye
+ X-LIC-LOCATION:Europe/Zaporozhye
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Isle_of_Man.ics
++++ b/kcal/libical/zoneinfo/Europe/Isle_of_Man.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Isle_of_Man
++TZID:/kde.org/Olson_20071016_1/Europe/Isle_of_Man
+ X-LIC-LOCATION:Europe/Isle_of_Man
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Monaco.ics
++++ b/kcal/libical/zoneinfo/Europe/Monaco.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Monaco
++TZID:/kde.org/Olson_20071016_1/Europe/Monaco
+ X-LIC-LOCATION:Europe/Monaco
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Amsterdam.ics
++++ b/kcal/libical/zoneinfo/Europe/Amsterdam.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Amsterdam
++TZID:/kde.org/Olson_20071016_1/Europe/Amsterdam
+ X-LIC-LOCATION:Europe/Amsterdam
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Bucharest.ics
++++ b/kcal/libical/zoneinfo/Europe/Bucharest.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Bucharest
++TZID:/kde.org/Olson_20071016_1/Europe/Bucharest
+ X-LIC-LOCATION:Europe/Bucharest
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Riga.ics
++++ b/kcal/libical/zoneinfo/Europe/Riga.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Riga
++TZID:/kde.org/Olson_20071016_1/Europe/Riga
+ X-LIC-LOCATION:Europe/Riga
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Tirane.ics
++++ b/kcal/libical/zoneinfo/Europe/Tirane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Tirane
++TZID:/kde.org/Olson_20071016_1/Europe/Tirane
+ X-LIC-LOCATION:Europe/Tirane
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Prague.ics
++++ b/kcal/libical/zoneinfo/Europe/Prague.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Prague
++TZID:/kde.org/Olson_20071016_1/Europe/Prague
+ X-LIC-LOCATION:Europe/Prague
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Volgograd.ics
++++ b/kcal/libical/zoneinfo/Europe/Volgograd.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Volgograd
++TZID:/kde.org/Olson_20071016_1/Europe/Volgograd
+ X-LIC-LOCATION:Europe/Volgograd
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Nicosia.ics
++++ b/kcal/libical/zoneinfo/Europe/Nicosia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Nicosia
++TZID:/kde.org/Olson_20071016_1/Europe/Nicosia
+ X-LIC-LOCATION:Europe/Nicosia
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Europe/Vatican.ics
++++ b/kcal/libical/zoneinfo/Europe/Vatican.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vatican
++TZID:/kde.org/Olson_20071016_1/Europe/Vatican
+ X-LIC-LOCATION:Europe/Vatican
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Lisbon.ics
++++ b/kcal/libical/zoneinfo/Europe/Lisbon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Lisbon
++TZID:/kde.org/Olson_20071016_1/Europe/Lisbon
+ X-LIC-LOCATION:Europe/Lisbon
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Andorra.ics
++++ b/kcal/libical/zoneinfo/Europe/Andorra.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Andorra
++TZID:/kde.org/Olson_20071016_1/Europe/Andorra
+ X-LIC-LOCATION:Europe/Andorra
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/San_Marino.ics
++++ b/kcal/libical/zoneinfo/Europe/San_Marino.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/San_Marino
++TZID:/kde.org/Olson_20071016_1/Europe/San_Marino
+ X-LIC-LOCATION:Europe/San_Marino
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Luxembourg.ics
++++ b/kcal/libical/zoneinfo/Europe/Luxembourg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Luxembourg
++TZID:/kde.org/Olson_20071016_1/Europe/Luxembourg
+ X-LIC-LOCATION:Europe/Luxembourg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Vilnius.ics
++++ b/kcal/libical/zoneinfo/Europe/Vilnius.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Vilnius
++TZID:/kde.org/Olson_20071016_1/Europe/Vilnius
+ X-LIC-LOCATION:Europe/Vilnius
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Skopje.ics
++++ b/kcal/libical/zoneinfo/Europe/Skopje.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Skopje
++TZID:/kde.org/Olson_20071016_1/Europe/Skopje
+ X-LIC-LOCATION:Europe/Skopje
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Europe/Mariehamn.ics
++++ b/kcal/libical/zoneinfo/Europe/Mariehamn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Mariehamn
++TZID:/kde.org/Olson_20071016_1/Europe/Mariehamn
+ X-LIC-LOCATION:Europe/Mariehamn
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Guernsey.ics
++++ b/kcal/libical/zoneinfo/Europe/Guernsey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Guernsey
++TZID:/kde.org/Olson_20071016_1/Europe/Guernsey
+ X-LIC-LOCATION:Europe/Guernsey
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Europe/Sofia.ics
++++ b/kcal/libical/zoneinfo/Europe/Sofia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Sofia
++TZID:/kde.org/Olson_20071016_1/Europe/Sofia
+ X-LIC-LOCATION:Europe/Sofia
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Tallinn.ics
++++ b/kcal/libical/zoneinfo/Europe/Tallinn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Tallinn
++TZID:/kde.org/Olson_20071016_1/Europe/Tallinn
+ X-LIC-LOCATION:Europe/Tallinn
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Europe/Uzhgorod.ics
++++ b/kcal/libical/zoneinfo/Europe/Uzhgorod.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Europe/Uzhgorod
++TZID:/kde.org/Olson_20071016_1/Europe/Uzhgorod
+ X-LIC-LOCATION:Europe/Uzhgorod
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/America/Port_of_Spain.ics
++++ b/kcal/libical/zoneinfo/America/Port_of_Spain.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Port_of_Spain
++TZID:/kde.org/Olson_20071016_1/America/Port_of_Spain
+ X-LIC-LOCATION:America/Port_of_Spain
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040604
+--- a/kcal/libical/zoneinfo/America/Regina.ics
++++ b/kcal/libical/zoneinfo/America/Regina.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Regina
++TZID:/kde.org/Olson_20071016_1/America/Regina
+ X-LIC-LOCATION:America/Regina
+ BEGIN:STANDARD
+ TZOFFSETFROM:-065836
+--- a/kcal/libical/zoneinfo/America/Glace_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Glace_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Glace_Bay
++TZID:/kde.org/Olson_20071016_1/America/Glace_Bay
+ X-LIC-LOCATION:America/Glace_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Mazatlan.ics
++++ b/kcal/libical/zoneinfo/America/Mazatlan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Mazatlan
++TZID:/kde.org/Olson_20071016_1/America/Mazatlan
+ X-LIC-LOCATION:America/Mazatlan
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/St_Vincent.ics
++++ b/kcal/libical/zoneinfo/America/St_Vincent.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Vincent
++TZID:/kde.org/Olson_20071016_1/America/St_Vincent
+ X-LIC-LOCATION:America/St_Vincent
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040456
+--- a/kcal/libical/zoneinfo/America/Asuncion.ics
++++ b/kcal/libical/zoneinfo/America/Asuncion.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Asuncion
++TZID:/kde.org/Olson_20071016_1/America/Asuncion
+ X-LIC-LOCATION:America/Asuncion
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Campo_Grande.ics
++++ b/kcal/libical/zoneinfo/America/Campo_Grande.ics
+@@ -2,21 +2,21 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Campo_Grande
++TZID:/kde.org/Olson_20071016_1/America/Campo_Grande
+ X-LIC-LOCATION:America/Campo_Grande
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+ TZOFFSETTO:-0300
+ TZNAME:AMST
+-DTSTART:20061105T000000
+-RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
++DTSTART:20071014T000000
++RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SU
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+ TZOFFSETTO:-0400
+ TZNAME:AMT
+-DTSTART:20070225T000000
+-RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=-1SU
++DTSTART:20080217T000000
++RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-033828
+@@ -62,6 +62,7 @@
+ RDATE:20031019T000000
+ RDATE:20041102T000000
+ RDATE:20051016T000000
++RDATE:20061105T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+@@ -100,6 +101,7 @@
+ RDATE:20040215T000000
+ RDATE:20050220T000000
+ RDATE:20060219T000000
++RDATE:20070225T000000
+ END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/America/Montreal.ics
++++ b/kcal/libical/zoneinfo/America/Montreal.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Montreal
++TZID:/kde.org/Olson_20071016_1/America/Montreal
+ X-LIC-LOCATION:America/Montreal
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Thule.ics
++++ b/kcal/libical/zoneinfo/America/Thule.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Thule
++TZID:/kde.org/Olson_20071016_1/America/Thule
+ X-LIC-LOCATION:America/Thule
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Cayenne.ics
++++ b/kcal/libical/zoneinfo/America/Cayenne.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cayenne
++TZID:/kde.org/Olson_20071016_1/America/Cayenne
+ X-LIC-LOCATION:America/Cayenne
+ BEGIN:STANDARD
+ TZOFFSETFROM:-032920
+--- a/kcal/libical/zoneinfo/America/Yakutat.ics
++++ b/kcal/libical/zoneinfo/America/Yakutat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Yakutat
++TZID:/kde.org/Olson_20071016_1/America/Yakutat
+ X-LIC-LOCATION:America/Yakutat
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Denver.ics
++++ b/kcal/libical/zoneinfo/America/Denver.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Denver
++TZID:/kde.org/Olson_20071016_1/America/Denver
+ X-LIC-LOCATION:America/Denver
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Scoresbysund.ics
++++ b/kcal/libical/zoneinfo/America/Scoresbysund.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Scoresbysund
++TZID:/kde.org/Olson_20071016_1/America/Scoresbysund
+ X-LIC-LOCATION:America/Scoresbysund
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0100
+--- a/kcal/libical/zoneinfo/America/Monterrey.ics
++++ b/kcal/libical/zoneinfo/America/Monterrey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Monterrey
++TZID:/kde.org/Olson_20071016_1/America/Monterrey
+ X-LIC-LOCATION:America/Monterrey
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Jamaica.ics
++++ b/kcal/libical/zoneinfo/America/Jamaica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Jamaica
++TZID:/kde.org/Olson_20071016_1/America/Jamaica
+ X-LIC-LOCATION:America/Jamaica
+ BEGIN:STANDARD
+ TZOFFSETFROM:-050712
+--- a/kcal/libical/zoneinfo/America/Indiana/Petersburg.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Petersburg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Petersburg
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Petersburg
+ X-LIC-LOCATION:America/Indiana/Petersburg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Marengo.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Marengo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Marengo
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Marengo
+ X-LIC-LOCATION:America/Indiana/Marengo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Tell_City.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Tell_City.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Tell_City
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Tell_City
+ X-LIC-LOCATION:America/Indiana/Tell_City
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Indiana/Vincennes.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Vincennes.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Vincennes
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Vincennes
+ X-LIC-LOCATION:America/Indiana/Vincennes
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Indianapolis.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Indianapolis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Indianapolis
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Indianapolis
+ X-LIC-LOCATION:America/Indiana/Indianapolis
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Vevay.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Vevay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Vevay
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Vevay
+ X-LIC-LOCATION:America/Indiana/Vevay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Indiana/Knox.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Knox.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Knox
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Knox
+ X-LIC-LOCATION:America/Indiana/Knox
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Indiana/Winamac.ics
++++ b/kcal/libical/zoneinfo/America/Indiana/Winamac.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Indiana/Winamac
++TZID:/kde.org/Olson_20071016_1/America/Indiana/Winamac
+ X-LIC-LOCATION:America/Indiana/Winamac
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Juneau.ics
++++ b/kcal/libical/zoneinfo/America/Juneau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Juneau
++TZID:/kde.org/Olson_20071016_1/America/Juneau
+ X-LIC-LOCATION:America/Juneau
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Fortaleza.ics
++++ b/kcal/libical/zoneinfo/America/Fortaleza.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Fortaleza
++TZID:/kde.org/Olson_20071016_1/America/Fortaleza
+ X-LIC-LOCATION:America/Fortaleza
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0234
+--- a/kcal/libical/zoneinfo/America/Araguaina.ics
++++ b/kcal/libical/zoneinfo/America/Araguaina.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Araguaina
++TZID:/kde.org/Olson_20071016_1/America/Araguaina
+ X-LIC-LOCATION:America/Araguaina
+ BEGIN:STANDARD
+ TZOFFSETFROM:-031248
+--- a/kcal/libical/zoneinfo/America/Yellowknife.ics
++++ b/kcal/libical/zoneinfo/America/Yellowknife.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Yellowknife
++TZID:/kde.org/Olson_20071016_1/America/Yellowknife
+ X-LIC-LOCATION:America/Yellowknife
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Miquelon.ics
++++ b/kcal/libical/zoneinfo/America/Miquelon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Miquelon
++TZID:/kde.org/Olson_20071016_1/America/Miquelon
+ X-LIC-LOCATION:America/Miquelon
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/America/Guadeloupe.ics
++++ b/kcal/libical/zoneinfo/America/Guadeloupe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guadeloupe
++TZID:/kde.org/Olson_20071016_1/America/Guadeloupe
+ X-LIC-LOCATION:America/Guadeloupe
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040608
+--- a/kcal/libical/zoneinfo/America/Los_Angeles.ics
++++ b/kcal/libical/zoneinfo/America/Los_Angeles.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Los_Angeles
++TZID:/kde.org/Olson_20071016_1/America/Los_Angeles
+ X-LIC-LOCATION:America/Los_Angeles
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Tijuana.ics
++++ b/kcal/libical/zoneinfo/America/Tijuana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Tijuana
++TZID:/kde.org/Olson_20071016_1/America/Tijuana
+ X-LIC-LOCATION:America/Tijuana
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Anguilla.ics
++++ b/kcal/libical/zoneinfo/America/Anguilla.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Anguilla
++TZID:/kde.org/Olson_20071016_1/America/Anguilla
+ X-LIC-LOCATION:America/Anguilla
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041216
+--- a/kcal/libical/zoneinfo/America/Caracas.ics
++++ b/kcal/libical/zoneinfo/America/Caracas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Caracas
++TZID:/kde.org/Olson_20071016_1/America/Caracas
+ X-LIC-LOCATION:America/Caracas
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042744
+@@ -25,5 +25,12 @@
+ DTSTART:19650101T000000
+ RDATE:19650101T000000
+ END:STANDARD
++BEGIN:STANDARD
++TZOFFSETFROM:-0400
++TZOFFSETTO:-0430
++TZNAME:VET
++DTSTART:20080101T000000
++RDATE:20080101T000000
++END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/America/Montserrat.ics
++++ b/kcal/libical/zoneinfo/America/Montserrat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Montserrat
++TZID:/kde.org/Olson_20071016_1/America/Montserrat
+ X-LIC-LOCATION:America/Montserrat
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040852
+--- a/kcal/libical/zoneinfo/America/Chihuahua.ics
++++ b/kcal/libical/zoneinfo/America/Chihuahua.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Chihuahua
++TZID:/kde.org/Olson_20071016_1/America/Chihuahua
+ X-LIC-LOCATION:America/Chihuahua
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Guatemala.ics
++++ b/kcal/libical/zoneinfo/America/Guatemala.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guatemala
++TZID:/kde.org/Olson_20071016_1/America/Guatemala
+ X-LIC-LOCATION:America/Guatemala
+ BEGIN:STANDARD
+ TZOFFSETFROM:-060204
+--- a/kcal/libical/zoneinfo/America/North_Dakota/New_Salem.ics
++++ b/kcal/libical/zoneinfo/America/North_Dakota/New_Salem.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/North_Dakota/New_Salem
++TZID:/kde.org/Olson_20071016_1/America/North_Dakota/New_Salem
+ X-LIC-LOCATION:America/North_Dakota/New_Salem
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/North_Dakota/Center.ics
++++ b/kcal/libical/zoneinfo/America/North_Dakota/Center.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/North_Dakota/Center
++TZID:/kde.org/Olson_20071016_1/America/North_Dakota/Center
+ X-LIC-LOCATION:America/North_Dakota/Center
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Porto_Velho.ics
++++ b/kcal/libical/zoneinfo/America/Porto_Velho.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Porto_Velho
++TZID:/kde.org/Olson_20071016_1/America/Porto_Velho
+ X-LIC-LOCATION:America/Porto_Velho
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041536
+--- a/kcal/libical/zoneinfo/America/Santo_Domingo.ics
++++ b/kcal/libical/zoneinfo/America/Santo_Domingo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Santo_Domingo
++TZID:/kde.org/Olson_20071016_1/America/Santo_Domingo
+ X-LIC-LOCATION:America/Santo_Domingo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043936
+--- a/kcal/libical/zoneinfo/America/St_Thomas.ics
++++ b/kcal/libical/zoneinfo/America/St_Thomas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Thomas
++TZID:/kde.org/Olson_20071016_1/America/St_Thomas
+ X-LIC-LOCATION:America/St_Thomas
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041944
+--- a/kcal/libical/zoneinfo/America/St_Lucia.ics
++++ b/kcal/libical/zoneinfo/America/St_Lucia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Lucia
++TZID:/kde.org/Olson_20071016_1/America/St_Lucia
+ X-LIC-LOCATION:America/St_Lucia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0404
+--- a/kcal/libical/zoneinfo/America/Bahia.ics
++++ b/kcal/libical/zoneinfo/America/Bahia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Bahia
++TZID:/kde.org/Olson_20071016_1/America/Bahia
+ X-LIC-LOCATION:America/Bahia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-023404
+--- a/kcal/libical/zoneinfo/America/Noronha.ics
++++ b/kcal/libical/zoneinfo/America/Noronha.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Noronha
++TZID:/kde.org/Olson_20071016_1/America/Noronha
+ X-LIC-LOCATION:America/Noronha
+ BEGIN:STANDARD
+ TZOFFSETFROM:-020940
+--- a/kcal/libical/zoneinfo/America/Santiago.ics
++++ b/kcal/libical/zoneinfo/America/Santiago.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Santiago
++TZID:/kde.org/Olson_20071016_1/America/Santiago
+ X-LIC-LOCATION:America/Santiago
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Boa_Vista.ics
++++ b/kcal/libical/zoneinfo/America/Boa_Vista.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Boa_Vista
++TZID:/kde.org/Olson_20071016_1/America/Boa_Vista
+ X-LIC-LOCATION:America/Boa_Vista
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040240
+--- a/kcal/libical/zoneinfo/America/Cancun.ics
++++ b/kcal/libical/zoneinfo/America/Cancun.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cancun
++TZID:/kde.org/Olson_20071016_1/America/Cancun
+ X-LIC-LOCATION:America/Cancun
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Costa_Rica.ics
++++ b/kcal/libical/zoneinfo/America/Costa_Rica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Costa_Rica
++TZID:/kde.org/Olson_20071016_1/America/Costa_Rica
+ X-LIC-LOCATION:America/Costa_Rica
+ BEGIN:STANDARD
+ TZOFFSETFROM:-053620
+--- a/kcal/libical/zoneinfo/America/Cambridge_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Cambridge_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cambridge_Bay
++TZID:/kde.org/Olson_20071016_1/America/Cambridge_Bay
+ X-LIC-LOCATION:America/Cambridge_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Managua.ics
++++ b/kcal/libical/zoneinfo/America/Managua.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Managua
++TZID:/kde.org/Olson_20071016_1/America/Managua
+ X-LIC-LOCATION:America/Managua
+ BEGIN:STANDARD
+ TZOFFSETFROM:-054508
+--- a/kcal/libical/zoneinfo/America/Phoenix.ics
++++ b/kcal/libical/zoneinfo/America/Phoenix.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Phoenix
++TZID:/kde.org/Olson_20071016_1/America/Phoenix
+ X-LIC-LOCATION:America/Phoenix
+ BEGIN:STANDARD
+ TZOFFSETFROM:-072818
+--- a/kcal/libical/zoneinfo/America/Halifax.ics
++++ b/kcal/libical/zoneinfo/America/Halifax.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Halifax
++TZID:/kde.org/Olson_20071016_1/America/Halifax
+ X-LIC-LOCATION:America/Halifax
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Menominee.ics
++++ b/kcal/libical/zoneinfo/America/Menominee.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Menominee
++TZID:/kde.org/Olson_20071016_1/America/Menominee
+ X-LIC-LOCATION:America/Menominee
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Hermosillo.ics
++++ b/kcal/libical/zoneinfo/America/Hermosillo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Hermosillo
++TZID:/kde.org/Olson_20071016_1/America/Hermosillo
+ X-LIC-LOCATION:America/Hermosillo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-072352
+--- a/kcal/libical/zoneinfo/America/Curacao.ics
++++ b/kcal/libical/zoneinfo/America/Curacao.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Curacao
++TZID:/kde.org/Olson_20071016_1/America/Curacao
+ X-LIC-LOCATION:America/Curacao
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043544
+--- a/kcal/libical/zoneinfo/America/Paramaribo.ics
++++ b/kcal/libical/zoneinfo/America/Paramaribo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Paramaribo
++TZID:/kde.org/Olson_20071016_1/America/Paramaribo
+ X-LIC-LOCATION:America/Paramaribo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-034040
+--- a/kcal/libical/zoneinfo/America/Martinique.ics
++++ b/kcal/libical/zoneinfo/America/Martinique.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Martinique
++TZID:/kde.org/Olson_20071016_1/America/Martinique
+ X-LIC-LOCATION:America/Martinique
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040420
+--- a/kcal/libical/zoneinfo/America/Winnipeg.ics
++++ b/kcal/libical/zoneinfo/America/Winnipeg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Winnipeg
++TZID:/kde.org/Olson_20071016_1/America/Winnipeg
+ X-LIC-LOCATION:America/Winnipeg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Lima.ics
++++ b/kcal/libical/zoneinfo/America/Lima.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Lima
++TZID:/kde.org/Olson_20071016_1/America/Lima
+ X-LIC-LOCATION:America/Lima
+ BEGIN:STANDARD
+ TZOFFSETFROM:-050812
+--- a/kcal/libical/zoneinfo/America/Shiprock.ics
++++ b/kcal/libical/zoneinfo/America/Shiprock.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Shiprock
++TZID:/kde.org/Olson_20071016_1/America/Shiprock
+ X-LIC-LOCATION:America/Shiprock
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Edmonton.ics
++++ b/kcal/libical/zoneinfo/America/Edmonton.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Edmonton
++TZID:/kde.org/Olson_20071016_1/America/Edmonton
+ X-LIC-LOCATION:America/Edmonton
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Dominica.ics
++++ b/kcal/libical/zoneinfo/America/Dominica.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Dominica
++TZID:/kde.org/Olson_20071016_1/America/Dominica
+ X-LIC-LOCATION:America/Dominica
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040536
+--- a/kcal/libical/zoneinfo/America/Belem.ics
++++ b/kcal/libical/zoneinfo/America/Belem.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Belem
++TZID:/kde.org/Olson_20071016_1/America/Belem
+ X-LIC-LOCATION:America/Belem
+ BEGIN:STANDARD
+ TZOFFSETFROM:-031356
+--- a/kcal/libical/zoneinfo/America/Anchorage.ics
++++ b/kcal/libical/zoneinfo/America/Anchorage.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Anchorage
++TZID:/kde.org/Olson_20071016_1/America/Anchorage
+ X-LIC-LOCATION:America/Anchorage
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Rainy_River.ics
++++ b/kcal/libical/zoneinfo/America/Rainy_River.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Rainy_River
++TZID:/kde.org/Olson_20071016_1/America/Rainy_River
+ X-LIC-LOCATION:America/Rainy_River
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Argentina/Jujuy.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Jujuy.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Jujuy
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Jujuy
+ X-LIC-LOCATION:America/Argentina/Jujuy
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042112
+--- a/kcal/libical/zoneinfo/America/Argentina/Rio_Gallegos.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Rio_Gallegos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Rio_Gallegos
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Rio_Gallegos
+ X-LIC-LOCATION:America/Argentina/Rio_Gallegos
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043652
+--- a/kcal/libical/zoneinfo/America/Argentina/Cordoba.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Cordoba.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Cordoba
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Cordoba
+ X-LIC-LOCATION:America/Argentina/Cordoba
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041648
+--- a/kcal/libical/zoneinfo/America/Argentina/Catamarca.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Catamarca.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Catamarca
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Catamarca
+ X-LIC-LOCATION:America/Argentina/Catamarca
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042308
+--- a/kcal/libical/zoneinfo/America/Argentina/Tucuman.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Tucuman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Tucuman
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Tucuman
+ X-LIC-LOCATION:America/Argentina/Tucuman
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042052
+--- a/kcal/libical/zoneinfo/America/Argentina/Mendoza.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Mendoza.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Mendoza
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Mendoza
+ X-LIC-LOCATION:America/Argentina/Mendoza
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043516
+--- a/kcal/libical/zoneinfo/America/Argentina/Buenos_Aires.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Buenos_Aires.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Buenos_Aires
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Buenos_Aires
+ X-LIC-LOCATION:America/Argentina/Buenos_Aires
+ BEGIN:STANDARD
+ TZOFFSETFROM:-035348
+--- a/kcal/libical/zoneinfo/America/Argentina/San_Juan.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/San_Juan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/San_Juan
++TZID:/kde.org/Olson_20071016_1/America/Argentina/San_Juan
+ X-LIC-LOCATION:America/Argentina/San_Juan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043404
+--- a/kcal/libical/zoneinfo/America/Argentina/Ushuaia.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/Ushuaia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/Ushuaia
++TZID:/kde.org/Olson_20071016_1/America/Argentina/Ushuaia
+ X-LIC-LOCATION:America/Argentina/Ushuaia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043312
+--- a/kcal/libical/zoneinfo/America/Argentina/La_Rioja.ics
++++ b/kcal/libical/zoneinfo/America/Argentina/La_Rioja.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Argentina/La_Rioja
++TZID:/kde.org/Olson_20071016_1/America/Argentina/La_Rioja
+ X-LIC-LOCATION:America/Argentina/La_Rioja
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042724
+--- a/kcal/libical/zoneinfo/America/Pangnirtung.ics
++++ b/kcal/libical/zoneinfo/America/Pangnirtung.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Pangnirtung
++TZID:/kde.org/Olson_20071016_1/America/Pangnirtung
+ X-LIC-LOCATION:America/Pangnirtung
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Maceio.ics
++++ b/kcal/libical/zoneinfo/America/Maceio.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Maceio
++TZID:/kde.org/Olson_20071016_1/America/Maceio
+ X-LIC-LOCATION:America/Maceio
+ BEGIN:STANDARD
+ TZOFFSETFROM:-022252
+--- a/kcal/libical/zoneinfo/America/New_York.ics
++++ b/kcal/libical/zoneinfo/America/New_York.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/New_York
++TZID:/kde.org/Olson_20071016_1/America/New_York
+ X-LIC-LOCATION:America/New_York
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Panama.ics
++++ b/kcal/libical/zoneinfo/America/Panama.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Panama
++TZID:/kde.org/Olson_20071016_1/America/Panama
+ X-LIC-LOCATION:America/Panama
+ BEGIN:STANDARD
+ TZOFFSETFROM:-051808
+--- a/kcal/libical/zoneinfo/America/Adak.ics
++++ b/kcal/libical/zoneinfo/America/Adak.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Adak
++TZID:/kde.org/Olson_20071016_1/America/Adak
+ X-LIC-LOCATION:America/Adak
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-1000
+--- a/kcal/libical/zoneinfo/America/Merida.ics
++++ b/kcal/libical/zoneinfo/America/Merida.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Merida
++TZID:/kde.org/Olson_20071016_1/America/Merida
+ X-LIC-LOCATION:America/Merida
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Resolute.ics
++++ b/kcal/libical/zoneinfo/America/Resolute.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Resolute
++TZID:/kde.org/Olson_20071016_1/America/Resolute
+ X-LIC-LOCATION:America/Resolute
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/America/Nipigon.ics
++++ b/kcal/libical/zoneinfo/America/Nipigon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Nipigon
++TZID:/kde.org/Olson_20071016_1/America/Nipigon
+ X-LIC-LOCATION:America/Nipigon
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Dawson_Creek.ics
++++ b/kcal/libical/zoneinfo/America/Dawson_Creek.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Dawson_Creek
++TZID:/kde.org/Olson_20071016_1/America/Dawson_Creek
+ X-LIC-LOCATION:America/Dawson_Creek
+ BEGIN:STANDARD
+ TZOFFSETFROM:-080056
+--- a/kcal/libical/zoneinfo/America/Thunder_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Thunder_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Thunder_Bay
++TZID:/kde.org/Olson_20071016_1/America/Thunder_Bay
+ X-LIC-LOCATION:America/Thunder_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Toronto.ics
++++ b/kcal/libical/zoneinfo/America/Toronto.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Toronto
++TZID:/kde.org/Olson_20071016_1/America/Toronto
+ X-LIC-LOCATION:America/Toronto
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Port-au-Prince.ics
++++ b/kcal/libical/zoneinfo/America/Port-au-Prince.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Port-au-Prince
++TZID:/kde.org/Olson_20071016_1/America/Port-au-Prince
+ X-LIC-LOCATION:America/Port-au-Prince
+ BEGIN:STANDARD
+ TZOFFSETFROM:-044920
+--- a/kcal/libical/zoneinfo/America/La_Paz.ics
++++ b/kcal/libical/zoneinfo/America/La_Paz.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/La_Paz
++TZID:/kde.org/Olson_20071016_1/America/La_Paz
+ X-LIC-LOCATION:America/La_Paz
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043236
+--- a/kcal/libical/zoneinfo/America/Goose_Bay.ics
++++ b/kcal/libical/zoneinfo/America/Goose_Bay.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Goose_Bay
++TZID:/kde.org/Olson_20071016_1/America/Goose_Bay
+ X-LIC-LOCATION:America/Goose_Bay
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Godthab.ics
++++ b/kcal/libical/zoneinfo/America/Godthab.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Godthab
++TZID:/kde.org/Olson_20071016_1/America/Godthab
+ X-LIC-LOCATION:America/Godthab
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/America/Cayman.ics
++++ b/kcal/libical/zoneinfo/America/Cayman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cayman
++TZID:/kde.org/Olson_20071016_1/America/Cayman
+ X-LIC-LOCATION:America/Cayman
+ BEGIN:STANDARD
+ TZOFFSETFROM:-052532
+--- a/kcal/libical/zoneinfo/America/Vancouver.ics
++++ b/kcal/libical/zoneinfo/America/Vancouver.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Vancouver
++TZID:/kde.org/Olson_20071016_1/America/Vancouver
+ X-LIC-LOCATION:America/Vancouver
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Bogota.ics
++++ b/kcal/libical/zoneinfo/America/Bogota.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Bogota
++TZID:/kde.org/Olson_20071016_1/America/Bogota
+ X-LIC-LOCATION:America/Bogota
+ BEGIN:STANDARD
+ TZOFFSETFROM:-045620
+--- a/kcal/libical/zoneinfo/America/Moncton.ics
++++ b/kcal/libical/zoneinfo/America/Moncton.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Moncton
++TZID:/kde.org/Olson_20071016_1/America/Moncton
+ X-LIC-LOCATION:America/Moncton
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Rio_Branco.ics
++++ b/kcal/libical/zoneinfo/America/Rio_Branco.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Rio_Branco
++TZID:/kde.org/Olson_20071016_1/America/Rio_Branco
+ X-LIC-LOCATION:America/Rio_Branco
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043112
+--- a/kcal/libical/zoneinfo/America/Whitehorse.ics
++++ b/kcal/libical/zoneinfo/America/Whitehorse.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Whitehorse
++TZID:/kde.org/Olson_20071016_1/America/Whitehorse
+ X-LIC-LOCATION:America/Whitehorse
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Cuiaba.ics
++++ b/kcal/libical/zoneinfo/America/Cuiaba.ics
+@@ -2,21 +2,21 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Cuiaba
++TZID:/kde.org/Olson_20071016_1/America/Cuiaba
+ X-LIC-LOCATION:America/Cuiaba
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+ TZOFFSETTO:-0300
+ TZNAME:AMST
+-DTSTART:20061105T000000
+-RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
++DTSTART:20071014T000000
++RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SU
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+ TZOFFSETTO:-0400
+ TZNAME:AMT
+-DTSTART:20070225T000000
+-RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=-1SU
++DTSTART:20080217T000000
++RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-034420
+@@ -61,6 +61,7 @@
+ RDATE:20021103T000000
+ RDATE:20041102T000000
+ RDATE:20051016T000000
++RDATE:20061105T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0300
+@@ -98,6 +99,7 @@
+ RDATE:20030216T000000
+ RDATE:20050220T000000
+ RDATE:20060219T000000
++RDATE:20070225T000000
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/America/Tortola.ics
++++ b/kcal/libical/zoneinfo/America/Tortola.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Tortola
++TZID:/kde.org/Olson_20071016_1/America/Tortola
+ X-LIC-LOCATION:America/Tortola
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041828
+--- a/kcal/libical/zoneinfo/America/St_Johns.ics
++++ b/kcal/libical/zoneinfo/America/St_Johns.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Johns
++TZID:/kde.org/Olson_20071016_1/America/St_Johns
+ X-LIC-LOCATION:America/St_Johns
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0330
+--- a/kcal/libical/zoneinfo/America/Antigua.ics
++++ b/kcal/libical/zoneinfo/America/Antigua.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Antigua
++TZID:/kde.org/Olson_20071016_1/America/Antigua
+ X-LIC-LOCATION:America/Antigua
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040712
+--- a/kcal/libical/zoneinfo/America/Puerto_Rico.ics
++++ b/kcal/libical/zoneinfo/America/Puerto_Rico.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Puerto_Rico
++TZID:/kde.org/Olson_20071016_1/America/Puerto_Rico
+ X-LIC-LOCATION:America/Puerto_Rico
+ BEGIN:STANDARD
+ TZOFFSETFROM:-042425
+--- a/kcal/libical/zoneinfo/America/Havana.ics
++++ b/kcal/libical/zoneinfo/America/Havana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Havana
++TZID:/kde.org/Olson_20071016_1/America/Havana
+ X-LIC-LOCATION:America/Havana
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/St_Kitts.ics
++++ b/kcal/libical/zoneinfo/America/St_Kitts.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/St_Kitts
++TZID:/kde.org/Olson_20071016_1/America/St_Kitts
+ X-LIC-LOCATION:America/St_Kitts
+ BEGIN:STANDARD
+ TZOFFSETFROM:-041052
+--- a/kcal/libical/zoneinfo/America/Inuvik.ics
++++ b/kcal/libical/zoneinfo/America/Inuvik.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Inuvik
++TZID:/kde.org/Olson_20071016_1/America/Inuvik
+ X-LIC-LOCATION:America/Inuvik
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/America/Iqaluit.ics
++++ b/kcal/libical/zoneinfo/America/Iqaluit.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Iqaluit
++TZID:/kde.org/Olson_20071016_1/America/Iqaluit
+ X-LIC-LOCATION:America/Iqaluit
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Montevideo.ics
++++ b/kcal/libical/zoneinfo/America/Montevideo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Montevideo
++TZID:/kde.org/Olson_20071016_1/America/Montevideo
+ X-LIC-LOCATION:America/Montevideo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+--- a/kcal/libical/zoneinfo/America/Detroit.ics
++++ b/kcal/libical/zoneinfo/America/Detroit.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Detroit
++TZID:/kde.org/Olson_20071016_1/America/Detroit
+ X-LIC-LOCATION:America/Detroit
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Belize.ics
++++ b/kcal/libical/zoneinfo/America/Belize.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Belize
++TZID:/kde.org/Olson_20071016_1/America/Belize
+ X-LIC-LOCATION:America/Belize
+ BEGIN:STANDARD
+ TZOFFSETFROM:-055248
+--- a/kcal/libical/zoneinfo/America/Eirunepe.ics
++++ b/kcal/libical/zoneinfo/America/Eirunepe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Eirunepe
++TZID:/kde.org/Olson_20071016_1/America/Eirunepe
+ X-LIC-LOCATION:America/Eirunepe
+ BEGIN:STANDARD
+ TZOFFSETFROM:-043928
+--- a/kcal/libical/zoneinfo/America/Mexico_City.ics
++++ b/kcal/libical/zoneinfo/America/Mexico_City.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Mexico_City
++TZID:/kde.org/Olson_20071016_1/America/Mexico_City
+ X-LIC-LOCATION:America/Mexico_City
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Barbados.ics
++++ b/kcal/libical/zoneinfo/America/Barbados.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Barbados
++TZID:/kde.org/Olson_20071016_1/America/Barbados
+ X-LIC-LOCATION:America/Barbados
+ BEGIN:STANDARD
+ TZOFFSETFROM:-035828
+--- a/kcal/libical/zoneinfo/America/Danmarkshavn.ics
++++ b/kcal/libical/zoneinfo/America/Danmarkshavn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Danmarkshavn
++TZID:/kde.org/Olson_20071016_1/America/Danmarkshavn
+ X-LIC-LOCATION:America/Danmarkshavn
+ BEGIN:STANDARD
+ TZOFFSETFROM:-011440
+--- a/kcal/libical/zoneinfo/America/Rankin_Inlet.ics
++++ b/kcal/libical/zoneinfo/America/Rankin_Inlet.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Rankin_Inlet
++TZID:/kde.org/Olson_20071016_1/America/Rankin_Inlet
+ X-LIC-LOCATION:America/Rankin_Inlet
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Kentucky/Monticello.ics
++++ b/kcal/libical/zoneinfo/America/Kentucky/Monticello.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Kentucky/Monticello
++TZID:/kde.org/Olson_20071016_1/America/Kentucky/Monticello
+ X-LIC-LOCATION:America/Kentucky/Monticello
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Kentucky/Louisville.ics
++++ b/kcal/libical/zoneinfo/America/Kentucky/Louisville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Kentucky/Louisville
++TZID:/kde.org/Olson_20071016_1/America/Kentucky/Louisville
+ X-LIC-LOCATION:America/Kentucky/Louisville
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Sao_Paulo.ics
++++ b/kcal/libical/zoneinfo/America/Sao_Paulo.ics
+@@ -2,21 +2,21 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Sao_Paulo
++TZID:/kde.org/Olson_20071016_1/America/Sao_Paulo
+ X-LIC-LOCATION:America/Sao_Paulo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0300
+ TZOFFSETTO:-0200
+ TZNAME:BRST
+-DTSTART:20061105T000000
+-RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
++DTSTART:20071014T000000
++RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=2SU
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0200
+ TZOFFSETTO:-0300
+ TZNAME:BRT
+-DTSTART:20070225T000000
+-RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=-1SU
++DTSTART:20080217T000000
++RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=3SU
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:-030628
+@@ -62,6 +62,7 @@
+ RDATE:20031019T000000
+ RDATE:20041102T000000
+ RDATE:20051016T000000
++RDATE:20061105T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0200
+@@ -100,6 +101,7 @@
+ RDATE:20040215T000000
+ RDATE:20050220T000000
+ RDATE:20060219T000000
++RDATE:20070225T000000
+ END:STANDARD
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0200
+--- a/kcal/libical/zoneinfo/America/Manaus.ics
++++ b/kcal/libical/zoneinfo/America/Manaus.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Manaus
++TZID:/kde.org/Olson_20071016_1/America/Manaus
+ X-LIC-LOCATION:America/Manaus
+ BEGIN:STANDARD
+ TZOFFSETFROM:-040004
+--- a/kcal/libical/zoneinfo/America/Guyana.ics
++++ b/kcal/libical/zoneinfo/America/Guyana.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guyana
++TZID:/kde.org/Olson_20071016_1/America/Guyana
+ X-LIC-LOCATION:America/Guyana
+ BEGIN:STANDARD
+ TZOFFSETFROM:-035240
+--- a/kcal/libical/zoneinfo/America/Tegucigalpa.ics
++++ b/kcal/libical/zoneinfo/America/Tegucigalpa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Tegucigalpa
++TZID:/kde.org/Olson_20071016_1/America/Tegucigalpa
+ X-LIC-LOCATION:America/Tegucigalpa
+ BEGIN:STANDARD
+ TZOFFSETFROM:-054852
+--- a/kcal/libical/zoneinfo/America/Aruba.ics
++++ b/kcal/libical/zoneinfo/America/Aruba.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Aruba
++TZID:/kde.org/Olson_20071016_1/America/Aruba
+ X-LIC-LOCATION:America/Aruba
+ BEGIN:STANDARD
+ TZOFFSETFROM:-044024
+--- a/kcal/libical/zoneinfo/America/Nassau.ics
++++ b/kcal/libical/zoneinfo/America/Nassau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Nassau
++TZID:/kde.org/Olson_20071016_1/America/Nassau
+ X-LIC-LOCATION:America/Nassau
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/El_Salvador.ics
++++ b/kcal/libical/zoneinfo/America/El_Salvador.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/El_Salvador
++TZID:/kde.org/Olson_20071016_1/America/El_Salvador
+ X-LIC-LOCATION:America/El_Salvador
+ BEGIN:STANDARD
+ TZOFFSETFROM:-055648
+--- a/kcal/libical/zoneinfo/America/Blanc-Sablon.ics
++++ b/kcal/libical/zoneinfo/America/Blanc-Sablon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Blanc-Sablon
++TZID:/kde.org/Olson_20071016_1/America/Blanc-Sablon
+ X-LIC-LOCATION:America/Blanc-Sablon
+ BEGIN:STANDARD
+ TZOFFSETFROM:-034828
+--- a/kcal/libical/zoneinfo/America/Dawson.ics
++++ b/kcal/libical/zoneinfo/America/Dawson.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Dawson
++TZID:/kde.org/Olson_20071016_1/America/Dawson
+ X-LIC-LOCATION:America/Dawson
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0800
+--- a/kcal/libical/zoneinfo/America/Chicago.ics
++++ b/kcal/libical/zoneinfo/America/Chicago.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Chicago
++TZID:/kde.org/Olson_20071016_1/America/Chicago
+ X-LIC-LOCATION:America/Chicago
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/America/Recife.ics
++++ b/kcal/libical/zoneinfo/America/Recife.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Recife
++TZID:/kde.org/Olson_20071016_1/America/Recife
+ X-LIC-LOCATION:America/Recife
+ BEGIN:STANDARD
+ TZOFFSETFROM:-021936
+--- a/kcal/libical/zoneinfo/America/Nome.ics
++++ b/kcal/libical/zoneinfo/America/Nome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Nome
++TZID:/kde.org/Olson_20071016_1/America/Nome
+ X-LIC-LOCATION:America/Nome
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0900
+--- a/kcal/libical/zoneinfo/America/Swift_Current.ics
++++ b/kcal/libical/zoneinfo/America/Swift_Current.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Swift_Current
++TZID:/kde.org/Olson_20071016_1/America/Swift_Current
+ X-LIC-LOCATION:America/Swift_Current
+ BEGIN:STANDARD
+ TZOFFSETFROM:-071120
+--- a/kcal/libical/zoneinfo/America/Grand_Turk.ics
++++ b/kcal/libical/zoneinfo/America/Grand_Turk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Grand_Turk
++TZID:/kde.org/Olson_20071016_1/America/Grand_Turk
+ X-LIC-LOCATION:America/Grand_Turk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0500
+--- a/kcal/libical/zoneinfo/America/Guayaquil.ics
++++ b/kcal/libical/zoneinfo/America/Guayaquil.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Guayaquil
++TZID:/kde.org/Olson_20071016_1/America/Guayaquil
+ X-LIC-LOCATION:America/Guayaquil
+ BEGIN:STANDARD
+ TZOFFSETFROM:-051920
+--- a/kcal/libical/zoneinfo/America/Grenada.ics
++++ b/kcal/libical/zoneinfo/America/Grenada.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Grenada
++TZID:/kde.org/Olson_20071016_1/America/Grenada
+ X-LIC-LOCATION:America/Grenada
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0407
+--- a/kcal/libical/zoneinfo/America/Atikokan.ics
++++ b/kcal/libical/zoneinfo/America/Atikokan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Atikokan
++TZID:/kde.org/Olson_20071016_1/America/Atikokan
+ X-LIC-LOCATION:America/Atikokan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-060628
+--- a/kcal/libical/zoneinfo/America/Boise.ics
++++ b/kcal/libical/zoneinfo/America/Boise.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/America/Boise
++TZID:/kde.org/Olson_20071016_1/America/Boise
+ X-LIC-LOCATION:America/Boise
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0700
+--- a/kcal/libical/zoneinfo/Indian/Mauritius.ics
++++ b/kcal/libical/zoneinfo/Indian/Mauritius.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Mauritius
++TZID:/kde.org/Olson_20071016_1/Indian/Mauritius
+ X-LIC-LOCATION:Indian/Mauritius
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0350
+--- a/kcal/libical/zoneinfo/Indian/Mayotte.ics
++++ b/kcal/libical/zoneinfo/Indian/Mayotte.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Mayotte
++TZID:/kde.org/Olson_20071016_1/Indian/Mayotte
+ X-LIC-LOCATION:Indian/Mayotte
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030056
+--- a/kcal/libical/zoneinfo/Indian/Chagos.ics
++++ b/kcal/libical/zoneinfo/Indian/Chagos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Chagos
++TZID:/kde.org/Olson_20071016_1/Indian/Chagos
+ X-LIC-LOCATION:Indian/Chagos
+ BEGIN:STANDARD
+ TZOFFSETFROM:+044940
+--- a/kcal/libical/zoneinfo/Indian/Maldives.ics
++++ b/kcal/libical/zoneinfo/Indian/Maldives.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Maldives
++TZID:/kde.org/Olson_20071016_1/Indian/Maldives
+ X-LIC-LOCATION:Indian/Maldives
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0454
+--- a/kcal/libical/zoneinfo/Indian/Cocos.ics
++++ b/kcal/libical/zoneinfo/Indian/Cocos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Cocos
++TZID:/kde.org/Olson_20071016_1/Indian/Cocos
+ X-LIC-LOCATION:Indian/Cocos
+ BEGIN:STANDARD
+ TZOFFSETFROM:+062740
+--- a/kcal/libical/zoneinfo/Indian/Mahe.ics
++++ b/kcal/libical/zoneinfo/Indian/Mahe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Mahe
++TZID:/kde.org/Olson_20071016_1/Indian/Mahe
+ X-LIC-LOCATION:Indian/Mahe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034148
+--- a/kcal/libical/zoneinfo/Indian/Christmas.ics
++++ b/kcal/libical/zoneinfo/Indian/Christmas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Christmas
++TZID:/kde.org/Olson_20071016_1/Indian/Christmas
+ X-LIC-LOCATION:Indian/Christmas
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070252
+--- a/kcal/libical/zoneinfo/Indian/Comoro.ics
++++ b/kcal/libical/zoneinfo/Indian/Comoro.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Comoro
++TZID:/kde.org/Olson_20071016_1/Indian/Comoro
+ X-LIC-LOCATION:Indian/Comoro
+ BEGIN:STANDARD
+ TZOFFSETFROM:+025304
+--- a/kcal/libical/zoneinfo/Indian/Reunion.ics
++++ b/kcal/libical/zoneinfo/Indian/Reunion.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Reunion
++TZID:/kde.org/Olson_20071016_1/Indian/Reunion
+ X-LIC-LOCATION:Indian/Reunion
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034152
+--- a/kcal/libical/zoneinfo/Indian/Antananarivo.ics
++++ b/kcal/libical/zoneinfo/Indian/Antananarivo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Antananarivo
++TZID:/kde.org/Olson_20071016_1/Indian/Antananarivo
+ X-LIC-LOCATION:Indian/Antananarivo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+031004
+--- a/kcal/libical/zoneinfo/Indian/Kerguelen.ics
++++ b/kcal/libical/zoneinfo/Indian/Kerguelen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Indian/Kerguelen
++TZID:/kde.org/Olson_20071016_1/Indian/Kerguelen
+ X-LIC-LOCATION:Indian/Kerguelen
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Africa/Luanda.ics
++++ b/kcal/libical/zoneinfo/Africa/Luanda.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Luanda
++TZID:/kde.org/Olson_20071016_1/Africa/Luanda
+ X-LIC-LOCATION:Africa/Luanda
+ BEGIN:STANDARD
+ TZOFFSETFROM:+005256
+--- a/kcal/libical/zoneinfo/Africa/Lagos.ics
++++ b/kcal/libical/zoneinfo/Africa/Lagos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lagos
++TZID:/kde.org/Olson_20071016_1/Africa/Lagos
+ X-LIC-LOCATION:Africa/Lagos
+ BEGIN:STANDARD
+ TZOFFSETFROM:+001336
+--- a/kcal/libical/zoneinfo/Africa/Douala.ics
++++ b/kcal/libical/zoneinfo/Africa/Douala.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Douala
++TZID:/kde.org/Olson_20071016_1/Africa/Douala
+ X-LIC-LOCATION:Africa/Douala
+ BEGIN:STANDARD
+ TZOFFSETFROM:+003848
+--- a/kcal/libical/zoneinfo/Africa/Bangui.ics
++++ b/kcal/libical/zoneinfo/Africa/Bangui.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bangui
++TZID:/kde.org/Olson_20071016_1/Africa/Bangui
+ X-LIC-LOCATION:Africa/Bangui
+ BEGIN:STANDARD
+ TZOFFSETFROM:+011420
+--- a/kcal/libical/zoneinfo/Africa/Sao_Tome.ics
++++ b/kcal/libical/zoneinfo/Africa/Sao_Tome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Sao_Tome
++TZID:/kde.org/Olson_20071016_1/Africa/Sao_Tome
+ X-LIC-LOCATION:Africa/Sao_Tome
+ BEGIN:STANDARD
+ TZOFFSETFROM:+002656
+--- a/kcal/libical/zoneinfo/Africa/Windhoek.ics
++++ b/kcal/libical/zoneinfo/Africa/Windhoek.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Windhoek
++TZID:/kde.org/Olson_20071016_1/Africa/Windhoek
+ X-LIC-LOCATION:Africa/Windhoek
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Africa/Djibouti.ics
++++ b/kcal/libical/zoneinfo/Africa/Djibouti.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Djibouti
++TZID:/kde.org/Olson_20071016_1/Africa/Djibouti
+ X-LIC-LOCATION:Africa/Djibouti
+ BEGIN:STANDARD
+ TZOFFSETFROM:+025236
+--- a/kcal/libical/zoneinfo/Africa/Accra.ics
++++ b/kcal/libical/zoneinfo/Africa/Accra.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Accra
++TZID:/kde.org/Olson_20071016_1/Africa/Accra
+ X-LIC-LOCATION:Africa/Accra
+ BEGIN:STANDARD
+ TZOFFSETFROM:-000052
+--- a/kcal/libical/zoneinfo/Africa/Banjul.ics
++++ b/kcal/libical/zoneinfo/Africa/Banjul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Banjul
++TZID:/kde.org/Olson_20071016_1/Africa/Banjul
+ X-LIC-LOCATION:Africa/Banjul
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010636
+--- a/kcal/libical/zoneinfo/Africa/El_Aaiun.ics
++++ b/kcal/libical/zoneinfo/Africa/El_Aaiun.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/El_Aaiun
++TZID:/kde.org/Olson_20071016_1/Africa/El_Aaiun
+ X-LIC-LOCATION:Africa/El_Aaiun
+ BEGIN:STANDARD
+ TZOFFSETFROM:-005248
+--- a/kcal/libical/zoneinfo/Africa/Ndjamena.ics
++++ b/kcal/libical/zoneinfo/Africa/Ndjamena.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Ndjamena
++TZID:/kde.org/Olson_20071016_1/Africa/Ndjamena
+ X-LIC-LOCATION:Africa/Ndjamena
+ BEGIN:STANDARD
+ TZOFFSETFROM:+010012
+--- a/kcal/libical/zoneinfo/Africa/Ouagadougou.ics
++++ b/kcal/libical/zoneinfo/Africa/Ouagadougou.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Ouagadougou
++TZID:/kde.org/Olson_20071016_1/Africa/Ouagadougou
+ X-LIC-LOCATION:Africa/Ouagadougou
+ BEGIN:STANDARD
+ TZOFFSETFROM:-000604
+--- a/kcal/libical/zoneinfo/Africa/Mogadishu.ics
++++ b/kcal/libical/zoneinfo/Africa/Mogadishu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Mogadishu
++TZID:/kde.org/Olson_20071016_1/Africa/Mogadishu
+ X-LIC-LOCATION:Africa/Mogadishu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030128
+--- a/kcal/libical/zoneinfo/Africa/Porto-Novo.ics
++++ b/kcal/libical/zoneinfo/Africa/Porto-Novo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Porto-Novo
++TZID:/kde.org/Olson_20071016_1/Africa/Porto-Novo
+ X-LIC-LOCATION:Africa/Porto-Novo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+001028
+--- a/kcal/libical/zoneinfo/Africa/Johannesburg.ics
++++ b/kcal/libical/zoneinfo/Africa/Johannesburg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Johannesburg
++TZID:/kde.org/Olson_20071016_1/Africa/Johannesburg
+ X-LIC-LOCATION:Africa/Johannesburg
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0152
+--- a/kcal/libical/zoneinfo/Africa/Brazzaville.ics
++++ b/kcal/libical/zoneinfo/Africa/Brazzaville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Brazzaville
++TZID:/kde.org/Olson_20071016_1/Africa/Brazzaville
+ X-LIC-LOCATION:Africa/Brazzaville
+ BEGIN:STANDARD
+ TZOFFSETFROM:+010108
+--- a/kcal/libical/zoneinfo/Africa/Abidjan.ics
++++ b/kcal/libical/zoneinfo/Africa/Abidjan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Abidjan
++TZID:/kde.org/Olson_20071016_1/Africa/Abidjan
+ X-LIC-LOCATION:Africa/Abidjan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-001608
+--- a/kcal/libical/zoneinfo/Africa/Libreville.ics
++++ b/kcal/libical/zoneinfo/Africa/Libreville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Libreville
++TZID:/kde.org/Olson_20071016_1/Africa/Libreville
+ X-LIC-LOCATION:Africa/Libreville
+ BEGIN:STANDARD
+ TZOFFSETFROM:+003748
+--- a/kcal/libical/zoneinfo/Africa/Freetown.ics
++++ b/kcal/libical/zoneinfo/Africa/Freetown.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Freetown
++TZID:/kde.org/Olson_20071016_1/Africa/Freetown
+ X-LIC-LOCATION:Africa/Freetown
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0053
+--- a/kcal/libical/zoneinfo/Africa/Addis_Ababa.ics
++++ b/kcal/libical/zoneinfo/Africa/Addis_Ababa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Addis_Ababa
++TZID:/kde.org/Olson_20071016_1/Africa/Addis_Ababa
+ X-LIC-LOCATION:Africa/Addis_Ababa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+023448
+--- a/kcal/libical/zoneinfo/Africa/Bamako.ics
++++ b/kcal/libical/zoneinfo/Africa/Bamako.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bamako
++TZID:/kde.org/Olson_20071016_1/Africa/Bamako
+ X-LIC-LOCATION:Africa/Bamako
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0032
+--- a/kcal/libical/zoneinfo/Africa/Lubumbashi.ics
++++ b/kcal/libical/zoneinfo/Africa/Lubumbashi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lubumbashi
++TZID:/kde.org/Olson_20071016_1/Africa/Lubumbashi
+ X-LIC-LOCATION:Africa/Lubumbashi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+014952
+--- a/kcal/libical/zoneinfo/Africa/Gaborone.ics
++++ b/kcal/libical/zoneinfo/Africa/Gaborone.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Gaborone
++TZID:/kde.org/Olson_20071016_1/Africa/Gaborone
+ X-LIC-LOCATION:Africa/Gaborone
+ BEGIN:STANDARD
+ TZOFFSETFROM:+014340
+--- a/kcal/libical/zoneinfo/Africa/Cairo.ics
++++ b/kcal/libical/zoneinfo/Africa/Cairo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Cairo
++TZID:/kde.org/Olson_20071016_1/Africa/Cairo
+ X-LIC-LOCATION:Africa/Cairo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+@@ -15,8 +15,8 @@
+ TZOFFSETFROM:+0200
+ TZOFFSETTO:+0200
+ TZNAME:EET
+-DTSTART:20070906T230000
+-RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1TH
++DTSTART:20080828T230000
++RRULE:FREQ=YEARLY;BYMONTH=8;BYDAY=-1TH
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0205
+@@ -142,6 +142,7 @@
+ RDATE:20040930T230000
+ RDATE:20050929T230000
+ RDATE:20060921T230000
++RDATE:20070906T230000
+ END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/Africa/Kigali.ics
++++ b/kcal/libical/zoneinfo/Africa/Kigali.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Kigali
++TZID:/kde.org/Olson_20071016_1/Africa/Kigali
+ X-LIC-LOCATION:Africa/Kigali
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020016
+--- a/kcal/libical/zoneinfo/Africa/Ceuta.ics
++++ b/kcal/libical/zoneinfo/Africa/Ceuta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Ceuta
++TZID:/kde.org/Olson_20071016_1/Africa/Ceuta
+ X-LIC-LOCATION:Africa/Ceuta
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Africa/Harare.ics
++++ b/kcal/libical/zoneinfo/Africa/Harare.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Harare
++TZID:/kde.org/Olson_20071016_1/Africa/Harare
+ X-LIC-LOCATION:Africa/Harare
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020412
+--- a/kcal/libical/zoneinfo/Africa/Tunis.ics
++++ b/kcal/libical/zoneinfo/Africa/Tunis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Tunis
++TZID:/kde.org/Olson_20071016_1/Africa/Tunis
+ X-LIC-LOCATION:Africa/Tunis
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Africa/Asmara.ics
++++ b/kcal/libical/zoneinfo/Africa/Asmara.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Asmara
++TZID:/kde.org/Olson_20071016_1/Africa/Asmara
+ X-LIC-LOCATION:Africa/Asmara
+ BEGIN:STANDARD
+ TZOFFSETFROM:+023532
+--- a/kcal/libical/zoneinfo/Africa/Maputo.ics
++++ b/kcal/libical/zoneinfo/Africa/Maputo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Maputo
++TZID:/kde.org/Olson_20071016_1/Africa/Maputo
+ X-LIC-LOCATION:Africa/Maputo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+021020
+--- a/kcal/libical/zoneinfo/Africa/Kampala.ics
++++ b/kcal/libical/zoneinfo/Africa/Kampala.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Kampala
++TZID:/kde.org/Olson_20071016_1/Africa/Kampala
+ X-LIC-LOCATION:Africa/Kampala
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020940
+--- a/kcal/libical/zoneinfo/Africa/Conakry.ics
++++ b/kcal/libical/zoneinfo/Africa/Conakry.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Conakry
++TZID:/kde.org/Olson_20071016_1/Africa/Conakry
+ X-LIC-LOCATION:Africa/Conakry
+ BEGIN:STANDARD
+ TZOFFSETFROM:-005452
+--- a/kcal/libical/zoneinfo/Africa/Casablanca.ics
++++ b/kcal/libical/zoneinfo/Africa/Casablanca.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Casablanca
++TZID:/kde.org/Olson_20071016_1/Africa/Casablanca
+ X-LIC-LOCATION:Africa/Casablanca
+ BEGIN:STANDARD
+ TZOFFSETFROM:-003020
+--- a/kcal/libical/zoneinfo/Africa/Dar_es_Salaam.ics
++++ b/kcal/libical/zoneinfo/Africa/Dar_es_Salaam.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Dar_es_Salaam
++TZID:/kde.org/Olson_20071016_1/Africa/Dar_es_Salaam
+ X-LIC-LOCATION:Africa/Dar_es_Salaam
+ BEGIN:STANDARD
+ TZOFFSETFROM:+023708
+--- a/kcal/libical/zoneinfo/Africa/Nouakchott.ics
++++ b/kcal/libical/zoneinfo/Africa/Nouakchott.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Nouakchott
++TZID:/kde.org/Olson_20071016_1/Africa/Nouakchott
+ X-LIC-LOCATION:Africa/Nouakchott
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010348
+--- a/kcal/libical/zoneinfo/Africa/Blantyre.ics
++++ b/kcal/libical/zoneinfo/Africa/Blantyre.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Blantyre
++TZID:/kde.org/Olson_20071016_1/Africa/Blantyre
+ X-LIC-LOCATION:Africa/Blantyre
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0220
+--- a/kcal/libical/zoneinfo/Africa/Lusaka.ics
++++ b/kcal/libical/zoneinfo/Africa/Lusaka.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lusaka
++TZID:/kde.org/Olson_20071016_1/Africa/Lusaka
+ X-LIC-LOCATION:Africa/Lusaka
+ BEGIN:STANDARD
+ TZOFFSETFROM:+015308
+--- a/kcal/libical/zoneinfo/Africa/Dakar.ics
++++ b/kcal/libical/zoneinfo/Africa/Dakar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Dakar
++TZID:/kde.org/Olson_20071016_1/Africa/Dakar
+ X-LIC-LOCATION:Africa/Dakar
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010944
+--- a/kcal/libical/zoneinfo/Africa/Niamey.ics
++++ b/kcal/libical/zoneinfo/Africa/Niamey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Niamey
++TZID:/kde.org/Olson_20071016_1/Africa/Niamey
+ X-LIC-LOCATION:Africa/Niamey
+ BEGIN:STANDARD
+ TZOFFSETFROM:+000828
+--- a/kcal/libical/zoneinfo/Africa/Tripoli.ics
++++ b/kcal/libical/zoneinfo/Africa/Tripoli.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Tripoli
++TZID:/kde.org/Olson_20071016_1/Africa/Tripoli
+ X-LIC-LOCATION:Africa/Tripoli
+ BEGIN:STANDARD
+ TZOFFSETFROM:+005244
+--- a/kcal/libical/zoneinfo/Africa/Nairobi.ics
++++ b/kcal/libical/zoneinfo/Africa/Nairobi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Nairobi
++TZID:/kde.org/Olson_20071016_1/Africa/Nairobi
+ X-LIC-LOCATION:Africa/Nairobi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+022716
+--- a/kcal/libical/zoneinfo/Africa/Mbabane.ics
++++ b/kcal/libical/zoneinfo/Africa/Mbabane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Mbabane
++TZID:/kde.org/Olson_20071016_1/Africa/Mbabane
+ X-LIC-LOCATION:Africa/Mbabane
+ BEGIN:STANDARD
+ TZOFFSETFROM:+020424
+--- a/kcal/libical/zoneinfo/Africa/Algiers.ics
++++ b/kcal/libical/zoneinfo/Africa/Algiers.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Algiers
++TZID:/kde.org/Olson_20071016_1/Africa/Algiers
+ X-LIC-LOCATION:Africa/Algiers
+ BEGIN:STANDARD
+ TZOFFSETFROM:+001212
+--- a/kcal/libical/zoneinfo/Africa/Bissau.ics
++++ b/kcal/libical/zoneinfo/Africa/Bissau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bissau
++TZID:/kde.org/Olson_20071016_1/Africa/Bissau
+ X-LIC-LOCATION:Africa/Bissau
+ BEGIN:STANDARD
+ TZOFFSETFROM:-010220
+--- a/kcal/libical/zoneinfo/Africa/Khartoum.ics
++++ b/kcal/libical/zoneinfo/Africa/Khartoum.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Khartoum
++TZID:/kde.org/Olson_20071016_1/Africa/Khartoum
+ X-LIC-LOCATION:Africa/Khartoum
+ BEGIN:STANDARD
+ TZOFFSETFROM:+021008
+--- a/kcal/libical/zoneinfo/Africa/Monrovia.ics
++++ b/kcal/libical/zoneinfo/Africa/Monrovia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Monrovia
++TZID:/kde.org/Olson_20071016_1/Africa/Monrovia
+ X-LIC-LOCATION:Africa/Monrovia
+ BEGIN:STANDARD
+ TZOFFSETFROM:-004308
+--- a/kcal/libical/zoneinfo/Africa/Malabo.ics
++++ b/kcal/libical/zoneinfo/Africa/Malabo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Malabo
++TZID:/kde.org/Olson_20071016_1/Africa/Malabo
+ X-LIC-LOCATION:Africa/Malabo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+003508
+--- a/kcal/libical/zoneinfo/Africa/Lome.ics
++++ b/kcal/libical/zoneinfo/Africa/Lome.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Lome
++TZID:/kde.org/Olson_20071016_1/Africa/Lome
+ X-LIC-LOCATION:Africa/Lome
+ BEGIN:STANDARD
+ TZOFFSETFROM:+000452
+--- a/kcal/libical/zoneinfo/Africa/Bujumbura.ics
++++ b/kcal/libical/zoneinfo/Africa/Bujumbura.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Bujumbura
++TZID:/kde.org/Olson_20071016_1/Africa/Bujumbura
+ X-LIC-LOCATION:Africa/Bujumbura
+ BEGIN:STANDARD
+ TZOFFSETFROM:+015728
+--- a/kcal/libical/zoneinfo/Africa/Maseru.ics
++++ b/kcal/libical/zoneinfo/Africa/Maseru.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Maseru
++TZID:/kde.org/Olson_20071016_1/Africa/Maseru
+ X-LIC-LOCATION:Africa/Maseru
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0150
+--- a/kcal/libical/zoneinfo/Africa/Kinshasa.ics
++++ b/kcal/libical/zoneinfo/Africa/Kinshasa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Africa/Kinshasa
++TZID:/kde.org/Olson_20071016_1/Africa/Kinshasa
+ X-LIC-LOCATION:Africa/Kinshasa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+010112
+--- a/kcal/libical/zoneinfo/Arctic/Longyearbyen.ics
++++ b/kcal/libical/zoneinfo/Arctic/Longyearbyen.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Arctic/Longyearbyen
++TZID:/kde.org/Olson_20071016_1/Arctic/Longyearbyen
+ X-LIC-LOCATION:Arctic/Longyearbyen
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0100
+--- a/kcal/libical/zoneinfo/Australia/Lord_Howe.ics
++++ b/kcal/libical/zoneinfo/Australia/Lord_Howe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Lord_Howe
++TZID:/kde.org/Olson_20071016_1/Australia/Lord_Howe
+ X-LIC-LOCATION:Australia/Lord_Howe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Australia/Perth.ics
++++ b/kcal/libical/zoneinfo/Australia/Perth.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Perth
++TZID:/kde.org/Olson_20071016_1/Australia/Perth
+ X-LIC-LOCATION:Australia/Perth
+ BEGIN:STANDARD
+ TZOFFSETFROM:+074324
+--- a/kcal/libical/zoneinfo/Australia/Darwin.ics
++++ b/kcal/libical/zoneinfo/Australia/Darwin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Darwin
++TZID:/kde.org/Olson_20071016_1/Australia/Darwin
+ X-LIC-LOCATION:Australia/Darwin
+ BEGIN:STANDARD
+ TZOFFSETFROM:+084320
+--- a/kcal/libical/zoneinfo/Australia/Brisbane.ics
++++ b/kcal/libical/zoneinfo/Australia/Brisbane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Brisbane
++TZID:/kde.org/Olson_20071016_1/Australia/Brisbane
+ X-LIC-LOCATION:Australia/Brisbane
+ BEGIN:STANDARD
+ TZOFFSETFROM:+101208
+--- a/kcal/libical/zoneinfo/Australia/Lindeman.ics
++++ b/kcal/libical/zoneinfo/Australia/Lindeman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Lindeman
++TZID:/kde.org/Olson_20071016_1/Australia/Lindeman
+ X-LIC-LOCATION:Australia/Lindeman
+ BEGIN:STANDARD
+ TZOFFSETFROM:+095556
+--- a/kcal/libical/zoneinfo/Australia/Adelaide.ics
++++ b/kcal/libical/zoneinfo/Australia/Adelaide.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Adelaide
++TZID:/kde.org/Olson_20071016_1/Australia/Adelaide
+ X-LIC-LOCATION:Australia/Adelaide
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1030
+--- a/kcal/libical/zoneinfo/Australia/Broken_Hill.ics
++++ b/kcal/libical/zoneinfo/Australia/Broken_Hill.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Broken_Hill
++TZID:/kde.org/Olson_20071016_1/Australia/Broken_Hill
+ X-LIC-LOCATION:Australia/Broken_Hill
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1030
+--- a/kcal/libical/zoneinfo/Australia/Melbourne.ics
++++ b/kcal/libical/zoneinfo/Australia/Melbourne.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Melbourne
++TZID:/kde.org/Olson_20071016_1/Australia/Melbourne
+ X-LIC-LOCATION:Australia/Melbourne
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Australia/Currie.ics
++++ b/kcal/libical/zoneinfo/Australia/Currie.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Currie
++TZID:/kde.org/Olson_20071016_1/Australia/Currie
+ X-LIC-LOCATION:Australia/Currie
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1000
+--- a/kcal/libical/zoneinfo/Australia/Eucla.ics
++++ b/kcal/libical/zoneinfo/Australia/Eucla.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Eucla
++TZID:/kde.org/Olson_20071016_1/Australia/Eucla
+ X-LIC-LOCATION:Australia/Eucla
+ BEGIN:STANDARD
+ TZOFFSETFROM:+083528
+--- a/kcal/libical/zoneinfo/Australia/Sydney.ics
++++ b/kcal/libical/zoneinfo/Australia/Sydney.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Sydney
++TZID:/kde.org/Olson_20071016_1/Australia/Sydney
+ X-LIC-LOCATION:Australia/Sydney
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Australia/Hobart.ics
++++ b/kcal/libical/zoneinfo/Australia/Hobart.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Australia/Hobart
++TZID:/kde.org/Olson_20071016_1/Australia/Hobart
+ X-LIC-LOCATION:Australia/Hobart
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1000
+--- a/kcal/libical/zoneinfo/Antarctica/Syowa.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Syowa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Syowa
++TZID:/kde.org/Olson_20071016_1/Antarctica/Syowa
+ X-LIC-LOCATION:Antarctica/Syowa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Casey.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Casey.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Casey
++TZID:/kde.org/Olson_20071016_1/Antarctica/Casey
+ X-LIC-LOCATION:Antarctica/Casey
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Mawson.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Mawson.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Mawson
++TZID:/kde.org/Olson_20071016_1/Antarctica/Mawson
+ X-LIC-LOCATION:Antarctica/Mawson
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Rothera.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Rothera.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Rothera
++TZID:/kde.org/Olson_20071016_1/Antarctica/Rothera
+ X-LIC-LOCATION:Antarctica/Rothera
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Vostok.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Vostok.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Vostok
++TZID:/kde.org/Olson_20071016_1/Antarctica/Vostok
+ X-LIC-LOCATION:Antarctica/Vostok
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Davis.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Davis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Davis
++TZID:/kde.org/Olson_20071016_1/Antarctica/Davis
+ X-LIC-LOCATION:Antarctica/Davis
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/McMurdo.ics
++++ b/kcal/libical/zoneinfo/Antarctica/McMurdo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/McMurdo
++TZID:/kde.org/Olson_20071016_1/Antarctica/McMurdo
+ X-LIC-LOCATION:Antarctica/McMurdo
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Antarctica/DumontDUrville.ics
++++ b/kcal/libical/zoneinfo/Antarctica/DumontDUrville.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/DumontDUrville
++TZID:/kde.org/Olson_20071016_1/Antarctica/DumontDUrville
+ X-LIC-LOCATION:Antarctica/DumontDUrville
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0000
+--- a/kcal/libical/zoneinfo/Antarctica/Palmer.ics
++++ b/kcal/libical/zoneinfo/Antarctica/Palmer.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/Palmer
++TZID:/kde.org/Olson_20071016_1/Antarctica/Palmer
+ X-LIC-LOCATION:Antarctica/Palmer
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0400
+--- a/kcal/libical/zoneinfo/Antarctica/South_Pole.ics
++++ b/kcal/libical/zoneinfo/Antarctica/South_Pole.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Antarctica/South_Pole
++TZID:/kde.org/Olson_20071016_1/Antarctica/South_Pole
+ X-LIC-LOCATION:Antarctica/South_Pole
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Asia/Makassar.ics
++++ b/kcal/libical/zoneinfo/Asia/Makassar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Makassar
++TZID:/kde.org/Olson_20071016_1/Asia/Makassar
+ X-LIC-LOCATION:Asia/Makassar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+075736
+--- a/kcal/libical/zoneinfo/Asia/Karachi.ics
++++ b/kcal/libical/zoneinfo/Asia/Karachi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Karachi
++TZID:/kde.org/Olson_20071016_1/Asia/Karachi
+ X-LIC-LOCATION:Asia/Karachi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+042812
+--- a/kcal/libical/zoneinfo/Asia/Rangoon.ics
++++ b/kcal/libical/zoneinfo/Asia/Rangoon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Rangoon
++TZID:/kde.org/Olson_20071016_1/Asia/Rangoon
+ X-LIC-LOCATION:Asia/Rangoon
+ BEGIN:STANDARD
+ TZOFFSETFROM:+062440
+--- a/kcal/libical/zoneinfo/Asia/Harbin.ics
++++ b/kcal/libical/zoneinfo/Asia/Harbin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Harbin
++TZID:/kde.org/Olson_20071016_1/Asia/Harbin
+ X-LIC-LOCATION:Asia/Harbin
+ BEGIN:STANDARD
+ TZOFFSETFROM:+082644
+--- a/kcal/libical/zoneinfo/Asia/Novosibirsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Novosibirsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Novosibirsk
++TZID:/kde.org/Olson_20071016_1/Asia/Novosibirsk
+ X-LIC-LOCATION:Asia/Novosibirsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0600
+--- a/kcal/libical/zoneinfo/Asia/Yerevan.ics
++++ b/kcal/libical/zoneinfo/Asia/Yerevan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Yerevan
++TZID:/kde.org/Olson_20071016_1/Asia/Yerevan
+ X-LIC-LOCATION:Asia/Yerevan
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0400
+--- a/kcal/libical/zoneinfo/Asia/Ashgabat.ics
++++ b/kcal/libical/zoneinfo/Asia/Ashgabat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Ashgabat
++TZID:/kde.org/Olson_20071016_1/Asia/Ashgabat
+ X-LIC-LOCATION:Asia/Ashgabat
+ BEGIN:STANDARD
+ TZOFFSETFROM:+035332
+--- a/kcal/libical/zoneinfo/Asia/Ulaanbaatar.ics
++++ b/kcal/libical/zoneinfo/Asia/Ulaanbaatar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Ulaanbaatar
++TZID:/kde.org/Olson_20071016_1/Asia/Ulaanbaatar
+ X-LIC-LOCATION:Asia/Ulaanbaatar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070732
+--- a/kcal/libical/zoneinfo/Asia/Jakarta.ics
++++ b/kcal/libical/zoneinfo/Asia/Jakarta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Jakarta
++TZID:/kde.org/Olson_20071016_1/Asia/Jakarta
+ X-LIC-LOCATION:Asia/Jakarta
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070712
+--- a/kcal/libical/zoneinfo/Asia/Thimphu.ics
++++ b/kcal/libical/zoneinfo/Asia/Thimphu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Thimphu
++TZID:/kde.org/Olson_20071016_1/Asia/Thimphu
+ X-LIC-LOCATION:Asia/Thimphu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+055836
+--- a/kcal/libical/zoneinfo/Asia/Saigon.ics
++++ b/kcal/libical/zoneinfo/Asia/Saigon.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Saigon
++TZID:/kde.org/Olson_20071016_1/Asia/Saigon
+ X-LIC-LOCATION:Asia/Saigon
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070640
+--- a/kcal/libical/zoneinfo/Asia/Riyadh.ics
++++ b/kcal/libical/zoneinfo/Asia/Riyadh.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Riyadh
++TZID:/kde.org/Olson_20071016_1/Asia/Riyadh
+ X-LIC-LOCATION:Asia/Riyadh
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030652
+--- a/kcal/libical/zoneinfo/Asia/Bishkek.ics
++++ b/kcal/libical/zoneinfo/Asia/Bishkek.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Bishkek
++TZID:/kde.org/Olson_20071016_1/Asia/Bishkek
+ X-LIC-LOCATION:Asia/Bishkek
+ BEGIN:STANDARD
+ TZOFFSETFROM:+045824
+--- a/kcal/libical/zoneinfo/Asia/Dili.ics
++++ b/kcal/libical/zoneinfo/Asia/Dili.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dili
++TZID:/kde.org/Olson_20071016_1/Asia/Dili
+ X-LIC-LOCATION:Asia/Dili
+ BEGIN:STANDARD
+ TZOFFSETFROM:+082220
+--- a/kcal/libical/zoneinfo/Asia/Istanbul.ics
++++ b/kcal/libical/zoneinfo/Asia/Istanbul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Istanbul
++TZID:/kde.org/Olson_20071016_1/Asia/Istanbul
+ X-LIC-LOCATION:Asia/Istanbul
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Pontianak.ics
++++ b/kcal/libical/zoneinfo/Asia/Pontianak.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Pontianak
++TZID:/kde.org/Olson_20071016_1/Asia/Pontianak
+ X-LIC-LOCATION:Asia/Pontianak
+ BEGIN:STANDARD
+ TZOFFSETFROM:+071720
+--- a/kcal/libical/zoneinfo/Asia/Kamchatka.ics
++++ b/kcal/libical/zoneinfo/Asia/Kamchatka.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kamchatka
++TZID:/kde.org/Olson_20071016_1/Asia/Kamchatka
+ X-LIC-LOCATION:Asia/Kamchatka
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Asia/Seoul.ics
++++ b/kcal/libical/zoneinfo/Asia/Seoul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Seoul
++TZID:/kde.org/Olson_20071016_1/Asia/Seoul
+ X-LIC-LOCATION:Asia/Seoul
+ BEGIN:STANDARD
+ TZOFFSETFROM:+082752
+--- a/kcal/libical/zoneinfo/Asia/Oral.ics
++++ b/kcal/libical/zoneinfo/Asia/Oral.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Oral
++TZID:/kde.org/Olson_20071016_1/Asia/Oral
+ X-LIC-LOCATION:Asia/Oral
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032524
+--- a/kcal/libical/zoneinfo/Asia/Choibalsan.ics
++++ b/kcal/libical/zoneinfo/Asia/Choibalsan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Choibalsan
++TZID:/kde.org/Olson_20071016_1/Asia/Choibalsan
+ X-LIC-LOCATION:Asia/Choibalsan
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0738
+--- a/kcal/libical/zoneinfo/Asia/Kuwait.ics
++++ b/kcal/libical/zoneinfo/Asia/Kuwait.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kuwait
++TZID:/kde.org/Olson_20071016_1/Asia/Kuwait
+ X-LIC-LOCATION:Asia/Kuwait
+ BEGIN:STANDARD
+ TZOFFSETFROM:+031156
+--- a/kcal/libical/zoneinfo/Asia/Krasnoyarsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Krasnoyarsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Krasnoyarsk
++TZID:/kde.org/Olson_20071016_1/Asia/Krasnoyarsk
+ X-LIC-LOCATION:Asia/Krasnoyarsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0700
+--- a/kcal/libical/zoneinfo/Asia/Omsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Omsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Omsk
++TZID:/kde.org/Olson_20071016_1/Asia/Omsk
+ X-LIC-LOCATION:Asia/Omsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0600
+--- a/kcal/libical/zoneinfo/Asia/Baghdad.ics
++++ b/kcal/libical/zoneinfo/Asia/Baghdad.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Baghdad
++TZID:/kde.org/Olson_20071016_1/Asia/Baghdad
+ X-LIC-LOCATION:Asia/Baghdad
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Asia/Taipei.ics
++++ b/kcal/libical/zoneinfo/Asia/Taipei.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Taipei
++TZID:/kde.org/Olson_20071016_1/Asia/Taipei
+ X-LIC-LOCATION:Asia/Taipei
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0806
+--- a/kcal/libical/zoneinfo/Asia/Yekaterinburg.ics
++++ b/kcal/libical/zoneinfo/Asia/Yekaterinburg.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Yekaterinburg
++TZID:/kde.org/Olson_20071016_1/Asia/Yekaterinburg
+ X-LIC-LOCATION:Asia/Yekaterinburg
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0500
+--- a/kcal/libical/zoneinfo/Asia/Jayapura.ics
++++ b/kcal/libical/zoneinfo/Asia/Jayapura.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Jayapura
++TZID:/kde.org/Olson_20071016_1/Asia/Jayapura
+ X-LIC-LOCATION:Asia/Jayapura
+ BEGIN:STANDARD
+ TZOFFSETFROM:+092248
+--- a/kcal/libical/zoneinfo/Asia/Baku.ics
++++ b/kcal/libical/zoneinfo/Asia/Baku.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Baku
++TZID:/kde.org/Olson_20071016_1/Asia/Baku
+ X-LIC-LOCATION:Asia/Baku
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0400
+--- a/kcal/libical/zoneinfo/Asia/Urumqi.ics
++++ b/kcal/libical/zoneinfo/Asia/Urumqi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Urumqi
++TZID:/kde.org/Olson_20071016_1/Asia/Urumqi
+ X-LIC-LOCATION:Asia/Urumqi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+055020
+--- a/kcal/libical/zoneinfo/Asia/Vientiane.ics
++++ b/kcal/libical/zoneinfo/Asia/Vientiane.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Vientiane
++TZID:/kde.org/Olson_20071016_1/Asia/Vientiane
+ X-LIC-LOCATION:Asia/Vientiane
+ BEGIN:STANDARD
+ TZOFFSETFROM:+065024
+--- a/kcal/libical/zoneinfo/Asia/Dubai.ics
++++ b/kcal/libical/zoneinfo/Asia/Dubai.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dubai
++TZID:/kde.org/Olson_20071016_1/Asia/Dubai
+ X-LIC-LOCATION:Asia/Dubai
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034112
+--- a/kcal/libical/zoneinfo/Asia/Nicosia.ics
++++ b/kcal/libical/zoneinfo/Asia/Nicosia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Nicosia
++TZID:/kde.org/Olson_20071016_1/Asia/Nicosia
+ X-LIC-LOCATION:Asia/Nicosia
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0300
+--- a/kcal/libical/zoneinfo/Asia/Singapore.ics
++++ b/kcal/libical/zoneinfo/Asia/Singapore.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Singapore
++TZID:/kde.org/Olson_20071016_1/Asia/Singapore
+ X-LIC-LOCATION:Asia/Singapore
+ BEGIN:STANDARD
+ TZOFFSETFROM:+065525
+--- a/kcal/libical/zoneinfo/Asia/Dushanbe.ics
++++ b/kcal/libical/zoneinfo/Asia/Dushanbe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dushanbe
++TZID:/kde.org/Olson_20071016_1/Asia/Dushanbe
+ X-LIC-LOCATION:Asia/Dushanbe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+043512
+--- a/kcal/libical/zoneinfo/Asia/Sakhalin.ics
++++ b/kcal/libical/zoneinfo/Asia/Sakhalin.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Sakhalin
++TZID:/kde.org/Olson_20071016_1/Asia/Sakhalin
+ X-LIC-LOCATION:Asia/Sakhalin
+ BEGIN:STANDARD
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Asia/Qyzylorda.ics
++++ b/kcal/libical/zoneinfo/Asia/Qyzylorda.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Qyzylorda
++TZID:/kde.org/Olson_20071016_1/Asia/Qyzylorda
+ X-LIC-LOCATION:Asia/Qyzylorda
+ BEGIN:STANDARD
+ TZOFFSETFROM:+042152
+--- a/kcal/libical/zoneinfo/Asia/Kabul.ics
++++ b/kcal/libical/zoneinfo/Asia/Kabul.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kabul
++TZID:/kde.org/Olson_20071016_1/Asia/Kabul
+ X-LIC-LOCATION:Asia/Kabul
+ BEGIN:STANDARD
+ TZOFFSETFROM:+043648
+--- a/kcal/libical/zoneinfo/Asia/Calcutta.ics
++++ b/kcal/libical/zoneinfo/Asia/Calcutta.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Calcutta
++TZID:/kde.org/Olson_20071016_1/Asia/Calcutta
+ X-LIC-LOCATION:Asia/Calcutta
+ BEGIN:STANDARD
+ TZOFFSETFROM:+055328
+--- a/kcal/libical/zoneinfo/Asia/Samarkand.ics
++++ b/kcal/libical/zoneinfo/Asia/Samarkand.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Samarkand
++TZID:/kde.org/Olson_20071016_1/Asia/Samarkand
+ X-LIC-LOCATION:Asia/Samarkand
+ BEGIN:STANDARD
+ TZOFFSETFROM:+042712
+--- a/kcal/libical/zoneinfo/Asia/Manila.ics
++++ b/kcal/libical/zoneinfo/Asia/Manila.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Manila
++TZID:/kde.org/Olson_20071016_1/Asia/Manila
+ X-LIC-LOCATION:Asia/Manila
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1556
+--- a/kcal/libical/zoneinfo/Asia/Kuala_Lumpur.ics
++++ b/kcal/libical/zoneinfo/Asia/Kuala_Lumpur.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kuala_Lumpur
++TZID:/kde.org/Olson_20071016_1/Asia/Kuala_Lumpur
+ X-LIC-LOCATION:Asia/Kuala_Lumpur
+ BEGIN:STANDARD
+ TZOFFSETFROM:+064646
+--- a/kcal/libical/zoneinfo/Asia/Katmandu.ics
++++ b/kcal/libical/zoneinfo/Asia/Katmandu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Katmandu
++TZID:/kde.org/Olson_20071016_1/Asia/Katmandu
+ X-LIC-LOCATION:Asia/Katmandu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+054116
+--- a/kcal/libical/zoneinfo/Asia/Bahrain.ics
++++ b/kcal/libical/zoneinfo/Asia/Bahrain.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Bahrain
++TZID:/kde.org/Olson_20071016_1/Asia/Bahrain
+ X-LIC-LOCATION:Asia/Bahrain
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032220
+--- a/kcal/libical/zoneinfo/Asia/Aden.ics
++++ b/kcal/libical/zoneinfo/Asia/Aden.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Aden
++TZID:/kde.org/Olson_20071016_1/Asia/Aden
+ X-LIC-LOCATION:Asia/Aden
+ BEGIN:STANDARD
+ TZOFFSETFROM:+030048
+--- a/kcal/libical/zoneinfo/Asia/Qatar.ics
++++ b/kcal/libical/zoneinfo/Asia/Qatar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Qatar
++TZID:/kde.org/Olson_20071016_1/Asia/Qatar
+ X-LIC-LOCATION:Asia/Qatar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032608
+--- a/kcal/libical/zoneinfo/Asia/Dhaka.ics
++++ b/kcal/libical/zoneinfo/Asia/Dhaka.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Dhaka
++TZID:/kde.org/Olson_20071016_1/Asia/Dhaka
+ X-LIC-LOCATION:Asia/Dhaka
+ BEGIN:STANDARD
+ TZOFFSETFROM:+060140
+--- a/kcal/libical/zoneinfo/Asia/Pyongyang.ics
++++ b/kcal/libical/zoneinfo/Asia/Pyongyang.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Pyongyang
++TZID:/kde.org/Olson_20071016_1/Asia/Pyongyang
+ X-LIC-LOCATION:Asia/Pyongyang
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0823
+--- a/kcal/libical/zoneinfo/Asia/Aqtobe.ics
++++ b/kcal/libical/zoneinfo/Asia/Aqtobe.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Aqtobe
++TZID:/kde.org/Olson_20071016_1/Asia/Aqtobe
+ X-LIC-LOCATION:Asia/Aqtobe
+ BEGIN:STANDARD
+ TZOFFSETFROM:+034840
+--- a/kcal/libical/zoneinfo/Asia/Aqtau.ics
++++ b/kcal/libical/zoneinfo/Asia/Aqtau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Aqtau
++TZID:/kde.org/Olson_20071016_1/Asia/Aqtau
+ X-LIC-LOCATION:Asia/Aqtau
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032104
+--- a/kcal/libical/zoneinfo/Asia/Chongqing.ics
++++ b/kcal/libical/zoneinfo/Asia/Chongqing.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Chongqing
++TZID:/kde.org/Olson_20071016_1/Asia/Chongqing
+ X-LIC-LOCATION:Asia/Chongqing
+ BEGIN:STANDARD
+ TZOFFSETFROM:+070620
+--- a/kcal/libical/zoneinfo/Asia/Anadyr.ics
++++ b/kcal/libical/zoneinfo/Asia/Anadyr.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Anadyr
++TZID:/kde.org/Olson_20071016_1/Asia/Anadyr
+ X-LIC-LOCATION:Asia/Anadyr
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Asia/Kashgar.ics
++++ b/kcal/libical/zoneinfo/Asia/Kashgar.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kashgar
++TZID:/kde.org/Olson_20071016_1/Asia/Kashgar
+ X-LIC-LOCATION:Asia/Kashgar
+ BEGIN:STANDARD
+ TZOFFSETFROM:+050356
+--- a/kcal/libical/zoneinfo/Asia/Tashkent.ics
++++ b/kcal/libical/zoneinfo/Asia/Tashkent.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tashkent
++TZID:/kde.org/Olson_20071016_1/Asia/Tashkent
+ X-LIC-LOCATION:Asia/Tashkent
+ BEGIN:STANDARD
+ TZOFFSETFROM:+043712
+--- a/kcal/libical/zoneinfo/Asia/Tehran.ics
++++ b/kcal/libical/zoneinfo/Asia/Tehran.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tehran
++TZID:/kde.org/Olson_20071016_1/Asia/Tehran
+ X-LIC-LOCATION:Asia/Tehran
+ BEGIN:STANDARD
+ TZOFFSETFROM:+032544
+@@ -68,6 +68,36 @@
+ RDATE:20030322T000000
+ RDATE:20040321T000000
+ RDATE:20050322T000000
++RDATE:20080321T000000
++RDATE:20090322T000000
++RDATE:20100322T000000
++RDATE:20110322T000000
++RDATE:20120321T000000
++RDATE:20130322T000000
++RDATE:20140322T000000
++RDATE:20150322T000000
++RDATE:20160321T000000
++RDATE:20170322T000000
++RDATE:20180322T000000
++RDATE:20190322T000000
++RDATE:20200321T000000
++RDATE:20210322T000000
++RDATE:20220322T000000
++RDATE:20230322T000000
++RDATE:20240321T000000
++RDATE:20250322T000000
++RDATE:20260322T000000
++RDATE:20270322T000000
++RDATE:20280321T000000
++RDATE:20290321T000000
++RDATE:20300322T000000
++RDATE:20310322T000000
++RDATE:20320321T000000
++RDATE:20330321T000000
++RDATE:20340322T000000
++RDATE:20350322T000000
++RDATE:20360321T000000
++RDATE:20370321T000000
+ END:DAYLIGHT
+ BEGIN:STANDARD
+ TZOFFSETFROM:+0430
+@@ -91,6 +121,36 @@
+ RDATE:20030922T000000
+ RDATE:20040921T000000
+ RDATE:20050922T000000
++RDATE:20080921T000000
++RDATE:20090922T000000
++RDATE:20100922T000000
++RDATE:20110922T000000
++RDATE:20120921T000000
++RDATE:20130922T000000
++RDATE:20140922T000000
++RDATE:20150922T000000
++RDATE:20160921T000000
++RDATE:20170922T000000
++RDATE:20180922T000000
++RDATE:20190922T000000
++RDATE:20200921T000000
++RDATE:20210922T000000
++RDATE:20220922T000000
++RDATE:20230922T000000
++RDATE:20240921T000000
++RDATE:20250922T000000
++RDATE:20260922T000000
++RDATE:20270922T000000
++RDATE:20280921T000000
++RDATE:20290921T000000
++RDATE:20300922T000000
++RDATE:20310922T000000
++RDATE:20320921T000000
++RDATE:20330921T000000
++RDATE:20340922T000000
++RDATE:20350922T000000
++RDATE:20360921T000000
++RDATE:20370921T000000
+ END:STANDARD
+ END:VTIMEZONE
+ END:VCALENDAR
+--- a/kcal/libical/zoneinfo/Asia/Magadan.ics
++++ b/kcal/libical/zoneinfo/Asia/Magadan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Magadan
++TZID:/kde.org/Olson_20071016_1/Asia/Magadan
+ X-LIC-LOCATION:Asia/Magadan
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1100
+--- a/kcal/libical/zoneinfo/Asia/Colombo.ics
++++ b/kcal/libical/zoneinfo/Asia/Colombo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Colombo
++TZID:/kde.org/Olson_20071016_1/Asia/Colombo
+ X-LIC-LOCATION:Asia/Colombo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+051924
+--- a/kcal/libical/zoneinfo/Asia/Phnom_Penh.ics
++++ b/kcal/libical/zoneinfo/Asia/Phnom_Penh.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Phnom_Penh
++TZID:/kde.org/Olson_20071016_1/Asia/Phnom_Penh
+ X-LIC-LOCATION:Asia/Phnom_Penh
+ BEGIN:STANDARD
+ TZOFFSETFROM:+065940
+--- a/kcal/libical/zoneinfo/Asia/Yakutsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Yakutsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Yakutsk
++TZID:/kde.org/Olson_20071016_1/Asia/Yakutsk
+ X-LIC-LOCATION:Asia/Yakutsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0900
+--- a/kcal/libical/zoneinfo/Asia/Muscat.ics
++++ b/kcal/libical/zoneinfo/Asia/Muscat.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Muscat
++TZID:/kde.org/Olson_20071016_1/Asia/Muscat
+ X-LIC-LOCATION:Asia/Muscat
+ BEGIN:STANDARD
+ TZOFFSETFROM:+035420
+--- a/kcal/libical/zoneinfo/Asia/Damascus.ics
++++ b/kcal/libical/zoneinfo/Asia/Damascus.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Damascus
++TZID:/kde.org/Olson_20071016_1/Asia/Damascus
+ X-LIC-LOCATION:Asia/Damascus
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Hovd.ics
++++ b/kcal/libical/zoneinfo/Asia/Hovd.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Hovd
++TZID:/kde.org/Olson_20071016_1/Asia/Hovd
+ X-LIC-LOCATION:Asia/Hovd
+ BEGIN:STANDARD
+ TZOFFSETFROM:+060636
+--- a/kcal/libical/zoneinfo/Asia/Tokyo.ics
++++ b/kcal/libical/zoneinfo/Asia/Tokyo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tokyo
++TZID:/kde.org/Olson_20071016_1/Asia/Tokyo
+ X-LIC-LOCATION:Asia/Tokyo
+ BEGIN:STANDARD
+ TZOFFSETFROM:+091859
+--- a/kcal/libical/zoneinfo/Asia/Vladivostok.ics
++++ b/kcal/libical/zoneinfo/Asia/Vladivostok.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Vladivostok
++TZID:/kde.org/Olson_20071016_1/Asia/Vladivostok
+ X-LIC-LOCATION:Asia/Vladivostok
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1000
+--- a/kcal/libical/zoneinfo/Asia/Hong_Kong.ics
++++ b/kcal/libical/zoneinfo/Asia/Hong_Kong.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Hong_Kong
++TZID:/kde.org/Olson_20071016_1/Asia/Hong_Kong
+ X-LIC-LOCATION:Asia/Hong_Kong
+ BEGIN:STANDARD
+ TZOFFSETFROM:+073636
+--- a/kcal/libical/zoneinfo/Asia/Bangkok.ics
++++ b/kcal/libical/zoneinfo/Asia/Bangkok.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Bangkok
++TZID:/kde.org/Olson_20071016_1/Asia/Bangkok
+ X-LIC-LOCATION:Asia/Bangkok
+ BEGIN:STANDARD
+ TZOFFSETFROM:+064204
+--- a/kcal/libical/zoneinfo/Asia/Shanghai.ics
++++ b/kcal/libical/zoneinfo/Asia/Shanghai.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Shanghai
++TZID:/kde.org/Olson_20071016_1/Asia/Shanghai
+ X-LIC-LOCATION:Asia/Shanghai
+ BEGIN:STANDARD
+ TZOFFSETFROM:+080552
+--- a/kcal/libical/zoneinfo/Asia/Gaza.ics
++++ b/kcal/libical/zoneinfo/Asia/Gaza.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Gaza
++TZID:/kde.org/Olson_20071016_1/Asia/Gaza
+ X-LIC-LOCATION:Asia/Gaza
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+@@ -15,8 +15,8 @@
+ TZOFFSETFROM:+0300
+ TZOFFSETTO:+0200
+ TZNAME:EET
+-DTSTART:20071019T000000
+-RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=3FR
++DTSTART:20070913T020000
++RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=2TH
+ END:STANDARD
+ BEGIN:STANDARD
+ TZOFFSETFROM:+021752
+--- a/kcal/libical/zoneinfo/Asia/Brunei.ics
++++ b/kcal/libical/zoneinfo/Asia/Brunei.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Brunei
++TZID:/kde.org/Olson_20071016_1/Asia/Brunei
+ X-LIC-LOCATION:Asia/Brunei
+ BEGIN:STANDARD
+ TZOFFSETFROM:+073940
+--- a/kcal/libical/zoneinfo/Asia/Macau.ics
++++ b/kcal/libical/zoneinfo/Asia/Macau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Macau
++TZID:/kde.org/Olson_20071016_1/Asia/Macau
+ X-LIC-LOCATION:Asia/Macau
+ BEGIN:STANDARD
+ TZOFFSETFROM:+073420
+--- a/kcal/libical/zoneinfo/Asia/Almaty.ics
++++ b/kcal/libical/zoneinfo/Asia/Almaty.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Almaty
++TZID:/kde.org/Olson_20071016_1/Asia/Almaty
+ X-LIC-LOCATION:Asia/Almaty
+ BEGIN:STANDARD
+ TZOFFSETFROM:+050748
+--- a/kcal/libical/zoneinfo/Asia/Jerusalem.ics
++++ b/kcal/libical/zoneinfo/Asia/Jerusalem.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Jerusalem
++TZID:/kde.org/Olson_20071016_1/Asia/Jerusalem
+ X-LIC-LOCATION:Asia/Jerusalem
+ BEGIN:STANDARD
+ TZOFFSETFROM:+022056
+--- a/kcal/libical/zoneinfo/Asia/Kuching.ics
++++ b/kcal/libical/zoneinfo/Asia/Kuching.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Kuching
++TZID:/kde.org/Olson_20071016_1/Asia/Kuching
+ X-LIC-LOCATION:Asia/Kuching
+ BEGIN:STANDARD
+ TZOFFSETFROM:+072120
+--- a/kcal/libical/zoneinfo/Asia/Amman.ics
++++ b/kcal/libical/zoneinfo/Asia/Amman.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Amman
++TZID:/kde.org/Olson_20071016_1/Asia/Amman
+ X-LIC-LOCATION:Asia/Amman
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Beirut.ics
++++ b/kcal/libical/zoneinfo/Asia/Beirut.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Beirut
++TZID:/kde.org/Olson_20071016_1/Asia/Beirut
+ X-LIC-LOCATION:Asia/Beirut
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0200
+--- a/kcal/libical/zoneinfo/Asia/Irkutsk.ics
++++ b/kcal/libical/zoneinfo/Asia/Irkutsk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Irkutsk
++TZID:/kde.org/Olson_20071016_1/Asia/Irkutsk
+ X-LIC-LOCATION:Asia/Irkutsk
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+0800
+--- a/kcal/libical/zoneinfo/Asia/Tbilisi.ics
++++ b/kcal/libical/zoneinfo/Asia/Tbilisi.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Asia/Tbilisi
++TZID:/kde.org/Olson_20071016_1/Asia/Tbilisi
+ X-LIC-LOCATION:Asia/Tbilisi
+ BEGIN:STANDARD
+ TZOFFSETFROM:+025916
+--- a/kcal/libical/zoneinfo/Pacific/Palau.ics
++++ b/kcal/libical/zoneinfo/Pacific/Palau.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Palau
++TZID:/kde.org/Olson_20071016_1/Pacific/Palau
+ X-LIC-LOCATION:Pacific/Palau
+ BEGIN:STANDARD
+ TZOFFSETFROM:+085756
+--- a/kcal/libical/zoneinfo/Pacific/Tongatapu.ics
++++ b/kcal/libical/zoneinfo/Pacific/Tongatapu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Tongatapu
++TZID:/kde.org/Olson_20071016_1/Pacific/Tongatapu
+ X-LIC-LOCATION:Pacific/Tongatapu
+ BEGIN:STANDARD
+ TZOFFSETFROM:+121920
+--- a/kcal/libical/zoneinfo/Pacific/Fakaofo.ics
++++ b/kcal/libical/zoneinfo/Pacific/Fakaofo.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Fakaofo
++TZID:/kde.org/Olson_20071016_1/Pacific/Fakaofo
+ X-LIC-LOCATION:Pacific/Fakaofo
+ BEGIN:STANDARD
+ TZOFFSETFROM:-112456
+--- a/kcal/libical/zoneinfo/Pacific/Gambier.ics
++++ b/kcal/libical/zoneinfo/Pacific/Gambier.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Gambier
++TZID:/kde.org/Olson_20071016_1/Pacific/Gambier
+ X-LIC-LOCATION:Pacific/Gambier
+ BEGIN:STANDARD
+ TZOFFSETFROM:-085948
+--- a/kcal/libical/zoneinfo/Pacific/Norfolk.ics
++++ b/kcal/libical/zoneinfo/Pacific/Norfolk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Norfolk
++TZID:/kde.org/Olson_20071016_1/Pacific/Norfolk
+ X-LIC-LOCATION:Pacific/Norfolk
+ BEGIN:STANDARD
+ TZOFFSETFROM:+111152
+--- a/kcal/libical/zoneinfo/Pacific/Apia.ics
++++ b/kcal/libical/zoneinfo/Pacific/Apia.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Apia
++TZID:/kde.org/Olson_20071016_1/Pacific/Apia
+ X-LIC-LOCATION:Pacific/Apia
+ BEGIN:STANDARD
+ TZOFFSETFROM:+123304
+--- a/kcal/libical/zoneinfo/Pacific/Saipan.ics
++++ b/kcal/libical/zoneinfo/Pacific/Saipan.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Saipan
++TZID:/kde.org/Olson_20071016_1/Pacific/Saipan
+ X-LIC-LOCATION:Pacific/Saipan
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1417
+--- a/kcal/libical/zoneinfo/Pacific/Tarawa.ics
++++ b/kcal/libical/zoneinfo/Pacific/Tarawa.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Tarawa
++TZID:/kde.org/Olson_20071016_1/Pacific/Tarawa
+ X-LIC-LOCATION:Pacific/Tarawa
+ BEGIN:STANDARD
+ TZOFFSETFROM:+113204
+--- a/kcal/libical/zoneinfo/Pacific/Fiji.ics
++++ b/kcal/libical/zoneinfo/Pacific/Fiji.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Fiji
++TZID:/kde.org/Olson_20071016_1/Pacific/Fiji
+ X-LIC-LOCATION:Pacific/Fiji
+ BEGIN:STANDARD
+ TZOFFSETFROM:+115340
+--- a/kcal/libical/zoneinfo/Pacific/Funafuti.ics
++++ b/kcal/libical/zoneinfo/Pacific/Funafuti.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Funafuti
++TZID:/kde.org/Olson_20071016_1/Pacific/Funafuti
+ X-LIC-LOCATION:Pacific/Funafuti
+ BEGIN:STANDARD
+ TZOFFSETFROM:+115652
+--- a/kcal/libical/zoneinfo/Pacific/Easter.ics
++++ b/kcal/libical/zoneinfo/Pacific/Easter.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Easter
++TZID:/kde.org/Olson_20071016_1/Pacific/Easter
+ X-LIC-LOCATION:Pacific/Easter
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:-0600
+--- a/kcal/libical/zoneinfo/Pacific/Port_Moresby.ics
++++ b/kcal/libical/zoneinfo/Pacific/Port_Moresby.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Port_Moresby
++TZID:/kde.org/Olson_20071016_1/Pacific/Port_Moresby
+ X-LIC-LOCATION:Pacific/Port_Moresby
+ BEGIN:STANDARD
+ TZOFFSETFROM:+094840
+--- a/kcal/libical/zoneinfo/Pacific/Kosrae.ics
++++ b/kcal/libical/zoneinfo/Pacific/Kosrae.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Kosrae
++TZID:/kde.org/Olson_20071016_1/Pacific/Kosrae
+ X-LIC-LOCATION:Pacific/Kosrae
+ BEGIN:STANDARD
+ TZOFFSETFROM:+105156
+--- a/kcal/libical/zoneinfo/Pacific/Truk.ics
++++ b/kcal/libical/zoneinfo/Pacific/Truk.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Truk
++TZID:/kde.org/Olson_20071016_1/Pacific/Truk
+ X-LIC-LOCATION:Pacific/Truk
+ BEGIN:STANDARD
+ TZOFFSETFROM:+100708
+--- a/kcal/libical/zoneinfo/Pacific/Wake.ics
++++ b/kcal/libical/zoneinfo/Pacific/Wake.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Wake
++TZID:/kde.org/Olson_20071016_1/Pacific/Wake
+ X-LIC-LOCATION:Pacific/Wake
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110628
+--- a/kcal/libical/zoneinfo/Pacific/Guam.ics
++++ b/kcal/libical/zoneinfo/Pacific/Guam.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Guam
++TZID:/kde.org/Olson_20071016_1/Pacific/Guam
+ X-LIC-LOCATION:Pacific/Guam
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1421
+--- a/kcal/libical/zoneinfo/Pacific/Pago_Pago.ics
++++ b/kcal/libical/zoneinfo/Pacific/Pago_Pago.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Pago_Pago
++TZID:/kde.org/Olson_20071016_1/Pacific/Pago_Pago
+ X-LIC-LOCATION:Pacific/Pago_Pago
+ BEGIN:STANDARD
+ TZOFFSETFROM:+123712
+--- a/kcal/libical/zoneinfo/Pacific/Majuro.ics
++++ b/kcal/libical/zoneinfo/Pacific/Majuro.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Majuro
++TZID:/kde.org/Olson_20071016_1/Pacific/Majuro
+ X-LIC-LOCATION:Pacific/Majuro
+ BEGIN:STANDARD
+ TZOFFSETFROM:+112448
+--- a/kcal/libical/zoneinfo/Pacific/Galapagos.ics
++++ b/kcal/libical/zoneinfo/Pacific/Galapagos.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Galapagos
++TZID:/kde.org/Olson_20071016_1/Pacific/Galapagos
+ X-LIC-LOCATION:Pacific/Galapagos
+ BEGIN:STANDARD
+ TZOFFSETFROM:-055824
+--- a/kcal/libical/zoneinfo/Pacific/Enderbury.ics
++++ b/kcal/libical/zoneinfo/Pacific/Enderbury.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Enderbury
++TZID:/kde.org/Olson_20071016_1/Pacific/Enderbury
+ X-LIC-LOCATION:Pacific/Enderbury
+ BEGIN:STANDARD
+ TZOFFSETFROM:-112420
+--- a/kcal/libical/zoneinfo/Pacific/Johnston.ics
++++ b/kcal/libical/zoneinfo/Pacific/Johnston.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Johnston
++TZID:/kde.org/Olson_20071016_1/Pacific/Johnston
+ X-LIC-LOCATION:Pacific/Johnston
+ BEGIN:STANDARD
+ TZOFFSETFROM:-1000
+--- a/kcal/libical/zoneinfo/Pacific/Kwajalein.ics
++++ b/kcal/libical/zoneinfo/Pacific/Kwajalein.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Kwajalein
++TZID:/kde.org/Olson_20071016_1/Pacific/Kwajalein
+ X-LIC-LOCATION:Pacific/Kwajalein
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110920
+--- a/kcal/libical/zoneinfo/Pacific/Chatham.ics
++++ b/kcal/libical/zoneinfo/Pacific/Chatham.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Chatham
++TZID:/kde.org/Olson_20071016_1/Pacific/Chatham
+ X-LIC-LOCATION:Pacific/Chatham
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1245
+--- a/kcal/libical/zoneinfo/Pacific/Honolulu.ics
++++ b/kcal/libical/zoneinfo/Pacific/Honolulu.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Honolulu
++TZID:/kde.org/Olson_20071016_1/Pacific/Honolulu
+ X-LIC-LOCATION:Pacific/Honolulu
+ BEGIN:STANDARD
+ TZOFFSETFROM:-103126
+--- a/kcal/libical/zoneinfo/Pacific/Kiritimati.ics
++++ b/kcal/libical/zoneinfo/Pacific/Kiritimati.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Kiritimati
++TZID:/kde.org/Olson_20071016_1/Pacific/Kiritimati
+ X-LIC-LOCATION:Pacific/Kiritimati
+ BEGIN:STANDARD
+ TZOFFSETFROM:-102920
+--- a/kcal/libical/zoneinfo/Pacific/Pitcairn.ics
++++ b/kcal/libical/zoneinfo/Pacific/Pitcairn.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Pitcairn
++TZID:/kde.org/Olson_20071016_1/Pacific/Pitcairn
+ X-LIC-LOCATION:Pacific/Pitcairn
+ BEGIN:STANDARD
+ TZOFFSETFROM:-084020
+--- a/kcal/libical/zoneinfo/Pacific/Ponape.ics
++++ b/kcal/libical/zoneinfo/Pacific/Ponape.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Ponape
++TZID:/kde.org/Olson_20071016_1/Pacific/Ponape
+ X-LIC-LOCATION:Pacific/Ponape
+ BEGIN:STANDARD
+ TZOFFSETFROM:+103252
+--- a/kcal/libical/zoneinfo/Pacific/Auckland.ics
++++ b/kcal/libical/zoneinfo/Pacific/Auckland.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Auckland
++TZID:/kde.org/Olson_20071016_1/Pacific/Auckland
+ X-LIC-LOCATION:Pacific/Auckland
+ BEGIN:DAYLIGHT
+ TZOFFSETFROM:+1200
+--- a/kcal/libical/zoneinfo/Pacific/Tahiti.ics
++++ b/kcal/libical/zoneinfo/Pacific/Tahiti.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Tahiti
++TZID:/kde.org/Olson_20071016_1/Pacific/Tahiti
+ X-LIC-LOCATION:Pacific/Tahiti
+ BEGIN:STANDARD
+ TZOFFSETFROM:-095816
+--- a/kcal/libical/zoneinfo/Pacific/Noumea.ics
++++ b/kcal/libical/zoneinfo/Pacific/Noumea.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Noumea
++TZID:/kde.org/Olson_20071016_1/Pacific/Noumea
+ X-LIC-LOCATION:Pacific/Noumea
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110548
+--- a/kcal/libical/zoneinfo/Pacific/Efate.ics
++++ b/kcal/libical/zoneinfo/Pacific/Efate.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Efate
++TZID:/kde.org/Olson_20071016_1/Pacific/Efate
+ X-LIC-LOCATION:Pacific/Efate
+ BEGIN:STANDARD
+ TZOFFSETFROM:+111316
+--- a/kcal/libical/zoneinfo/Pacific/Nauru.ics
++++ b/kcal/libical/zoneinfo/Pacific/Nauru.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Nauru
++TZID:/kde.org/Olson_20071016_1/Pacific/Nauru
+ X-LIC-LOCATION:Pacific/Nauru
+ BEGIN:STANDARD
+ TZOFFSETFROM:+110740
+--- a/kcal/libical/zoneinfo/Pacific/Midway.ics
++++ b/kcal/libical/zoneinfo/Pacific/Midway.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Midway
++TZID:/kde.org/Olson_20071016_1/Pacific/Midway
+ X-LIC-LOCATION:Pacific/Midway
+ BEGIN:STANDARD
+ TZOFFSETFROM:-114928
+--- a/kcal/libical/zoneinfo/Pacific/Wallis.ics
++++ b/kcal/libical/zoneinfo/Pacific/Wallis.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Wallis
++TZID:/kde.org/Olson_20071016_1/Pacific/Wallis
+ X-LIC-LOCATION:Pacific/Wallis
+ BEGIN:STANDARD
+ TZOFFSETFROM:+121520
+--- a/kcal/libical/zoneinfo/Pacific/Rarotonga.ics
++++ b/kcal/libical/zoneinfo/Pacific/Rarotonga.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Rarotonga
++TZID:/kde.org/Olson_20071016_1/Pacific/Rarotonga
+ X-LIC-LOCATION:Pacific/Rarotonga
+ BEGIN:STANDARD
+ TZOFFSETFROM:-103904
+--- a/kcal/libical/zoneinfo/Pacific/Guadalcanal.ics
++++ b/kcal/libical/zoneinfo/Pacific/Guadalcanal.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Guadalcanal
++TZID:/kde.org/Olson_20071016_1/Pacific/Guadalcanal
+ X-LIC-LOCATION:Pacific/Guadalcanal
+ BEGIN:STANDARD
+ TZOFFSETFROM:+103948
+--- a/kcal/libical/zoneinfo/Pacific/Niue.ics
++++ b/kcal/libical/zoneinfo/Pacific/Niue.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Niue
++TZID:/kde.org/Olson_20071016_1/Pacific/Niue
+ X-LIC-LOCATION:Pacific/Niue
+ BEGIN:STANDARD
+ TZOFFSETFROM:-111940
+--- a/kcal/libical/zoneinfo/Pacific/Marquesas.ics
++++ b/kcal/libical/zoneinfo/Pacific/Marquesas.ics
+@@ -2,7 +2,7 @@
+ PRODID:-//KDE//NONSGML KCal Olson-VTIMEZONE Converter//EN
+ VERSION:2.0
+ BEGIN:VTIMEZONE
+-TZID:/kde.org/Olson_20070903_1/Pacific/Marquesas
++TZID:/kde.org/Olson_20071016_1/Pacific/Marquesas
+ X-LIC-LOCATION:Pacific/Marquesas
+ BEGIN:STANDARD
+ TZOFFSETFROM:-0918
+--- a/kcal/resourcelocaldir_plugin.cpp
++++ b/kcal/resourcelocaldir_plugin.cpp
+@@ -24,10 +24,6 @@
+
+ using namespace KCal;
+
+-extern "C"
+-{
+- KDE_EXPORT void *init_kcal_localdir()
+- {
+- return new KRES::PluginFactory<ResourceLocalDir,ResourceLocalDirConfig>();
+- }
+-}
++typedef KRES::PluginFactory<ResourceLocalDir, ResourceLocalDirConfig> ResourceLocalDirFactory;
++
++K_EXPORT_PLUGIN(ResourceLocalDirFactory)
+--- a/kcal/CMakeLists.txt
++++ b/kcal/CMakeLists.txt
+@@ -244,7 +244,11 @@
+ target_link_libraries(kcal ${KDE4_KDEUI_LIBS} ${QT_QTXML_LIBRARY} kresources kabc kpimutils )
+
+ set_target_properties(kcal PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS kcal DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS kcal
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ # hack to force ical[ss].h creation
+ add_custom_target(ical-headers DEPENDS
+--- a/kcal/incidenceformatter.cpp
++++ b/kcal/incidenceformatter.cpp
+@@ -93,9 +93,9 @@
+ QString tmpStr;
+ if ( !event->categoriesStr().isEmpty() ) {
+ if ( event->categories().count() == 1 ) {
+- tmpStr = eventViewerAddTag( "h2", i18n( "Category" ) );
++ tmpStr = eventViewerAddTag( "h3", i18n( "Category" ) );
+ } else {
+- tmpStr = eventViewerAddTag( "h2", i18n( "Categories" ) );
++ tmpStr = eventViewerAddTag( "h3", i18n( "Categories" ) );
+ }
+ tmpStr += eventViewerAddTag( "p", event->categoriesStr() );
+ }
+@@ -162,14 +162,14 @@
+ const QString iconPath = iconLoader->iconPath( "mail", KIconLoader::Small );
+
+ // Add organizer link
+- tmpStr += eventViewerAddTag( "h3", i18n( "Organizer" ) );
++ tmpStr += eventViewerAddTag( "h4", i18n( "Organizer" ) );
+ tmpStr += "<ul>";
+ tmpStr += linkPerson( event->organizer().email(), event->organizer().name(),
+ QString(), iconPath );
+ tmpStr += "</ul>";
+
+ // Add attendees links
+- tmpStr += eventViewerAddTag( "h3", i18n( "Attendees" ) );
++ tmpStr += eventViewerAddTag( "h4", i18n( "Attendees" ) );
+ tmpStr += "<ul>";
+ Attendee::List::ConstIterator it;
+ for ( it = attendees.begin(); it != attendees.end(); ++it ) {
+@@ -262,7 +262,7 @@
+ tmpStr += "</td>";
+ }
+
+- tmpStr += "<td>" + eventViewerAddTag( "h1", incidence->summary() ) + "</td>";
++ tmpStr += "<td>" + eventViewerAddTag( "h2", incidence->summary() ) + "</td>";
+ tmpStr += "</tr></table><br>";
+
+ return tmpStr;
+@@ -342,7 +342,7 @@
+ if ( event->categories().count() > 0 ) {
+ tmpStr += "<tr>";
+ tmpStr += "<td align=\"right\"><b>";
+- tmpStr += i18np( "1 category", "%1 categories", event->categories().count() )+ "</b></td>";
++ tmpStr += i18np( "1 category", "%1 categories", event->categories().count() )+ "</b></td>";
+ tmpStr += "<td>" + event->categoriesStr() + "</td>";
+ tmpStr += "</tr>";
+ }
+@@ -364,7 +364,7 @@
+ if ( attachmentCount > 0 ) {
+ tmpStr += "<tr>";
+ tmpStr += "<td align=\"right\"><b>";
+- tmpStr += i18np( "1 attachment", "%1 attachments", attachmentCount )+ "</b></td>";
++ tmpStr += i18np( "1 attachment", "%1 attachments", attachmentCount )+ "</b></td>";
+ tmpStr += "<td>" + eventViewerFormatAttachments( event ) + "</td>";
+ tmpStr += "</tr>";
+ }
+@@ -428,10 +428,10 @@
+
+ QString tmpStr;
+ if ( !journal->summary().isEmpty() ) {
+- tmpStr+= eventViewerAddTag( "h1", journal->summary() );
++ tmpStr+= eventViewerAddTag( "h2", journal->summary() );
+ }
+ tmpStr += eventViewerAddTag(
+- "h2", i18n( "Journal for %1",
++ "h3", i18n( "Journal for %1",
+ journal->dtStartDateStr( false, journal->dtStart().timeSpec() ) ) );
+ if ( !journal->description().isEmpty() ) {
+ tmpStr += eventViewerAddTag( "p", journal->description() );
+@@ -447,9 +447,9 @@
+
+ QString tmpStr(
+ eventViewerAddTag(
+- "h1", i18n( "Free/Busy information for %1", fb->organizer().fullName() ) ) );
++ "h2", i18n( "Free/Busy information for %1", fb->organizer().fullName() ) ) );
+ tmpStr += eventViewerAddTag(
+- "h3", i18n( "Busy times in date range %1 - %2:",
++ "h4", i18n( "Busy times in date range %1 - %2:",
+ KGlobal::locale()->formatDate( fb->dtStart().date(), KLocale::ShortDate ),
+ KGlobal::locale()->formatDate( fb->dtEnd().date(), KLocale::ShortDate ) ) );
+
+@@ -755,7 +755,7 @@
+ return i18n( "This event has been published" );
+ case iTIPRequest:
+ if ( event->revision() > 0 ) {
+- return i18n( "<h2>This meeting has been updated</h2>" );
++ return i18n( "<h3>This meeting has been updated</h3>" );
+ } else {
+ return i18n( "You have been invited to this meeting" );
+ }
+@@ -1120,7 +1120,7 @@
+ if ( !headerVisitor.act( incBase, msg ) ) {
+ return QString();
+ }
+- html += "<h2>" + headerVisitor.result() + "</h2>";
++ html += "<h3>" + headerVisitor.result() + "</h3>";
+
+ InvitationBodyVisitor bodyVisitor;
+ if ( !bodyVisitor.act( incBase, msg ) ) {
+--- a/kioslave/imap4/imapparser.cpp
++++ b/kioslave/imap4/imapparser.cpp
+@@ -270,7 +270,9 @@
+ while ( true )
+ {
+ //read the next line
+- while (parseLoop() == 0);
++ while (parseLoop() == 0) {
++ ;
++ }
+ if ( cmd->isComplete() ) break;
+
+ if (!continuation.isEmpty())
+--- a/kioslave/imap4/imap4.cpp
++++ b/kioslave/imap4/imap4.cpp
+@@ -313,7 +313,7 @@
+ cmd = sendCommand (imapCommand::clientFetch (aSequence, mySection));
+ do
+ {
+- while (!parseLoop ());
++ while (!parseLoop ()) {}
+ }
+ while (!cmd->isComplete ());
+ completeQueue.removeAll (cmd);
+@@ -332,7 +332,7 @@
+ aUpper = aSection.toUpper();
+ do
+ {
+- while (!(res = parseLoop()));
++ while (!(res = parseLoop())) {}
+ if (res == -1) break;
+
+ mailHeader *lastone = 0;
+@@ -594,7 +594,7 @@
+ imapCache *cache;
+ do
+ {
+- while (!parseLoop ());
++ while (!parseLoop ()) {}
+
+ cache = getLastHandled ();
+
+@@ -825,7 +825,7 @@
+
+ imapCommand *cmd =
+ sendCommand (imapCommand::clientAppend (aBox, aSection, length));
+- while (!parseLoop ());
++ while (!parseLoop ()) {}
+
+ // see if server is waiting
+ if (!cmd->isComplete () && !getContinuation ().isEmpty ())
+@@ -1935,7 +1935,7 @@
+ imapCommand *cmd;
+
+ unhandled.clear ();
+- if (!alreadyConnected) while (!parseLoop ()); //get greeting
++ if (!alreadyConnected) while (!parseLoop ()) {} //get greeting
+ QString greeting;
+ if (!unhandled.isEmpty()) greeting = unhandled.first().trimmed();
+ unhandled.clear (); //get rid of it
+--- a/kioslave/sieve/sieve.protocol
++++ b/kioslave/sieve/sieve.protocol
+@@ -19,6 +19,7 @@
+ Description[ga]=ioslave le haghaidh prótacail scagtha ríomhphoist Sieve
+ Description[hu]=KDE-protokoll a Sieve levélszűrő protokollhoz
+ Description[ja]=Sieve メールフィルタリングプロトコルのための ioslave
++Description[nds]=In-/Utgaavmoduul för't Nettpostfilter-Protokoll Sieve
+ Description[pt]=Um 'ioslave' para o protocolo de filtragem de correio Sieve
+ Description[sv]=En I/O-slav för brevfiltreringsprotokollet Sieve
+ Description[x-test]=xxAn ioslave for the Sieve mail filtering protocolxx
+--- a/gpgme++/context.cpp
++++ b/gpgme++/context.cpp
+@@ -480,7 +480,7 @@
+ std::vector<Key> Context::signingKeys() const {
+ std::vector<Key> result;
+ gpgme_key_t key;
+- for ( unsigned int i = 0 ; key = gpgme_signers_enum( d->ctx, i ) ; ++i )
++ for ( unsigned int i = 0 ; ( key = gpgme_signers_enum( d->ctx, i ) ) ; ++i )
+ result.push_back( Key( key, false ) );
+ return result;
+ }
+--- a/gpgme++/CMakeLists.txt
++++ b/gpgme++/CMakeLists.txt
+@@ -38,7 +38,11 @@
+ OUTPUT_NAME gpgme++
+ )
+ get_target_property( GPGMEPP_VANILLA_LIBRARY gpgmepp LOCATION )
+- install(TARGETS gpgmepp DESTINATION ${LIB_INSTALL_DIR})
++ install(TARGETS gpgmepp
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ )
+ endif ( GPGME_VANILLA_FOUND )
+
+ if ( GPGME_GLIB_FOUND )
+@@ -50,7 +54,11 @@
+ OUTPUT_NAME gpgme++-glib DEFINE_SYMBOL MAKE_GPGME___LIB
+ )
+ get_target_property( GPGMEPP_GLIB_LIBRARY gpgmepp LOCATION )
+- install(TARGETS gpgmepp-glib DESTINATION ${LIB_INSTALL_DIR})
++ install(TARGETS gpgmepp-glib
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ )
+ endif ( GPGME_GLIB_FOUND )
+
+ if ( GPGME_QT_FOUND )
+@@ -62,7 +70,11 @@
+ OUTPUT_NAME gpgme++-qt DEFINE_SYMBOL MAKE_GPGME___LIB
+ )
+ get_target_property( GPGMEPP_QT_LIBRARY gpgmepp LOCATION )
+- install(TARGETS gpgmepp-qt DESTINATION ${LIB_INSTALL_DIR})
++ install(TARGETS gpgmepp-qt
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ )
+ endif ( GPGME_QT_FOUND )
+
+ if ( GPGME_PTHREAD_FOUND )
+@@ -74,7 +86,11 @@
+ OUTPUT_NAME gpgme++-pthread DEFINE_SYMBOL MAKE_GPGME___LIB
+ )
+ get_target_property( GPGMEPP_PTHREAD_LIBRARY gpgmepp LOCATION )
+- install(TARGETS gpgmepp-pthread DESTINATION ${LIB_INSTALL_DIR})
++ install(TARGETS gpgmepp-pthread
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ )
+ endif ( GPGME_PTHREAD_FOUND )
+
+ if ( GPGME_PTH_FOUND )
+@@ -86,7 +102,11 @@
+ OUTPUT_NAME gpgme++-pth DEFINE_SYMBOL MAKE_GPGME___LIB
+ )
+ get_target_property( GPGMEPP_PTH_LIBRARY gpgmepp LOCATION )
+- install(TARGETS gpgmepp-pth DESTINATION ${LIB_INSTALL_DIR})
++ install(TARGETS gpgmepp-pth
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ )
+ endif ( GPGME_PTH_FOUND )
+
+
+--- a/kldap/ldapmodeltreeitem_p.cpp
++++ /dev/null
+@@ -1,97 +0,0 @@
+-/*
+- This file is part of libkldap.
+- Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
+-
+- This library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Library General Public
+- License as published by the Free Software Foundation; either
+- version 2 of the License, or (at your option) any later version.
+-
+- This library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Library General Public License for more details.
+-
+- You should have received a copy of the GNU Library General Public License
+- along with this library; see the file COPYING.LIB. If not, write to
+- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+- Boston, MA 02110-1301, USA.
+-*/
+-
+-#include "ldapmodeltreeitem_p.h"
+-
+-#include <kdebug.h>
+-
+-using namespace KLDAP;
+-
+-LdapModelTreeItem::LdapModelTreeItem( LdapModelTreeItem *parent, const LdapObject &data )
+- : m_childItems(),
+- m_parent( parent ),
+- m_itemData( data ),
+- m_isPopulated( false )
+-{
+- kDebug(5322) << "LdapModelTreeItem::LdapModelTreeItem() : Object =" << data.toString();
+- if ( m_parent ) {
+- m_parent->appendChild( this );
+- }
+-}
+-
+-LdapModelTreeItem::~LdapModelTreeItem()
+-{
+- qDeleteAll( m_childItems );
+-}
+-
+-void LdapModelTreeItem::appendChild( LdapModelTreeItem *pItem )
+-{
+- m_childItems.append( pItem );
+- setPopulated( true );
+-}
+-
+-LdapModelTreeItem *LdapModelTreeItem::child( int row )
+-{
+- return m_childItems.value( row );
+-}
+-
+-LdapModelTreeItem *LdapModelTreeItem::parent()
+-{
+- return m_parent;
+-}
+-
+-int LdapModelTreeItem::childCount() const
+-{
+- return m_childItems.count();
+-}
+-
+-int LdapModelTreeItem::columnCount() const
+-{
+- return 1;
+-}
+-
+-const LdapObject &LdapModelTreeItem::data() const
+-{
+- return m_itemData;
+-}
+-
+-int LdapModelTreeItem::row() const
+-{
+- if ( m_parent ) {
+- return m_parent->m_childItems.indexOf( const_cast<LdapModelTreeItem*>( this ) );
+- }
+- return 0;
+-}
+-
+-LdapObject &LdapModelTreeItem::ldapObject()
+-{
+- return m_itemData;
+-}
+-
+-const LdapObject &LdapModelTreeItem::ldapObject() const
+-{
+- return m_itemData;
+-}
+-
+-void LdapModelTreeItem::setLdapObject( const LdapObject &object )
+-{
+- kDebug(5322) << "LdapModelTreeItem::setLdapObject() : Object =" << object.toString();
+- m_itemData = object;
+-}
+--- a/kldap/ldapmodeltreeitem_p.h
++++ /dev/null
+@@ -1,66 +0,0 @@
+-/*
+- This file is part of libkldap.
+- Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
+-
+- This library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Library General Public
+- License as published by the Free Software Foundation; either
+- version 2 of the License, or (at your option) any later version.
+-
+- This library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Library General Public License for more details.
+-
+- You should have received a copy of the GNU Library General Public License
+- along with this library; see the file COPYING.LIB. If not, write to
+- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+- Boston, MA 02110-1301, USA.
+-*/
+-
+-#ifndef KLDAP_LDAPMODELTREEITEM_P_H
+-#define KLDAP_LDAPMODELTREEITEM_P_H
+-
+-#include <QtCore/QList>
+-#include <QtCore/QVariant>
+-
+-#include "ldapobject.h"
+-#include "kldap_export.h"
+-
+-namespace KLDAP {
+-
+-/**
+- * @internal
+- */
+-class LdapModelTreeItem
+-{
+- public:
+- explicit LdapModelTreeItem( LdapModelTreeItem *parent = 0,
+- const LdapObject &data = LdapObject() );
+- ~LdapModelTreeItem();
+-
+- void appendChild( LdapModelTreeItem *pItem );
+- LdapModelTreeItem *child( int row );
+- LdapModelTreeItem *parent();
+- int childCount() const;
+- int columnCount() const;
+- const LdapObject &data() const;
+- int row() const;
+-
+- LdapObject &ldapObject();
+- const LdapObject &ldapObject() const;
+- void setLdapObject( const LdapObject &object );
+-
+- void setPopulated( bool b ) { m_isPopulated = b; }
+- bool isPopulated() const { return m_isPopulated; }
+-
+- private:
+- QList<LdapModelTreeItem*> m_childItems;
+- LdapModelTreeItem *m_parent;
+- LdapObject m_itemData;
+- bool m_isPopulated;
+-};
+-
+-}
+-
+-#endif
+--- a/kldap/ldapconnection.cpp
++++ b/kldap/ldapconnection.cpp
+@@ -249,6 +249,7 @@
+ }
+
+ int version = d->mServer.version();
++ int timeout = d->mServer.timeout();
+
+ url = d->mServer.security() == LdapServer::SSL ? "ldaps" : "ldap";
+ url += "://";
+@@ -277,6 +278,19 @@
+ return ret;
+ }
+
++#if defined(LDAP_OPT_TIMEOUT)
++ kDebug(5322) << "setting timeout to:" << timeout;
++
++ if ( timeout ) {
++ if ( setOption( LDAP_OPT_TIMEOUT, &timeout ) != LDAP_OPT_SUCCESS ) {
++ ret = ldapErrorCode();
++ d->mConnectionError = i18n("Cannot set timeout to %1 seconds.", timeout );
++ close();
++ return ret;
++ }
++ }
++#endif
++
+ //FIXME: accessing to certificate handling would be good
+ kDebug(5322) << "setting security to:" << d->mServer.security();
+ if ( d->mServer.security() == LdapServer::TLS ) {
+--- a/kldap/ldapmodel.h
++++ b/kldap/ldapmodel.h
+@@ -29,26 +29,179 @@
+
+ namespace KLDAP {
+
++/**
++ * A ModelView interface to an LDAP tree. At present the model is read only. Editing is
++ * planned for a future release.
++ *
++ * This class is best used in conjunction with an LdapStructureProxyModel object for
++ * displaying the structure of an LDAP tree, and with LdapAttributeProxyModel for
++ * displaying the attributes of particular objects within the tree.
++ *
++ * \author Sean Harmer <sh at theharmers.co.uk>
++ */
+ class KLDAP_EXPORT LdapModel : public QAbstractItemModel
+ {
+ Q_OBJECT
+ public:
++ enum Roles {
++ NodeTypeRole = Qt::UserRole + 1
++ };
++
++ enum LdapDataType {
++ DistinguishedName = 0,
++ Attribute
++ };
++
++ /**
++ * Constructs an LdapModel. You should set a connection for the model to use with
++ * setConnection(). Clients of this class should connect a slot to the ready() signal
++ * before setting this model onto a view.
++ *
++ * \see setConnection()
++ * \see ready()
++ */
+ explicit LdapModel( QObject *parent = 0 );
++ /**
++ * Constructs an LdapModel. Clients of this class should connect a slot to the ready()
++ * signal before setting this model onto a view.
++ *
++ * \see setConnection()
++ * \see ready()
++ */
+ explicit LdapModel( LdapConnection &connection, QObject *parent = 0 );
+ virtual ~LdapModel();
+
++ /**
++ * Set the connection that the model should use.
++ *
++ * \see LdapConnection
++ * \see LdapUrl
++ */
+ void setConnection( LdapConnection &connection );
+
++ //
++ // Implement the usual QAbstractItemModel interface
++ //
++ /**
++ * Reimplemented from QAbstractItemModel::index().
++ */
+ virtual QModelIndex index( int row, int col, const QModelIndex &parent ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::parent().
++ */
+ virtual QModelIndex parent( const QModelIndex &child ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::data().
++ */
+ virtual QVariant data( const QModelIndex &index, int role ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::setData(). This is a placeholder for when
++ * LdapModel beomes writeable and always returns false.
++ */
++ virtual bool setData( const QModelIndex &index,
++ const QVariant &value,
++ int role = Qt::EditRole );
++ /**
++ * Reimplemented from QAbstractItemModel::headerData().
++ */
+ virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::flags().
++ */
+ virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::columnCount().
++ */
+ virtual int columnCount( const QModelIndex &parent ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::rowCount().
++ */
+ virtual int rowCount( const QModelIndex &parent ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::hasChildren().
++ */
+ virtual bool hasChildren( const QModelIndex &parent ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::canFetchMore().
++ */
+ virtual bool canFetchMore( const QModelIndex &parent ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::fetchMore().
++ */
+ virtual void fetchMore( const QModelIndex &parent );
++ /**
++ * Reimplemented from QAbstractItemModel::insertRows(). This is a placeholder for when
++ * LdapModel beomes writeable and always returns false.
++ */
++ virtual bool insertRows( int row, int count,
++ const QModelIndex &parent = QModelIndex() );
++ /**
++ * Reimplemented from QAbstractItemModel::removeRows(). This is a placeholder for when
++ * LdapModel beomes writeable and always returns false.
++ */
++ virtual bool removeRows( int row, int count,
++ const QModelIndex &parent = QModelIndex() );
++ /**
++ * Reimplemented from QAbstractItemModel::removeRows(). The default implementation
++ * does nothing.
++ */
++ virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
++
++ //
++ // Drag and drop support
++ //
++ /**
++ * Reimplemented from QAbstractItemModel::supportedDropActions(). The default
++ * implementation returns Qt::MoveAction.
++ */
++ virtual Qt::DropActions supportedDropActions() const;
++ /**
++ * Reimplemented from QAbstractItemModel::mimedata(). This is a placeholder for when
++ * LdapModel beomes writeable and always returns 0.
++ */
++ virtual QMimeData *mimeData( const QModelIndexList &indexes ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::dropMimedata(). This is a placeholder for when
++ * LdapModel beomes writeable and always returns false.
++ */
++ virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action,
++ int row, int column, const QModelIndex &parent );
++
++ //
++ // Other public utility functions
++ //
++ /**
++ * Checks to see if the item referenced by \p parent has any children of
++ * the type \p type. If the item has not been populated by fetchMore() yet,
++ * then this function returns true.
++ *
++ * \see fetchMore()
++ * \param parent Index to the item to query.
++ * \param type The type of child item to search for.
++ */
++ bool hasChildrenOfType( const QModelIndex &parent, LdapDataType type ) const;
++
++ public Q_SLOTS:
++ /**
++ * Reimplemented from QAbstractItemModel::revert(). This is a placeholder for when
++ * LdapModel beomes writeable. This implementation does nothing.
++ */
++ virtual void revert();
++ /**
++ * Reimplemented from QAbstractItemModel::revert(). This is a placeholder for when
++ * LdapModel beomes writeable. This implementation does nothing and returns false.
++ */
++ virtual bool submit();
++
++ Q_SIGNALS:
++ /**
++ * The ready() signal is emitted when the model is ready for use by other components.
++ * When the model is first created and a connection is set, the model queries the
++ * LDAP server for its base DN and automatically creates items down to that level.
++ * This requires the event loop to be running. This signal indicates that this process
++ * has completed and the model can now be set onto views or queried directly from code.
++ */
++ void ready();
+
+ private:
+ class LdapModelPrivate;
+--- a/kldap/ldapserver.cpp
++++ b/kldap/ldapserver.cpp
+@@ -36,7 +36,7 @@
+ QString mPassword;
+ QString mMech;
+ QString mFilter;
+- int mTimeLimit, mSizeLimit, mVersion, mPageSize;
++ int mTimeLimit, mSizeLimit, mVersion, mPageSize, mTimeout;
+ Security mSecurity;
+ Auth mAuth;
+ LdapUrl::Scope mScope;
+@@ -85,6 +85,7 @@
+ d->mSecurity = None;
+ d->mAuth = Anonymous;
+ d->mVersion = 3;
++ d->mTimeout = 0;
+ d->mSizeLimit = d->mTimeLimit = d->mPageSize = 0;
+ }
+
+@@ -168,6 +169,11 @@
+ return d->mMech;
+ }
+
++int LdapServer::timeout() const
++{
++ return d->mTimeout;
++}
++
+ void LdapServer::setHost( const QString &host )
+ {
+ d->mHost = host;
+@@ -248,6 +254,11 @@
+ d->mMech = mech;
+ }
+
++void LdapServer::setTimeout( int timeout )
++{
++ d->mTimeout = timeout;
++}
++
+ void LdapServer::setUrl( const LdapUrl &url )
+ {
+ bool critical;
+@@ -304,6 +315,12 @@
+ d->mVersion = 3;
+ }
+
++ if ( url.hasExtension("x-timeout") ) {
++ d->mTimeout = url.extension( "x-timeout", critical ).toInt();
++ } else {
++ d->mTimeout = 0;
++ }
++
+ if ( url.hasExtension("x-timelimit") ) {
+ d->mTimeLimit = url.extension( "x-timelimit", critical ).toInt();
+ } else {
+@@ -349,6 +366,9 @@
+ if ( d->mVersion == 2 ) {
+ url.setExtension( "x-version", d->mVersion );
+ }
++ if ( d->mTimeout ) {
++ url.setExtension( "x-timeout", d->mTimeout );
++ }
+ if ( d->mTimeLimit != 0 ) {
+ url.setExtension( "x-timelimit", d->mTimeLimit );
+ }
+--- a/kldap/ldapmodel_p.cpp
++++ b/kldap/ldapmodel_p.cpp
+@@ -19,7 +19,7 @@
+ */
+
+ #include "ldapmodel_p.h"
+-#include "ldapmodeltreeitem_p.h"
++#include "ldapmodelnode_p.h"
+ #include "ldapsearch.h"
+
+ #include <kdebug.h>
+@@ -28,7 +28,7 @@
+
+ LdapModel::LdapModelPrivate::LdapModelPrivate( LdapModel *parent )
+ : m_parent( parent ),
+- m_root( new LdapModelTreeItem ),
++ m_root( new LdapModelDNNode ),
+ m_search( new LdapSearch ),
+ m_searchResultObjects(),
+ m_baseDN(),
+@@ -39,7 +39,7 @@
+
+ LdapModel::LdapModelPrivate::LdapModelPrivate( LdapModel *parent, LdapConnection &connection )
+ : m_parent( parent ),
+- m_root( new LdapModelTreeItem ),
++ m_root( new LdapModelDNNode ),
+ m_search( new LdapSearch( connection ) ),
+ m_searchResultObjects(),
+ m_baseDN(),
+@@ -73,22 +73,22 @@
+ return m_search->search( searchBase, scope, filter, attributes, pagesize );
+ }
+
+-void LdapModel::LdapModelPrivate::setSearchType( SearchType t, LdapModelTreeItem *item )
++void LdapModel::LdapModelPrivate::setSearchType( SearchType t, LdapModelDNNode *item )
+ {
+- kDebug(5322) << "LdapModel::LdapModelPrivate::setSearchType() : item =" << item;
++ //kDebug(5322) << "LdapModel::LdapModelPrivate::setSearchType() : item =" << item;
+ m_searchType = t;
+ m_searchItem = item;
+ }
+
+ void LdapModel::LdapModelPrivate::recreateRootItem()
+ {
+- kDebug(5322) << "LdapModel::LdapModelPrivate::recreateRootItem()";
++ //kDebug(5322) << "LdapModel::LdapModelPrivate::recreateRootItem()";
+ if ( m_root ) {
+ delete m_root;
+ m_root = 0;
+ }
+- m_root = new LdapModelTreeItem;
+- kDebug(5322) << "&m_root =" << &m_root;
++ m_root = new LdapModelDNNode;
++ //kDebug(5322) << "&m_root =" << &m_root;
+ }
+
+ void LdapModel::LdapModelPrivate::createConnections()
+@@ -101,19 +101,20 @@
+
+ void LdapModel::LdapModelPrivate::populateRootToBaseDN()
+ {
+- kDebug(5322) << "LdapModel::LdapModelPrivate::populateRootToBaseDN()";
++ //kDebug(5322) << "LdapModel::LdapModelPrivate::populateRootToBaseDN()";
+
+ if ( baseDN().isEmpty() ) {
+ // Query the server for the base DN
+- setSearchType( LdapModelPrivate::NamingContexts, rootItem() );
++ //kDebug(5322) << "Searching for the baseDN";
++ setSearchType( LdapModelPrivate::NamingContexts, rootNode() );
+ search( LdapDN(), LdapUrl::Base, QString(), QStringList() << "namingContexts" );
+ return;
+ }
+
+ // Start a search for the details of the baseDN object
++ //kDebug(5322) << "Searching for attributes of the baseDN";
+ searchResults().clear();
+- LdapModelTreeItem *searchItem = rootItem();
+- setSearchType( LdapModelPrivate::BaseDN, searchItem );
++ setSearchType( LdapModelPrivate::BaseDN, rootNode() );
+ search( baseDN(), LdapUrl::Base, QString(), QStringList() << "dn" << "objectClass" );
+ }
+
+@@ -130,7 +131,7 @@
+ if ( !searchResults().isEmpty() &&
+ searchResults().at( 0 ).hasAttribute( "namingContexts" ) ) {
+ baseDN = searchResults().at( 0 ).value( "namingContexts" );
+- kDebug(5322) << "Found baseDN =" << baseDN;
++ //kDebug(5322) << "Found baseDN =" << baseDN;
+ }
+ setBaseDN( LdapDN( baseDN ) );
+
+@@ -144,8 +145,8 @@
+ }
+ case LdapModelPrivate::BaseDN:
+ {
+- kDebug(5322) << "Found details of the baseDN object."
+- << "Creating objects down to this level.";
++ //kDebug(5322) << "Found details of the baseDN object."
++ // << "Creating objects down to this level.";
+
+ // Get the baseDN LdapObject
+ LdapObject baseDNObj = searchResults().at( 0 );
+@@ -154,49 +155,54 @@
+ int depth = baseDNObj.dn().depth();
+
+ // Create items that represent objects down to the baseDN
+- LdapModelTreeItem *parent = rootItem();
+- LdapModelTreeItem *item = 0;
++ LdapModelDNNode *parent = rootNode();
++ LdapModelDNNode *item = 0;
+ for ( int i = 0; i < depth; i++ ) {
+ QString dn = baseDN().toString( i );
+ kDebug(5322) << "Creating item for DN :" << dn;
+- LdapObject obj( dn );
+- item = new LdapModelTreeItem( parent, obj );
++
++ //LdapObject obj( dn );
++ item = new LdapModelDNNode( parent, LdapDN( dn ) );
+ parent = item;
+ }
+
+ // Store the search result
+- item->setLdapObject( searchResults().at( 0 ) );
++ item->setLdapObject( baseDNObj );
+
+ // Flag that we are no longer searching
+ setSearchType( LdapModelPrivate::NotSearching );
+ //emit( layoutChanged() );
+
++ // Let the world know we are ready for action
++ emit m_parent->ready();
++
+ break;
+ }
+ case LdapModelPrivate::ChildObjects:
+ {
+- kDebug(5322) << "Found" << searchResults().size() << "child objects";
++ //kDebug(5322) << "Found" << searchResults().size() << "child objects";
+
+- // Create an index for the soon-to-be-a-parent item
+- LdapModelTreeItem *parentItem = searchItem();
+- int r = parentItem->row();
+- QModelIndex parentIndex = m_parent->createIndex( r, 0, parentItem );
+-
+- m_parent->beginInsertRows( parentIndex, 0, searchResults().size() );
+- for ( int i = 0; i < searchResults().size(); i++ ) {
+- LdapObject itemData = searchResults().at( i );
+- LdapModelTreeItem *item = new LdapModelTreeItem( parentItem, itemData );
+- if ( !item ) {
+- kDebug(5322) << "Could not create LdapModelTreeItem";
++ if ( searchResults().size() != 0 )
++ {
++ // Create an index for the soon-to-be-a-parent item
++ LdapModelDNNode *parentNode = searchItem();
++ int r = parentNode->row();
++ QModelIndex parentIndex = m_parent->createIndex( r, 0, parentNode );
++
++ m_parent->beginInsertRows( parentIndex, 0, searchResults().size() );
++ for ( int i = 0; i < searchResults().size(); i++ ) {
++ LdapObject object = searchResults().at( i );
++ LdapModelDNNode *item = new LdapModelDNNode( parentNode, object.dn() );
++ item->setLdapObject( object );
+ }
++
++ m_parent->endInsertRows();
++ emit m_parent->layoutChanged();
+ }
+
+ // Flag that we are no longer searching
+ setSearchType( LdapModelPrivate::NotSearching );
+
+- m_parent->endInsertRows();
+- emit m_parent->layoutChanged();
+-
+ break;
+ }
+ default:
+@@ -207,7 +213,7 @@
+ void LdapModel::LdapModelPrivate::gotSearchData( KLDAP::LdapSearch *search, const KLDAP::LdapObject &obj )
+ {
+ Q_UNUSED( search );
+- kDebug(5322) << "LdapModel::LdapModelPrivate::gotSearchData()";
++ //kDebug(5322) << "LdapModel::LdapModelPrivate::gotSearchData()";
+ //kDebug(5322) << "Object:";
+ //kDebug(5322) << obj.toString();
+ searchResults().append( obj );
+--- /dev/null
++++ b/kldap/ldapstructureproxymodel.h
+@@ -0,0 +1,98 @@
++/*
++ This file is part of libkldap.
++ Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KLDAP_LDAPSTRUCTUREPROXYMODEL_H
++#define KLDAP_LDAPSTRUCTUREPROXYMODEL_H
++
++#include <QtGui/QSortFilterProxyModel>
++
++#include "kldap_export.h"
++
++namespace KLDAP {
++
++class KLDAP_EXPORT LdapStructureProxyModel : public QSortFilterProxyModel
++{
++ Q_OBJECT
++ public:
++ explicit LdapStructureProxyModel( QObject *parent = 0 );
++ ~LdapStructureProxyModel();
++
++ virtual QVariant data( const QModelIndex &index, int role ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::setData(). This is a placeholder for when
++ * LdapStructureProxyModel beomes writeable and always returns false.
++ */
++ virtual bool setData( const QModelIndex &index,
++ const QVariant &value,
++ int role = Qt::EditRole );
++ virtual bool filterAcceptsRow( int sourceRow, const QModelIndex& sourceParent ) const;
++ virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
++ virtual int columnCount( const QModelIndex &parent ) const;
++ virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
++ virtual bool hasChildren( const QModelIndex &parent ) const;
++
++ virtual QModelIndex mapFromSource ( const QModelIndex & sourceIndex ) const;
++ virtual QModelIndex mapToSource ( const QModelIndex & proxyIndex ) const;
++
++ /**
++ * Reimplemented from QAbstractItemModel::insertRows(). This is a placeholder for when
++ * LdapStructureProxyModel beomes writeable and always returns false.
++ */
++ virtual bool insertRows( int row, int count,
++ const QModelIndex &parent = QModelIndex() );
++ /**
++ * Reimplemented from QAbstractItemModel::removeRows(). This is a placeholder for when
++ * LdapStructureProxyModel beomes writeable and always returns false.
++ */
++ virtual bool removeRows( int row, int count,
++ const QModelIndex &parent = QModelIndex() );
++ /**
++ * Reimplemented from QAbstractItemModel::removeRows(). The default implementation
++ * does nothing.
++ */
++ virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
++
++ //
++ // Drag and drop support
++ //
++ /**
++ * Reimplemented from QAbstractItemModel::supportedDropActions(). The default
++ * implementation returns Qt::MoveAction.
++ */
++ virtual Qt::DropActions supportedDropActions() const;
++ /**
++ * Reimplemented from QAbstractItemModel::mimedata(). This is a placeholder for when
++ * LdapStructureProxyModel beomes writeable and always returns 0.
++ */
++ virtual QMimeData *mimeData( const QModelIndexList &indexes ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::dropMimedata(). This is a placeholder for when
++ * LdapStructureProxyModel beomes writeable and always returns false.
++ */
++ virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action,
++ int row, int column, const QModelIndex &parent );
++
++ private:
++ class LdapStructureProxyModelPrivate;
++ LdapStructureProxyModelPrivate *const m_d;
++};
++
++}
++#endif
+--- /dev/null
++++ b/kldap/ldapmodelnode_p.h
+@@ -0,0 +1,122 @@
++/*
++ This file is part of libkldap.
++ Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KLDAP_LDAPMODELTREEITEM_P_H
++#define KLDAP_LDAPMODELTREEITEM_P_H
++
++#include <QByteArray>
++#include <QString>
++#include <QtCore/QList>
++#include <QtCore/QVariant>
++
++#include "ldapdn.h"
++#include "ldapobject.h"
++#include "kldap_export.h"
++
++namespace KLDAP {
++
++class LdapModelDNNode;
++
++/**
++ * @internal
++ */
++class LdapModelNode
++{
++ public:
++ explicit LdapModelNode( LdapModelDNNode *parent = 0 );
++ virtual ~LdapModelNode();
++
++ enum NodeType {
++ DN,
++ Attr
++ };
++
++ virtual NodeType nodeType() const = 0;
++
++ LdapModelDNNode *parent();
++ int columnCount() const { return 2; }
++ int row() const;
++
++ void setPopulated( bool b ) { m_isPopulated = b; }
++ bool isPopulated() const { return m_isPopulated; }
++
++ private:
++ LdapModelDNNode *m_parent;
++ bool m_isPopulated;
++};
++
++
++/**
++ * @internal
++ */
++class LdapModelDNNode : public LdapModelNode
++{
++ public:
++ explicit LdapModelDNNode( LdapModelDNNode *parent = 0,
++ const LdapDN &dn = LdapDN() );
++ ~LdapModelDNNode();
++
++ LdapModelNode::NodeType nodeType() const { return LdapModelNode::DN; }
++
++ void appendChild( LdapModelNode *pItem );
++ LdapModelNode *child( int row );
++ int childCount() const { return m_childItems.size(); }
++ const QList<LdapModelNode*>& children() const { return m_childItems; }
++
++ const LdapDN &dn() const { return m_dn; }
++
++ /**
++ * Creates child LdapModelAttrNode object to store \p object's attributes
++ * and adds them as children of this node.
++ *
++ * \param The LdapObject to store in this node.
++ */
++ void setLdapObject( const LdapObject &object );
++
++ private:
++ QList<LdapModelNode*> m_childItems;
++ LdapDN m_dn;
++};
++
++
++/**
++ * @internal
++ */
++class LdapModelAttrNode : public LdapModelNode
++{
++ public:
++ explicit LdapModelAttrNode( LdapModelDNNode *parent = 0,
++ const QString &attrName = QString(),
++ const QByteArray &attrData = QByteArray() );
++ ~LdapModelAttrNode();
++
++ LdapModelNode::NodeType nodeType() const { return LdapModelNode::Attr; }
++
++ const QString &attributeName() { return m_attrName; }
++ const QByteArray &attributeData() { return m_attrData; }
++
++ private:
++ QString m_attrName;
++ QByteArray m_attrData;
++};
++
++}
++
++#endif
+--- a/kldap/CMakeLists.txt
++++ b/kldap/CMakeLists.txt
+@@ -44,7 +44,7 @@
+ ########### next target ###############
+
+
+-set(kldap_LIB_SRCS
++set(kldap_LIB_SRCS
+ ber.cpp
+ ldif.cpp
+ ldapurl.cpp
+@@ -56,9 +56,11 @@
+ ldapsearch.cpp
+ ldapconfigwidget.cpp
+ ldapdn.cpp
+- ldapmodeltreeitem_p.cpp
++ ldapmodelnode_p.cpp
+ ldapmodel.cpp
+- ldapmodel_p.cpp )
++ ldapmodel_p.cpp
++ ldapstructureproxymodel.cpp
++ ldapattributeproxymodel.cpp)
+
+
+ kde4_add_library(kldap SHARED ${kldap_LIB_SRCS})
+@@ -68,12 +70,16 @@
+ target_link_libraries(kldap ${KDE4_KIO_LIBS} ${kldap_EXTRA_LIBS} )
+
+ set_target_properties(kldap PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS kldap DESTINATION ${LIB_INSTALL_DIR})
+-
++install(TARGETS kldap
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
+-install( FILES ber.h kldap_export.h ldapdefs.h ldif.h ldapurl.h ldapserver.h ldapobject.h
+- ldapconnection.h ldapoperation.h
++install( FILES ber.h kldap_export.h ldapdefs.h ldif.h ldapurl.h ldapserver.h ldapobject.h
++ ldapconnection.h ldapoperation.h
+ ldapconfigwidget.h ldapcontrol.h ldapsearch.h
+- ldapdn.h ldapmodel.h DESTINATION ${INCLUDE_INSTALL_DIR}/kldap)
++ ldapdn.h ldapmodel.h ldapstructureproxymodel.h ldapattributeproxymodel.h
++ DESTINATION ${INCLUDE_INSTALL_DIR}/kldap)
+--- /dev/null
++++ b/kldap/ldapattributeproxymodel.h
+@@ -0,0 +1,98 @@
++/*
++ This file is part of libkldap.
++ Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#ifndef KLDAP_LDAPATTRIBUTEPROXYMODEL_H
++#define KLDAP_LDAPATTRIBUTEPROXYMODEL_H
++
++#include <QtGui/QSortFilterProxyModel>
++
++#include "kldap_export.h"
++
++namespace KLDAP {
++
++class KLDAP_EXPORT LdapAttributeProxyModel : public QSortFilterProxyModel
++{
++ Q_OBJECT
++ public:
++ explicit LdapAttributeProxyModel( QObject *parent = 0 );
++ ~LdapAttributeProxyModel();
++
++ virtual QVariant data( const QModelIndex &index, int role ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::setData(). This is a placeholder for when
++ * LdapAttributeProxyModel beomes writeable and always returns false.
++ */
++ virtual bool setData( const QModelIndex &index,
++ const QVariant &value,
++ int role = Qt::EditRole );
++ virtual bool filterAcceptsRow( int sourceRow, const QModelIndex& sourceParent ) const;
++ virtual QVariant headerData( int section, Qt::Orientation orientation, int role ) const;
++ virtual int columnCount( const QModelIndex &parent ) const;
++ virtual Qt::ItemFlags flags( const QModelIndex &index ) const;
++ virtual bool hasChildren( const QModelIndex &parent ) const;
++
++ virtual QModelIndex mapFromSource ( const QModelIndex & sourceIndex ) const;
++ virtual QModelIndex mapToSource ( const QModelIndex & proxyIndex ) const;
++
++ /**
++ * Reimplemented from QAbstractItemModel::insertRows(). This is a placeholder for when
++ * LdapAttributeProxyModel beomes writeable and always returns false.
++ */
++ virtual bool insertRows( int row, int count,
++ const QModelIndex &parent = QModelIndex() );
++ /**
++ * Reimplemented from QAbstractItemModel::removeRows(). This is a placeholder for when
++ * LdapAttributeProxyModel beomes writeable and always returns false.
++ */
++ virtual bool removeRows( int row, int count,
++ const QModelIndex &parent = QModelIndex() );
++ /**
++ * Reimplemented from QAbstractItemModel::removeRows(). The default implementation
++ * does nothing.
++ */
++ virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
++
++ //
++ // Drag and drop support
++ //
++ /**
++ * Reimplemented from QAbstractItemModel::supportedDropActions(). The default
++ * implementation returns Qt::MoveAction.
++ */
++ virtual Qt::DropActions supportedDropActions() const;
++ /**
++ * Reimplemented from QAbstractItemModel::mimedata(). This is a placeholder for when
++ * LdapAttributeProxyModel beomes writeable and always returns 0.
++ */
++ virtual QMimeData *mimeData( const QModelIndexList &indexes ) const;
++ /**
++ * Reimplemented from QAbstractItemModel::dropMimedata(). This is a placeholder for when
++ * LdapAttributeProxyModel beomes writeable and always returns false.
++ */
++ virtual bool dropMimeData( const QMimeData *data, Qt::DropAction action,
++ int row, int column, const QModelIndex &parent );
++
++ private:
++ class LdapAttributeProxyModelPrivate;
++ LdapAttributeProxyModelPrivate *const m_d;
++};
++
++}
++#endif
+--- a/kldap/ldapmodel.cpp
++++ b/kldap/ldapmodel.cpp
+@@ -20,10 +20,11 @@
+
+ #include "ldapmodel.h"
+ #include "ldapmodel_p.h"
+-#include "ldapmodeltreeitem_p.h"
++#include "ldapmodelnode_p.h"
+ #include "ldapsearch.h"
+
+ #include <kdebug.h>
++#include <klocale.h>
+
+ using namespace KLDAP;
+
+@@ -60,68 +61,94 @@
+ m_d->populateRootToBaseDN();
+ }
+
+-QModelIndex LdapModel::index( int row, int col, const QModelIndex &parent ) const
+-{
+- LdapModelTreeItem *parentItem;
+- if ( !parent.isValid() ) {
+- parentItem = m_d->rootItem();
+- } else {
+- parentItem = static_cast<LdapModelTreeItem*>( parent.internalPointer() );
+- }
+-
+- LdapModelTreeItem *childItem = parentItem->child( row );
+- if ( childItem ) {
+- return createIndex( row, col, childItem );
+- } else {
+- return QModelIndex();
+- }
+-}
+-
+ QModelIndex LdapModel::parent( const QModelIndex &child ) const
+ {
+ if ( !child.isValid() ) {
+ return QModelIndex();
+ }
+
+- LdapModelTreeItem *childItem = static_cast<LdapModelTreeItem*>( child.internalPointer() );
+- LdapModelTreeItem *parentItem = childItem->parent();
++ LdapModelNode *childItem = static_cast<LdapModelNode*>( child.internalPointer() );
++ LdapModelDNNode *parentItem = childItem->parent();
+
+- if ( parentItem == m_d->rootItem() ) {
++ if ( parentItem == m_d->rootNode() ) {
+ return QModelIndex();
+ }
+
+ return createIndex( parentItem->row(), 0, parentItem );
+ }
+
++QModelIndex LdapModel::index( int row, int col, const QModelIndex &parent ) const
++{
++ // Retrieve a pointer to the parent item
++ LdapModelDNNode *parentItem;
++ if ( !parent.isValid() ) {
++ parentItem = m_d->rootNode();
++ } else {
++ parentItem = static_cast<LdapModelDNNode*>( parent.internalPointer() );
++ }
++
++ LdapModelNode *childItem = parentItem->child( row );
++ if ( childItem ) {
++ return createIndex( row, col, childItem );
++ }
++ kDebug(5322) << "Could not create valid index for row =" << row << ", col =" << col;
++ return QModelIndex();
++}
++
+ QVariant LdapModel::data( const QModelIndex &index, int role ) const
+ {
+ if ( !index.isValid() ) {
+ return QVariant();
+ }
+
+- LdapModelTreeItem *item = static_cast<LdapModelTreeItem*>( index.internalPointer() );
+-
+ if ( role == Qt::DisplayRole ) {
+- kDebug(5322) << "***** LdapModel::data(): rdn =" << item->data().dn().rdnString();
+- return item->data().dn().rdnString();
+- } else if ( role == Qt::ToolTipRole ) {
+- /** \TODO Make the tooltips look nicer - perhaps themeable? */
+- kDebug(5322) << "***** LdapModel::data(): Object =" << item->data().toString();
+- return item->data().toString();
++ // This is what gets displayed by the view delegates.
++ LdapModelNode *node = static_cast<LdapModelNode*>( index.internalPointer() );
++ if ( node->nodeType() == LdapModelNode::DN ) {
++ LdapModelDNNode* dn = static_cast<LdapModelDNNode*>( node );
++ if ( index.column() == 0 ) {
++ return dn->dn().rdnString();
++ } else {
++ return QVariant();
++ }
++ } else {
++ LdapModelAttrNode* attr = static_cast<LdapModelAttrNode*>( node );
++ if ( index.column() == 0 ) {
++ return QVariant( attr->attributeName() );
++ } else {
++ return QVariant( QString( attr->attributeData().constData() ) );
++ }
++ }
++ } else if ( role == NodeTypeRole ) {
++ LdapModelNode* node = static_cast<LdapModelNode*>( index.internalPointer() );
++ return QVariant( int( node->nodeType() ) );
+ }
+
+- /** \TODO Include support for nice decorative icons dependent upon
++ /** \todo Include support for nice decorative icons dependent upon
+ the objectClass + other role data. */
++ /** \todo Include support for other roles as needed */
+
+ return QVariant();
+ }
+
+-QVariant LdapModel::headerData( int /*section*/, Qt::Orientation orientation, int role ) const
++bool LdapModel::setData( const QModelIndex &index,
++ const QVariant &value,
++ int role )
++{
++ Q_UNUSED( index );
++ Q_UNUSED( value );
++ Q_UNUSED( role );
++ return false;
++}
++
++QVariant LdapModel::headerData( int section, Qt::Orientation orientation, int role ) const
+ {
+ if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) {
+- /** @TODO Hmm, what to do here? Override in proxymodels perhaps as
+- could be "DN" or "Attribute". */
+- return QString( "Distinguished Name" );
++ if ( section == 0 ) {
++ return QString( i18n( "Attribute" ) );
++ } else {
++ return QString( i18n( "Value" ) );
++ }
+ }
+
+ return QVariant();
+@@ -134,67 +161,158 @@
+ return Qt::ItemIsEnabled;
+ }
+
+- return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
++ return Qt::ItemFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
+ }
+
+ int LdapModel::columnCount( const QModelIndex &parent ) const
+ {
+- LdapModelTreeItem *parentItem =
+- parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+- return parentItem->columnCount();
++ LdapModelDNNode *parentNode =
++ parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
++ return parentNode->columnCount();
+ }
+
+ int LdapModel::rowCount( const QModelIndex &parent ) const
+ {
+- kDebug(5322) << "LdapModel::rowCount";
+ if ( parent.column() > 0 ) {
+ return 0;
+ }
+
+- const LdapModelTreeItem *item =
+- parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+- kDebug(5322) << "Parent (" << item->ldapObject().dn().toString() << ") has"
+- << item->childCount() << "children";
+- return item->childCount();
++ const LdapModelDNNode *parentNode =
++ parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
++ return parentNode->childCount();
+ }
+
+ bool LdapModel::hasChildren( const QModelIndex &parent ) const
+ {
+- // We always return true. This means that the branch expansion symbol will
+- // always be drawn. However, once the user clicks on it, rowCount() will
+- // get called and the view will not draw the expander if the item has no
+- // children.
+- const LdapModelTreeItem *item =
+- parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+- if ( !parent.isValid() || item->isPopulated() ) {
+- return item->childCount() > 0;
++ // We return true unless the item has been populated and we are able to do a definitive test
++ const LdapModelNode *node = parent.isValid()
++ ? static_cast<const LdapModelNode*>( parent.internalPointer() )
++ : m_d->rootNode();
++
++ if ( node->nodeType() != LdapModelNode::DN )
++ return false;
++
++ const LdapModelDNNode* parentNode = static_cast<const LdapModelDNNode*>( node );
++ if ( !parent.isValid() || parentNode->isPopulated() ) {
++ return parentNode->childCount() > 0;
+ }
+ return true;
+ }
+
+ bool LdapModel::canFetchMore( const QModelIndex &parent ) const
+ {
+- const LdapModelTreeItem *item =
+- parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
+- kDebug(5322) << "LdapModel::canFetchMore() :" << !item->isPopulated();
+- return !item->isPopulated();
++ const LdapModelDNNode *parentNode =
++ parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
++ return !parentNode->isPopulated();
+ }
+
+ void LdapModel::fetchMore( const QModelIndex &parent )
+ {
+- /** @TODO This should be altered to search for all attributes we can
+- filter out those not required with a proxy model */
+- kDebug(5322) << "LdapModel::fetchMore()";
+-
+- LdapModelTreeItem *parentItem =
+- parent.isValid() ? static_cast<LdapModelTreeItem*>( parent.internalPointer() ) : m_d->rootItem();
++ LdapModelDNNode *parentNode =
++ parent.isValid() ? static_cast<LdapModelDNNode*>( parent.internalPointer() ) : m_d->rootNode();
+
+ // Search for the immediate children of parentItem.
+ m_d->searchResults().clear();
+- m_d->setSearchType( LdapModelPrivate::ChildObjects, parentItem );
+- m_d->search( parentItem->data().dn(), LdapUrl::One, QString(),
+- QStringList() << "dn" << "objectClass" );
+- parentItem->setPopulated( true );
++ m_d->setSearchType( LdapModelPrivate::ChildObjects, parentNode );
++ m_d->search( parentNode->dn(), // DN to search from
++ LdapUrl::One, // What to search
++ QString() ); // Attributes to retrieve
++ parentNode->setPopulated( true );
++}
++
++bool LdapModel::insertRows( int row, int count,
++ const QModelIndex &parent )
++{
++ Q_UNUSED( row );
++ Q_UNUSED( count );
++ Q_UNUSED( parent );
++ return false;
++}
++
++bool LdapModel::removeRows( int row, int count,
++ const QModelIndex &parent )
++{
++ Q_UNUSED( row );
++ Q_UNUSED( count );
++ Q_UNUSED( parent );
++ return false;
++}
++
++void LdapModel::sort( int column, Qt::SortOrder order )
++{
++ Q_UNUSED( column );
++ Q_UNUSED( order );
++}
++
++Qt::DropActions LdapModel::supportedDropActions() const
++{
++ return Qt::MoveAction;
++}
++
++QMimeData *LdapModel::mimeData( const QModelIndexList &indexes ) const
++{
++ Q_UNUSED( indexes );
++ return 0;
++}
++
++bool LdapModel::dropMimeData( const QMimeData *data, Qt::DropAction action,
++ int row, int column, const QModelIndex &parent )
++{
++ /** \todo Implement drag and drop for LdapModel */
++ Q_UNUSED( data );
++ Q_UNUSED( action );
++ Q_UNUSED( row );
++ Q_UNUSED( column );
++ Q_UNUSED( parent );
++ return false;
++}
++
++bool LdapModel::hasChildrenOfType( const QModelIndex &parent, LdapDataType type ) const
++{
++ // Map from LdapDataType to our internal NodeType
++ LdapModelNode::NodeType nodeType;
++ switch ( type ) {
++ case Attribute:
++ nodeType = LdapModelNode::Attr;
++ break;
++
++ case DistinguishedName:
++ default:
++ nodeType = LdapModelNode::DN;
++ break;
++ }
++
++ const LdapModelNode *node = parent.isValid()
++ ? static_cast<const LdapModelNode*>( parent.internalPointer() )
++ : m_d->rootNode();
++
++ const LdapModelDNNode* parentNode = static_cast<const LdapModelDNNode*>( node );
++ if ( !parent.isValid() || parentNode->isPopulated() ) {
++ // Check to see if the parent has any children of the specified type
++ const QList<LdapModelNode*>& children = parentNode->children();
++ foreach ( LdapModelNode *child, children ) {
++ if ( child->nodeType() == nodeType ) {
++ return true;
++ }
++ }
++
++ // Either there are no children or only children of a different type
++ return false;
++ }
++
++ // If the node is not populated or is the root node (invalid), then return
++ // true to be on the safe side.
++ return true;
++}
++
++void LdapModel::revert()
++{
++
++}
++
++bool LdapModel::submit()
++{
++ return false;
+ }
+
+ #include "ldapmodel.moc"
+--- a/kldap/ldapserver.h
++++ b/kldap/ldapserver.h
+@@ -66,6 +66,7 @@
+ Security security() const;
+ Auth auth() const;
+ QString mech() const;
++ int timeout() const;
+
+ LdapUrl::Scope scope() const;
+ int timeLimit() const;
+@@ -84,6 +85,7 @@
+ void setSecurity( Security security );
+ void setAuth( Auth auth );
+ void setMech( const QString &mech );
++ void setTimeout( int timeout );
+
+ void setScope( LdapUrl::Scope scope );
+ void setTimeLimit( int timelimit );
+@@ -96,7 +98,7 @@
+ * The URL extensions which are supported:
+ * Standard: bindname
+ * KLDAP extensions: x-tls, x-version, x-sasl, x-mech, x-realm,
+- * x-sizelimit, x-timelimit, x-pagesize
++ * x-sizelimit, x-timelimit, x-pagesize, x-timeout
+ */
+ LdapUrl url() const;
+ /**
+--- /dev/null
++++ b/kldap/ldapstructureproxymodel.cpp
+@@ -0,0 +1,170 @@
++/*
++ This file is part of libkldap.
++ Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#include "ldapstructureproxymodel.h"
++#include "ldapmodel.h"
++#include "ldapmodelnode_p.h"
++
++#include <kdebug.h>
++#include <klocale.h>
++
++using namespace KLDAP;
++
++class LdapStructureProxyModel::LdapStructureProxyModelPrivate
++{
++ public:
++ LdapStructureProxyModelPrivate();
++
++};
++
++LdapStructureProxyModel::LdapStructureProxyModelPrivate::LdapStructureProxyModelPrivate()
++{
++
++}
++
++LdapStructureProxyModel::LdapStructureProxyModel( QObject *parent )
++ : QSortFilterProxyModel( parent ),
++ m_d( new LdapStructureProxyModelPrivate() )
++{
++
++}
++
++LdapStructureProxyModel::~LdapStructureProxyModel()
++{
++ delete m_d;
++}
++
++QVariant LdapStructureProxyModel::data( const QModelIndex &index,
++ int role ) const
++{
++ // Included just in case we decide to do any special presentation of the data
++ // at some other point throughout the 4.x series.
++ return sourceModel()->data( mapToSource( index ), role );
++}
++
++bool LdapStructureProxyModel::setData( const QModelIndex &index,
++ const QVariant &value,
++ int role )
++{
++ Q_UNUSED( index );
++ Q_UNUSED( value );
++ Q_UNUSED( role );
++ return false;
++}
++
++bool LdapStructureProxyModel::filterAcceptsRow( int sourceRow,
++ const QModelIndex& sourceParent ) const
++{
++ QModelIndex idx = sourceModel()->index( sourceRow, 0, sourceParent );
++ LdapModelNode::NodeType nodeType =
++ static_cast<LdapModelNode::NodeType>(
++ sourceModel()->data( idx, LdapModel::NodeTypeRole ).toUInt() );
++ return ( nodeType == LdapModelNode::DN );
++}
++
++QVariant LdapStructureProxyModel::headerData( int /*section*/,
++ Qt::Orientation orientation,
++ int role ) const
++{
++ if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) {
++ return QString( i18n( "Distinguished Name" ) );
++ }
++
++ return QVariant();
++}
++
++int LdapStructureProxyModel::columnCount( const QModelIndex &/*parent*/ ) const
++{
++ // No need for more than one column just to show the structure
++ return 1;
++}
++
++Qt::ItemFlags LdapStructureProxyModel::flags( const QModelIndex &index ) const
++{
++ // Included so as not to break BC in case we wish to use this later in 4.x
++ return sourceModel()->flags( mapToSource( index ) );
++}
++
++bool LdapStructureProxyModel::hasChildren( const QModelIndex &parent ) const
++{
++ // We need to handle this carefully bacause of the filtering out of attributes
++ // and the lazy population approach.
++ LdapModel *model = static_cast<LdapModel*>( sourceModel() );
++ return model->hasChildrenOfType( mapToSource( parent ), LdapModel::DistinguishedName );
++}
++
++QModelIndex LdapStructureProxyModel::mapFromSource( const QModelIndex &sourceIndex ) const
++{
++ return QSortFilterProxyModel::mapFromSource( sourceIndex );
++}
++
++QModelIndex LdapStructureProxyModel::mapToSource( const QModelIndex &proxyIndex ) const
++{
++ return QSortFilterProxyModel::mapToSource( proxyIndex );
++}
++
++bool LdapStructureProxyModel::insertRows( int row, int count,
++ const QModelIndex &parent )
++{
++ Q_UNUSED( row );
++ Q_UNUSED( count );
++ Q_UNUSED( parent );
++ return false;
++}
++
++bool LdapStructureProxyModel::removeRows( int row, int count,
++ const QModelIndex &parent )
++{
++ Q_UNUSED( row );
++ Q_UNUSED( count );
++ Q_UNUSED( parent );
++ return false;
++}
++
++void LdapStructureProxyModel::sort( int column, Qt::SortOrder order )
++{
++ Q_UNUSED( column );
++ Q_UNUSED( order );
++}
++
++Qt::DropActions LdapStructureProxyModel::supportedDropActions() const
++{
++ return Qt::MoveAction;
++}
++
++QMimeData *LdapStructureProxyModel::mimeData( const QModelIndexList &indexes ) const
++{
++ Q_UNUSED( indexes );
++ return 0;
++}
++
++bool LdapStructureProxyModel::dropMimeData( const QMimeData *data, Qt::DropAction action,
++ int row, int column, const QModelIndex &parent )
++{
++ /** \todo Implement drag and drop for LdapModel */
++ Q_UNUSED( data );
++ Q_UNUSED( action );
++ Q_UNUSED( row );
++ Q_UNUSED( column );
++ Q_UNUSED( parent );
++ return false;
++}
++
++#include "ldapstructureproxymodel.moc"
+--- a/kldap/ldapmodel_p.h
++++ b/kldap/ldapmodel_p.h
+@@ -28,7 +28,7 @@
+
+ namespace KLDAP {
+
+-class LdapModelTreeItem;
++class LdapModelDNNode;
+ class LdapSearch;
+
+ /**
+@@ -57,7 +57,7 @@
+ const QStringList &attributes = QStringList(),
+ int pagesize = 0 );
+
+- LdapModelTreeItem *rootItem() { return m_root; }
++ LdapModelDNNode *rootNode() { return m_root; }
+ LdapSearch *search() { return m_search; }
+
+ LdapObjects &searchResults() { return m_searchResultObjects; }
+@@ -69,10 +69,10 @@
+ LdapDN &baseDN() { return m_baseDN; }
+ const LdapDN &baseDN() const { return m_baseDN; }
+
+- void setSearchType( SearchType t, LdapModelTreeItem *item = 0 );
++ void setSearchType( SearchType t, LdapModelDNNode *item = 0 );
+
+ SearchType searchType() { return m_searchType; }
+- LdapModelTreeItem *searchItem() { return m_searchItem; }
++ LdapModelDNNode *searchItem() { return m_searchItem; }
+
+ void createConnections();
+ void populateRootToBaseDN();
+@@ -81,12 +81,12 @@
+
+ private:
+ LdapModel *m_parent;
+- LdapModelTreeItem *m_root;
++ LdapModelDNNode *m_root;
+ LdapSearch *m_search;
+ LdapObjects m_searchResultObjects;
+ LdapDN m_baseDN;
+ SearchType m_searchType;
+- LdapModelTreeItem *m_searchItem;
++ LdapModelDNNode *m_searchItem;
+ };
+
+ }
+--- /dev/null
++++ b/kldap/ldapmodelnode_p.cpp
+@@ -0,0 +1,134 @@
++/*
++ This file is part of libkldap.
++ Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#include "ldapmodelnode_p.h"
++
++#include <kdebug.h>
++
++using namespace KLDAP;
++
++LdapModelNode::LdapModelNode( LdapModelDNNode *parent )
++ : m_parent( parent ),
++ m_isPopulated( false )
++{
++ if ( m_parent ) {
++ m_parent->appendChild( this );
++ }
++}
++
++LdapModelNode::~LdapModelNode()
++{
++
++}
++
++LdapModelDNNode *LdapModelNode::parent()
++{
++ return m_parent;
++}
++
++int LdapModelNode::row() const
++{
++ if ( m_parent ) {
++ return m_parent->children().indexOf( const_cast<LdapModelNode*>( this ) );
++ }
++ return 0;
++}
++
++
++//
++// LdapModelDNNode imlpementation
++//
++
++LdapModelDNNode::LdapModelDNNode( LdapModelDNNode *parent,
++ const LdapDN &dn )
++ : LdapModelNode( parent ),
++ m_childItems(),
++ m_dn( dn )
++{
++ kDebug(5322) << "Creating LdapModelDNNode: DN =" << m_dn.toString();
++}
++
++LdapModelDNNode::~LdapModelDNNode()
++{
++ qDeleteAll( m_childItems );
++}
++
++void LdapModelDNNode::appendChild( LdapModelNode *pItem )
++{
++ m_childItems.append( pItem );
++ setPopulated( true );
++}
++
++LdapModelNode *LdapModelDNNode::child( int row )
++{
++ return m_childItems.value( row );
++}
++
++void LdapModelDNNode::setLdapObject( const LdapObject &object )
++{
++ // Remember whether this item is populated or not
++ bool populated = isPopulated();
++
++ const LdapAttrMap &attrs = object.attributes();
++ /*
++ int attributeCount = 0;
++ for ( LdapAttrMap::ConstIterator it = attrs.begin(); it != attrs.end(); ++it ) {
++ attributeCount += (*it).size();
++ }
++
++ for ( int i = 0; i < attributeCount; i++ )
++ {
++ LdapModelNode* node = new LdapModelAttrNode( this, QString::number( i ) );
++ Q_UNUSED( node );
++ }
++ */
++
++ for ( LdapAttrMap::ConstIterator it = attrs.begin(); it != attrs.end(); ++it ) {
++ QString attr = it.key();
++ for ( LdapAttrValue::ConstIterator it2 = (*it).begin(); it2 != (*it).end(); ++it2 ) {
++ LdapModelNode* node = new LdapModelAttrNode( this, attr, *it2 );
++ Q_UNUSED( node );
++ }
++ }
++
++ // Reset the populated flag so that we don't stop the model querying for children
++ setPopulated( populated );
++}
++
++
++//
++// LdapModelAttrNode imlpementation
++//
++
++LdapModelAttrNode::LdapModelAttrNode( LdapModelDNNode *parent,
++ const QString &attrName,
++ const QByteArray &attrData )
++ : LdapModelNode( parent ),
++ m_attrName( attrName ),
++ m_attrData( attrData )
++{
++ kDebug(5322) << "Creating LdapModelAttrNode: Name =" << m_attrName
++ << " Data =" << m_attrData;
++}
++
++LdapModelAttrNode::~LdapModelAttrNode()
++{
++
++}
+--- /dev/null
++++ b/kldap/ldapattributeproxymodel.cpp
+@@ -0,0 +1,173 @@
++/*
++ This file is part of libkldap.
++ Copyright (c) 2006 Sean Harmer <sh at theharmers.co.uk>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#include "ldapattributeproxymodel.h"
++#include "ldapmodel.h"
++#include "ldapmodelnode_p.h"
++
++#include <kdebug.h>
++#include <klocale.h>
++
++using namespace KLDAP;
++
++class LdapAttributeProxyModel::LdapAttributeProxyModelPrivate
++{
++ public:
++ LdapAttributeProxyModelPrivate();
++
++};
++
++LdapAttributeProxyModel::LdapAttributeProxyModelPrivate::LdapAttributeProxyModelPrivate()
++{
++
++}
++
++LdapAttributeProxyModel::LdapAttributeProxyModel( QObject *parent )
++ : QSortFilterProxyModel( parent ),
++ m_d( new LdapAttributeProxyModelPrivate() )
++{
++
++}
++
++LdapAttributeProxyModel::~LdapAttributeProxyModel()
++{
++ delete m_d;
++}
++
++QVariant LdapAttributeProxyModel::data( const QModelIndex &index,
++ int role ) const
++{
++ // Included just in case we decide to do any special presentation of the data
++ // at some other point throughout the 4.x series.
++ return sourceModel()->data( mapToSource( index ), role );
++}
++
++bool LdapAttributeProxyModel::setData( const QModelIndex &index,
++ const QVariant &value,
++ int role )
++{
++ Q_UNUSED( index );
++ Q_UNUSED( value );
++ Q_UNUSED( role );
++ return false;
++}
++
++bool LdapAttributeProxyModel::filterAcceptsRow( int sourceRow,
++ const QModelIndex& sourceParent ) const
++{
++ QModelIndex idx = sourceModel()->index( sourceRow, 0, sourceParent );
++ LdapModelNode::NodeType nodeType =
++ static_cast<LdapModelNode::NodeType>(
++ sourceModel()->data( idx, LdapModel::NodeTypeRole ).toUInt() );
++ return ( nodeType == LdapModelNode::Attr );
++}
++
++QVariant LdapAttributeProxyModel::headerData( int section,
++ Qt::Orientation orientation,
++ int role ) const
++{
++ if ( orientation == Qt::Horizontal && role == Qt::DisplayRole ) {
++ if ( section == 0 ) {
++ return QVariant( QString( i18n( "Attribute" ) ) );
++ } else if ( section == 1 ) {
++ return QVariant( QString( i18n( "Value" ) ) );
++ }
++ }
++
++ return QVariant();
++}
++
++int LdapAttributeProxyModel::columnCount( const QModelIndex &/*parent*/ ) const
++{
++ return 2;
++}
++
++Qt::ItemFlags LdapAttributeProxyModel::flags( const QModelIndex &index ) const
++{
++ // Included so as not to break BC in case we wish to use this later in 4.x
++ return sourceModel()->flags( mapToSource( index ) );
++}
++
++bool LdapAttributeProxyModel::hasChildren( const QModelIndex &parent ) const
++{
++ // We need to handle this carefully bacause of the filtering out of attributes
++ // and the lazy population approach.
++ LdapModel *model = static_cast<LdapModel*>( sourceModel() );
++ return model->hasChildrenOfType( mapToSource( parent ), LdapModel::Attribute );
++}
++
++QModelIndex LdapAttributeProxyModel::mapFromSource( const QModelIndex &sourceIndex ) const
++{
++ return QSortFilterProxyModel::mapFromSource( sourceIndex );
++}
++
++QModelIndex LdapAttributeProxyModel::mapToSource( const QModelIndex &proxyIndex ) const
++{
++ return QSortFilterProxyModel::mapToSource( proxyIndex );
++}
++
++bool LdapAttributeProxyModel::insertRows( int row, int count,
++ const QModelIndex &parent )
++{
++ Q_UNUSED( row );
++ Q_UNUSED( count );
++ Q_UNUSED( parent );
++ return false;
++}
++
++bool LdapAttributeProxyModel::removeRows( int row, int count,
++ const QModelIndex &parent )
++{
++ Q_UNUSED( row );
++ Q_UNUSED( count );
++ Q_UNUSED( parent );
++ return false;
++}
++
++void LdapAttributeProxyModel::sort( int column, Qt::SortOrder order )
++{
++ Q_UNUSED( column );
++ Q_UNUSED( order );
++}
++
++Qt::DropActions LdapAttributeProxyModel::supportedDropActions() const
++{
++ return Qt::MoveAction;
++}
++
++QMimeData *LdapAttributeProxyModel::mimeData( const QModelIndexList &indexes ) const
++{
++ Q_UNUSED( indexes );
++ return 0;
++}
++
++bool LdapAttributeProxyModel::dropMimeData( const QMimeData *data, Qt::DropAction action,
++ int row, int column, const QModelIndex &parent )
++{
++ /** \todo Implement drag and drop for LdapModel */
++ Q_UNUSED( data );
++ Q_UNUSED( action );
++ Q_UNUSED( row );
++ Q_UNUSED( column );
++ Q_UNUSED( parent );
++ return false;
++}
++
++#include "ldapattributeproxymodel.moc"
+--- a/kblog/CMakeLists.txt
++++ b/kblog/CMakeLists.txt
+@@ -26,7 +26,11 @@
+
+ set_target_properties(kblog PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+
+-install(TARGETS kblog DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kblog
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ##############
+
+--- a/kblog/gdata.cpp
++++ b/kblog/gdata.cpp
+@@ -235,13 +235,10 @@
+ KIO::TransferJob *job = KIO::http_post(
+ KUrl( "http://www.blogger.com/feeds/" + blogId() + "/posts/default/"+post->postId() ),
+ postData, KIO::HideProgressInfo );
+- d->mModifyPostMap[ job ] = post;
+
+- if ( !job ) {
+- kWarning() << "Unable to create KIO job for http://www.blogger.com/feeds/"
+- << blogId() <<"/posts/default/" << post->postId();
+- }
++ Q_ASSERT( job );
+
++ d->mModifyPostMap[ job ] = post;
+
+ job->addMetaData( "content-type", "Content-Type: application/atom+xml; charset=utf-8" );
+ job->addMetaData( "ConnectTimeout", "50" );
+--- a/mailtransport/kcm_mailtransport.desktop
++++ b/mailtransport/kcm_mailtransport.desktop
+@@ -15,6 +15,7 @@
+ Name=Mail Transport
+ Name[be]=Паштовы транспарт
+ Name[ca]=Transport de correu
++Name[cs]=Přenos pošty
+ Name[de]=Versandart
+ Name[el]=Κύριος μεταφορέας
+ Name[es]=Transporte de correo
+--- a/mailtransport/CMakeLists.txt
++++ b/mailtransport/CMakeLists.txt
+@@ -33,7 +33,11 @@
+ target_link_libraries(mailtransport ${KDE4_KIO_LIBS})
+ set_target_properties(mailtransport PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+
+-install(TARGETS mailtransport DESTINATION ${LIB_INSTALL_DIR})
++install(TARGETS mailtransport
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+ install(FILES mailtransport.kcfg DESTINATION ${KCFG_INSTALL_DIR})
+
+ set(mailtransport_kcm_srcs configmodule.cpp)
+--- a/mailtransport/TODO
++++ b/mailtransport/TODO
+@@ -11,6 +11,7 @@
+ - load passwords if another instance opens the wallet
+ - load passwords if application opens wallet
+ - add D-Bus interface for sending mails
++- test to see if there is always a default transport, by adding / deleting accounts
+
+ Transport
+ ---------
+@@ -31,3 +32,5 @@
+ TransportManagementWidget
+ -------------------------
+ - support inline editing of transport names
++
++
+--- a/kabc/plugins/file/file.desktop
++++ b/kabc/plugins/file/file.desktop
+@@ -10,8 +10,10 @@
+ Name[ga]=Comhad
+ Name[hu]=Fájl
+ Name[ja]=ファイル
+-Name[lt]=Byla
++Name[lt]=Failas
++Name[nds]=Datei
+ Name[nl]=Bestand
++Name[oc]=Fichièr
+ Name[pa]=ਫਾਇਲ
+ Name[pt]=Ficheiro
+ Name[sv]=Fil
+--- a/kabc/plugins/file/resourcefileplugin.cpp
++++ b/kabc/plugins/file/resourcefileplugin.cpp
+@@ -23,10 +23,6 @@
+
+ using namespace KABC;
+
+-extern "C"
+-{
+- KDE_EXPORT void *init_kabc_file()
+- {
+- return new KRES::PluginFactory<ResourceFile, ResourceFileConfig>();
+- }
+-}
++typedef KRES::PluginFactory<ResourceFile, ResourceFileConfig> ResourceFileFactory;
++
++K_EXPORT_PLUGIN(ResourceFileFactory)
+--- a/kabc/plugins/file/resourcefile.cpp
++++ b/kabc/plugins/file/resourcefile.cpp
+@@ -49,12 +49,6 @@
+ class ResourceFile::ResourceFilePrivate
+ {
+ public:
+- KIO::Job *mLoadJob;
+- bool mIsLoading;
+-
+- KIO::Job *mSaveJob;
+- bool mIsSaving;
+-
+ QMap< QString, MissingEntryList > mMissingEntries;
+ };
+
+@@ -92,11 +86,6 @@
+
+ void ResourceFile::init( const QString &fileName, const QString &formatName )
+ {
+- d->mLoadJob = 0;
+- d->mIsLoading = false;
+- d->mSaveJob = 0;
+- d->mIsSaving = false;
+-
+ mFormatName = formatName;
+
+ FormatFactory *factory = FormatFactory::self();
+@@ -120,19 +109,10 @@
+
+ ResourceFile::~ResourceFile()
+ {
+- if ( d->mIsLoading ) {
+- d->mLoadJob->kill();
+- }
+- if ( d->mIsSaving ) {
+- d->mSaveJob->kill();
+- }
+-
+ delete d;
+ d = 0;
+ delete mFormat;
+ mFormat = 0;
+-
+- deleteLocalTempFile();
+ }
+
+ void ResourceFile::writeConfig( KConfigGroup &group )
+@@ -224,10 +204,6 @@
+ {
+ kDebug(5700) << "ResourceFile::load(): '" << mFileName << "'";
+
+- if ( d->mIsLoading ) {
+- abortAsyncLoading();
+- }
+-
+ mAsynchronous = false;
+
+ QFile file( mFileName );
+@@ -257,73 +233,20 @@
+
+ bool ResourceFile::asyncLoad()
+ {
+- if ( d->mIsLoading ) {
+- abortAsyncLoading();
+- }
+-
+- if ( d->mIsSaving ) {
+- kWarning(5700) << "Aborted asyncSave() because we're still saving!";
+- return false;
+- }
+-
+ mAsynchronous = true;
+
+- bool ok = createLocalTempFile();
+-
+- if ( !ok ) {
+- emit loadingError( this, i18n( "Unable to open file '%1'.", mTempFile->fileName() ) );
+- deleteLocalTempFile();
+- return false;
+- }
++ load();
+
+- KUrl dest, src;
+- dest.setPath( mTempFile->fileName() );
+- src.setPath( mFileName );
+-
+- KIO::Scheduler::checkSlaveOnHold( true );
+- d->mLoadJob = KIO::file_copy( src, dest, -1, KIO::Overwrite | KIO::HideProgressInfo );
+- d->mIsLoading = true;
+- connect( d->mLoadJob, SIGNAL( result( KJob* ) ),
+- this, SLOT( downloadFinished( KJob* ) ) );
++ QTimer::singleShot( 0, this, SLOT( emitLoadingFinished() ) );
+
+ return true;
+ }
+
+-void ResourceFile::abortAsyncLoading()
+-{
+- kDebug(5700) << "ResourceFile::abortAsyncLoading()";
+-
+- if ( d->mLoadJob ) {
+- d->mLoadJob->kill(); // result not emitted
+- d->mLoadJob = 0;
+- }
+-
+- deleteLocalTempFile();
+- d->mIsLoading = false;
+-}
+-
+-void ResourceFile::abortAsyncSaving()
+-{
+- kDebug(5700) << "ResourceFile::abortAsyncSaving()";
+-
+- if ( d->mSaveJob ) {
+- d->mSaveJob->kill(); // result not emitted
+- d->mSaveJob = 0;
+- }
+-
+- deleteLocalTempFile();
+- d->mIsSaving = false;
+-}
+-
+ bool ResourceFile::save( Ticket *ticket )
+ {
+ Q_UNUSED( ticket );
+ kDebug(5700) << "ResourceFile::save()";
+
+- if ( d->mIsSaving ) {
+- abortAsyncSaving();
+- }
+-
+ // create backup file
+ QString extension = '_' + QString::number( QDate::currentDate().dayOfWeek() );
+ (void) KSaveFile::simpleBackupFile( mFileName, QString(), extension );
+@@ -347,63 +270,25 @@
+ return ok;
+ }
+
+-bool ResourceFile::asyncSave( Ticket * )
++bool ResourceFile::asyncSave( Ticket *ticket )
+ {
+ kDebug(5700) << "ResourceFile::asyncSave()";
+
+- if ( d->mIsSaving ) {
+- abortAsyncSaving();
+- }
+-
+- if ( d->mIsLoading ) {
+- kWarning(5700) << "Aborted asyncSave() because we're still loading!";
+- return false;
+- }
++ save( ticket );
+
+- bool ok = createLocalTempFile();
+- if ( ok ) {
+- saveToFile( mTempFile );
+- }
+-
+- if ( !ok ) {
+- emit savingError( this, i18n( "Unable to save file '%1'.", mTempFile->fileName() ) );
+- deleteLocalTempFile();
+- return false;
+- }
+-
+- KUrl src, dest;
+- src.setPath( mTempFile->fileName() );
+- dest.setPath( mFileName );
+-
+- KIO::Scheduler::checkSlaveOnHold( true );
+- d->mIsSaving = true;
+- mDirWatch.stopScan(); // restarted in uploadFinished()
+- d->mSaveJob = KIO::file_copy( src, dest, -1, KIO::Overwrite | KIO::HideProgressInfo );
+- connect( d->mSaveJob, SIGNAL( result( KJob* ) ),
+- this, SLOT( uploadFinished( KJob* ) ) );
++ QTimer::singleShot( 0, this, SLOT( emitSavingFinished() ) );
+
+ return true;
+ }
+
+-bool ResourceFile::createLocalTempFile()
++void ResourceFile::emitLoadingFinished()
+ {
+- deleteStaleTempFile();
+- mTempFile = new KTemporaryFile();
+- return mTempFile->open();
++ emit loadingFinished( this );
+ }
+
+-void ResourceFile::deleteStaleTempFile()
++void ResourceFile::emitSavingFinished()
+ {
+- if ( hasTempFile() ) {
+- kDebug(5700) << "stale temp file detected" << mTempFile->fileName();
+- deleteLocalTempFile();
+- }
+-}
+-
+-void ResourceFile::deleteLocalTempFile()
+-{
+- delete mTempFile;
+- mTempFile = 0;
++ emit savingFinished( this );
+ }
+
+ bool ResourceFile::loadDistributionLists()
+@@ -571,48 +456,4 @@
+ mAddrMap.remove( addr.uid() );
+ }
+
+-void ResourceFile::downloadFinished( KJob *job )
+-{
+- Q_UNUSED( job );
+- kDebug(5700) << "ResourceFile::downloadFinished()";
+-
+- d->mIsLoading = false;
+-
+- if ( !hasTempFile() ) {
+- emit loadingError( this, i18n( "Download failed, could not create temporary file" ) );
+- return;
+- }
+-
+- QFile file( mTempFile->fileName() );
+- if ( file.open( QIODevice::ReadOnly ) ) {
+- if ( clearAndLoad( &file ) ) {
+- emit loadingFinished( this );
+- } else {
+- emit loadingError( this, i18n( "Problems during parsing file '%1'.",
+- mTempFile->fileName() ) );
+- }
+- } else {
+- emit loadingError( this, i18n( "Unable to open file '%1'.",
+- mTempFile->fileName() ) );
+- }
+-
+- deleteLocalTempFile();
+-}
+-
+-void ResourceFile::uploadFinished( KJob *job )
+-{
+- kDebug(5700) << "ResourceFile::uploadFinished()";
+-
+- d->mIsSaving = false;
+-
+- if ( job->error() ) {
+- emit savingError( this, job->errorString() );
+- } else {
+- emit savingFinished( this );
+- }
+-
+- deleteLocalTempFile();
+- mDirWatch.startScan();
+-}
+-
+ #include "resourcefile.moc"
+--- a/kabc/plugins/file/CMakeLists.txt
++++ b/kabc/plugins/file/CMakeLists.txt
+@@ -13,8 +13,11 @@
+
+ set_target_properties(kabc_file_core PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+
+-install(TARGETS kabc_file_core DESTINATION ${LIB_INSTALL_DIR} )
+-
++install(TARGETS kabc_file_core
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### kabc_file plugin ###############
+
+--- a/kabc/plugins/file/resourcefile.h
++++ b/kabc/plugins/file/resourcefile.h
+@@ -144,8 +144,8 @@
+ virtual void removeAddressee( const Addressee &addr );
+
+ private Q_SLOTS:
+- void downloadFinished( KJob *job );
+- void uploadFinished( KJob *job );
++ void emitLoadingFinished();
++ void emitSavingFinished();
+
+ protected Q_SLOTS:
+ void fileChanged( const QString &path);
+@@ -159,8 +159,6 @@
+ private:
+ bool clearAndLoad( QFile *file );
+ void saveToFile( QFile *file );
+- void abortAsyncLoading();
+- void abortAsyncSaving();
+ bool createLocalTempFile();
+ void deleteLocalTempFile();
+ void deleteStaleTempFile();
+--- a/kabc/plugins/file/resourcefileconfig.cpp
++++ b/kabc/plugins/file/resourcefileconfig.cpp
+@@ -51,6 +51,7 @@
+
+ label = new QLabel( i18n( "Location:" ), this );
+ mFileNameEdit = new KUrlRequester( this );
++ mFileNameEdit->setMode( KFile::File | KFile::LocalOnly );
+
+ connect( mFileNameEdit, SIGNAL( textChanged( const QString & ) ),
+ SLOT( checkFilePermissions( const QString & ) ) );
+@@ -108,7 +109,7 @@
+ resource->setFormat( mFormatTypes[ mFormatBox->currentIndex() ] );
+ }
+
+- resource->setFileName( mFileNameEdit->url().url() );
++ resource->setFileName( mFileNameEdit->url().path() );
+ }
+
+ void ResourceFileConfig::checkFilePermissions( const QString &fileName )
+--- a/kabc/plugins/ldapkio/resourceldapkioconfig.cpp
++++ b/kabc/plugins/ldapkio/resourceldapkioconfig.cpp
+@@ -394,6 +394,7 @@
+ QRadioButton *bt;
+ bt = new QRadioButton( i18n( "Do not use offline cache" ), mCacheBox );
+ cacheBoxLayout->addWidget( bt );
++ bt->setDown(true);
+ mCacheGroup->addButton( bt );
+
+ bt = new QRadioButton( i18n( "Use local copy if no connection" ), mCacheBox );
+--- a/kabc/plugins/ldapkio/resourceldapkioplugin.cpp
++++ b/kabc/plugins/ldapkio/resourceldapkioplugin.cpp
+@@ -27,11 +27,14 @@
+
+ using namespace KABC;
+
+-extern "C"
++class ResourceLDAPKIOFactory : public KRES::PluginFactory<ResourceLDAPKIO, ResourceLDAPKIOConfig>
+ {
+- KDE_EXPORT void *init_kabc_ldapkio()
+- {
+- KGlobal::locale()->insertCatalog( "kabc_ldapkio" );
+- return new KRES::PluginFactory<ResourceLDAPKIO, ResourceLDAPKIOConfig>();
+- }
+-}
++ public:
++ ResourceLDAPKIOFactory()
++ : KRES::PluginFactory<ResourceLDAPKIO, ResourceLDAPKIOConfig>()
++ {
++ KGlobal::locale()->insertCatalog( "kabc_ldapkio" );
++ }
++};
++
++K_EXPORT_PLUGIN(ResourceLDAPKIOFactory)
+--- a/kabc/plugins/net/resourcenet.cpp
++++ b/kabc/plugins/net/resourcenet.cpp
+@@ -61,7 +61,7 @@
+ mTempFile( 0 ),
+ d( new ResourceNetPrivate )
+ {
+- init( KUrl( group.readPathEntry( "NetUrl" ) ), group.readEntry( "NetFormat" ) );
++ init( KUrl( group.readPathEntry( "NetUrl", QString() ) ), group.readEntry( "NetFormat" ) );
+ }
+
+ ResourceNet::ResourceNet( const KUrl &url, const QString &format )
+--- a/kabc/plugins/net/net.desktop
++++ b/kabc/plugins/net/net.desktop
+@@ -11,7 +11,9 @@
+ Name[hu]=Hálózat
+ Name[ja]=ネットワーク
+ Name[lt]=Tinklas
++Name[nds]=Nettwark
+ Name[nl]=Netwerk
++Name[oc]=Ret
+ Name[pa]=ਨੈੱਟਵਰ
+ Name[pt]=Rede
+ Name[sv]=Nätverk
+--- a/kabc/plugins/net/resourcenetplugin.cpp
++++ b/kabc/plugins/net/resourcenetplugin.cpp
+@@ -23,10 +23,6 @@
+
+ using namespace KABC;
+
+-extern "C"
+-{
+- KDE_EXPORT void *init_kabc_net()
+- {
+- return new KRES::PluginFactory<ResourceNet, ResourceNetConfig>();
+- }
+-}
++typedef KRES::PluginFactory<ResourceNet, ResourceNetConfig> ResourceNetFactory;
++
++K_EXPORT_PLUGIN(ResourceNetFactory)
+--- a/kabc/plugins/dir/dir.desktop
++++ b/kabc/plugins/dir/dir.desktop
+@@ -11,7 +11,9 @@
+ Name[hu]=Könyvtár
+ Name[ja]=ディレクトリ
+ Name[lt]=Aplankas
++Name[nds]=Orner
+ Name[nl]=Map
++Name[oc]=Repertòri
+ Name[pa]=ਡਾਇਰੈਕਟਰੀ
+ Name[pt]=Pasta
+ Name[sv]=Katalog
+--- a/kabc/plugins/dir/resourcedirplugin.cpp
++++ b/kabc/plugins/dir/resourcedirplugin.cpp
+@@ -23,10 +23,7 @@
+
+ using namespace KABC;
+
+-extern "C"
+-{
+- KDE_EXPORT void *init_kabc_directory()
+- {
+- return new KRES::PluginFactory<ResourceDir, ResourceDirConfig>();
+- }
+-}
++typedef KRES::PluginFactory<ResourceDir, ResourceDirConfig> ResourceDirFactory;
++
++K_EXPORT_PLUGIN(ResourceDirFactory)
++
+--- a/kabc/kabc_manager.desktop
++++ b/kabc/kabc_manager.desktop
+@@ -12,7 +12,9 @@
+ Name[hu]=Partnerek
+ Name[ja]=コンタクト
+ Name[lt]=Kontaktai
++Name[nds]=Kontakten
+ Name[nl]=Contactpersonen
++Name[oc]=Contactes
+ Name[pa]=ਸੰਪਰਕ
+ Name[pt]=Contactos
+ Name[sv]=Kontakter
+--- a/kabc/formatfactory.cpp
++++ b/kabc/formatfactory.cpp
+@@ -101,7 +101,7 @@
+ KStandardDirs::Recursive |
+ KStandardDirs::NoDuplicates );
+ for ( QStringList::ConstIterator it = list.begin(); it != list.end(); ++it ) {
+- KConfig config( *it, KConfig::OnlyLocal );
++ KConfig config( *it, KConfig::SimpleConfig );
+
+ if ( !config.hasGroup( "Misc" ) || !config.hasGroup( "Plugin" ) ) {
+ continue;
+--- a/kabc/CMakeLists.txt
++++ b/kabc/CMakeLists.txt
+@@ -88,7 +88,11 @@
+ target_link_libraries(kabc kresources kldap ${KDE4_KDE3SUPPORT_LIBRARY})
+
+ set_target_properties(kabc PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+-install(TARGETS kabc DESTINATION ${LIB_INSTALL_DIR} )
++install(TARGETS kabc
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
+--- a/kabc/formats/binary.desktop
++++ b/kabc/formats/binary.desktop
+@@ -11,7 +11,9 @@
+ Name[hu]=Bináris
+ Name[ja]=バイナリ
+ Name[lt]=Dvejetainis
++Name[nds]=Bineer
+ Name[nl]=Binair
++Name[oc]=Binari
+ Name[pa]=ਬਾਈਨਰੀ
+ Name[pt]=Binário
+ Name[sv]=Binär
+--- a/ktnef/CMakeLists.txt
++++ b/ktnef/CMakeLists.txt
+@@ -28,8 +28,11 @@
+ target_link_libraries(ktnef ${KDE4_KIO_LIBS} kabc kcal)
+
+ set_target_properties(ktnef PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+-install(TARGETS ktnef DESTINATION ${LIB_INSTALL_DIR})
+-
++install(TARGETS ktnef
++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++)
+
+ ########### install files ###############
+
Modified: branches/kde4/packages/kdepimlibs/debian/patches/series
===================================================================
--- branches/kde4/packages/kdepimlibs/debian/patches/series 2007-10-25 13:27:56 UTC (rev 7646)
+++ branches/kde4/packages/kdepimlibs/debian/patches/series 2007-10-25 13:37:24 UTC (rev 7647)
@@ -1,2 +1,2 @@
01_kdepimlibs_branch_r000000.diff
-01_kdepimlibs_branch_r726760.diff
+01_kdepimlibs_branch_r729270.diff
More information about the pkg-kde-commits
mailing list